Skip to content

Releases: platonai/Browser4

🚀 Browser4 4.8.0

01 May 14:59

Choose a tag to compare

🚀 Browser4 v4.8.0 Release Notes

Release Date: 2026-05-01 14:59:35 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 127MB
📝 Commits 2
👥 Contributors 1
🏗️ Build Date 2026-05-01 14:59:35 UTC

🔄 Changes Since Last Release

  • fix: improve reliability of click and keyboard events by using DOM event simulation (69ace2cea)
  • refactor: replace delay with delay in milliseconds for better precision (8513465d4)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/Browser4/releases/download/v4.8.0/Browser4.jar

🚀 Run

echo $OPENROUTER_API_KEY # make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
java -D"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure OPENROUTER_API_KEY or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: Windows PowerShell syntax: $env:OPENROUTER_API_KEY (environment variable) vs $OPENROUTER_API_KEY (script variable).

CLI & SKILLS

Browser4 CLI is a powerful command-line interface for direct browser control and automation, designed for both human
users and AI agents. It provides a simple syntax to perform complex browser interactions without writing code.

Browser4 CLI is compatible with Playwright and supports a wide range of commands for navigation, interaction, and data extraction.
It can be used in scripts, terminal sessions, or integrated into AI agents through SKILLS.

# install the latest Unix CLI (+ Browser4.jar fallback runtime)
curl -fsSL https://raw.githubusercontent.com/platonai/Browser4/master/sdks/browser4-cli/install.sh | bash

# Windows: keep a Browser4 checkout for localhost Maven auto-start; Browser4.jar remains the fallback runtime
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.browser4\lib" | Out-Null
Invoke-WebRequest 'https://github.com/platonai/Browser4/releases/latest/download/Browser4.jar' -OutFile "$env:USERPROFILE\.browser4\lib\Browser4.jar"
git clone https://github.com/platonai/Browser4.git
cd Browser4\sdks\browser4-cli
cargo install --path . --locked

# Open a new browser window
browser4-cli open

# Navigate to a page
browser4-cli goto https://playwright.dev

# Inspect the page — note the eN labels on interactive nodes
browser4-cli snapshot

# Interact using refs from the snapshot
browser4-cli click e15
browser4-cli type e15 "Hello World"
browser4-cli press e15 Enter
browser4-cli keydown Shift
browser4-cli mousemove 150 300
browser4-cli mousewheel 0 100
browser4-cli keyup Shift

# Take a screenshot and save it to disk
browser4-cli screenshot

# Use a custom server URL
browser4-cli open --server http://localhost:9090

# Execute multiple commands in one process
browser4-cli batch "open https://playwright.dev" "snapshot"

# Stop on the first batch failure
browser4-cli batch --bail "open https://playwright.dev" "click e1" "screenshot"

# Pipe batch commands as JSON via stdin
echo '[
  ["open", "https://playwright.dev"],
  ["snapshot"],
  ["click", "e1"],
  ["screenshot", "--filename=result.png"]
]' | browser4-cli batch --json

# Close the session when done
browser4-cli close

📄 Full Changelog

v4.8.0-ci.10...v4.8.0


Built with ❤️ by the Browser4 team

What's Changed

  • Fix browser4-cli Maven startup in fresh clone: two-phase build before spring-boot:run by @Copilot in #407

Full Changelog: v4.7.0...v4.8.0

🚀 Browser4 4.7.0

19 Apr 21:25

Choose a tag to compare

🚀 Browser4 v4.7.0 Release Notes

Release Date: 2026-04-19 21:25:34 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 125MB
📝 Commits 7
👥 Contributors 1
🏗️ Build Date 2026-04-19 21:25:34 UTC

🔄 Changes Since Last Release

  • feat: comment out unused end-to-end test scenarios in e2e.rs (b063af6d5)
  • feat: update pulsar.base.version to 4.7.1 in pom.xml (508cbbde9)
  • feat: add pulsar-skeleton dependency to pom.xml (7b462797e)
  • feat: update README files with enhanced CLI usage examples and improved structure (d264e3d0f)
  • feat: remove unused pulsar-skeleton dependency from test scope in pom.xml (ed0108a25)
  • Merge branch '4.7.x' (c354ef613)
  • docs: update proxy configuration section in README for clarity and detail (96dc1eaa8)

🚀 Quick Start

CLI & SKILLS

# Open a new browser window
browser4-cli open

# Navigate to a page
browser4-cli goto https://playwright.dev

# Inspect the page — note the eN labels on interactive nodes
browser4-cli snapshot

