Releases: platonai/Browser4
🚀 Browser4 4.8.0
🚀 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_KEYor 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
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
🚀 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
📺 Bilibili:
https://www.bilibili.com/video/BV1fXUzBFE4L
📄 Full Changelog
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
🚀 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_KEYor 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.0GitHub Container Registry:
docker pull ghcr.io/platonai/browser4:4.6.0📄 Full Changelog
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-clicommand-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
🚀 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...
🚀 Browser4 4.4.0
🚀 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_KEYor 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.0GitHub Container Registry:
docker pull ghcr.io/platonai/browser4:4.4.0📄 Full Changelog
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
🚀 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 ...
🚀 Browser4 4.2.0
🚀 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_KEYor 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.0GitHub Container Registry:
docker pull ghcr.io/platonai/browser4:4.2.0📄 Full Changelog
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
🚀 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_KEYor 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.0GitHub Container Registry:
docker pull ghcr.io/platonai/browser4:4.1.0📄 Full Changelog
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
🚀 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...
🚀 Browser4 4.0.0
🚀 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.0GitHub Container Registry:
docker pull ghcr.io/platonai/browser4:4.0.0📄 Full Changelog
Built with ❤️ by the Browser4 team
Full Changelog: v3.0.15...v4.0.0
