Skip to content

release: 0.17.0#32

Open
stainless-app[bot] wants to merge 14 commits intomainfrom
release-please--branches--main--changes--next
Open

release: 0.17.0#32
stainless-app[bot] wants to merge 14 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app bot commented Mar 23, 2026

Automated Release PR

0.17.0 (2026-03-28)

Full Changelog: v0.16.0...v0.17.0

Features

  • Add scheduled instance snapshots with retention cleanup (f0d4d52)
  • Add waitForState endpoint for blocking state transitions (d6cea17)
  • internal: support comma format in multipart form encoding (e6abba9)

Bug Fixes

  • prevent duplicate ? in query params (6bc4417)

Chores

  • ci: skip lint on metadata-only changes (e3c8b1f)
  • ci: support opting out of skipping builds on metadata-only commits (c5320fd)
  • client: fix multipart serialisation of Default() fields (0abcf13)
  • internal: support default value struct tag (e9226b4)
  • internal: update gitignore (3dbe64e)
  • remove unnecessary error check for url parsing (cd07c8f)
  • update docs for api:"required" (45f88d9)

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 adds new Instances APIs and modifies shared request/encoding internals (query-string composition, multipart/JSON default handling), which could affect request serialization across the SDK.

Overview
Bumps the SDK to v0.17.0 (manifest/internal version, README install snippet, changelog/stats) and tweaks CI to skip the build job for push commits with message codegen metadata.

Adds new Instances capabilities: a blocking Instances.Wait (GET /instances/{id}/wait) with InstanceWaitParams/WaitForStateResponse, plus a new Instances.SnapshotSchedule subservice (PUT/GET/DELETE /instances/{id}/snapshot-schedule) with schedule/retention request+response types.

Updates internal serialization: requestconfig now appends query params with & when the URL already has a query string, apiform supports comma-form arrays and a string default:"..." struct tag (with tests), and apijson gains the same default tag support for JSON marshaling.

Written by Cursor Bugbot for commit c477630. This will update automatically on new commits. Configure here.

@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Mar 23, 2026

🧪 Testing

To try out this version of the SDK:

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

Expires at: Mon, 27 Apr 2026 07:19:40 GMT
Updated at: Sat, 28 Mar 2026 07:19:40 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 10761a1 to bc6554e Compare March 23, 2026 17:45
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from bc6554e to 2e62491 Compare March 24, 2026 04:55
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 2e62491 to dc657f1 Compare March 24, 2026 17:00
@stainless-app stainless-app bot changed the title release: 0.16.1 release: 0.17.0 Mar 24, 2026
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from dc657f1 to 373fd8d Compare March 24, 2026 17:00
Note that we still want to run tests, as these depend on the metadata.
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 373fd8d to 82a5938 Compare March 25, 2026 03:23
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 82a5938 to a56f09a Compare March 26, 2026 04:13
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from a56f09a to d9d5b54 Compare March 26, 2026 04:15
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from d9d5b54 to c5a9798 Compare March 27, 2026 06:18
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from c5a9798 to 189fdc2 Compare March 27, 2026 06:22
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 189fdc2 to c55effa Compare March 27, 2026 06:23
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 1 potential issue.

Fix All in Cursor

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

u = parsed.String()
} else {
u = u + "?" + params
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Discarded url.Parse error risks nil pointer dereference

Low Severity

The error from url.Parse(u) is discarded with _, and the result parsed is immediately dereferenced on the next line via parsed.RawQuery. Go's url.Parse returns (nil, error) on failure (e.g., invalid percent-encoding like %zz in a user-supplied path segment), so if parsing fails, parsed will be nil and accessing parsed.RawQuery will panic. While current callers pass simple path strings that are unlikely to fail, the previous code (u = u + "?" + params) had no such risk.

Fix in Cursor Fix in Web

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from c55effa to 4ae1714 Compare March 27, 2026 17:34
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 4ae1714 to 57b1d77 Compare March 28, 2026 07:12
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 57b1d77 to 04b9666 Compare March 28, 2026 07:19
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 04b9666 to 7a3f0ae Compare March 28, 2026 15:55
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 7a3f0ae to c477630 Compare March 28, 2026 16:29
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