# Interact using refs from the snapshot
browser4-cli click e15
browser4-cli type e15 "Hello World"
browser4-cli press e15 Enter
browser4-cli keydown Shift
browser4-cli mousemove 150 300
browser4-cli mousewheel 0 100
browser4-cli keyup Shift

# Take a screenshot and save it to disk
browser4-cli screenshot

# Use a custom server URL
browser4-cli open --server http://localhost:9090

# Execute multiple commands in one process
browser4-cli batch "open https://playwright.dev" "snapshot"

# Stop on the first batch failure
browser4-cli batch --bail "open https://playwright.dev" "click e1" "screenshot"

# Pipe batch commands as JSON via stdin
echo '[
  ["open", "https://playwright.dev"],
  ["snapshot"],
  ["click", "e1"],
  ["screenshot", "--filename=result.png"]
]' | browser4-cli batch --json

# Close the session when done
browser4-cli close

🎥 Demo Videos

🎬 YouTube:
Watch the video

📺 Bilibili:
https://www.bilibili.com/video/BV1fXUzBFE4L


📄 Full Changelog

v4.7.0-ci.7...v4.7.0


Built with ❤️ by the Browser4 team

What's Changed

  • Move CommandService from pulsar-rest to pulsar-tools by @Copilot in #397
  • feat: CommandToolExecutor + route CLI command execution through MCPToolController by @Copilot in #398
  • Remove pulsar-agentic dependency from pulsar-tools by @Copilot in #399
  • Add comprehensive batch execution test suite by @Copilot in #400
  • fix: ensure Chrome cleanup on server restart and test panic to prevent stale CDP contexts by @Copilot in #401
  • Fix bugs and cleanup in Runtimes#destroyProcess by @Copilot in #402

Full Changelog: v4.6.0...v4.7.0

🚀 Browser4 4.6.0

06 Apr 08:44

Choose a tag to compare

🚀 Browser4 v4.6.0 Release Notes

Release Date: 2026-04-06 08:20:12 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 328MB
📝 Commits 1
👥 Contributors 1
🏗️ Build Date 2026-04-06 08:20:12 UTC

🔄 Changes Since Last Release

  • refactor: reorganize Rust toolchain setup and caching in CI configurations (1d8d8a83c)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/Browser4/releases/download/v4.6.0/Browser4.jar

🚀 Run

echo $OPENROUTER_API_KEY # make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
java -D"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure OPENROUTER_API_KEY or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: Windows PowerShell syntax: $env:OPENROUTER_API_KEY (environment variable) vs $OPENROUTER_API_KEY (script variable).

🐳 Docker

# make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
echo $OPENROUTER_API_KEY
docker run -d -p 8182:8182 -e OPENROUTER_API_KEY=${OPENROUTER_API_KEY} galaxyeye88/browser4:4.6.0

GitHub Container Registry:

docker pull ghcr.io/platonai/browser4:4.6.0

📄 Full Changelog

v4.6.0-ci.4...v4.6.0


Built with ❤️ by the Browser4 team

