Skip to content

Commit 3b5d801

Browse files
release: 1.6.0 (#160)
* chore(test): do not count install time for mock server timeout * chore(ci): skip uploading artifacts on stainless-internal branches * chore: update placeholder string * feat: [CORE-1804][apps/api] Add fetch API schema * release: 1.6.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 74a25c2 commit 3b5d801

File tree

17 files changed

+499
-25
lines changed

17 files changed

+499
-25
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,18 @@ jobs:
6161
run: rye build
6262

6363
- name: Get GitHub OIDC Token
64-
if: github.repository == 'stainless-sdks/browserbase-python'
64+
if: |-
65+
github.repository == 'stainless-sdks/browserbase-python' &&
66+
!startsWith(github.ref, 'refs/heads/stl/')
6567
id: github-oidc
6668
uses: actions/github-script@v8
6769
with:
6870
script: core.setOutput('github_token', await core.getIDToken());
6971

7072
- name: Upload tarball
71-
if: github.repository == 'stainless-sdks/browserbase-python'
73+
if: |-
74+
github.repository == 'stainless-sdks/browserbase-python' &&
75+
!startsWith(github.ref, 'refs/heads/stl/')
7276
env:
7377
URL: https://pkg.stainless.com/s
7478
AUTH: ${{ steps.github-oidc.outputs.github_token }}

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.5.0"
2+
".": "1.6.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 19
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fbrowserbase-215bc4361122162181eecce83c0dbdda7c45a21801e7addb75102e8011413069.yml
3-
openapi_spec_hash: c4fadc5bb6b84cd3988c8d864b67bf61
4-
config_hash: a106b247c7cdf02ac1033077402cfe2d
1+
configured_endpoints: 20
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/browserbase%2Fbrowserbase-b20f9fea14d79990ab1af3d276f931e026cd955ac623ec6ace80b2af90de170f.yml
3+
openapi_spec_hash: 943ff4b3297014503fdc9854544cb9a4
4+
config_hash: 55c54fdafc9e80be584829b5724b00ab

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,38 @@
11
# Changelog
22

3+
## 1.6.0 (2026-03-11)
4+
5+
Full Changelog: [v1.5.0...v1.6.0](https://github.com/browserbase/sdk-python/compare/v1.5.0...v1.6.0)
6+
7+
### Features
8+
9+
* [CORE-1804][apps/api] Add fetch API schema ([a56673c](https://github.com/browserbase/sdk-python/commit/a56673cf002d95b97d855befa64d46bd55559323))
10+
* **api:** api update ([#39](https://github.com/browserbase/sdk-python/issues/39)) ([8c98d9e](https://github.com/browserbase/sdk-python/commit/8c98d9e9da61daba527262aa1b0a1334da22a596))
11+
* **api:** api update ([#41](https://github.com/browserbase/sdk-python/issues/41)) ([0557ee5](https://github.com/browserbase/sdk-python/commit/0557ee507fc35faa9aabd8d06ce8047bb07843aa))
12+
* **api:** api update ([#44](https://github.com/browserbase/sdk-python/issues/44)) ([718ef11](https://github.com/browserbase/sdk-python/commit/718ef11db8e865347c24b2205b22f906bccb24e7))
13+
* **api:** update via SDK Studio ([#10](https://github.com/browserbase/sdk-python/issues/10)) ([712cb9f](https://github.com/browserbase/sdk-python/commit/712cb9f5d36d3f882e36848413fb96f32558b67c))
14+
* **api:** update via SDK Studio ([#13](https://github.com/browserbase/sdk-python/issues/13)) ([ec90079](https://github.com/browserbase/sdk-python/commit/ec900790bd56f92b174304bb227461a65209cbdb))
15+
* **api:** update via SDK Studio ([#16](https://github.com/browserbase/sdk-python/issues/16)) ([3739129](https://github.com/browserbase/sdk-python/commit/37391297ef3c3d59105c618ba9026ecae551a77b))
16+
* **api:** update via SDK Studio ([#18](https://github.com/browserbase/sdk-python/issues/18)) ([c8ff679](https://github.com/browserbase/sdk-python/commit/c8ff67974dbcf8a99dae87aea6e9b18046bf5acd))
17+
* **api:** update via SDK Studio ([#19](https://github.com/browserbase/sdk-python/issues/19)) ([1556b70](https://github.com/browserbase/sdk-python/commit/1556b7064ad2ec507d74536a1d074e5f464c3d12))
18+
* **api:** update via SDK Studio ([#20](https://github.com/browserbase/sdk-python/issues/20)) ([8876008](https://github.com/browserbase/sdk-python/commit/887600814fca35fbaf4cb4ddd2a0112a51a3f068))
19+
* **api:** update via SDK Studio ([#21](https://github.com/browserbase/sdk-python/issues/21)) ([8f22de1](https://github.com/browserbase/sdk-python/commit/8f22de1da97f9157ef52647f20895cabe5ecfd26))
20+
* **api:** update via SDK Studio ([#27](https://github.com/browserbase/sdk-python/issues/27)) ([b1facb8](https://github.com/browserbase/sdk-python/commit/b1facb8db6d821a2d3c5465dbeb474e0140ed90e))
21+
* **api:** update via SDK Studio ([#28](https://github.com/browserbase/sdk-python/issues/28)) ([0735db2](https://github.com/browserbase/sdk-python/commit/0735db24fb833dbeb5d09f30b8fd18e67d7a2e5d))
22+
* **api:** update via SDK Studio ([#29](https://github.com/browserbase/sdk-python/issues/29)) ([c1e0eb9](https://github.com/browserbase/sdk-python/commit/c1e0eb9d84a8b83b30fce673a4c5e6262ce732b2))
23+
* **api:** update via SDK Studio ([#32](https://github.com/browserbase/sdk-python/issues/32)) ([54a7ed4](https://github.com/browserbase/sdk-python/commit/54a7ed479088a68434961cd92ae225064bf8e8a1))
24+
* **api:** update via SDK Studio ([#35](https://github.com/browserbase/sdk-python/issues/35)) ([cdc05f9](https://github.com/browserbase/sdk-python/commit/cdc05f947c676bd56bed22e77fcfd48c313f3596))
25+
* **api:** update via SDK Studio ([#7](https://github.com/browserbase/sdk-python/issues/7)) ([90f80c7](https://github.com/browserbase/sdk-python/commit/90f80c7d8a44b155cac6dc9ed73ac55dbbb9596d))
26+
* various codegen changes ([a70c78e](https://github.com/browserbase/sdk-python/commit/a70c78ecf5c0f4763c9222a332c164249c1060bc))
27+
28+
29+
### Chores
30+
31+
* **ci:** skip uploading artifacts on stainless-internal branches ([99d0409](https://github.com/browserbase/sdk-python/commit/99d0409a98d14dc19359b80a966c30e2aa5d99f0))
32+
* **test:** do not count install time for mock server timeout ([b19e21b](https://github.com/browserbase/sdk-python/commit/b19e21bf4d411face9fd8f252f35bac1981370ef))
33+
* update placeholder string ([8ff9f32](https://github.com/browserbase/sdk-python/commit/8ff9f32b3d608ea9a2a4e6bd9120c029bd05f6d4))
34+
* update SDK settings ([#1](https://github.com/browserbase/sdk-python/issues/1)) ([dc1e229](https://github.com/browserbase/sdk-python/commit/dc1e229189470b0f3df3c5a2e7da4e789fc76279))
35+
336
## 1.5.0-alpha.2 (2026-03-03)
437

538
Full Changelog: [v1.5.0-alpha.1...v1.5.0-alpha.2](https://github.com/browserbase/sdk-python/compare/v1.5.0-alpha.1...v1.5.0-alpha.2)

api.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,18 @@ Methods:
2727
- <code title="get /v1/extensions/{id}">client.extensions.<a href="./src/browserbase/resources/extensions.py">retrieve</a>(id) -> <a href="./src/browserbase/types/extension.py">Extension</a></code>
2828
- <code title="delete /v1/extensions/{id}">client.extensions.<a href="./src/browserbase/resources/extensions.py">delete</a>(id) -> None</code>
2929

30+
# FetchAPI
31+
32+
Types:
33+
34+
```python
35+
from browserbase.types import FetchAPICreateResponse
36+
```
37+
38+
Methods:
39+
40+
- <code title="post /v1/fetch">client.fetch_api.<a href="./src/browserbase/resources/fetch_api.py">create</a>(\*\*<a href="src/browserbase/types/fetch_api_create_params.py">params</a>) -> <a href="./src/browserbase/types/fetch_api_create_response.py">FetchAPICreateResponse</a></code>
41+
3042
# Projects
3143

3244
Types:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "browserbase"
3-
version = "1.5.0"
3+
version = "1.6.0"
44
description = "The official Python library for the Browserbase API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

scripts/mock

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,22 @@ echo "==> Starting mock server with URL ${URL}"
2121

2222
# Run prism mock on the given spec
2323
if [ "$1" == "--daemon" ]; then
24+
# Pre-install the package so the download doesn't eat into the startup timeout
25+
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism --version
26+
2427
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log &
2528

26-
# Wait for server to come online
29+
# Wait for server to come online (max 30s)
2730
echo -n "Waiting for server"
31+
attempts=0
2832
while ! grep -q "✖ fatal\|Prism is listening" ".prism.log" ; do
33+
attempts=$((attempts + 1))
34+
if [ "$attempts" -ge 300 ]; then
35+
echo
36+
echo "Timed out waiting for Prism server to start"
37+
cat .prism.log
38+
exit 1
39+
fi
2940
echo -n "."
3041
sleep 0.1
3142
done

src/browserbase/_client.py

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@
3131
)
3232

3333
if TYPE_CHECKING:
34-
from .resources import contexts, projects, sessions, extensions
34+
from .resources import contexts, projects, sessions, fetch_api, extensions
3535
from .resources.contexts import ContextsResource, AsyncContextsResource
3636
from .resources.projects import ProjectsResource, AsyncProjectsResource
37+
from .resources.fetch_api import FetchAPIResource, AsyncFetchAPIResource
3738
from .resources.extensions import ExtensionsResource, AsyncExtensionsResource
3839
from .resources.sessions.sessions import SessionsResource, AsyncSessionsResource
3940

@@ -116,6 +117,12 @@ def extensions(self) -> ExtensionsResource:
116117

117118
return ExtensionsResource(self)
118119

120+
@cached_property
121+
def fetch_api(self) -> FetchAPIResource:
122+
from .resources.fetch_api import FetchAPIResource
123+
124+
return FetchAPIResource(self)
125+
119126
@cached_property
120127
def projects(self) -> ProjectsResource:
121128
from .resources.projects import ProjectsResource
@@ -308,6 +315,12 @@ def extensions(self) -> AsyncExtensionsResource:
308315

309316
return AsyncExtensionsResource(self)
310317

318+
@cached_property
319+
def fetch_api(self) -> AsyncFetchAPIResource:
320+
from .resources.fetch_api import AsyncFetchAPIResource
321+
322+
return AsyncFetchAPIResource(self)
323+
311324
@cached_property
312325
def projects(self) -> AsyncProjectsResource:
313326
from .resources.projects import AsyncProjectsResource
@@ -451,6 +464,12 @@ def extensions(self) -> extensions.ExtensionsResourceWithRawResponse:
451464

452465
return ExtensionsResourceWithRawResponse(self._client.extensions)
453466

467+
@cached_property
468+
def fetch_api(self) -> fetch_api.FetchAPIResourceWithRawResponse:
469+
from .resources.fetch_api import FetchAPIResourceWithRawResponse
470+
471+
return FetchAPIResourceWithRawResponse(self._client.fetch_api)
472+
454473
@cached_property
455474
def projects(self) -> projects.ProjectsResourceWithRawResponse:
456475
from .resources.projects import ProjectsResourceWithRawResponse
@@ -482,6 +501,12 @@ def extensions(self) -> extensions.AsyncExtensionsResourceWithRawResponse:
482501

483502
return AsyncExtensionsResourceWithRawResponse(self._client.extensions)
484503

504+
@cached_property
505+
def fetch_api(self) -> fetch_api.AsyncFetchAPIResourceWithRawResponse:
506+
from .resources.fetch_api import AsyncFetchAPIResourceWithRawResponse
507+
508+
return AsyncFetchAPIResourceWithRawResponse(self._client.fetch_api)
509+
485510
@cached_property
486511
def projects(self) -> projects.AsyncProjectsResourceWithRawResponse:
487512
from .resources.projects import AsyncProjectsResourceWithRawResponse
@@ -513,6 +538,12 @@ def extensions(self) -> extensions.ExtensionsResourceWithStreamingResponse:
513538

514539
return ExtensionsResourceWithStreamingResponse(self._client.extensions)
515540

541+
@cached_property
542+
def fetch_api(self) -> fetch_api.FetchAPIResourceWithStreamingResponse:
543+
from .resources.fetch_api import FetchAPIResourceWithStreamingResponse
544+
545+
return FetchAPIResourceWithStreamingResponse(self._client.fetch_api)
546+
516547
@cached_property
517548
def projects(self) -> projects.ProjectsResourceWithStreamingResponse:
518549
from .resources.projects import ProjectsResourceWithStreamingResponse
@@ -544,6 +575,12 @@ def extensions(self) -> extensions.AsyncExtensionsResourceWithStreamingResponse:
544575

545576
return AsyncExtensionsResourceWithStreamingResponse(self._client.extensions)
546577

578+
@cached_property
579+
def fetch_api(self) -> fetch_api.AsyncFetchAPIResourceWithStreamingResponse:
580+
from .resources.fetch_api import AsyncFetchAPIResourceWithStreamingResponse
581+
582+
return AsyncFetchAPIResourceWithStreamingResponse(self._client.fetch_api)
583+
547584
@cached_property
548585
def projects(self) -> projects.AsyncProjectsResourceWithStreamingResponse:
549586
from .resources.projects import AsyncProjectsResourceWithStreamingResponse

src/browserbase/_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__ = "browserbase"
4-
__version__ = "1.5.0" # x-release-please-version
4+
__version__ = "1.6.0" # x-release-please-version

src/browserbase/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
SessionsResourceWithStreamingResponse,
2525
AsyncSessionsResourceWithStreamingResponse,
2626
)
27+
from .fetch_api import (
28+
FetchAPIResource,
29+
AsyncFetchAPIResource,
30+
FetchAPIResourceWithRawResponse,
31+
AsyncFetchAPIResourceWithRawResponse,
32+
FetchAPIResourceWithStreamingResponse,
33+
AsyncFetchAPIResourceWithStreamingResponse,
34+
)
2735
from .extensions import (
2836
ExtensionsResource,
2937
AsyncExtensionsResource,
@@ -46,6 +54,12 @@
4654
"AsyncExtensionsResourceWithRawResponse",
4755
"ExtensionsResourceWithStreamingResponse",
4856
"AsyncExtensionsResourceWithStreamingResponse",
57+
"FetchAPIResource",
58+
"AsyncFetchAPIResource",
59+
"FetchAPIResourceWithRawResponse",
60+
"AsyncFetchAPIResourceWithRawResponse",
61+
"FetchAPIResourceWithStreamingResponse",
62+
"AsyncFetchAPIResourceWithStreamingResponse",
4963
"ProjectsResource",
5064
"AsyncProjectsResource",
5165
"ProjectsResourceWithRawResponse",

0 commit comments

Comments
 (0)