Skip to content

release: 0.17.0#32

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

release: 0.17.0#32
stainless-app[bot] wants to merge 15 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-04-01)

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

  • fix issue with unmarshaling in some cases (1d74ffd)
  • 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
Touches core request/serialization paths (apijson, apiform, requestconfig), so regressions could affect many endpoints despite being relatively contained and covered by added unit tests.

Overview
Bumps the SDK to v0.17.0 and updates release metadata/docs (CHANGELOG.md, README.md, manifest/version files, stats).

Adds new Instances capabilities: Instances.Wait (GET /instances/{id}/wait) with typed params/response for blocking on state transitions, and Instances.SnapshotSchedule with Update/Get/Delete (/instances/{id}/snapshot-schedule) plus new schedule/retention models.

Improves internal encoding/request plumbing: supports default:"..." struct tags in JSON and multipart form serialization, adds comma-style array encoding for multipart form data, fixes query string appending to avoid duplicate ?, and switches ResourceReclaimMemoryParams unmarshaling to apijson.UnmarshalRoot. CI now skips the build job for metadata-only “codegen metadata” push commits, and .gitignore adds .stdy.log.

Written by Cursor Bugbot for commit 43a3f9c. 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/1d74ffdcf803144714c530ed72e6d65fba2a9b54/source.zip'. Run 'go mod edit -replace github.com/kernel/hypeman-go=/path/to/unzipped_directory'.

Expires at: Fri, 01 May 2026 08:30:35 GMT
Updated at: Wed, 01 Apr 2026 08:30:35 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
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from c477630 to 43a3f9c Compare April 1, 2026 08:30
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