Skip to content

Conversation

@stainless-app
Copy link
Contributor

@stainless-app stainless-app bot commented Oct 7, 2025

Automated Release PR

0.14.0 (2025-10-07)

Full Changelog: v0.13.0...v0.14.0

Features


This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions


TL;DR

This release introduces a new API for managing browser extensions, allowing them to be uploaded, managed, and attached to browser sessions at creation.

Why we made these changes

This feature enables users to programmatically control the extensions loaded into a browser. This is critical for scenarios like testing browser extensions, web scraping with specific extension-based tools, or creating customized browsing environments for automation tasks.

What changed?

  • New Extensions API:
    • Added a new client.extensions resource with methods to list, delete, download, upload, and download_from_chrome_store.
    • Introduced corresponding request and response types (e.g., ExtensionUploadParams, ExtensionListResponse).
  • Browser Integration:
    • Added client.browsers.upload_extensions to upload extensions directly to a specific browser instance.
    • Updated BrowserCreateParams to allow specifying a list of extensions to install when a new browser is created.
  • Documentation & Versioning:
    • Updated api.md to document the new extensions API.
    • Bumped the package version to 0.14.0 in pyproject.toml, CHANGELOG.md, and other metadata files.

Validation

  • Added a new test suite in tests/api_resources/test_extensions.py to cover the lifecycle of extensions (upload, list, delete).
  • Updated tests in tests/api_resources/test_browsers.py to verify that extensions can be correctly attached to new browser sessions.

Description generated by Mesa. Update settings

@stainless-app
Copy link
Contributor Author

stainless-app bot commented Oct 7, 2025

🧪 Testing

To try out this version of the SDK, run:

pip install 'https://pkg.stainless.com/s/kernel-python/a33e861b32017103a21d2f453f540e2f43ab757b/kernel-0.13.0-py3-none-any.whl'

Expires: Thu, 06 Nov 2025 13:52:34 GMT

Copy link

@mesa-dot-dev mesa-dot-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Performed full review of 6fa28e3...c1c500c

Analysis

While this PR adds comprehensive browser extension functionality to the Kernel Python SDK following established patterns, potential architectural issues include:

  1. Potential complexity in handling OS-specific packaging for Chrome Web Store extensions that may introduce platform-specific bugs
  2. Possible performance concerns with multipart uploads of large extension ZIP files
  3. Risk of tight coupling between the new Extensions API and the existing browsers API, which could complicate future changes
  4. Security considerations around extension validation and sandboxing may be incomplete

Tip

⚡ Quick Actions

This review was generated by Mesa.

Actions:

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

19 files reviewed | 0 comments | Review on Mesa | Edit Reviewer Settings

@stainless-app stainless-app bot force-pushed the release-please--branches--main--changes--next branch from c1c500c to 6173f47 Compare October 7, 2025 13:52
@stainless-app stainless-app bot merged commit 1616d9f into main Oct 7, 2025
7 checks passed
@stainless-app
Copy link
Contributor Author

stainless-app bot commented Oct 7, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants