Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.74.0"
".": "0.75.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 125
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-ebbe079bb2542625826422afd876a3e8b499c579cf45efc5fd50e7982d34df7d.yml
openapi_spec_hash: db850b61a0d71fe9f4b642df8782d7ae
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-073bade6de836ae1cf0cb3f8551cc5c6635f98649d7cf5059ef6819e9ce0f508.yml
openapi_spec_hash: e84f887c72b5c7335158b706e4218bc7
config_hash: 06186eb40e0058a2a87ac251fc07415d
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.75.0 (2026-07-07)

Full Changelog: [v0.74.0...v0.75.0](https://github.com/kernel/kernel-python-sdk/compare/v0.74.0...v0.75.0)

### Features

* Document env var redaction on deployment and app reads ([51d713b](https://github.com/kernel/kernel-python-sdk/commit/51d713b92b4c0ed0c2420ea2e128568530a81a14))


### Documentation

* **api:** clarify reuse/discard_all_idle pool config staleness ([e8641eb](https://github.com/kernel/kernel-python-sdk/commit/e8641ebe96926b22f8874a8ff79498a4cbe7e4ed))

## 0.74.0 (2026-07-06)

Full Changelog: [v0.73.0...v0.74.0](https://github.com/kernel/kernel-python-sdk/compare/v0.73.0...v0.74.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "kernel"
version = "0.74.0"
version = "0.75.0"
description = "The official Python library for the kernel API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion src/kernel/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "kernel"
__version__ = "0.74.0" # x-release-please-version
__version__ = "0.75.0" # x-release-please-version
26 changes: 20 additions & 6 deletions src/kernel/resources/browser_pools.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,8 +249,12 @@ def update(
Blocked: kernel-managed policies (extensions, proxy, CDP/automation). See
https://chromeenterprise.google/policies/

discard_all_idle: Whether to discard all idle browsers and rebuild the pool immediately. Defaults
to false.
discard_all_idle: Whether to discard all idle browsers and rebuild them immediately with the new
configuration. Defaults to false. Only browsers that are idle when the update
runs are rebuilt. A browser that is in use during the update keeps its original
configuration, and if it is later released with `reuse: true` it returns to the
pool with that stale configuration until it is discarded (by this flag on a
later update, or by flushing the pool).

extensions: List of browser extensions to load into the session. Provide each by id or name.

Expand Down Expand Up @@ -554,7 +558,10 @@ def release(
session_id: Browser session ID to release back to the pool

reuse: Whether to reuse the browser instance or destroy it and create a new one.
Defaults to true.
Defaults to true. A reused browser keeps the configuration it was created with,
so it does not pick up pool configuration changes made while it was in use.
Release with `reuse: false`, or flush the pool afterward, to rebuild it with the
current configuration.

extra_headers: Send extra headers

Expand Down Expand Up @@ -797,8 +804,12 @@ async def update(
Blocked: kernel-managed policies (extensions, proxy, CDP/automation). See
https://chromeenterprise.google/policies/

discard_all_idle: Whether to discard all idle browsers and rebuild the pool immediately. Defaults
to false.
discard_all_idle: Whether to discard all idle browsers and rebuild them immediately with the new
configuration. Defaults to false. Only browsers that are idle when the update
runs are rebuilt. A browser that is in use during the update keeps its original
configuration, and if it is later released with `reuse: true` it returns to the
pool with that stale configuration until it is discarded (by this flag on a
later update, or by flushing the pool).

extensions: List of browser extensions to load into the session. Provide each by id or name.

Expand Down Expand Up @@ -1102,7 +1113,10 @@ async def release(
session_id: Browser session ID to release back to the pool

reuse: Whether to reuse the browser instance or destroy it and create a new one.
Defaults to true.
Defaults to true. A reused browser keeps the configuration it was created with,
so it does not pick up pool configuration changes made while it was in use.
Release with `reuse: false`, or flush the pool afterward, to rebuild it with the
current configuration.

extra_headers: Send extra headers

Expand Down
7 changes: 6 additions & 1 deletion src/kernel/types/app_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,12 @@ class AppListResponse(BaseModel):
"""Deployment ID"""

env_vars: Dict[str, str]
"""Environment variables configured for this app version"""
"""Environment variables configured for this app version.

Values are redacted for API key, OAuth, and managed-auth callers, which receive
every key with an empty string value. Only dashboard sessions receive the actual
values.
"""

region: Literal["aws.us-east-1a"]
"""Deployment region code"""
Expand Down
5 changes: 4 additions & 1 deletion src/kernel/types/browser_pool_release_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,8 @@ class BrowserPoolReleaseParams(TypedDict, total=False):
reuse: bool
"""Whether to reuse the browser instance or destroy it and create a new one.

Defaults to true.
Defaults to true. A reused browser keeps the configuration it was created with,
so it does not pick up pool configuration changes made while it was in use.
Release with `reuse: false`, or flush the pool afterward, to rebuild it with the
current configuration.
"""
10 changes: 7 additions & 3 deletions src/kernel/types/browser_pool_update_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,13 @@ class BrowserPoolUpdateParams(TypedDict, total=False):
"""

discard_all_idle: bool
"""Whether to discard all idle browsers and rebuild the pool immediately.

Defaults to false.
"""
Whether to discard all idle browsers and rebuild them immediately with the new
configuration. Defaults to false. Only browsers that are idle when the update
runs are rebuilt. A browser that is in use during the update keeps its original
configuration, and if it is later released with `reuse: true` it returns to the
pool with that stale configuration until it is discarded (by this flag on a
later update, or by flushing the pool).
"""

extensions: Iterable[BrowserExtension]
Expand Down
7 changes: 6 additions & 1 deletion src/kernel/types/deployment_create_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ class DeploymentCreateResponse(BaseModel):
"""Relative path to the application entrypoint"""

env_vars: Optional[Dict[str, str]] = None
"""Environment variables configured for this deployment"""
"""Environment variables configured for this deployment.

Values are redacted for API key, OAuth, and managed-auth callers, which receive
every key with an empty string value. Only dashboard sessions receive the actual
values.
"""

status_reason: Optional[str] = None
"""Status reason"""
Expand Down
5 changes: 4 additions & 1 deletion src/kernel/types/deployment_follow_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,10 @@ class AppVersionSummaryEvent(BaseModel):
"""Version label for the application"""

env_vars: Optional[Dict[str, str]] = None
"""Environment variables configured for this app version"""
"""Environment variables configured for this app version.

Not currently populated on streamed app_version_summary events.
"""


DeploymentFollowResponse: TypeAlias = Annotated[
Expand Down
7 changes: 6 additions & 1 deletion src/kernel/types/deployment_list_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ class DeploymentListResponse(BaseModel):
"""Relative path to the application entrypoint"""

env_vars: Optional[Dict[str, str]] = None
"""Environment variables configured for this deployment"""
"""Environment variables configured for this deployment.

Values are redacted for API key, OAuth, and managed-auth callers, which receive
every key with an empty string value. Only dashboard sessions receive the actual
values.
"""

status_reason: Optional[str] = None
"""Status reason"""
Expand Down
7 changes: 6 additions & 1 deletion src/kernel/types/deployment_retrieve_response.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ class DeploymentRetrieveResponse(BaseModel):
"""Relative path to the application entrypoint"""

env_vars: Optional[Dict[str, str]] = None
"""Environment variables configured for this deployment"""
"""Environment variables configured for this deployment.

Values are redacted for API key, OAuth, and managed-auth callers, which receive
every key with an empty string value. Only dashboard sessions receive the actual
values.
"""

status_reason: Optional[str] = None
"""Status reason"""
Expand Down
7 changes: 6 additions & 1 deletion src/kernel/types/deployment_state_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,12 @@ class Deployment(BaseModel):
"""Relative path to the application entrypoint"""

env_vars: Optional[Dict[str, str]] = None
"""Environment variables configured for this deployment"""
"""Environment variables configured for this deployment.

Values are redacted for API key, OAuth, and managed-auth callers, which receive
every key with an empty string value. Only dashboard sessions receive the actual
values.
"""

status_reason: Optional[str] = None
"""Status reason"""
Expand Down
Loading