You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+15-2Lines changed: 15 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,19 @@
2
2
3
3
All notable changes to this project will be documented in this file.
4
4
5
+
## [1.5.1] - 2026-06-09
6
+
7
+
### Fixed
8
+
9
+
- Serialized per-tab CDP detach, attach, and execute sequences to prevent concurrent actions on the same tab from detaching each other.
10
+
-`codex_click` now returns an error when the selector is missing instead of reporting success after a JavaScript exception.
11
+
-`codex_dom_click` now rejects short `DOM.getBoxModel` content arrays instead of panicking.
12
+
-`codex_wait_for_load` now retries transient navigation-time CDP errors until the timeout.
13
+
- Pipe discovery now ignores the bare `codex-browser-use` namespace entry and only returns concrete pipe names.
14
+
- MCP JSON-RPC handling now ignores notifications, rejects malformed request envelopes, rejects zero-length frames, and validates required tool arguments before opening pipe calls.
15
+
- The npm package now uses a committed JavaScript command wrapper, downloads release assets for the package version instead of `latest`, rejects unsupported CPU architectures, and checks package contents in CI.
16
+
- Manual release workflow runs now require a valid `v*` release tag.
17
+
5
18
## [1.5.0] - 2026-06-05
6
19
7
20
### Fixed
@@ -61,13 +74,13 @@ All notable changes to this project will be documented in this file.
61
74
### Changed
62
75
63
76
-`codex_dom_get_visible` description clarified: returns human-readable DOM tree (not node IDs); use `codex_dom_snapshot` for accessibility node IDs usable with `codex_dom_click`
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Contributing
2
2
3
-
Thanks for taking the time to contribute. This is a small project — issues and PRs are both welcome.
3
+
Thanks for taking the time to contribute. This is a small project, and issues and PRs are both welcome.
4
4
5
5
## Reporting bugs
6
6
@@ -13,7 +13,7 @@ Please open an issue using the bug report template. Include:
13
13
14
14
## Reporting security issues
15
15
16
-
See [SECURITY.md](SECURITY.md) — please don't file these as public issues.
16
+
See [SECURITY.md](SECURITY.md). Please don't file these as public issues.
17
17
18
18
## Development setup
19
19
@@ -32,11 +32,11 @@ make build
32
32
make test
33
33
```
34
34
35
-
The full test suite is hermetic — it uses `net.Pipe` to simulate the Codex pipe, so you don't need Codex Desktop running to run `go test ./...`.
35
+
The full test suite is hermetic. It uses `net.Pipe` to simulate the Codex pipe, so you don't need Codex Desktop running to run `go test ./...`.
36
36
37
37
## Code style
38
38
39
-
- Run `gofmt`/`goimports` before committing — CI enforces this.
39
+
- Run `gofmt`/`goimports` before committing. CI enforces this.
40
40
-`make test` runs `go vet ./...` and `go test -race -cover ./...`.
41
41
-`golangci-lint run` is wired into CI; install it locally with [the official instructions](https://golangci-lint.run/usage/install/) and run it before pushing.
42
42
@@ -50,18 +50,18 @@ The full test suite is hermetic — it uses `net.Pipe` to simulate the Codex pip
50
50
51
51
- Branch from `main`.
52
52
- Reference the related issue in the PR description, if any.
53
-
- Add or update tests for behavior changes. The wire-format invariants in `internal/client/browser_rpc_test.go` exist because we discovered them the hard way — please don't break them silently.
53
+
- Add or update tests for behavior changes. The wire-format invariants in `internal/client/browser_rpc_test.go` exist because previous regressions were hard to diagnose. Please don't break them silently.
54
54
- Update `CHANGELOG.md` under `## [Unreleased]`.
55
55
- Update both `README.md` and `README.zh-CN.md` if you add or remove tools.
56
56
57
57
## Adding a new MCP tool
58
58
59
59
There are typically four places to touch:
60
60
61
-
1.`internal/client/browser.go` — add the client method. If it's a CDP-based tool, use `cdpWithAttach` so the debugger is attached first.
62
-
2.`internal/mcp/server.go` — register the tool in `registerTools()` and add a handler that returns `[]Content`.
63
-
3.`internal/client/browser_rpc_test.go` — lock in the wire format with a `withRecordingServer`-based test.
64
-
4.`internal/mcp/handlers_test.go` — add an integration test that exercises the full client → handler path.
61
+
1.`internal/client/browser.go`: add the client method. If it's a CDP-based tool, use `cdpWithAttach` so the debugger is attached first.
62
+
2.`internal/mcp/server.go`: register the tool in `registerTools()` and add a handler that returns `[]Content`.
63
+
3.`internal/client/browser_rpc_test.go`: lock in the wire format with a `withRecordingServer`-based test.
64
+
4.`internal/mcp/handlers_test.go`: add an integration test that exercises the full client-to-handler path.
65
65
66
66
Then update the count in `internal/mcp/server_test.go:TestRegisteredToolCount` and document the tool in both READMEs.
|`codex_screenshot`| Capture a screenshot (returns MCP image). `fullPage`parameter is reserved for future implementation — currently always captures the viewport. |
259
+
|`codex_screenshot`| Capture a screenshot (returns MCP image). `fullPage` is reserved for a future release. The current implementation captures the viewport. |
257
260
|`codex_dom_snapshot`| Get an accessibility tree snapshot |
258
261
|`codex_dom_get_visible`| Get a simplified visible DOM tree (human-readable; use codex_dom_snapshot for node IDs usable with codex_dom_click) |
259
262
|`codex_evaluate`| Evaluate JavaScript in the page context |
@@ -375,11 +378,11 @@ make clean # remove build output
375
378
376
379
## Roadmap
377
380
378
-
Possible next steps:
381
+
Planned or open work:
379
382
380
-
-richer error messages for common pipe / extension failures
383
+
-clearer error messages for common pipe / extension failures
381
384
- non-Windows fallback or explicit platform guards
382
-
-better screenshot output handling for MCP clients
385
+
- screenshot output handling across MCP clients
383
386
- typed tool result schemas
384
387
- optional allowlist / confirmation layer for sensitive domains
385
388
- examples for Claude Code, Cursor, Codex CLI, and other MCP clients
0 commit comments