Conversation
8bd7915 to
e8ded67
Compare
e8ded67 to
98fe444
Compare
98fe444 to
b62d5d4
Compare
b62d5d4 to
14ff965
Compare
14ff965 to
ef22972
Compare
ef22972 to
67b2c1e
Compare
67b2c1e to
dde6e53
Compare
dde6e53 to
e9717d6
Compare
| return await this.fetch.call(undefined, url, fetchOptions); | ||
| } finally { | ||
| clearTimeout(timeout); | ||
| if (signal) signal.removeEventListener('abort', abort); |
There was a problem hiding this comment.
Abort listeners accumulate across completed requests
Medium Severity
fetchWithTimeout no longer removes the abort listener from the caller-provided signal after fetch completes. Reusing one AbortSignal for many requests now retains one closure per request, causing unbounded listener growth and extra abort callbacks long after requests have finished.
e9717d6 to
f891d52
Compare
f891d52 to
c706e22
Compare
c706e22 to
cda41d6
Compare
cda41d6 to
8920203
Compare
8920203 to
cf91872
Compare
cf91872 to
454744e
Compare
454744e to
32cecaa
Compare
32cecaa to
ea937ec
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| return { | ||
| bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' }, | ||
| body: this.stringifyQuery(body as Record<string, unknown>), | ||
| }; |
There was a problem hiding this comment.
Form encoding depends on exact content-type
Low Severity
buildBody() only switches to form-urlencoding when headers.values.get('content-type') equals exactly application/x-www-form-urlencoded. If callers set a valid variant like application/x-www-form-urlencoded; charset=utf-8, the body falls through to #encoder, likely producing a different encoding than the header implies.
ea937ec to
2bc10b5
Compare
2bc10b5 to
19b3c28
Compare


Automated Release PR
0.38.0 (2026-03-02)
Full Changelog: v0.37.0...v0.38.0
Features
Bug Fixes
Chores
This pull request is managed by Stainless's GitHub App.
The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.
For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.
🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions
Note
Medium Risk
Updates request/encoding behavior in the core client (abort handling and
application/x-www-form-urlencodedbodies) and tightens/extends several public types (notably Jig volume versioning), which could affect runtime behavior and downstream TypeScript users.Overview
Bumps the package to v0.38.0 (manifest,
package.json,src/version.ts, changelog) and refreshes the generated spec metadata.Client behavior changes: moves
stringifyQueryinto a new internal util (src/internal/utils/query.ts), addsapplication/x-www-form-urlencodedbody encoding support using that helper, and fixes abort handling by no longer removing the abort listener too early.API/schema updates: extends Jig deployment volume mounts with an optional
version, adds volume versioning fields (current_version,version_history,mounted_by) to Jig volumes, loosens clustersregionfrom a fixed union tostringand updates region listing shape, and tightens various responseobjectfields to string literals while removing the unused/brokenFileResponse.LineCountand the exportedFileObjecttype. Tests/docs are adjusted accordingly (skip mock-incompatible tests and update mock/pnpm instructions).Written by Cursor Bugbot for commit 19b3c28. This will update automatically on new commits. Configure here.