Skip to content

release: 0.9.0#51

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

release: 0.9.0#51
stainless-app[bot] wants to merge 16 commits intomainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app bot commented Jan 24, 2026

Automated Release PR

0.9.0 (2026-03-07)

Full Changelog: v0.8.0...v0.9.0

Features

  • api: api update (992d400)
  • api: api update (1fc54a6)
  • api: api update (222dfc1)
  • client: add custom JSON encoder for extended type support (f207dcf)

Chores

  • ci: skip uploading artifacts on stainless-internal branches (8145a95)
  • ci: upgrade actions/github-script (e66afb6)
  • format all api.md files (c9b690d)
  • internal: add request options to SSE classes (37ea7b1)
  • internal: bump dependencies (7e7b89b)
  • internal: fix lint error on Python 3.14 (39da152)
  • internal: make test_proxy_environment_variables more resilient (dccf020)
  • internal: make test_proxy_environment_variables more resilient to env (c450803)
  • test: do not count install time for mock server timeout (9b40932)
  • update mock server docs (0809100)
  • update placeholder string (4bc6fac)

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-body serialization (switching some JSON payloads to custom byte encoding) and touches SSE streaming plumbing, which could affect API request/stream behavior across the SDK.

Overview
Bumps the SDK to v0.9.0 (manifest/pyproject/version file), refreshes the tracked OpenAPI spec, and updates generated API types including adding mcp_servers/ConfigMcpServer to converse config and expanding supported llm_model literals (e.g. gemini-3-flash-preview).

Updates the HTTP client to use a new openapi_dumps() JSON serializer (supporting datetime + pydantic.BaseModel with aliases) when building request bodies, adjusts model_dump() compat to accept by_alias, and threads request options through SSE Stream/AsyncStream construction.

Also tightens CI/release tooling: skips OIDC/artifact uploads on stl/* branches and upgrades actions/github-script, improves ./scripts/mock daemon startup reliability/timeouts, updates formatting to run across all api.md files, bumps lockfile dependencies, and makes proxy/file-related tests more resilient.

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

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 0c71a37 to 2c270b6 Compare January 25, 2026 00:26
@stainless-app stainless-app bot changed the title release: 0.8.1 release: 0.9.0 Jan 25, 2026
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 2c270b6 to 50de99c Compare January 25, 2026 00:26
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 50de99c to ebfd646 Compare January 30, 2026 06:14
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app bot commented Jan 30, 2026

🧪 Testing

To try out this version of the SDK:

pip install 'https://pkg.stainless.com/s/datagrid-python/4bc6fac561242a05526452ef037115a180c9d112/datagrid_ai-0.8.0-py3-none-any.whl'

Expires at: Mon, 06 Apr 2026 13:19:19 GMT
Updated at: Sat, 07 Mar 2026 13:19:19 GMT

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from ebfd646 to f22e587 Compare February 3, 2026 04:38
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from f22e587 to 36280e6 Compare February 10, 2026 06:26
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 36280e6 to a3cb455 Compare February 12, 2026 08:19
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.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

elif not files:
# Don't set content when JSON is sent as multipart/form-data,
# since httpx's content param overrides other body arguments
kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

JSON body dropped when files provided

Medium Severity

_build_request now skips JSON serialization whenever files is present. For requests that pass both json_data and files without an explicit multipart Content-Type path, json_data is silently omitted and only file parts are sent. This changes request semantics and can drop required non-file fields.

Fix in Cursor Fix in Web

elif not files:
# Don't set content when JSON is sent as multipart/form-data,
# since httpx's content param overrides other body arguments
kwargs["content"] = openapi_dumps(json_data) if is_given(json_data) and json_data is not None else None
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Null JSON payload no longer sent

Low Severity

Switching from kwargs["json"] to kwargs["content"] now skips serialization when json_data is None, so body-less non-GET requests send an empty payload instead of JSON null. This changes wire behavior for endpoints that distinguish empty body from explicit null.

Fix in Cursor Fix in Web

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from a3cb455 to 2b223bb Compare February 13, 2026 05:26
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 2b223bb to e24fe5a Compare February 20, 2026 07:50
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from e24fe5a to 9091ce5 Compare February 24, 2026 08:03
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 9091ce5 to db59fb5 Compare February 24, 2026 08:19
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from db59fb5 to ef0d457 Compare February 25, 2026 08:12
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from ef0d457 to 2aaf240 Compare February 26, 2026 05:06
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 2aaf240 to 4a25327 Compare March 5, 2026 11:46
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from 4a25327 to ac7e415 Compare March 7, 2026 12:59
@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from ac7e415 to 4282013 Compare March 7, 2026 13:18
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