What's Changed

  • Add browser4-sdk-rust with full API parity to Kotlin SDK by @Copilot in #340
  • Add NodeJS SDK with aligned interfaces and comprehensive tests by @Copilot in #341
  • Optimize release workflow: DRY, security scanning, parallel builds, retry logic by @Copilot in #342
  • fix(ci): Align release.yml test configuration with bin/test.sh by @Copilot in #343
  • Implement release automation for browser4-sdk-python by @Copilot in #344
  • Fix factual errors in Python SDK documentation by @Copilot in #346
  • Add npm publishing infrastructure for Node.js SDK by @Copilot in #345
  • Eliminate workflow test overlaps - make tests complementary by @Copilot in #347
  • Add Browser4 MCP Server with E2E protocol tests by @Copilot in #354
  • [WIP] Optimize MCP Server tool exposure consistency by @Copilot in #355
  • feat(cli): Add browser4-cli command-line tool for agent-driven browser control by @Copilot in #356
  • Implement all browser4-cli SKILL.md commands with backend endpoints by @Copilot in #357
  • Fix CommandService: async correctness, blank-input validation, and executor lifecycle by @Copilot in #358
  • Replace Java ExecutorService/Executors with Kotlin Coroutines idioms by @Copilot in #359
  • Fix structured concurrency violations: eliminate ad-hoc CoroutineScope creation by @Copilot in #360
  • Replace manual while+delay polling with withTimeoutOrNull in WebDriver wait methods by @Copilot in #361
  • Implement browser4-cli MCP integration: route all CLI commands through MCP Server tools by @Copilot in #363
  • Optimize Browser4MCPServer: discover and register tools via AgentToolManager by @Copilot in #364
  • Simplify Browser4MCPServer: use AgentToolManager exclusively for tool registration by @Copilot in #365
  • docs: Optimize KDoc for WebDriver interface by @Copilot in #366
  • Fix bugs and clean up coworker.ps1/sh scripts by @Copilot in #368
  • Comprehensive E2E tests for MCPToolController covering all cli.ts commands by @Copilot in #369
  • Implement browser4-cli command dispatch for all Playwright-compatible CLI commands by @Copilot in #370
  • feat(sdks): add Rust CLI for browser4-cli by @Copilot in #375
  • Add e2e tests for browser4-cli Rust binary by @Copilot in #376
  • Generate Unix-style CLI help text for BrowserTabToolExecutor agent tools by @Copilot in #378
  • Add agent and collective CLI commands for browser4-cli by @Copilot in #381
  • feat: document-driven skill installation for agents by @Copilot in #382
  • Add E2E test for skill searching and installation by @Copilot in #383
  • Optimize SkillInstallE2ETest: deterministic self-improving-agent installation by @Copilot in #384
  • Remove selectHyperlinks/selectAnchors/selectImages from MCP tool surface by @Copilot in #386
  • Optimize token usage and refine no-op detection by scoping to browser-interaction actions by @Copilot in #385
  • Refine e2e.rs: dynamic command coverage derived from commands.rs by @Copilot in #389
  • docs: add SKILLS development guide for new CLI commands by @Copilot in #391
  • feat: run browser4-cli E2E tests against external Docker service by @Copilot in #396

Full Changelog: v4.5.0...v4.6.0

🚀 Browser4 4.5.0

12 Feb 02:02

Choose a tag to compare

🚀 Browser4 v4.5.0 Release Notes

Release Date: 2026-02-12 02:02:38 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 326MB
📝 Commits 1054
👥 Contributors 5
🏗️ Build Date 2026-02-12 02:02:38 UTC

