release: 0.57.0#103
Conversation
|
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 for the Python SDK, not a direct change to kernel API endpoints or Temporal workflows in the kernel repo. To monitor this PR anyway, reply with |
|
🧪 Testing To try out this version of the SDK: Expires at: Sun, 21 Jun 2026 16:49:25 GMT |
7365ae7 to
f0b2dc9
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f0b2dc9. Configure here.
| if not id: | ||
| raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") | ||
| extra_headers = {"Accept": "text/event-stream", **(extra_headers or {})} | ||
| extra_headers = {**strip_not_given({"Last-Event-ID": last_event_id}), **(extra_headers or {})} |
There was a problem hiding this comment.
Omit sentinel not stripped by strip_not_given for header
High Severity
The last_event_id parameter defaults to omit (an Omit instance), but strip_not_given only removes values that are isinstance(value, NotGiven). Since Omit and NotGiven are unrelated classes, strip_not_given({"Last-Event-ID": omit}) keeps the key with the Omit sentinel object as its value instead of removing it. This causes a garbage Last-Event-ID header (the repr of the Omit object) to be sent on every telemetry stream request where the user doesn't explicitly provide last_event_id.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit f0b2dc9. Configure here.
There was a problem hiding this comment.
I checked this on the PR branch and I believe this is a false positive.
strip_not_given({"Last-Event-ID": last_event_id}) does not remove omit, since strip_not_given only strips NotGiven. But request headers are later passed through _build_headers(...), which calls _merge_mappings(...) in src/kernel/_base_client.py. _merge_mappings(...) explicitly removes values that are instances of Omit before httpx.Headers is constructed.
I verified with httpx.MockTransport on this branch:
- default sync
client.browsers.telemetry.stream("browser_123")does not sendLast-Event-ID - default async stream also does not send
Last-Event-ID last_event_id="42"correctly sendsLast-Event-ID: 42
So the Omit sentinel does not leak onto the wire.
f0b2dc9 to
465e53e
Compare
465e53e to
595485d
Compare
595485d to
07edad8
Compare
|
review test |
|
🤖 Release is at https://github.com/kernel/kernel-python-sdk/releases/tag/v0.57.0 🌻 |


Automated Release PR
0.57.0 (2026-05-22)
Full Changelog: v0.56.0...v0.57.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
Medium risk due to new SSE streaming surface area and multiple breaking API removals/shape changes (deprecated persistent browser delete/persistence fields, project limit fields). Main logic is generated client code, but it changes request/response schemas and public SDK methods.
Overview
Bumps the SDK to
0.57.0and updates the generated client to match a new OpenAPI spec.Adds a new
browsers.telemetry.stream()SSE endpoint (sync/async, raw/streaming variants) plus a large set of typed browser telemetry event models, and wires telemetry configuration intoPOST /browsersandPATCH /browsers/{id}.Extends browser session APIs to accept/return
chrome_policyoverrides, updates docs/examples accordingly, and removes end-of-life persistent browser support (dropspersistencefields,DELETE /browsersbypersistent_id, andmax_persistent_sessionsproject limit overrides) while refining some endpoint docstrings (e.g., browser poolstart_url, proxy checks).Reviewed by Cursor Bugbot for commit e81bfa4. Bugbot is set up for automated code reviews on this repo. Configure here.