v0.24.1 (#1142)
* v0.24.1 * fix: e2e test failures on CI - e2e_relaunch_on_options_change: use headless for all launches; the third launch only changes extensions, which is sufficient to trigger the relaunch hash mismatch without needing an X display - e2e_auth_login flake: reduce SPA render delay from 1200ms to 800ms to add headroom within the 5s preferred selector window on slower CI runners
This commit is contained in:
@@ -1,5 +1,37 @@
|
|||||||
# agent-browser
|
# agent-browser
|
||||||
|
|
||||||
|
## 0.24.1
|
||||||
|
|
||||||
|
<!-- release:start -->
|
||||||
|
### New Features
|
||||||
|
|
||||||
|
- **Chrome profile login state reuse** - `--profile <name>` now resolves Chrome profile names (e.g. `Default`, `Profile 1`) and copies the profile to a temp directory to reuse login state, cookies, and extensions without modifying the original. Added `profiles` command to list available Chrome profiles with `--json` support (#1131)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fixed **`--ignore-https-errors`** not passing `--ignore-certificate-errors` as a Chrome launch flag, causing TLS errors like `ERR_SSL_PROTOCOL_ERROR` to be rejected at the network layer before CDP could intervene (#1132)
|
||||||
|
- Fixed **orphaned Chrome processes** on daemon exit by spawning Chrome in its own process group and killing the entire group on shutdown. On Linux, `PR_SET_PDEATHSIG` ensures Chrome is killed even if the daemon is OOM-killed (#1137)
|
||||||
|
- Fixed **CDP attach hang on Chrome 144+** when connecting to real browser sessions. Targets paused waiting for the debugger after attach are now resumed with `Runtime.runIfWaitingForDebugger` (#1133)
|
||||||
|
- Fixed **stale daemon after upgrade** silently reusing the old daemon process with broken CDP behavior. The daemon now writes a `.version` sidecar file and auto-restarts on version mismatch (#1134)
|
||||||
|
- Fixed **stale daemon/socket recovery** where `close --all` failed to clean up zombie daemons and stale files. Unreachable daemons are now force-killed and orphaned socket/pid files are removed (#1136)
|
||||||
|
- Fixed **idle timeout** not being respected because the sleep future was recreated on every select loop iteration, preventing the deadline from being reached (#1110)
|
||||||
|
- Fixed **browser not relaunching** when launch options change (e.g. adding extensions to `config.json`) between consecutive launch commands (#996)
|
||||||
|
- Fixed **`auto_launch()`** not honouring `AGENT_BROWSER_PROVIDER` for cloud providers, causing non-launch commands to fall back to local Chrome instead of connecting via the provider API (#1126)
|
||||||
|
- Fixed **HAR capture missing API requests** under heavy traffic by increasing the CDP broadcast buffer from 256 to 4096 events, reducing the drain interval from 500ms to 100ms, and enabling network tracking in cross-origin iframes (#1135)
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
- Fixed **`e2e_relaunch_on_options_change`** launching headed Chrome on CI where no display is available. The test now stays headless and only changes extensions to trigger the relaunch (#996)
|
||||||
|
- Fixed **`e2e_auth_login`** flake by reducing the SPA render delay from 1200ms to 800ms, giving more headroom within the selector wait window on slower CI runners
|
||||||
|
|
||||||
|
### Contributors
|
||||||
|
|
||||||
|
- @ctate
|
||||||
|
- @desenmeng
|
||||||
|
- @jin-2-kakaoent
|
||||||
|
- @snese
|
||||||
|
<!-- release:end -->
|
||||||
|
|
||||||
## 0.24.0
|
## 0.24.0
|
||||||
|
|
||||||
<!-- release:start -->
|
<!-- release:start -->
|
||||||
|
|||||||
Generated
+1
-1
@@ -45,7 +45,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "agent-browser"
|
name = "agent-browser"
|
||||||
version = "0.24.0"
|
version = "0.24.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes-gcm",
|
"aes-gcm",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "agent-browser"
|
name = "agent-browser"
|
||||||
version = "0.24.0"
|
version = "0.24.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Fast browser automation CLI for AI agents"
|
description = "Fast browser automation CLI for AI agents"
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
|
|||||||
@@ -3095,7 +3095,7 @@ async fn start_delayed_login_server(
|
|||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
#[ignore]
|
#[ignore]
|
||||||
async fn e2e_auth_login_waits_for_delayed_spa_form_render() {
|
async fn e2e_auth_login_waits_for_delayed_spa_form_render() {
|
||||||
let (base_url, _server) = start_delayed_login_server(1200, 100).await;
|
let (base_url, _server) = start_delayed_login_server(800, 100).await;
|
||||||
let mut state = DaemonState::new();
|
let mut state = DaemonState::new();
|
||||||
|
|
||||||
let profile_name = format!(
|
let profile_name = format!(
|
||||||
@@ -3869,7 +3869,7 @@ async fn e2e_relaunch_on_options_change() {
|
|||||||
&json!({
|
&json!({
|
||||||
"id": "3",
|
"id": "3",
|
||||||
"action": "launch",
|
"action": "launch",
|
||||||
"headless": false,
|
"headless": true,
|
||||||
"extensions": ["/tmp/fake-extension"]
|
"extensions": ["/tmp/fake-extension"]
|
||||||
}),
|
}),
|
||||||
&mut state,
|
&mut state,
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## v0.24.1
|
||||||
|
|
||||||
|
<p className="text-[#888] text-sm">April 4, 2026</p>
|
||||||
|
|
||||||
|
### New Features
|
||||||
|
|
||||||
|
- **Chrome profile login state reuse** - `--profile <name>` now resolves Chrome profile names (e.g. `Default`, `Profile 1`) and copies the profile to a temp directory to reuse login state, cookies, and extensions without modifying the original. Added `profiles` command to list available Chrome profiles with `--json` support (#1131)
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- Fixed **`--ignore-https-errors`** not passing `--ignore-certificate-errors` as a Chrome launch flag, causing TLS errors like `ERR_SSL_PROTOCOL_ERROR` to be rejected at the network layer before CDP could intervene (#1132)
|
||||||
|
- Fixed **orphaned Chrome processes** on daemon exit by spawning Chrome in its own process group and killing the entire group on shutdown. On Linux, `PR_SET_PDEATHSIG` ensures Chrome is killed even if the daemon is OOM-killed (#1137)
|
||||||
|
- Fixed **CDP attach hang on Chrome 144+** when connecting to real browser sessions. Targets paused waiting for the debugger after attach are now resumed with `Runtime.runIfWaitingForDebugger` (#1133)
|
||||||
|
- Fixed **stale daemon after upgrade** silently reusing the old daemon process with broken CDP behavior. The daemon now writes a `.version` sidecar file and auto-restarts on version mismatch (#1134)
|
||||||
|
- Fixed **stale daemon/socket recovery** where `close --all` failed to clean up zombie daemons and stale files. Unreachable daemons are now force-killed and orphaned socket/pid files are removed (#1136)
|
||||||
|
- Fixed **idle timeout** not being respected because the sleep future was recreated on every select loop iteration, preventing the deadline from being reached (#1110)
|
||||||
|
- Fixed **browser not relaunching** when launch options change (e.g. adding extensions to `config.json`) between consecutive launch commands (#996)
|
||||||
|
- Fixed **`auto_launch()`** not honouring `AGENT_BROWSER_PROVIDER` for cloud providers, causing non-launch commands to fall back to local Chrome instead of connecting via the provider API (#1126)
|
||||||
|
- Fixed **HAR capture missing API requests** under heavy traffic by increasing the CDP broadcast buffer from 256 to 4096 events, reducing the drain interval from 500ms to 100ms, and enabling network tracking in cross-origin iframes (#1135)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v0.24.0
|
## v0.24.0
|
||||||
|
|
||||||
<p className="text-[#888] text-sm">April 2, 2026</p>
|
<p className="text-[#888] text-sm">April 2, 2026</p>
|
||||||
|
|||||||
@@ -329,6 +329,14 @@ agent-browser session # Show current session name
|
|||||||
agent-browser session list # List active sessions
|
agent-browser session list # List active sessions
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Chrome profiles
|
||||||
|
|
||||||
|
```bash
|
||||||
|
agent-browser profiles # List available Chrome profiles
|
||||||
|
agent-browser profiles --json # List profiles as JSON
|
||||||
|
agent-browser --profile Default open https://gmail.com # Reuse a profile's login state
|
||||||
|
```
|
||||||
|
|
||||||
## Dashboard
|
## Dashboard
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "agent-browser",
|
"name": "agent-browser",
|
||||||
"version": "0.24.0",
|
"version": "0.24.1",
|
||||||
"description": "Browser automation CLI for AI agents",
|
"description": "Browser automation CLI for AI agents",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dashboard",
|
"name": "dashboard",
|
||||||
"version": "0.24.0",
|
"version": "0.24.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "next dev",
|
"dev": "next dev",
|
||||||
|
|||||||
Reference in New Issue
Block a user