Skip to content

release: 0.20.0#38

Open
stainless-app[bot] wants to merge 4 commits into
mainfrom
release-please--branches--main--changes--next
Open

release: 0.20.0#38
stainless-app[bot] wants to merge 4 commits into
mainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented May 12, 2026

Automated Release PR

0.20.0 (2026-05-14)

Full Changelog: v0.19.0...v0.20.0

Features

  • client: optimize json encoder for internal types (d8bd64d)
  • Model template as an instance state instead of a separate registry (8ea492b)

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
Medium risk because it changes core request JSON encoding behavior (skipping compaction for json.Marshaler SDK types) and adds new instance state/operations that could affect state handling in client code.

Overview
Releases 0.20.0 (version manifest, internal/version.go, README install snippet, changelog, stats/spec metadata) and pins GitHub Actions used in CI to specific SHAs.

Adds template lifecycle support to the Instances client: new POST /instances/{id}/promote-template and POST /instances/{id}/demote-template methods, introduces Template as a first-class InstanceState (propagated to list/wait response enums), and updates generated docs/tests accordingly.

Optimizes the internal shim encoding/json by adding Marshal(...opts) options and a WithSkipCompaction fast-path that avoids compacting bytes returned from SDK json.Marshaler implementations; the param encoder now uses this option for normal request encoding, with new tests covering the behavior and edge cases.

Reviewed by Cursor Bugbot for commit f5b9b5d. Bugbot is set up for automated code reviews on this repo. Configure here.

@firetiger-agent
Copy link
Copy Markdown

Firetiger deploy monitoring skipped

This PR didn't match the auto-monitor filter configured on your GitHub connection:

Any PR that changes the kernel API. Monitor changes to API endpoints (packages/api/cmd/api/) and Temporal workflows (packages/api/lib/temporal) in the kernel repo

Reason: This is an automated release PR with no actual code changes shown; the filter requires monitoring of specific API endpoint and Temporal workflow changes, which cannot be verified from a release commit message alone.

To monitor this PR anyway, reply with @firetiger monitor this.

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.
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app Bot commented May 13, 2026

🧪 Testing

To try out this version of the SDK:

Download and unzip: 'https://pkg.stainless.com/s/hypeman-go/8ea492b994dffbea6d99f1897d87aaa627835d1b/source.zip'. Run 'go mod edit -replace github.com/kernel/hypeman-go=/path/to/unzipped_directory'.

Expires at: Sat, 13 Jun 2026 15:59:53 GMT
Updated at: Thu, 14 May 2026 15:59:53 GMT

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 7029010 to 339be80 Compare May 13, 2026 04:07
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 339be80 to dcac10a Compare May 14, 2026 04:11
@stainless-app stainless-app Bot changed the title release: 0.19.1 release: 0.20.0 May 14, 2026
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from dcac10a to 8289a73 Compare May 14, 2026 04:11
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 8289a73. Configure here.

return func(eos *encOpts) {
eos.skipCompaction = true
}
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WithSkipCompaction ignores its bool 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.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 8289a73. 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))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test assertion uses t.Logf instead of t.Fatalf

Low Severity

The shimjson-marshal sub-test uses t.Logf for its output comparison, while the sibling sub-tests (marshal-json and json-marshal) both use t.Fatalf. This means a mismatch between actual and expected output is silently logged without failing the test, making the assertion a no-op that provides no regression protection.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 8289a73. Configure here.

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8289a73 to f5b9b5d Compare May 14, 2026 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants