Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.71.0"
".": "0.71.1"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -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
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
111 changes: 97 additions & 14 deletions src/resources/browser-pools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '0.71.0'; // x-release-please-version
export const VERSION = '0.71.1'; // x-release-please-version
6 changes: 1 addition & 5 deletions tests/api-resources/browser-pools.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Loading