Skip to content

Commit cb3efe3

Browse files
authored
Merge pull request #197 from kernel/release-please--branches--main--changes--next
release: 0.127.0
2 parents de4fc58 + 14852b5 commit cb3efe3

39 files changed

Lines changed: 428 additions & 150 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.126.0"
2+
".": "0.127.0"
33
}

‎CHANGELOG.md‎

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

3+
## [0.127.0](https://github.com/kernel/kernel-python-sdk/compare/v0.126.0...v0.127.0) (2026-10-16)
4+
5+
6+
### Features
7+
8+
* Add atomic preconditions to pool network updates ([9869c91](https://github.com/kernel/kernel-python-sdk/commit/9869c911414a8be186a1a64682487fd38423fb92))
9+
* Add passkey credential fields and PATCH field add/remove ([84a69ad](https://github.com/kernel/kernel-python-sdk/commit/84a69ad74c46ddcdd87acd88a23dd5330adf555b))
10+
* Allow replacing vault cards whose provider outcome is unknown ([30f88e1](https://github.com/kernel/kernel-python-sdk/commit/30f88e18b045f3fedbe1bd79d3125db105dd725f))
11+
* chore(stlc): seal custom-code tracking files ([5a62113](https://github.com/kernel/kernel-python-sdk/commit/5a621135bad2661c79068027773ff32b4e14e0c9))
12+
* Classify text captchas as token tasks and Binance as a provider ([84f71b8](https://github.com/kernel/kernel-python-sdk/commit/84f71b89f84dea25464cbc22ed92786d73083419))
13+
* Deliver Kernel card details through fill ([eed3e7b](https://github.com/kernel/kernel-python-sdk/commit/eed3e7ba06c46d3cfa6048d9f02c3d8fff6046e6))
14+
* Raise Kernel card amount cap to $10,000 ([483f331](https://github.com/kernel/kernel-python-sdk/commit/483f3312824d07e5f315afe0ce5058d4fc4a6e99))
15+
* Remove Link expires_at, return 400 for missing credential values, and log fill failures ([766dd6e](https://github.com/kernel/kernel-python-sdk/commit/766dd6e961fd36f580540a535cad76e659ecafee))
16+
317
## [0.126.0](https://github.com/kernel/kernel-python-sdk/compare/v0.125.0...v0.126.0) (2026-10-14)
418

519

‎api.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -576,6 +576,7 @@ from kernel.types.vaults import (
576576
CredentialAccountVaultItemRequest,
577577
CredentialCollectionAction,
578578
CredentialVaultFieldDefinition,
579+
CredentialVaultFieldDefinitionInput,
579580
CredentialVaultFieldInput,
580581
CredentialVaultFieldState,
581582
CredentialVaultFieldType,

‎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.126.0"
3+
version = "0.127.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.126.0" # x-release-please-version
4+
__version__ = "0.127.0" # x-release-please-version

‎src/kernel/resources/browser_pools.py‎

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,8 @@ def create(
119119
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
120120
view. Defaults to false.
121121
122-
memory: Memory requested for headful browsers in this pool.
122+
memory: Memory for browsers in this pool. Headless: 1GiB (default), 2GiB, or 4GiB.
123+
Headful: 8GiB (default) or 16GiB.
123124
124125
name: Optional name for the browser pool. Must be unique within the project.
125126
@@ -254,11 +255,12 @@ def update(
254255
*,
255256
chrome_policy: Dict[str, object] | Omit = omit,
256257
discard_all_idle: bool | Omit = omit,
258+
expected_network: BrowserNetworkConfigParam | Omit = omit,
257259
extensions: Iterable[BrowserExtension] | Omit = omit,
258260
fill_rate_per_minute: int | Omit = omit,
259261
headless: bool | Omit = omit,
260262
kiosk_mode: bool | Omit = omit,
261-
memory: Literal["8GiB", "16GiB"] | Omit = omit,
263+
memory: Literal["1GiB", "2GiB", "4GiB", "8GiB", "16GiB"] | Omit = omit,
262264
name: str | Omit = omit,
263265
network: BrowserNetworkConfigParam | Omit = omit,
264266
profile: browser_pool_update_params.Profile | Omit = omit,
@@ -302,6 +304,13 @@ def update(
302304
configuration until it is discarded (by this flag on a later update, or by
303305
flushing the pool).
304306
307+
expected_network: Optional optimistic concurrency precondition. Send the network configuration
308+
from the last pool response, or {} when it has no network configuration. The
309+
entire update is rejected with 409 stale_network if the saved network differs,
310+
checked atomically with the write. Omit for unconditional updates. Explicit
311+
empty lists differ from omitted lists; route targets must match the saved
312+
references (resolved IDs, not equivalent proxy names).
313+
305314
extensions: If provided, replaces the extension list. Empty array clears all
306315
previously-selected extensions. Omit this field to leave extensions unchanged.
307316
@@ -313,9 +322,9 @@ def update(
313322
314323
kiosk_mode: If provided, replaces whether browsers launch in kiosk mode.
315324
316-
memory: Memory requested for newly-warmed headful browsers in this pool. Existing
317-
browsers retain their original allocation. Use discard_all_idle to replace idle
318-
browsers.
325+
memory: Memory requested for newly-warmed browsers in this pool: 1GiB, 2GiB, or 4GiB for
326+
headless, 8GiB or 16GiB for headful. Existing browsers retain their original
327+
allocation. Use discard_all_idle to replace idle browsers.
319328
320329
name: If provided, replaces the pool name. Empty string is a no-op; the pool name
321330
cannot be cleared or reset to empty once assigned.
@@ -397,6 +406,7 @@ def update(
397406
{
398407
"chrome_policy": chrome_policy,
399408
"discard_all_idle": discard_all_idle,
409+
"expected_network": expected_network,
400410
"extensions": extensions,
401411
"fill_rate_per_minute": fill_rate_per_minute,
402412
"headless": headless,
@@ -776,7 +786,8 @@ async def create(
776786
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
777787
view. Defaults to false.
778788
779-
memory: Memory requested for headful browsers in this pool.
789+
memory: Memory for browsers in this pool. Headless: 1GiB (default), 2GiB, or 4GiB.
790+
Headful: 8GiB (default) or 16GiB.
780791
781792
name: Optional name for the browser pool. Must be unique within the project.
782793
@@ -911,11 +922,12 @@ async def update(
911922
*,
912923
chrome_policy: Dict[str, object] | Omit = omit,
913924
discard_all_idle: bool | Omit = omit,
925+
expected_network: BrowserNetworkConfigParam | Omit = omit,
914926
extensions: Iterable[BrowserExtension] | Omit = omit,
915927
fill_rate_per_minute: int | Omit = omit,
916928
headless: bool | Omit = omit,
917929
kiosk_mode: bool | Omit = omit,
918-
memory: Literal["8GiB", "16GiB"] | Omit = omit,
930+
memory: Literal["1GiB", "2GiB", "4GiB", "8GiB", "16GiB"] | Omit = omit,
919931
name: str | Omit = omit,
920932
network: BrowserNetworkConfigParam | Omit = omit,
921933
profile: browser_pool_update_params.Profile | Omit = omit,
@@ -959,6 +971,13 @@ async def update(
959971
configuration until it is discarded (by this flag on a later update, or by
960972
flushing the pool).
961973
974+
expected_network: Optional optimistic concurrency precondition. Send the network configuration
975+
from the last pool response, or {} when it has no network configuration. The
976+
entire update is rejected with 409 stale_network if the saved network differs,
977+
checked atomically with the write. Omit for unconditional updates. Explicit
978+
empty lists differ from omitted lists; route targets must match the saved
979+
references (resolved IDs, not equivalent proxy names).
980+
962981
extensions: If provided, replaces the extension list. Empty array clears all
963982
previously-selected extensions. Omit this field to leave extensions unchanged.
964983
@@ -970,9 +989,9 @@ async def update(
970989
971990
kiosk_mode: If provided, replaces whether browsers launch in kiosk mode.
972991
973-
memory: Memory requested for newly-warmed headful browsers in this pool. Existing
974-
browsers retain their original allocation. Use discard_all_idle to replace idle
975-
browsers.
992+
memory: Memory requested for newly-warmed browsers in this pool: 1GiB, 2GiB, or 4GiB for
993+
headless, 8GiB or 16GiB for headful. Existing browsers retain their original
994+
allocation. Use discard_all_idle to replace idle browsers.
976995
977996
name: If provided, replaces the pool name. Empty string is a no-op; the pool name
978997
cannot be cleared or reset to empty once assigned.
@@ -1054,6 +1073,7 @@ async def update(
10541073
{
10551074
"chrome_policy": chrome_policy,
10561075
"discard_all_idle": discard_all_idle,
1076+
"expected_network": expected_network,
10571077
"extensions": extensions,
10581078
"fill_rate_per_minute": fill_rate_per_minute,
10591079
"headless": headless,

‎src/kernel/resources/browsers/browsers.py‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,9 @@ def create(
239239
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
240240
view.
241241
242-
memory: Memory for a headful, non-GPU browser session. Defaults to 8GiB.
242+
memory:
243+
Memory for a non-GPU browser. Headless: 1GiB (default), 2GiB, or 4GiB. Headful:
244+
8GiB (default) or 16GiB.
243245
244246
name: Optional human-readable name for the browser session, used to find it later in
245247
the dashboard. Must be unique among active sessions within the project. Can be
@@ -954,7 +956,9 @@ async def create(
954956
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
955957
view.
956958
957-
memory: Memory for a headful, non-GPU browser session. Defaults to 8GiB.
959+
memory:
960+
Memory for a non-GPU browser. Headless: 1GiB (default), 2GiB, or 4GiB. Headful:
961+
8GiB (default) or 16GiB.
958962
959963
name: Optional human-readable name for the browser session, used to find it later in
960964
the dashboard. Must be unique among active sessions within the project. Can be

0 commit comments

Comments
 (0)