Skip to content

Commit 5602df1

Browse files
Merge pull request #161 from kernel/release-please--branches--main--changes--next
release: 0.95.0
2 parents 2cf9b11 + 102823c commit 5602df1

21 files changed

Lines changed: 65 additions & 38 deletions

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.94.0"
2+
".": "0.95.0"
33
}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## [0.95.0](https://github.com/kernel/kernel-python-sdk/compare/v0.94.0...v0.95.0) (2026-08-26)
4+
5+
6+
### Features
7+
8+
* Add OTLP destination delivery health storage ([516cbce](https://github.com/kernel/kernel-python-sdk/commit/516cbce77afab43b346d9e95df2e4a25757c474b))
9+
* route process calls directly to browser VMs ([f833c55](https://github.com/kernel/kernel-python-sdk/commit/f833c55fee9e7c33c444af6366890a9c876e149c))
10+
311
## [0.94.0](https://github.com/kernel/kernel-python-sdk/compare/v0.93.0...v0.94.0) (2026-08-24)
412

513

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "kernel"
3-
version = "0.94.0"
3+
version = "0.95.0"
44
description = "The official Python library for the kernel API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

src/kernel/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "kernel"
4-
__version__ = "0.94.0" # x-release-please-version
4+
__version__ = "0.95.0" # x-release-please-version

src/kernel/resources/auth/connections.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,10 @@ def create(
9595
profile_name: Name of the profile to manage authentication for. If the profile does not exist,
9696
it is created automatically.
9797
98-
allowed_domains: Additional domains valid for this auth flow (besides the primary domain). Useful
99-
when login pages redirect to different domains.
98+
allowed_domains: Additional hostname roots valid for this auth flow, besides the primary domain.
99+
Each value allows credential entry on that exact hostname and its subdomains.
100+
Leading `www.` and `*.` labels are normalized away. When omitted or empty,
101+
credential entry is unrestricted.
100102
101103
The following SSO/OAuth provider domains are automatically allowed by default
102104
and do not need to be specified:
@@ -254,7 +256,10 @@ def update(
254256
updated.
255257
256258
Args:
257-
allowed_domains: Additional domains valid for this auth flow (replaces existing list)
259+
allowed_domains: Additional hostname roots valid for this auth flow. Each value allows credential
260+
entry on that exact hostname and its subdomains; leading `www.` and `*.` labels
261+
are normalized away. An empty list leaves credential entry unrestricted.
262+
Replaces the existing list.
258263
259264
auto_reauth: Whether automatic re-authentication is permitted for this connection. This is an
260265
opt-in flag only — it does not check whether re-auth is actually feasible. Even
@@ -713,8 +718,10 @@ async def create(
713718
profile_name: Name of the profile to manage authentication for. If the profile does not exist,
714719
it is created automatically.
715720
716-
allowed_domains: Additional domains valid for this auth flow (besides the primary domain). Useful
717-
when login pages redirect to different domains.
721+
allowed_domains: Additional hostname roots valid for this auth flow, besides the primary domain.
722+
Each value allows credential entry on that exact hostname and its subdomains.
723+
Leading `www.` and `*.` labels are normalized away. When omitted or empty,
724+
credential entry is unrestricted.
718725
719726
The following SSO/OAuth provider domains are automatically allowed by default
720727
and do not need to be specified:
@@ -872,7 +879,10 @@ async def update(
872879
updated.
873880
874881
Args:
875-
allowed_domains: Additional domains valid for this auth flow (replaces existing list)
882+
allowed_domains: Additional hostname roots valid for this auth flow. Each value allows credential
883+
entry on that exact hostname and its subdomains; leading `www.` and `*.` labels
884+
are normalized away. An empty list leaves credential entry unrestricted.
885+
Replaces the existing list.
876886
877887
auto_reauth: Whether automatic re-authentication is permitted for this connection. This is an
878888
opt-in flag only — it does not check whether re-auth is actually feasible. Even

src/kernel/resources/browser_pools.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def create(
7373
profile: browser_pool_create_params.Profile | Omit = omit,
7474
proxy_id: str | Omit = omit,
7575
refresh_on_profile_update: bool | Omit = omit,
76-
region: Literal["us-east", "eu-west"] | Omit = omit,
76+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
7777
start_url: str | Omit = omit,
7878
stealth: bool | Omit = omit,
7979
telemetry: Optional[browser_pool_create_params.Telemetry] | Omit = omit,
@@ -406,7 +406,7 @@ def list(
406406
name: str | Omit = omit,
407407
offset: int | Omit = omit,
408408
query: str | Omit = omit,
409-
region: Literal["us-east", "eu-west"] | Omit = omit,
409+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
410410
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
411411
# The extra values given here take precedence over values defined on the client or passed to this method.
412412
extra_headers: Headers | None = None,
@@ -703,7 +703,7 @@ async def create(
703703
profile: browser_pool_create_params.Profile | Omit = omit,
704704
proxy_id: str | Omit = omit,
705705
refresh_on_profile_update: bool | Omit = omit,
706-
region: Literal["us-east", "eu-west"] | Omit = omit,
706+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
707707
start_url: str | Omit = omit,
708708
stealth: bool | Omit = omit,
709709
telemetry: Optional[browser_pool_create_params.Telemetry] | Omit = omit,
@@ -1036,7 +1036,7 @@ def list(
10361036
name: str | Omit = omit,
10371037
offset: int | Omit = omit,
10381038
query: str | Omit = omit,
1039-
region: Literal["us-east", "eu-west"] | Omit = omit,
1039+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
10401040
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
10411041
# The extra values given here take precedence over values defined on the client or passed to this method.
10421042
extra_headers: Headers | None = None,

src/kernel/resources/browsers/browsers.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def create(
182182
profile: BrowserProfile | Omit = omit,
183183
proxy: BrowserProxyConfigParam | Omit = omit,
184184
proxy_id: str | Omit = omit,
185-
region: Literal["us-east", "eu-west"] | Omit = omit,
185+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
186186
start_url: str | Omit = omit,
187187
stealth: bool | Omit = omit,
188188
tags: TagsParam | Omit = omit,
@@ -459,7 +459,7 @@ def list(
459459
limit: int | Omit = omit,
460460
offset: int | Omit = omit,
461461
query: str | Omit = omit,
462-
region: Literal["us-east", "eu-west"] | Omit = omit,
462+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
463463
status: Literal["active", "deleted", "all"] | Omit = omit,
464464
tags: Dict[str, str] | Omit = omit,
465465
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -694,8 +694,8 @@ def load_extensions(
694694
timeout: float | httpx.Timeout | None | NotGiven = not_given,
695695
) -> None:
696696
"""
697-
Loads one or more unpacked extensions and restarts Chromium on the browser
698-
instance.
697+
Loads one or more unpacked extensions using live CDP activation when eligible.
698+
Chromium restarts when enterprise policy requires it or live activation fails.
699699
700700
Args:
701701
extensions: List of extensions to upload and activate
@@ -802,7 +802,7 @@ async def create(
802802
profile: BrowserProfile | Omit = omit,
803803
proxy: BrowserProxyConfigParam | Omit = omit,
804804
proxy_id: str | Omit = omit,
805-
region: Literal["us-east", "eu-west"] | Omit = omit,
805+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
806806
start_url: str | Omit = omit,
807807
stealth: bool | Omit = omit,
808808
tags: TagsParam | Omit = omit,
@@ -1079,7 +1079,7 @@ def list(
10791079
limit: int | Omit = omit,
10801080
offset: int | Omit = omit,
10811081
query: str | Omit = omit,
1082-
region: Literal["us-east", "eu-west"] | Omit = omit,
1082+
region: Literal["us-east", "eu-west", "ap-southeast"] | Omit = omit,
10831083
status: Literal["active", "deleted", "all"] | Omit = omit,
10841084
tags: Dict[str, str] | Omit = omit,
10851085
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -1314,8 +1314,8 @@ async def load_extensions(
13141314
timeout: float | httpx.Timeout | None | NotGiven = not_given,
13151315
) -> None:
13161316
"""
1317-
Loads one or more unpacked extensions and restarts Chromium on the browser
1318-
instance.
1317+
Loads one or more unpacked extensions using live CDP activation when eligible.
1318+
Chromium restarts when enterprise policy requires it or live activation fails.
13191319
13201320
Args:
13211321
extensions: List of extensions to upload and activate

src/kernel/types/auth/connection_create_params.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ class ConnectionCreateParams(TypedDict, total=False):
3131
"""
3232

3333
allowed_domains: SequenceNotStr[str]
34-
"""Additional domains valid for this auth flow (besides the primary domain).
34+
"""Additional hostname roots valid for this auth flow, besides the primary domain.
3535
36-
Useful when login pages redirect to different domains.
36+
Each value allows credential entry on that exact hostname and its subdomains.
37+
Leading `www.` and `*.` labels are normalized away. When omitted or empty,
38+
credential entry is unrestricted.
3739
3840
The following SSO/OAuth provider domains are automatically allowed by default
3941
and do not need to be specified:

src/kernel/types/auth/connection_update_params.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,12 @@
2222

2323
class ConnectionUpdateParams(TypedDict, total=False):
2424
allowed_domains: SequenceNotStr[str]
25-
"""Additional domains valid for this auth flow (replaces existing list)"""
25+
"""Additional hostname roots valid for this auth flow.
26+
27+
Each value allows credential entry on that exact hostname and its subdomains;
28+
leading `www.` and `*.` labels are normalized away. An empty list leaves
29+
credential entry unrestricted. Replaces the existing list.
30+
"""
2631

2732
auto_reauth: bool
2833
"""Whether automatic re-authentication is permitted for this connection.

src/kernel/types/auth/managed_auth.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -309,9 +309,11 @@ class ManagedAuth(BaseModel):
309309
"""Current authentication status of the managed profile"""
310310

311311
allowed_domains: Optional[List[str]] = None
312-
"""
313-
Additional domains that are valid for this auth flow (besides the primary
314-
domain). Useful when login pages redirect to different domains.
312+
"""Additional hostname roots valid for this auth flow, besides the primary domain.
313+
314+
Each value allows credential entry on that exact hostname and its subdomains.
315+
Leading `www.` and `*.` labels are normalized away. When omitted or empty,
316+
credential entry is unrestricted.
315317
316318
The following SSO/OAuth provider domains are automatically allowed by default
317319
and do not need to be specified:

0 commit comments

Comments
 (0)