Conversation
|
🧪 Testing To try out this version of the SDK: Expires at: Wed, 22 Apr 2026 17:11:36 GMT |
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.
| // If the API asks us to wait a certain amount of time (and it's a reasonable amount), | ||
| // just do what it says. | ||
|
|
||
| if retryAfterDelay, ok := parseRetryAfterHeader(res); ok && 0 <= retryAfterDelay && retryAfterDelay < time.Minute { |
There was a problem hiding this comment.
Retry delay upper bound removed, risking indefinite blocking
Medium Severity
The retryDelay function previously capped the server's Retry-After value at one minute (retryAfterDelay < time.Minute), falling through to exponential backoff (max 8 seconds) for larger values. The new code removes this upper bound entirely via return max(0, retryAfterDelay), so a misconfigured or adversarial server returning a very large Retry-After (e.g. hours or days) will cause the client to block for that entire duration. The select on ctx.Done() at line 468 only helps if the caller set a context deadline — callers using context.Background() would hang indefinitely.
ee5a272 to
7bda7cf
Compare
7bda7cf to
1fcdb42
Compare
1fcdb42 to
ffaf115
Compare
ffaf115 to
8795b2c
Compare
8795b2c to
9672ea8
Compare
9672ea8 to
b9a554d
Compare
b9a554d to
e3c31b4
Compare
e3c31b4 to
32d3e98
Compare
32d3e98 to
799915c
Compare
799915c to
a919e57
Compare
a919e57 to
8b7e518
Compare
8b7e518 to
5c77410
Compare
5c77410 to
5c811cd
Compare
|
🤖 Release is at https://github.com/kernel/hypeman-go/releases/tag/v0.16.0 🌻 |


Automated Release PR
0.16.0 (2026-03-23)
Full Changelog: v0.15.0...v0.16.0
Features
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
Adds multiple new API surfaces (snapshots, instance update/standby params, memory reclaim) and changes several method signatures (e.g.,
Listnow takes query params,Standbynow takes a body), which may be breaking for SDK consumers. Also tweaks retry-delay handling, which can affect client-side request behavior under throttling.Overview
Bumps the SDK to
v0.16.0and updates generated docs/metadata (CHANGELOG.md,README.md,.stats.yml).Expands the API surface with snapshot management (new
Snapshotsservice plusInstances.Snapshotsfor create/restore), instance mutation viaInstances.Update, and a memory reclaim endpoint (Resources.ReclaimMemory) with new request/response models.Introduces a cross-resource
tagspattern (replacing/augmenting prior metadata semantics) by addingtagsfields to multiple resources and tag-based filtering for list endpoints; also changes severalListmethods to accept explicit query param structs.Includes internal/CI maintenance: CI branch filtering + skipping artifact uploads on
stl/*branches, safer/explicit returns and error handling in internal encoders/decoders, and adjusted retry delay behavior to honorRetry-Afterwithout the previous 1-minute cap.Written by Cursor Bugbot for commit 5c811cd. This will update automatically on new commits. Configure here.