🔄 Changes Since Last Release

  • fix: add attestations permission for artifact attestation in release workflow (5dbc070f2)
  • fix: add customizable report name for test artifacts in action and release workflows (4164f6118)
  • fix: enhance release workflow with concurrency control, improved environment setup, and security scanning (bb214eabc)
  • fix: update version from 4.5.0-rc.1 to 4.5.0 across configuration and documentation files (7c1a6e6f7)
  • fix: simplify tag creation logic in release-tag-add.ps1 (e7f856068)
  • fix: update branch names for documentation link checks (f2fac888b)
  • fix: update import path for TestBase in SelectFunctionTests (2ade6cb8c)
  • Merge branch '4.5.x' (80eabf4f1)
  • Merge remote-tracking branch 'origin/4.5.x' into 4.5.x (7a7fd1331)
  • docs: update SDK section and add support contact information in README files (711bf3bdb)
  • feat(test): Add nodejs-sdk test option to test scripts (c03de75e0)
  • Fix version parsing logic and add validation in release scripts (4491e1e02)
  • Merge remote-tracking branch 'origin/copilot/add-nodejs-sdk-browser4' into 4.5.x (93536dc86)
  • Add implementation summary documentation (a39da8f6e)
  • Fix ES module import consistency in driver.ts (6e82483f0)
  • Add API comparison documentation for NodeJS SDK (844eb730e)
  • Add tests, examples, and finalize NodeJS SDK (798b6b5e8)
  • Add NodeJS SDK structure and core implementation (0a81ea3ff)
  • fix: enhance version parsing in bump-version.ps1 for improved error handling (64f9274b9)
  • Initial plan (17eda1d95)
  • docs: add workflow test status check analysis (6b21a13df)
  • Bump version to v4.6.0 (dfeede938)
  • Bump version to v4.6.0 (2a803f57f)
  • docs: mark test status bug as fixed in daily tasks (2328dc327)
  • fix: reconcile test status based on actual test failures (def0f0e5b)
  • fix: improve test result output and error handling in task scripts (cceeff3f0)
  • refactor: update test scripts to improve directory handling and command execution (49b0ba260)
  • feat: implement process termination for locked Chrome profiles and enhance error logging (3ca645c61)
  • refactor: update ALLOWED_COMMANDS visibility and improve logging for ChromeLauncher exceptions (960916f06)
  • refactor: clean up allowed commands and enhance logging in ChromeLauncher (2fd93f45b)
  • docs: add TODO for using Bashlet or similar library for command parsing and validation (f483ff5b4)
  • feat: implement retry logic for launching Chrome process and enhance error handling (fdd8ce597)
  • feat: implement retry logic for launching Chrome process and enhance error handling (6dca69b24)
  • Merge pull request #339 from platonai/copilot/optimize-agentshell-whitelist (a7d62d515)
  • Simplify isCommandAllowed logic and improve test documentation (a5802a2fd)
  • Fix code review issues: improve sed regex, fix index bounds, standardize tests (0120f39b9)
  • Address code review feedback: restrict ip subcommands and sed -i flag (1d59de21b)
  • Add comprehensive documentation for AgentShell whitelist feature (96fb9a02a)
  • Implement command whitelist for AgentShell with comprehensive tests (bf4ede1a7)
  • chore: add docs-dev/vault to .gitignore (c053d1f40)
  • Initial plan (43ea79d9a)
  • refactor: rename status.refresh to status.emitEvent for clarity (4e5d27077)
  • Merge pull request #337 from platonai/copilot/collect-sse-in-stateful-agent (529c03ec9)
  • Merge pull request #338 from platonai/copilot/optimize-agentic-events-names (b6cc6eb73)
  • Implement Server Side Event collection in StatefulAgentRunner (0a32e24e2)
  • Update event names to domain.eventName format in AgenticEvents (89407355f)
  • Initial plan (5c6f7b90d)
  • Initial plan (ff6513b70)
  • refactor: rename refresh methods to emitEvent for clarity (66cdb13ab)
  • refactor: update status refresh messages in StatefulAgentRunner and StatefulPageVisitor (39b71004d)
  • test: add unit tests for PowerQueryParser functionality (41daed4ff)
  • fix(ci): update Kotlin SDK test commands for improved execution (a5caa40be)
  • refactor(tests): remove deprecated tag from test classes and update build commands (4c4b2510e)
  • fix: use integer thread count instead of decimal multiplier (7c8b8c57d)
  • fix: adaptive-test.sh path resolution following project standards (9e703b4fe)
  • feat: adaptive parallel testing with auto CPU detection (3d7411d9a)
  • Merge remote-tracking branch 'origin/4.5.x' into 4.5.x (f2de6b9e1)
  • feat(chrome): enhance Chrome process logging and output persistence (579bc8294)
  • perf: increase Kotlin SDK test parallelism to 4 threads ([9dd702e](9dd702e582006bd3fba28f6d4416...
Read more

🚀 Browser4 4.4.0

13 Jan 06:21

Choose a tag to compare

🚀 Browser4 v4.4.0 Release Notes

Release Date: 2026-01-13 06:21:40 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 314MB
📝 Commits 2
👥 Contributors 1
🏗️ Build Date 2026-01-13 06:21:40 UTC

🔄 Changes Since Last Release

  • refactor: rename post-release.yml to sync-master-to-main.yml for clarity (f02d7096c)
  • feat: add scripts for syncing main branch with master and installing Google Chrome (a9f1d0480)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/Browser4/releases/download/v4.4.0/Browser4.jar

🚀 Run

echo $OPENROUTER_API_KEY # make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
java -D"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure OPENROUTER_API_KEY or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: Windows PowerShell syntax: $env:OPENROUTER_API_KEY (environment variable) vs $OPENROUTER_API_KEY (script variable).

🐳 Docker

# make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
echo $OPENROUTER_API_KEY
docker run -d -p 8182:8182 -e OPENROUTER_API_KEY=${OPENROUTER_API_KEY} galaxyeye88/browser4:4.4.0

GitHub Container Registry:

docker pull ghcr.io/platonai/browser4:4.4.0

📄 Full Changelog

v4.4.0...v4.4.0


Built with ❤️ by the Browser4 team

What's Changed

  • Optimize ComprehensiveApiIntegrationTest to use real webpages by @Copilot in #174
  • Implement Python SDK with PulsarSession, AgenticSession, and WebDriver APIs by @Copilot in #175
  • Add automated release workflows with PR-based flow and auto-merge to main by @Copilot in #183
  • Add Gradle migration evaluation for branch 4.4.x by @Copilot in #178
  • Fix Maven Central deployment for pulsar-parent and pulsar-dependencies by @Copilot in #186
  • Remove mock implementation branches from OpenAPI controllers by @Copilot in #188
  • Add comprehensive AI-friendly documentation for PageEventHandlers by @Copilot in #184
  • Update openapi.md/openapi.zh.md with accurate implementation status by @Copilot in #189
  • Add LoadOptions JSON serialization/deserialization support by @Copilot in #185
  • Skip pulsar-tests by default, enable with -DrunPulsarTests=true by @Copilot in #190
  • Add Kotlin SDK based on OpenAPI specification by @Copilot in #191
  • Optimize command.html with structured result display UI by @Copilot in #192
  • Optimize command.html UI for data collection responses by @Copilot in #193
  • Add Windows executable build support for browser4-agents by @Copilot in #194
  • Optimize bin/README.md by @Copilot in #195
  • Add observability assessment report by @Copilot in #196
  • [WIP] Add detailed comments and documentation for code files by @Copilot in #197
  • Add comprehensive AI-friendly documentation for PulsarSettings by @Copilot in #198
  • Add AI-friendly documentation to manual example files by @Copilot in #199
  • feat(agentic): Expand AgentFileSystem with comprehensive file operations by @Copilot in #200
  • Add sync master to main branch after release merge by @Copilot in #201
  • Add qodana CI checks by @qodana-cloud[bot] in #203
  • Remove deprecated Jakarta-ORO (Perl5Pattern) dependency by @Copilot in #204
  • feat: Add use-case based E2E test runner (run-e2e-test-v2.sh) by @Copilot in #205
  • Add AI-friendly Command API documentation by @Copilot in #206
  • Add WebDriver-compatible HTTP API with OpenAPI spec, comprehensive real browser integration, and complete test coverage by @Copilot in #158

New Contributors

  • @qodana-cloud[bot] made their first contribution in #203

Full Changelog: v4.3.0...v4.4.0

🚀 Browser4 4.3.0

09 Jan 17:29

Choose a tag to compare

🚀 Browser4 v4.3.0 Release Notes

Release Date: 2026-01-09 17:29:44 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 323MB
📝 Commits 124
👥 Contributors 4
🏗️ Build Date 2026-01-09 17:29:44 UTC

🔄 Changes Since Last Release

  • Merge branch '4.3.x' (0d9eabd50)
  • Fix ci-tags-rm.sh stdin redirection bug (3d70378cc)
  • fix: update completion check to support "done" flag for improved compatibility (af86bee1d)
  • Merge pull request #179 from platonai/copilot/optimize-agent-command-status (a8d783c12)
  • fix: enhance completion check to support both isDone and done flags (3bb03d61d)
  • Add agentHistory to CommandStatus for real-time agent state tracking (0a8057aac)
  • Initial plan (7ebd8162a)
  • fix: update CommandResult to use summary instead of pageSummary for clarity (0e6b278be)
  • Merge pull request #176 from platonai/copilot/optimize-command-submit-logic (5afe6521b)
  • Ensure failed status is cached for blank commands (53bec6fe5)
  • Fix code duplication in executeAgentCommand methods (dc84668d1)
  • Add tests for executePlainCommandSync and submitPlainCommandAsync (5a4eda1cc)
  • Implement CommandService.executePlainCommandSync and submitPlainCommandAsync with agent.run fallback (c8417646b)
  • Initial plan (98493763b)
  • refactor: update JsonProperty annotations to use @param for improved clarity (04882e408)
  • feat: add ci-tags-rm.sh script for interactive CI tag removal with local-only option (609e850b8)
  • fix: fix RestTestClient initialization with dynamic base URI (49f43c348)
  • fix: update compareTo method to use PageSnapshot for improved type safety (250c5f952)
  • refactor: introduce PageSnapshot interface and extend WebPage for improved structure (d5c255b23)
  • Add Jackson annotations for Kotlin data class deserialization (6119082b9)
  • refactor: replace deprecated expectBody usage and improve test readability (ae0cd340c)
  • refactor: remove unused EntityScan annotation from EnablePulsarRestApplication (be0392d20)
  • refactor: enhance documentation for StringFunctions with detailed null-safe operations (763d534b9)
  • refactor: improve code readability and consistency in various files (79ff117eb)
  • refactor: rename artifactId from 'platon' to 'pulsar-parent' in pom.xml (6b3157dcf)
  • refactor: update test tags for clarity and consistency (f214a8340)
  • refactor: add MustManualRun tag to relevant test methods in TestManual.kt (ea647f09e)
  • refactor: add pulsar-parent module to the list of active modules in pom.xml (b01b48013)
  • refactor: add OptionalTest tag to Playwright test classes and update pom.xml exclusions (46f52608a)
  • refactor: comment out unused distributionManagement entries in pom.xml (54bdea93c)
  • refactor: clean up pom.xml by removing commented-out distributionManagement and profiles (5f41a34dc)
  • refactor: replace RandomStringUtils.random* with RandomStringUtils.secure().next* for enhanced randomness (4ae516135)
  • refactor: replace TestRestTemplate with RestTestClient in remaining test files (6067e994e)
  • refactor: replace TestRestTemplate with RestTestClient in EcommerceControllerTest (cf37edd70)
  • chore: update kotlin version to 2.2.21 in pom.xml and configure kotlin-maven-plugin (6b8710cfb)
  • refactor: remove unused jmh-core dependency from pom.xml (6fb434254)
  • chore: update spring-boot and kotlin versions in pom.xml (1afd1624d)
  • refactor: reorganize dependencies in pom.xml and update version numbers (193d06336)
  • chore: update version numbers to 4.3.0-SNAPSHOT in pom.xml (7a5ec9c4a)
  • feat: add kotlin-maven-plugin configuration for compilation in pom.xml (9a1a0c98d)
  • refactor: clean up pom.xml by removing unused profiles and updating plugin versions (ce7703257)
  • refactor: improve command execution handling and clean up process management in ChromeLauncher and Runtimes (345b5be82)
  • fix: improve process termination handling in ChromeLauncher and Runtimes (7300dc1e9)
  • feat: add new modules to pom.xml for pulsar-parent and pulsar-dependencies (7d44ef865)
  • refactor: remove commented-out plugin configurations from pom.xml (8a4a29a40)
  • refactor: clean up pom.xml by removing unused dependencies and updating Java version properties (5450e7ba4)
  • feat: update pom.xml to remove unused Java version properties and add new Ktor client dependencies (b22758fb6)
  • fix: Update Java version for modules with newer features (2b141d652)
  • feat: update dependencies in pom.xml (2ae9de20b)
  • feat: update dependencies in pom.xml (abb805ff4)
  • feat: update dependencies in pom.xml and remove unused versions (6404c6f07)
  • feat: update dependencies in pom.xml and remove unused versions (8ec80bf86)
  • feat: update langchain4j dependencies and clean up pom.xml (4d58c4e7a)
  • feat: remove unused Hibernate dependency and add pulsar-dependencies module in pom.xml (b7c444c27)
  • feat: update file references and add Kotlin dependencies in pom.xml (53e3988a9)
  • feat: update file references and add Kotlin dependencies in pom.xml (400721988)
  • feat: add logging ...
Read more

🚀 Browser4 4.2.0

01 Jan 07:06

Choose a tag to compare

🚀 Browser4 v4.2.0 Release Notes

Release Date: 2026-01-01 07:06:14 UTC
Java Version: 21+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 321MB
📝 Commits 5
👥 Contributors 1
🏗️ Build Date 2026-01-01 07:06:14 UTC

🔄 Changes Since Last Release

  • fix: update release.yml to comment out Maven cache removal (f3c951651)
  • fix: preserve Maven cache for 'ai' directory during cleanup (f5eeb008c)
  • Merge remote-tracking branch 'origin/master' (66f81e2f4)
  • feat: add support for OpenRouter API in configuration and model selection (9004f97f2)
  • fix: update MongoDB service configuration in CI workflows (12a8ac9c0)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/Browser4/releases/download/v4.2.0/Browser4.jar

🚀 Run

echo $OPENROUTER_API_KEY # make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
java -D"OPENROUTER_API_KEY=${OPENROUTER_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure OPENROUTER_API_KEY or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: Windows PowerShell syntax: $env:OPENROUTER_API_KEY (environment variable) vs $OPENROUTER_API_KEY (script variable).

🐳 Docker

# make sure LLM api key is set. Also supported: OPENROUTER_API_KEY/OPENAI_API_KEY/DASHSCOPE_API_KEY/VOLCENGINE_API_KEY.
echo $OPENROUTER_API_KEY
docker run -d -p 8182:8182 -e OPENROUTER_API_KEY=${OPENROUTER_API_KEY} galaxyeye88/browser4:4.2.0

GitHub Container Registry:

docker pull ghcr.io/platonai/browser4:4.2.0

📄 Full Changelog

v4.2.0-ci.9...v4.2.0


Built with ❤️ by the Browser4 team

What's Changed

  • Add custom agent tools registration system by @Copilot in #163

Full Changelog: v4.1.0...v4.2.0

🚀 Browser4 4.1.0

25 Nov 11:24

Choose a tag to compare

🚀 Browser4 v4.1.0 Release Notes

Release Date: 2025-11-25 11:23:59 UTC
Java Version: 21+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 321MB
📝 Commits 5
👥 Contributors 1
🏗️ Build Date 2025-11-25 11:23:59 UTC

🔄 Changes Since Last Release

  • Merge branch '4.1.x' (990524763)
  • 4.1.0 (2eca934f3)
  • docs: update README to include Machine Learning Agent and clarify extraction methods (bf9cec400)
  • docs: update README to include Machine Learning Agent and clarify extraction methods (79647db2a)
  • 4.1.0-rc.4 (17134c031)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/Browser4/releases/download/v4.1.0/Browser4.jar

🚀 Run

echo $DEEPSEEK_API_KEY # make sure LLM api key is set. VOLCENGINE_API_KEY/OPENAI_API_KEY also supported.
java -D"DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure DEEPSEEK_API_KEY or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: Windows PowerShell syntax: $env:DEEPSEEK_API_KEY (environment variable) vs $DEEPSEEK_API_KEY (script variable).

🐳 Docker

# make sure LLM api key is set. VOLCENGINE_API_KEY/OPENAI_API_KEY also supported.
echo $DEEPSEEK_API_KEY
docker run -d -p 8182:8182 -e DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} galaxyeye88/browser4:4.1.0

GitHub Container Registry:

docker pull ghcr.io/platonai/browser4:4.1.0

📄 Full Changelog

v4.1.0-rc.3...v4.1.0


Built with ❤️ by the Browser4 team

What's Changed

  • Add comprehensive tests for all tools in ToolCallExecutorMockSiteTest by @Copilot in #139

New Contributors

  • @Copilot made their first contribution in #139

Full Changelog: v4.0.0...v4.1.0

🚀 Browser4 4.0.1

13 Oct 04:09

Choose a tag to compare

🚀 Browser4 v4.0.1 Release Notes

Release Date: 2025-10-13 04:09:22 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 325MB
📝 Commits 59
👥 Contributors 1
🏗️ Build Date 2025-10-13 04:09:22 UTC

🔄 Changes Since Last Release

  • refactor: update production jar module path in release.yml for consistency (bf7ab28d3)
  • refactor: increase search depth for version replacement in update-versions.sh (46831e481)
  • Merge branch '4.0.x' (d450bddb2)
  • refactor: update parent artifact ID in pom.xml for consistency (d260bb5cf)
  • refactor: remove qodana_code_quality.yml (495e1307d)
  • refactor: remove unnecessary runtime scope from pulsar dependencies (edeca07ed)
  • refactor: add relativePath to parent POM entries for consistency (b2b275e44)
  • Merge branch '4.0.x' (7a04f7b87)
  • refactor: enhance curl command testing with timeout handling and reporting (ea554d518)
  • refactor: enhance CI workflows with Docker image build, health checks, and end-to-end testing (8b3b0d5e9)
  • refactor: add Qodana configuration files for code quality analysis and CI integration (db1b622db)
  • refactor: update CI workflows to enhance end-to-end testing and improve test reporting (3d82aecd5)
  • refactor: enhance end-to-end test script with improved logging and success rate validation (143a9b542)
  • refactor: update IPAddressSpace enum for protocol upgrade and backward compatibility (5588800ec)
  • refactor: enhance test configuration and rename integration tests to end-to-end tests (864afe221)
  • refactor: improve logging and error handling in scrape-async.sh (462f4da08)
  • refactor: rename integration test scripts and enhance logging in test outputs (5ee1d243a)
  • 4.0.1 (00e651678)
  • refactor: remove unused pulsar dependencies from pom.xml (055c388ca)
  • refactor: update parent artifactId and relativePath in multiple modules (3b0bccab9)
  • refactor: remove TODO comment regarding ktor support in WebSocket container creation (746c69822)
  • refactor: update Amazon product URL from B0FFTT2J6N to B08PP5MSVB across multiple files (3ad72a967)
  • refactor: rename onDocumentActuallyReady to onDocumentFullyLoaded across event handlers and documentation (0bfb06969)
  • Merge branch 'feat/stagehand-api' into 4.0.x (daf5b8264)
  • refactor: replace chatService with conversationService in controllers and tests (d8531cd25)
  • refactor: update download links to version 4.0.0 in README files and tests (7e837ad25)
  • refactor: update download links to version 4.0.0 in README files and tests (2cd9fefe5)
  • refactor: comment out outdated Kotlin version properties in pom.xml (d47e579bd)
  • refactor: simplify assertions in TestURLUtils by reusing kept variable (66c19aa5b)
  • refactor: replace toLowerCase() with lowercase() for encoding assertions in TestEncodingDetector (c949488de)
  • refactor: extract API key names to a constant in ChatModelFactory (f0425d16b)
  • refactor: specify java.lang.AutoCloseable in PulsarContext interface (0788eba4f)
  • refactor: update Kotlin dependencies and versions in pom.xml (fc3c85efe)
  • refactor: improve comments for clarity in ChromeLauncher and Types classes (a9f2f1557)
  • refactor: remove deprecated all-modules profile from pom.xml (a85c6f0d1)
  • refactor: optimize string building in writeToFile method using StringBuilder (7bb98dfe1)
  • refactor: rename PulsarApplication to Browser4Application and update related configurations (c8817fc8b)
  • refactor: rename files and update pom.xml references (098512994)
  • refactor: remove commented-out Kotlin documentation plugin from pom.xml (f543d1027)
  • refactor: move core modules to new module pulsar-core (ad84f11e4)
  • refactor: update product URL references from B0C1H26C46 to B0FFTT2J6N (6e1bcc6b8)
  • refactor: rename example files and update package declaration to 'ai.platon.pulsar.manual' (d4a1894eb)
  • refactor: remove scoringFilters bean from context configuration (535ae211b)
  • refactor: remove AiControllerTests.kt (8e4ed4b5a)
  • refactor: remove unused resources and improve comments in configuration and test classes (7a8cc6b0f)
  • refactor: remove unused comments and make fields final in MD5Signature and MimeTypeResolver classes (d2df39ea0)
  • refactor: remove TODO comment in u8 method (77c2e1da6)
  • refactor: remove unused properties from DbQuery class (eb7f7ab78)
  • refactor: clean up unused properties and fix typo in failure count variable (6ba514223)
  • refactor: typo (81e0ef201)
  • refactor: remove useless modules (3976df684)
  • refactor: remove useless modules (5135ed60b)
  • refactor: remove module pulsar-python (f926cc95d)
  • refactor: update development plan to remove outdated sections (8862f39dc)
  • refactor: remove useless modules (8b999814b)
  • refactor: comment out Sonatype deployment steps in release.yml (a0fe7923e)
  • refactor: update tips for setting DEEPSEEK_API_KEY in action.yml and create-release-notes.sh ([8dd2f48](8dd2f48fa7e2...
Read more

🚀 Browser4 4.0.0

12 Sep 07:58

Choose a tag to compare

🚀 Browser4 v4.0.0 Release Notes

Release Date: 2025-09-12 07:58:55 UTC
Java Version: 17+
Built by: @galaxyeye


📦 Release Highlights

📊 Release Statistics

Metric Value
📁 JAR Size 325MB
📝 Commits 10
👥 Contributors 2
🏗️ Build Date 2025-09-12 07:58:55 UTC

🔄 Changes Since Last Release

  • refactor: update network name from pulsarrpa_backend to browser4_backend in CI and deployment configurations (0aa5e817f)
  • refactor: update network name from pulsarrpa_backend to browser4_backend in CI and deployment configurations (037283dd1)
  • refactor: rename PulsarRPA to Browser4 in Docker and CI configurations (852022ffa)
  • refactor: update references from PulsarRPA to Browser4 in documentation and code (c6f943669)
  • refactor: update references from PulsarRPA to Browser4 in documentation and code (777f426b7)
  • refactor: rename PulsarRPA to Browser4 and update related paths in configuration files (97ce56599)
  • 4.0.0 (809984dae)
  • refactor: rename PulsarRPA to Browser4 across documentation (e5fc1589a)
  • Update application name from PulsarRPA to Browser4 (129e1f15d)
  • Rename PulsarRPA to Browser4 in README (089f3bf78)

🚀 Quick Start

📥 Download & Run

🧩 Download

curl -L -o Browser4.jar https://github.com/platonai/browser4/releases/download/v4.0.0/Browser4.jar

🚀 Run

echo $DEEPSEEK_API_KEY # make sure LLM api key is set. VOLCENGINE_API_KEY/OPENAI_API_KEY also supported.
java -D"DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}" -jar Browser4.jar

🔍 Tip: Make sure or other LLM API key is set in your environment, or AI features will not be available.

🔍 Tip: On Windows, both and works, but they are different variables.

🐳 Docker

# make sure LLM api key is set. VOLCENGINE_API_KEY/OPENAI_API_KEY also supported.
echo $DEEPSEEK_API_KEY
docker run -d -p 8182:8182 -e DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} galaxyeye88/browser4:4.0.0

GitHub Container Registry:

docker pull ghcr.io/platonai/browser4:4.0.0

📄 Full Changelog

v3.0.15...v4.0.0


Built with ❤️ by the Browser4 team

Full Changelog: v3.0.15...v4.0.0