Skip to content

πŸš€ Browser4 4.16.7

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Nov 14:20
· 2 commits to main since this release

πŸš€ Browser4 v4.16.7 Release Notes

Release Date: 2026-11-14 13:58:26 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)

test(browser4-browser): assert the vi-data staleness short circuit precedes compute

viDataStatusJsShortCircuitsOnComputedData expected u._viDataComputed === true to appear before u.compute(), but that flag is only assigned after a
successful compute, so the assertion could never hold and the Nightly Build
went red on a correct implementation.

What actually guards the already-computed document is the runtime staleness
check: the script first looks for u.isLayoutStale (absent on older runtimes)
and short-circuits on u._viDataComputed !== true instead of computing again.

Assert both of those appear before u.compute().

πŸ“¦ Release Highlights

πŸ“Š Release Statistics

Metric Value
πŸ“ JAR Size 106MB
πŸ“ Commits 54
πŸ‘₯ Contributors 1
πŸ—οΈ Build Date 2026-11-14 13:58:26 UTC

πŸ”„ Changes Since Last Release

  • test(browser4-browser): assert the vi-data staleness short circuit precedes compute (6ae3a59072)
  • refactor(coding): remove the shell syntax gate (479dacf119)
  • refactor(agent): drop the engine tag from the interactive banner (97a090f461)
  • fix(cli): keep env server/session defaults out of batch steps (769f219c51)
  • fix(cli): stop the WMI fallback test from popping a terminal window (14e17c4d4a)
  • fix(cli): stop the AOT training run from showing a console window (d376d9425a)
  • fix(coding): let --unrestricted lift the command tier, not only the syntax gate (a14347680e)
  • docs(skill): keep agent.md under the 500-line cap (41d60c3706)
  • docs(copilot): record progress and remaining work in the efficiency plan (24af82d755)
  • feat(coding): add coding.readFiles for a bounded multi-file read (9dd0cc0c5f)
  • feat(agent): report a run's four-bucket timings on the task result (6612798180)
  • docs(copilot): agent dev efficiency plan v3, review and timing script (30a0030653)
  • perf(agentic): price output tokens in the coding prompt (cf94abbc44)
  • feat(agentic): attribute every tool round to model, tools and callbacks (d7b0796439)
  • perf(coding): short-circuit Maven builds whose inputs are unchanged (6c336fbd33)
  • chore(issues): record the #640 fix (ce9cbe9d08)
  • fix(cli): scope the e2e process sweep to this checkout (#640) (b1fb027d6c)
  • chore(issues): link #640 for the e2e sweep incident (3037dc69e0)
  • chore(issues): file the e2e sweep killing a neighbouring checkout's backend (c8dfc08bae)
  • docs(agent): state that a resume keeps --unrestricted and cannot drop it (733b3236b5)
  • test(agent): cover --unrestricted end to end (REPL and command_run) (acd64347b1)
  • fix(coding): keep the runtime vetoes visible inside block parentheses (6eb70dce14)
  • fix(agent): run and report an unrestricted task truthfully (be4d6aa025)
  • docs(agent): state what --unrestricted does and does not lift (d3eb553855)
  • fix(agent): describe an unrestricted task truthfully (e651dce9b4)
  • fix(coding): classify every syntax refusal consistently (f2f35e2deb)
  • fix(agent): make the unrestricted prompt block reachable and name the vetoes (ef1ae5c1e2)
  • test(coding): gate the cmd.exe cases to Windows and cover the lift everywhere (87dbc5f0b4)
  • fix(coding): keep the runtime vetoes when --unrestricted lifts the syntax gate (ece8e59edc)
  • fix(agent): rethrow a compaction token-budget abort instead of retrying it (256c16c203)
  • feat(coding): let --unrestricted lift the shell's syntax gate (ca0c40561e)
  • feat(agent): add agent run --unrestricted to run with the OS user's own permissions (409f2a9446)
  • fix(agent): reset the token budget per run and charge compaction calls (3c9f811492)
  • feat(coding): support validated cmd.exe if conditionals (218e534339)
  • Merge origin/feat/self-dev-worktree-isolation into 4.16.x (e7322c2aad)
  • feat(coding): add a boot probe and session-scoped worktree reuse (93ce54bdb5)
  • feat(recover): add -Prune to reclaim isolated worktrees on demand (6bbb6c141c)
  • feat(coding): reclaim stale isolated worktrees (acb485737f)
  • feat(coding): protect the launch path and refuse task-driven bootstrap (9c522687f5)
  • feat(recover): add b4w recover and keep the previous runtime bundle (cfc057bc85)
  • feat(agent): run coding tasks in a git worktree and merge verified patches (26e795e6e4)
  • fix(coding): add module resolver, isolation gate and worktree merge primitives (7e4191106f)
  • refactor(agent): delete the orphaned ContextToAction inference events and TextToAction (553664f4d0)
  • refactor(agent): remove deprecated generate() method in ContextToAction (3b9f7e7576)
  • fix(rest): bind Kotlin @RequestBody DTOs on Jackson 3 (591cf99899)
  • refactor(agent): delete the dead system-prompt v1 chain (127724f37f)
  • refactor(agent)!: remove session.act() and the act REST/CLI entry points (1ad98c0599)
  • refactor(agent): remove the observe-act engine, keep only the CLI tool loop (da2f3fec43)
  • revert(agent): drop @deprecated from the PerceptiveAgent.run chain (96a34bc773)
  • refactor(agent): deprecate PerceptiveAgent.run in favour of command.run (5b4f219dd9)
  • fix(cli): carry task context into follow-up menu and stop capping full-mode tables (49a22abcb7)
  • feat(agent): carry one session context across tasks and predict the next task (f106139079)
  • fix(ci): restore the PowerShell gate for agent.md and star (e9e32e697f)
  • Auto-bump version to 4.16.7-SNAPSHOT (bc81e91fea)

πŸš€ 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.16.6...v4.16.7


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.7

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.16.6...v4.16.7