Skip to content

πŸš€ Browser4 4.16.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 09:26
· 16 commits to main since this release

πŸš€ Browser4 v4.16.0 Release Notes

Release Date: 2026-11-02 09:04:58 UTC
Built by: @galaxyeye

β˜• Java requirement β€” depends on how you install

Install mode Java needed?
Self-contained bundle β€” browser4-cli install None β€” the bundle ships its own jlink-built JRE
browser4-cli binaries / npm install -g browser4-cli None β€” native binary
Standalone Browser4.jar (java -jar) Java 25+
WebMiner (browser4-cli webminer) JDK 17+ β€” auto-detected (the bundle's JRE also satisfies it)
Build from source JDK 25+ to compile; JDK 25 enables the JVM AOT cache (JEP 483/515)

chore(release): 4.16.0

πŸ“¦ Release Highlights

πŸ“Š Release Statistics

Metric Value
πŸ“ JAR Size 106MB
πŸ“ Commits 52
πŸ‘₯ Contributors 1
πŸ—οΈ Build Date 2026-11-02 09:04:58 UTC

πŸ”„ Changes Since Last Release

  • chore(release): 4.16.0 (8baa090348)
  • fix(browser): route a selector-targeted wheel through a pointer glide (eba2cd1593)
  • feat(browser): add a stealth master switch and let ego lite own its stealth (5a86322a10)
  • chore(deps): bump browser4-base to 4.11.30 (d1834e3be8)
  • feat(browser): support ego lite as an attach target and a managed channel (aa311c3754)
  • chore(deps): bump browser4-base to 4.11.29 (1223d28bd6)
  • fix(cli): upgrade zip to 9.2.0 for the runtime-bundle extractor (267cefb2b8)
  • test(cli): align e2e assertions with the no-session messages (c6285be6e9)
  • docs(cli): point attach at the live transports and note reaped backends (ee40ae6592)
  • fix(agentic): advertise the fill contract the executor implements (7058a3095b)
  • fix(coding): seed the agent's backend into coding.shell and stop pipe hangs (8a804880ef)
  • fix(cli): detach the AOT training JVM and harden the cache commit (98b16ee633)
  • docs: describe batch as the client-side loop it now is (85c344e903)
  • fix(coding): let code verify actually gate the CLI crate (cbb25d5540)
  • fix(agentic): publish the selectOption contract the executor reads (dfe19148f3)
  • fix(cli): run each batch step through the single-command path (82c67d07b9)
  • fix(browser): make trusted mouse input human-plausible (324dc77d44)
  • docs(skill): sharpen the browser4-cli command map and trap index (b4b2fb470c)
  • fix(cli): scrape takes no positional URL β€” align help, tips and docs (82acec9c20)
  • chore(deps): bump browser4-base to 4.11.28 (ba18b39d6c)
  • chore(deps): bump vulnerable dependencies to their fixed patch releases (223bc894e3)
  • Merge origin/4.16.x into 4.16.x (0d40047139)
  • docs(skill): keep agent.md and SKILL.md under the 500-line cap (7bf4c50815)
  • chore(rws): file the 2026-10-25 scenario runs under review/done (c8b287595d)
  • test(rws): fail a scenario whose agent run died or whose report says Failed (a20295be81)
  • fix(agentic): stop repeating the summary line at the start of a tool outcome (2d4d3e3fdb)
  • fix(dev-mode): scope the browser context tree, the registry and stop per checkout (9601aee71f)
  • fix(cli): name the session, tab and teardown a close actually touched (1634180500)
  • fix(dev): forward CLI arguments as argv, without a second PowerShell parse (ca2273f4c0)
  • feat(observability): trace the dispatch step as a child of the tool-call span (f750fa067a)
  • feat(mcp): prefer the JSON-friendly overload when a method has several signatures (bee5f9ea83)
  • feat(mcp): enforce built-in argument validation on the REST channel by default (c1afa293bf)
  • docs(mcp): correct superseded "remaining" items in the hardening plan (4849b23b28)
  • feat(crawl): refuse submissions once the async queue is saturated (53dc88ee86)
  • feat(mcp): enumerate both channels' tools from one shared catalog (ef62ab6078)
  • feat(agent): enforce operator grants per target and fix the approval lifecycle (8b51ba84e2)
  • Merge remote-tracking branch 'origin/4.16.x' into 4.16.x (a8dd067c29)
  • Merge branch '4.15.x' into 4.16.x (a7b8e6cf64)
  • fix(cli): make every crawl flag say what it actually does (d1132eb5f8)
  • feat(agent): enforce operator grants per target and fix the approval lifecycle (0833a87720)
  • fix(cli): harden the auto-upgrade rails found in review (ceae123e8e)
  • Auto-bump version to 4.15.5-SNAPSHOT (2e90f1583f)
  • feat(cli): stage the auto-upgrade behind BROWSER4_AUTO_UPGRADE (78d638d0f5)
  • Merge remote-tracking branch 'origin/main' into 4.16.x (5105482bbb)
  • docs(mcp-tools): regenerate the tool reference after the crawl/agent spec changes (ee6263fc32)
  • Merge remote-tracking branch 'origin/main' into 4.16.x (d345a3ca85)
  • test(agentic): assert what the locale hint block says, not an older wording (b9cbc21f3d)
  • fix(agentic): refuse a file:// path outside the workspace on POSIX too (b90fc4547d)
  • Merge remote-tracking branch 'origin/main' into 4.16.x (56e281caf6)
  • fix(ci): make the nightly failure details readable (25be6d3cb0)
  • fix(coding): resolve shell arguments written with either separator (138dc37441)
  • chore: bump version to 4.16.0-SNAPSHOT on 4.16.x branch (5741aa4b20)

πŸš€ Quick Start

Self-contained install

Use the CLI to download the matching Browser4 runtime bundle for your platform
(ships its own jlink-built JRE β€” no Java installation required):

browser4-cli install
browser4-cli open

CLI & SKILLS

# Open a new browser window
browser4-cli open

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

# 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://browser4.io" "snapshot"

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

# Advanced: pipe batch commands as JSON via stdin
echo '[
  ["goto", "https://example.com/form-filling"],
  ["click", "#reset-btn"],
  ["fill", "#first-name", "Bob"],
  ["fill", "#last-name", "Smith"],
  ["fill", "#email", "bob@example.com"],
  ["select", "#country", "uk"],
  ["check", "#agree-terms"],
  ["click", "#submit-btn"]
]' | browser4-cli batch --json

# Close the session when done
browser4-cli close

πŸ“„ Full Changelog

v4.15.4...v4.16.0


Built with ❀️ by the Browser4 team

browser4-cli

This release also includes prebuilt browser4-cli binaries for:

  • Linux x64
  • Linux ARM64
  • Linux musl x64
  • Linux musl ARM64
  • Windows x64
  • macOS x64
  • macOS ARM64

npm package:
npm install -g browser4-cli

CLI package version in this release workflow:

  • 4.16.0

Self-contained Browser4 runtime bundles

This release also includes self-contained Browser4 runtime bundles with:

  • a lib/ directory containing Browser4Bundle.jar and all runtime dependencies
  • a minimal jlink-built JRE under runtime/
  • platform-specific launcher scripts in bin/

Runtime model:
runtime/bin/java -cp "lib/*" <MainClass>

Supported release assets:

  • browser4-bundle-runtime-windows-x64.zip
  • browser4-bundle-runtime-linux-x64.tar.gz
  • browser4-bundle-runtime-darwin-arm64.tar.gz

Recommended install flow:

browser4-cli install

Full Changelog: v4.15.4...v4.16.0