diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0a40b9d..ea2682c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.40.0" + ".": "0.41.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 49cb307..4e3164c 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 101 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-e6e88da6e6fffe12873a108ca33ebfbd59b85232078ab0e4dca5c8273c131053.yml -openapi_spec_hash: 4f22b8ec1d048cc74a751e3ab39b943c -config_hash: 6bac5bbe5d5fc26e0912e33f646adb14 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel%2Fkernel-586ddc36cd621b3705138de66a0e7d28d1c1485064aa85ce09ce24edb50003ef.yml +openapi_spec_hash: 8e8d4bd31e4920303e7ec9ce313fb1ec +config_hash: 81f143f4bee47ae7b0b8357551babadf diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ad25ea..834c3a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.41.0 (2026-02-27) + +Full Changelog: [v0.40.0...v0.41.0](https://github.com/kernel/kernel-python-sdk/compare/v0.40.0...v0.41.0) + +### Features + +* Return uptime_ms for deleted browser sessions ([067207f](https://github.com/kernel/kernel-python-sdk/commit/067207fb709eb78064118d6d71fdb390ff9e31e8)) + ## 0.40.0 (2026-02-26) Full Changelog: [v0.39.0...v0.40.0](https://github.com/kernel/kernel-python-sdk/compare/v0.39.0...v0.40.0) diff --git a/api.md b/api.md index 2a46da7..511ab51 100644 --- a/api.md +++ b/api.md @@ -82,6 +82,7 @@ Types: from kernel.types import ( BrowserPersistence, BrowserPoolRef, + BrowserUsage, Profile, BrowserCreateResponse, BrowserRetrieveResponse, diff --git a/pyproject.toml b/pyproject.toml index d035078..3d0824a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "kernel" -version = "0.40.0" +version = "0.41.0" description = "The official Python library for the kernel API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/kernel/_version.py b/src/kernel/_version.py index 6983874..8859da9 100644 --- a/src/kernel/_version.py +++ b/src/kernel/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "kernel" -__version__ = "0.40.0" # x-release-please-version +__version__ = "0.41.0" # x-release-please-version diff --git a/src/kernel/types/__init__.py b/src/kernel/types/__init__.py index f81c1a4..894342a 100644 --- a/src/kernel/types/__init__.py +++ b/src/kernel/types/__init__.py @@ -16,6 +16,7 @@ from .profile import Profile as Profile from .credential import Credential as Credential from .browser_pool import BrowserPool as BrowserPool +from .browser_usage import BrowserUsage as BrowserUsage from .app_list_params import AppListParams as AppListParams from .browser_pool_ref import BrowserPoolRef as BrowserPoolRef from .app_list_response import AppListResponse as AppListResponse diff --git a/src/kernel/types/browser_create_response.py b/src/kernel/types/browser_create_response.py index 8602855..646e25a 100644 --- a/src/kernel/types/browser_create_response.py +++ b/src/kernel/types/browser_create_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class BrowserCreateResponse(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. diff --git a/src/kernel/types/browser_list_response.py b/src/kernel/types/browser_list_response.py index 00445c7..7bb748f 100644 --- a/src/kernel/types/browser_list_response.py +++ b/src/kernel/types/browser_list_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class BrowserListResponse(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. diff --git a/src/kernel/types/browser_pool_acquire_response.py b/src/kernel/types/browser_pool_acquire_response.py index c237b3a..3ffb777 100644 --- a/src/kernel/types/browser_pool_acquire_response.py +++ b/src/kernel/types/browser_pool_acquire_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class BrowserPoolAcquireResponse(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. diff --git a/src/kernel/types/browser_retrieve_response.py b/src/kernel/types/browser_retrieve_response.py index 9c4f70c..3a5df2c 100644 --- a/src/kernel/types/browser_retrieve_response.py +++ b/src/kernel/types/browser_retrieve_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class BrowserRetrieveResponse(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. diff --git a/src/kernel/types/browser_update_response.py b/src/kernel/types/browser_update_response.py index 912fdae..309a7f4 100644 --- a/src/kernel/types/browser_update_response.py +++ b/src/kernel/types/browser_update_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class BrowserUpdateResponse(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate. diff --git a/src/kernel/types/browser_usage.py b/src/kernel/types/browser_usage.py new file mode 100644 index 0000000..72bde9b --- /dev/null +++ b/src/kernel/types/browser_usage.py @@ -0,0 +1,12 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from .._models import BaseModel + +__all__ = ["BrowserUsage"] + + +class BrowserUsage(BaseModel): + """Session usage metrics.""" + + uptime_ms: int + """Time in milliseconds the session was actively running.""" diff --git a/src/kernel/types/invocation_list_browsers_response.py b/src/kernel/types/invocation_list_browsers_response.py index 6988ff3..cb98f33 100644 --- a/src/kernel/types/invocation_list_browsers_response.py +++ b/src/kernel/types/invocation_list_browsers_response.py @@ -5,6 +5,7 @@ from .profile import Profile from .._models import BaseModel +from .browser_usage import BrowserUsage from .browser_pool_ref import BrowserPoolRef from .browser_persistence import BrowserPersistence from .shared.browser_viewport import BrowserViewport @@ -58,6 +59,9 @@ class Browser(BaseModel): proxy_id: Optional[str] = None """ID of the proxy associated with this browser session, if any.""" + usage: Optional[BrowserUsage] = None + """Session usage metrics.""" + viewport: Optional[BrowserViewport] = None """Initial browser window size in pixels with optional refresh rate.