diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 78b4fb3..d5dc773 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.71.0" + ".": "0.71.1" } diff --git a/.stats.yml b/.stats.yml index ef32d38..10d9022 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 124 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4fb45d71a99648425c84bdc8e5780920105cede4ee2d4eac67276d0609ac1e94.yml -openapi_spec_hash: 1f04cb5b36e92db81dfa264c2a59c32a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-4c243ff089133bd49322d98a6943647589972f71ecadc993fe9e5029972b3995.yml +openapi_spec_hash: a2cb637a19a070d07a1a4343c75444ee config_hash: fb167e754ebb3a14649463725891c9d0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 722e4a5..8b67a78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.71.1 (2026-06-26) + +Full Changelog: [v0.71.0...v0.71.1](https://github.com/kernel/kernel-node-sdk/compare/v0.71.0...v0.71.1) + +### Bug Fixes + +* **api:** browser pool profile omits save_changes (BrowserPoolProfile) ([41f382e](https://github.com/kernel/kernel-node-sdk/commit/41f382e07d767dd998533de4e2904f5db46b1ea8)) + ## 0.71.0 (2026-06-26) Full Changelog: [v0.70.0...v0.71.0](https://github.com/kernel/kernel-node-sdk/compare/v0.70.0...v0.71.0) diff --git a/package.json b/package.json index ebf6056..69fe8ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/sdk", - "version": "0.71.0", + "version": "0.71.1", "description": "The official TypeScript library for the Kernel API", "author": "Kernel <>", "types": "dist/index.d.ts", diff --git a/src/resources/browser-pools.ts b/src/resources/browser-pools.ts index d37f04f..f05c289 100644 --- a/src/resources/browser-pools.ts +++ b/src/resources/browser-pools.ts @@ -15,7 +15,10 @@ import { path } from '../internal/utils/path'; */ export class BrowserPools extends APIResource { /** - * Create a new browser pool with the specified configuration and size. + * Create a new browser pool with the specified configuration and size. Pooled + * browsers load their profile read-only: any save_changes on the profile is + * ignored (not rejected), so pooled browsers never persist changes back to the + * profile. * * @example * ```ts @@ -43,7 +46,9 @@ export class BrowserPools extends APIResource { } /** - * Updates the configuration used to create browsers in the pool. + * Updates the configuration used to create browsers in the pool. As with creation, + * save_changes on the pool profile is ignored (not rejected); pooled browsers + * never persist changes back to the profile. * * @example * ```ts @@ -236,11 +241,14 @@ export namespace BrowserPool { name?: string; /** - * Profile selection for the browser session. Provide either id or name. If - * specified, the matching profile will be loaded into the browser session. - * Profiles must be created beforehand. + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. */ - profile?: Shared.BrowserProfile; + profile?: BrowserPoolConfig.Profile; /** * Optional proxy to associate to the browser session. Must reference a proxy in @@ -285,6 +293,29 @@ export namespace BrowserPool { */ viewport?: Shared.BrowserViewport; } + + export namespace BrowserPoolConfig { + /** + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. + */ + export interface Profile { + /** + * Profile ID to load for browsers in this pool + */ + id?: string; + + /** + * Profile name to load for browsers in this pool (instead of id). Must be 1-255 + * characters, using letters, numbers, dots, underscores, or hyphens. + */ + name?: string; + } + } } export interface BrowserPoolAcquireResponse { @@ -464,11 +495,14 @@ export interface BrowserPoolCreateParams { name?: string; /** - * Profile selection for the browser session. Provide either id or name. If - * specified, the matching profile will be loaded into the browser session. - * Profiles must be created beforehand. + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. */ - profile?: Shared.BrowserProfile; + profile?: BrowserPoolCreateParams.Profile; /** * Optional proxy to associate to the browser session. Must reference a proxy in @@ -514,6 +548,29 @@ export interface BrowserPoolCreateParams { viewport?: Shared.BrowserViewport; } +export namespace BrowserPoolCreateParams { + /** + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. + */ + export interface Profile { + /** + * Profile ID to load for browsers in this pool + */ + id?: string; + + /** + * Profile name to load for browsers in this pool (instead of id). Must be 1-255 + * characters, using letters, numbers, dots, underscores, or hyphens. + */ + name?: string; + } +} + export interface BrowserPoolUpdateParams { /** * Custom Chrome enterprise policy overrides applied to all browsers in this pool. @@ -558,11 +615,14 @@ export interface BrowserPoolUpdateParams { name?: string; /** - * Profile selection for the browser session. Provide either id or name. If - * specified, the matching profile will be loaded into the browser session. - * Profiles must be created beforehand. + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. */ - profile?: Shared.BrowserProfile; + profile?: BrowserPoolUpdateParams.Profile; /** * Optional proxy to associate to the browser session. Must reference a proxy in @@ -615,6 +675,29 @@ export interface BrowserPoolUpdateParams { viewport?: Shared.BrowserViewport; } +export namespace BrowserPoolUpdateParams { + /** + * Profile selection for browsers in a pool. Provide either id or name. The + * matching profile is loaded into every browser in the pool. Profiles must be + * created beforehand. Unlike single browser sessions, pools load the profile + * read-only and never persist changes back to it, so save_changes is omitted here. + * Any save_changes value sent on a pool profile is silently ignored rather than + * rejected, so callers reusing a single-session profile object will not error. + */ + export interface Profile { + /** + * Profile ID to load for browsers in this pool + */ + id?: string; + + /** + * Profile name to load for browsers in this pool (instead of id). Must be 1-255 + * characters, using letters, numbers, dots, underscores, or hyphens. + */ + name?: string; + } +} + export interface BrowserPoolListParams extends OffsetPaginationParams { /** * Search browser pools by name or ID. diff --git a/src/version.ts b/src/version.ts index 5f6b920..a7af286 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.71.0'; // x-release-please-version +export const VERSION = '0.71.1'; // x-release-please-version diff --git a/tests/api-resources/browser-pools.test.ts b/tests/api-resources/browser-pools.test.ts index ff87070..37fda3c 100644 --- a/tests/api-resources/browser-pools.test.ts +++ b/tests/api-resources/browser-pools.test.ts @@ -30,11 +30,7 @@ describe('resource browserPools', () => { headless: false, kiosk_mode: true, name: 'my-pool', - profile: { - id: 'id', - name: 'name', - save_changes: true, - }, + profile: { id: 'id', name: 'name' }, proxy_id: 'proxy_id', start_url: 'https://example.com', stealth: true,