Skip to content

πŸš€ Browser4 4.14.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 08:40
· 31 commits to main since this release

πŸš€ Browser4 v4.14.0 Release Notes

Release Date: 2026-10-14 08:20:10 UTC
Java Version: 25+
Built by: @galaxyeye


Browser4 4.14.0 is the first stable release of the 4.14 line: the release-candidate cycle is closed and the runtime bundle, the CLI, the REST API and the Maven artifacts ship together under one version number.

  • Scraping and formats are first-class. The scrape command (also api/scrape over REST) captures a live tab as structured content, screenshot or pdf, with --output <dir> for binary results and a three-state strict contract for how hard a requested format must succeed.
  • Crawling and URLs are hardened. A crawl seed that is not a valid URL is refused up front, and URL normalization is consistent across the crawl queue, the snapshot origin check and the experience store β€” a reordered query string no longer reads as a different document.
  • Sessions are visible across workspaces. list --all now spans every workspace's persisted sessions (--all and --verbose had been silent no-ops on the CLI-dispatched list path), with a Workspace column and honest Status Unknown rows for sessions the current backend cannot verify.
  • A leftover process can no longer park a runner. The native-command and child-output drains are bounded: they return once both streams reach EOF or the deadline expires, and report which descendants still hold the pipes instead of blocking in a native wait that ignores Ctrl+C.
  • Smaller sharp edges: test.ps1 ps rejects unknown arguments instead of silently running the whole suite, and the harness emits UTF-8 instead of the OEM code page, so non-ASCII output survives redirection (34 U+FFFD in one tail block before the fix, 0 after).

Upgrading from 4.13.x: the backend default port is 18182, and installing the runtime bundle keeps the bundle's plugins/, launcher scripts and manifest instead of copying only runtime/, lib/ and bin/.

  • list --all spans every workspace's persisted sessions

  • bound the native-command drain so a leftover descendant cannot park the runner

  • bound the child output drain so a leftover descendant cannot hang the runner

  • reject unknown arguments for the ps target

  • emit UTF-8 instead of the OEM code page

  • keep the two newly-run suites honest about their environment

  • file the latest scenario evaluations and refresh the review template

Release gates: the JVM test suite, the Docker image, the runtime-bundle smoke tests on Windows/Linux/macOS, the CLI unit tests and the CLI e2e suite. The features that landed during the cycle β€” the formats layer, an offline and instant --help, browser-level CDP WebSocket attach, the tab-lifecycle fixes β€” are described in the v4.14.0-rc.* notes.

πŸ“¦ Release Highlights

πŸ“Š Release Statistics

Metric Value
πŸ“ JAR Size 105MB
πŸ“ Commits 11
πŸ‘₯ Contributors 1
πŸ—οΈ Build Date 2026-10-14 08:20:10 UTC

πŸ”„ Changes Since Last Release

  • chore(ci): add task record for the v4.14.0 release.yml failure (d17a95543a)
  • fix(ci): give the release CLI e2e step the same 30-minute budget as nightly (441d24140f)
  • chore(release): 4.14.0 (3741ead296)
  • docs(coworker): file the latest scenario evaluations and refresh the review template (9f5470727e)
  • feat(cli): let list --all span every workspace's persisted sessions (19e575f9ea)
  • fix(rws): bound the native-command drain so a leftover descendant cannot park the runner (185175f6eb)
  • fix(bin): bound the child output drain so a leftover descendant cannot hang the runner (a009882764)
  • fix(bin): reject unknown arguments for the ps target (ddc98239c2)
  • fix(scripts): emit UTF-8 instead of the OEM code page (a0b206124b)
  • fix(ci): keep the two newly-run suites honest about their environment (0dc4db42ad)
  • Auto-bump version to 4.14.0-rc.10 (4107ddc8b5)

πŸš€ Quick Start

Self-contained install

Use the CLI to download the matching Browser4 runtime bundle for your platform:

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.14.0-rc.9...v4.14.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.14.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

What's Changed

  • fix(nightly-cli): restore Docker-backed backend; fix e2e runtime-dir cwd bug by @platonai in #585
  • feat(network): agent browser Network / HAR capability & request routing by @platonai in #586
  • test(e2e): repair the six nightly CLI scenarios that fail every night by @platonai in #608
  • docs(crawl): keep crawl.md inside the M6 cap, and gate skill docs on change by @platonai in #610
  • test(protocol): cover ProxyContext and the driver-pool closer, restoring the PR gate floor by @platonai in #612

Full Changelog: v4.13.23...v4.14.0