release: 0.54.0#104
Conversation
Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run.
|
Firetiger deploy monitoring skipped This PR didn't match the auto-monitor filter configured on your GitHub connection:
Reason: This is an automated release PR with no visible changes to API endpoints or Temporal workflows; it appears to be a version bump only. To monitor this PR anyway, reply with |
886dbc7 to
3e226c1
Compare
|
🧪 Testing To try out this version of the SDK: Expires at: Sat, 13 Jun 2026 03:19:49 GMT |
3e226c1 to
f544f7a
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f544f7a. Configure here.
| return func(eos *encOpts) { | ||
| eos.skipCompaction = true | ||
| } | ||
| } |
There was a problem hiding this comment.
WithSkipCompaction ignores its boolean parameter
Medium Severity
WithSkipCompaction accepts a bool parameter b but never uses it — the closure unconditionally sets eos.skipCompaction = true. Calling WithSkipCompaction(false) would still enable skip compaction, which contradicts the function's API contract. The assignment needs to use b instead of the hard-coded true.
Reviewed by Cursor Bugbot for commit f544f7a. Configure here.
| t.Fatalf("didn't expect error %v, expected %s", err, test.expected) | ||
| } | ||
| if string(b) != test.expected { | ||
| t.Logf("expected %s (%s), received %s", test.expected, reflect.TypeOf(test.value), string(b)) |
There was a problem hiding this comment.
Test silently logs assertion failures instead of failing
Medium Severity
The "shimjson-marshal" sub-test uses t.Logf for its assertion check instead of t.Errorf or t.Fatalf. This means the test will silently pass even when the output doesn't match the expected value — it just logs the mismatch without failing. Every other assertion in this file uses t.Fatalf, so this appears to be an accidental use of t.Logf, leaving this test block unable to catch regressions.
Reviewed by Cursor Bugbot for commit f544f7a. Configure here.


Automated Release PR
0.54.0 (2026-05-14)
Full Changelog: v0.53.0...v0.54.0
Features
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
Touches request JSON serialization by changing the shim
json.MarshalAPI and altering howjson.Marshaleroutputs are handled (optionally skipping compaction), which could affect output formatting/validation for edge cases.Overview
Releases
0.54.0(manifest, changelog, README, andinternal/version.go) and pins GitHub Actions versions in CI.Optimizes the shimmed
internal/encoding/jsonencoder by addingOptions toMarshaland introducingWithSkipCompactionto bypass the costlyappendCompactpass for SDK-controlledjson.Marshalerimplementations;packages/paramnow uses this optimization for typical object/union encoding while preserving compaction for overrides/extras, with new tests covering nested/non-compacted and invalid-JSON scenarios.Reviewed by Cursor Bugbot for commit f544f7a. Bugbot is set up for automated code reviews on this repo. Configure here.