From 6f29adc513752623a3ea761195005f5a50d46e5b Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 00:02:25 +0000 Subject: [PATCH 1/2] feat: browsers: accept chrome_policy on POST /browsers (KERNEL-1216) --- .stats.yml | 4 ++-- browser.go | 26 ++++++++++++++++++++++++++ browser_test.go | 3 +++ browserpool.go | 5 +++++ invocation.go | 5 +++++ 5 files changed, 41 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index e0a033e..542eaa0 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 112 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-982efd191c23737c9e1cdbcbf9237fa2231b9f74e0a25db2870293bdf9951c21.yml -openapi_spec_hash: eeb27952a4cc939316c24fc0ce2c9e3a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/kernel/kernel-e564e74a7aae1744d4aa070a63c387f456c4719a48747dc6229b58a986255b65.yml +openapi_spec_hash: 62beb1f20708652aaee31bbffb6cfbe9 config_hash: 08d55086449943a8fec212b870061a3f diff --git a/browser.go b/browser.go index 0fd6ffd..0943192 100644 --- a/browser.go +++ b/browser.go @@ -311,6 +311,10 @@ type BrowserNewResponse struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -356,6 +360,7 @@ type BrowserNewResponse struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field @@ -397,6 +402,10 @@ type BrowserGetResponse struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -442,6 +451,7 @@ type BrowserGetResponse struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field @@ -483,6 +493,10 @@ type BrowserUpdateResponse struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -528,6 +542,7 @@ type BrowserUpdateResponse struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field @@ -569,6 +584,10 @@ type BrowserListResponse struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -614,6 +633,7 @@ type BrowserListResponse struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field @@ -690,6 +710,12 @@ type BrowserNewParams struct { // check for inactivity every 5 seconds, so the actual timeout behavior you will // see is +/- 5 seconds around the specified value. TimeoutSeconds param.Opt[int64] `json:"timeout_seconds,omitzero"` + // Custom Chrome enterprise policy overrides applied to this browser session. Keys + // are Chrome enterprise policy names; values must match their expected types. + // Blocked: kernel-managed policies (extensions, proxy, CDP/automation). Ignored + // when reusing an existing persistent session. See + // https://chromeenterprise.google/policies/ + ChromePolicy map[string]any `json:"chrome_policy,omitzero"` // List of browser extensions to load into the session. Provide each by id or name. Extensions []shared.BrowserExtensionParam `json:"extensions,omitzero"` // DEPRECATED: Use timeout_seconds (up to 72 hours) and Profiles instead. diff --git a/browser_test.go b/browser_test.go index b4d0090..d40ba79 100644 --- a/browser_test.go +++ b/browser_test.go @@ -30,6 +30,9 @@ func TestBrowserNewWithOptionalParams(t *testing.T) { option.WithAPIKey("My API Key"), ) _, err := client.Browsers.New(context.TODO(), kernel.BrowserNewParams{ + ChromePolicy: map[string]any{ + "foo": "bar", + }, Extensions: []shared.BrowserExtensionParam{{ ID: kernel.String("id"), Name: kernel.String("name"), diff --git a/browserpool.go b/browserpool.go index cdacc31..7176295 100644 --- a/browserpool.go +++ b/browserpool.go @@ -265,6 +265,10 @@ type BrowserPoolAcquireResponse struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -310,6 +314,7 @@ type BrowserPoolAcquireResponse struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field diff --git a/invocation.go b/invocation.go index ae95443..041752d 100644 --- a/invocation.go +++ b/invocation.go @@ -557,6 +557,10 @@ type InvocationListBrowsersResponseBrowser struct { // Remote URL for live viewing the browser session. Only available for non-headless // browsers. BrowserLiveViewURL string `json:"browser_live_view_url"` + // Custom Chrome enterprise policy overrides that were applied to this browser + // session, if any. Echoed back for verification. Keys are Chrome enterprise policy + // names. + ChromePolicy map[string]any `json:"chrome_policy"` // When the browser session was soft-deleted. Only present for deleted sessions. DeletedAt time.Time `json:"deleted_at" format:"date-time"` // Whether GPU acceleration is enabled for the browser session (only supported for @@ -602,6 +606,7 @@ type InvocationListBrowsersResponseBrowser struct { WebdriverWsURL respjson.Field BaseURL respjson.Field BrowserLiveViewURL respjson.Field + ChromePolicy respjson.Field DeletedAt respjson.Field GPU respjson.Field KioskMode respjson.Field From 7fb716316aacea8af494db20dc5e2d530944ba38 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 00:02:53 +0000 Subject: [PATCH 2/2] release: 0.57.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 8 ++++++++ README.md | 2 +- internal/version.go | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 87d3d84..2afb750 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.56.0" + ".": "0.57.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 849f750..20e49b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.57.0 (2026-05-19) + +Full Changelog: [v0.56.0...v0.57.0](https://github.com/kernel/kernel-go-sdk/compare/v0.56.0...v0.57.0) + +### Features + +* browsers: accept chrome_policy on POST /browsers (KERNEL-1216) ([6f29adc](https://github.com/kernel/kernel-go-sdk/commit/6f29adc513752623a3ea761195005f5a50d46e5b)) + ## 0.56.0 (2026-05-18) Full Changelog: [v0.55.0...v0.56.0](https://github.com/kernel/kernel-go-sdk/compare/v0.55.0...v0.56.0) diff --git a/README.md b/README.md index 140e875..c26afe8 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Or to pin the version: ```sh -go get -u 'github.com/kernel/kernel-go-sdk@v0.56.0' +go get -u 'github.com/kernel/kernel-go-sdk@v0.57.0' ``` diff --git a/internal/version.go b/internal/version.go index c3078a6..dca821f 100644 --- a/internal/version.go +++ b/internal/version.go @@ -2,4 +2,4 @@ package internal -const PackageVersion = "0.56.0" // x-release-please-version +const PackageVersion = "0.57.0" // x-release-please-version