Skip to content

Commit a91b543

Browse files
Merge pull request #179 from kernel/release-please--branches--main--changes--next
release: 0.113.0
2 parents cf33150 + 2eabd23 commit a91b543

11 files changed

Lines changed: 61 additions & 7 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.112.0"
2+
".": "0.113.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.113.0](https://github.com/kernel/kernel-python-sdk/compare/v0.112.0...v0.113.0) (2026-09-27)
4+
5+
6+
### Features
7+
8+
* Randomize automatic search provider routing ([1da4b21](https://github.com/kernel/kernel-python-sdk/commit/1da4b212644549666e19f23146b8d1e2ab9511d9))
9+
* Support 16GiB memory in browser pools ([7d004de](https://github.com/kernel/kernel-python-sdk/commit/7d004def693a57505b4294307b272ba1fc4f78b2))
10+
311
## [0.112.0](https://github.com/kernel/kernel-python-sdk/compare/v0.111.0...v0.112.0) (2026-09-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.112.0"
3+
version = "0.113.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.112.0" # x-release-please-version
4+
__version__ = "0.113.0" # x-release-please-version

‎src/kernel/resources/browser_pools.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import httpx
99

1010
from ..types import (
11+
BrowserMemoryRequest,
1112
browser_pool_list_params,
1213
browser_pool_create_params,
1314
browser_pool_delete_params,
@@ -29,6 +30,7 @@
2930
from .._base_client import AsyncPaginator, make_request_options
3031
from ..types.tags_param import TagsParam
3132
from ..types.browser_pool import BrowserPool
33+
from ..types.browser_memory_request import BrowserMemoryRequest
3234
from ..types.browser_network_config_param import BrowserNetworkConfigParam
3335
from ..types.browser_pool_acquire_response import BrowserPoolAcquireResponse
3436
from ..types.shared_params.browser_profile import BrowserProfile
@@ -69,6 +71,7 @@ def create(
6971
fill_rate_per_minute: int | Omit = omit,
7072
headless: bool | Omit = omit,
7173
kiosk_mode: bool | Omit = omit,
74+
memory: BrowserMemoryRequest | Omit = omit,
7275
name: str | Omit = omit,
7376
network: BrowserNetworkConfigParam | Omit = omit,
7477
profile: browser_pool_create_params.Profile | Omit = omit,
@@ -116,6 +119,8 @@ def create(
116119
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
117120
view. Defaults to false.
118121
122+
memory: Memory requested for headful browsers in this pool.
123+
119124
name: Optional name for the browser pool. Must be unique within the project.
120125
121126
network: Network configuration applied to browsers in this pool.
@@ -187,6 +192,7 @@ def create(
187192
"fill_rate_per_minute": fill_rate_per_minute,
188193
"headless": headless,
189194
"kiosk_mode": kiosk_mode,
195+
"memory": memory,
190196
"name": name,
191197
"network": network,
192198
"profile": profile,
@@ -250,6 +256,7 @@ def update(
250256
fill_rate_per_minute: int | Omit = omit,
251257
headless: bool | Omit = omit,
252258
kiosk_mode: bool | Omit = omit,
259+
memory: Literal["8GiB", "16GiB"] | Omit = omit,
253260
name: str | Omit = omit,
254261
network: BrowserNetworkConfigParam | Omit = omit,
255262
profile: browser_pool_update_params.Profile | Omit = omit,
@@ -302,6 +309,10 @@ def update(
302309
303310
kiosk_mode: If provided, replaces whether browsers launch in kiosk mode.
304311
312+
memory: Memory requested for newly-warmed headful browsers in this pool. Existing
313+
browsers retain their original allocation. Use discard_all_idle to replace idle
314+
browsers.
315+
305316
name: If provided, replaces the pool name. Empty string is a no-op; the pool name
306317
cannot be cleared or reset to empty once assigned.
307318
@@ -380,6 +391,7 @@ def update(
380391
"fill_rate_per_minute": fill_rate_per_minute,
381392
"headless": headless,
382393
"kiosk_mode": kiosk_mode,
394+
"memory": memory,
383395
"name": name,
384396
"network": network,
385397
"profile": profile,
@@ -706,6 +718,7 @@ async def create(
706718
fill_rate_per_minute: int | Omit = omit,
707719
headless: bool | Omit = omit,
708720
kiosk_mode: bool | Omit = omit,
721+
memory: BrowserMemoryRequest | Omit = omit,
709722
name: str | Omit = omit,
710723
network: BrowserNetworkConfigParam | Omit = omit,
711724
profile: browser_pool_create_params.Profile | Omit = omit,
@@ -753,6 +766,8 @@ async def create(
753766
kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
754767
view. Defaults to false.
755768
769+
memory: Memory requested for headful browsers in this pool.
770+
756771
name: Optional name for the browser pool. Must be unique within the project.
757772
758773
network: Network configuration applied to browsers in this pool.
@@ -824,6 +839,7 @@ async def create(
824839
"fill_rate_per_minute": fill_rate_per_minute,
825840
"headless": headless,
826841
"kiosk_mode": kiosk_mode,
842+
"memory": memory,
827843
"name": name,
828844
"network": network,
829845
"profile": profile,
@@ -887,6 +903,7 @@ async def update(
887903
fill_rate_per_minute: int | Omit = omit,
888904
headless: bool | Omit = omit,
889905
kiosk_mode: bool | Omit = omit,
906+
memory: Literal["8GiB", "16GiB"] | Omit = omit,
890907
name: str | Omit = omit,
891908
network: BrowserNetworkConfigParam | Omit = omit,
892909
profile: browser_pool_update_params.Profile | Omit = omit,
@@ -939,6 +956,10 @@ async def update(
939956
940957
kiosk_mode: If provided, replaces whether browsers launch in kiosk mode.
941958
959+
memory: Memory requested for newly-warmed headful browsers in this pool. Existing
960+
browsers retain their original allocation. Use discard_all_idle to replace idle
961+
browsers.
962+
942963
name: If provided, replaces the pool name. Empty string is a no-op; the pool name
943964
cannot be cleared or reset to empty once assigned.
944965
@@ -1017,6 +1038,7 @@ async def update(
10171038
"fill_rate_per_minute": fill_rate_per_minute,
10181039
"headless": headless,
10191040
"kiosk_mode": kiosk_mode,
1041+
"memory": memory,
10201042
"name": name,
10211043
"network": network,
10221044
"profile": profile,

‎src/kernel/resources/search/providers.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ def list(
6464
contains no latency benchmarks. X-Request-Id identifies the request.
6565
6666
Args:
67-
slug: Optional concrete provider slug filter. Omit to list every provider.
67+
slug: Optional concrete provider slug filter. Omit to list every provider. A slug that
68+
is not listed returns an empty array.
6869
6970
extra_headers: Send extra headers
7071
@@ -128,7 +129,8 @@ async def list(
128129
contains no latency benchmarks. X-Request-Id identifies the request.
129130
130131
Args:
131-
slug: Optional concrete provider slug filter. Omit to list every provider.
132+
slug: Optional concrete provider slug filter. Omit to list every provider. A slug that
133+
is not listed returns an empty array.
132134
133135
extra_headers: Send extra headers
134136

‎src/kernel/types/browser_pool.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from typing_extensions import Literal
66

77
from .._models import BaseModel
8+
from .browser_memory import BrowserMemory
89
from .browser_network_config import BrowserNetworkConfig
910
from .shared.browser_viewport import BrowserViewport
1011
from .shared.browser_extension import BrowserExtension
@@ -73,6 +74,9 @@ class BrowserPoolConfig(BaseModel):
7374
view.
7475
"""
7576

77+
memory: Optional[BrowserMemory] = None
78+
"""Memory allocated to the browser session."""
79+
7680
name: Optional[str] = None
7781
"""Optional name for the browser pool. Must be unique within the project."""
7882

‎src/kernel/types/browser_pool_create_params.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from typing import Dict, Iterable, Optional
66
from typing_extensions import Literal, Required, TypedDict
77

8+
from .browser_memory_request import BrowserMemoryRequest
89
from .browser_network_config_param import BrowserNetworkConfigParam
910
from .shared_params.browser_viewport import BrowserViewport
1011
from .shared_params.browser_extension import BrowserExtension
@@ -59,6 +60,9 @@ class BrowserPoolCreateParams(TypedDict, total=False):
5960
view. Defaults to false.
6061
"""
6162

63+
memory: BrowserMemoryRequest
64+
"""Memory requested for headful browsers in this pool."""
65+
6266
name: str
6367
"""Optional name for the browser pool. Must be unique within the project."""
6468

‎src/kernel/types/browser_pool_update_params.py‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from __future__ import annotations
44

55
from typing import Dict, Iterable, Optional
6-
from typing_extensions import TypedDict
6+
from typing_extensions import Literal, TypedDict
77

88
from .browser_network_config_param import BrowserNetworkConfigParam
99
from .shared_params.browser_viewport import BrowserViewport
@@ -61,6 +61,13 @@ class BrowserPoolUpdateParams(TypedDict, total=False):
6161
kiosk_mode: bool
6262
"""If provided, replaces whether browsers launch in kiosk mode."""
6363

64+
memory: Literal["8GiB", "16GiB"]
65+
"""Memory requested for newly-warmed headful browsers in this pool.
66+
67+
Existing browsers retain their original allocation. Use discard_all_idle to
68+
replace idle browsers.
69+
"""
70+
6471
name: str
6572
"""If provided, replaces the pool name.
6673

‎src/kernel/types/search/provider_list_params.py‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,7 @@
99

1010
class ProviderListParams(TypedDict, total=False):
1111
slug: Literal["brave", "exa", "perplexity", "context", "parallel", "valyu", "octen", "you", "tavily", "serpapi"]
12-
"""Optional concrete provider slug filter. Omit to list every provider."""
12+
"""Optional concrete provider slug filter.
13+
14+
Omit to list every provider. A slug that is not listed returns an empty array.
15+
"""

0 commit comments

Comments
 (0)