1.11.0 (2026-10-15)
🎉 Features
- add --file-navigations flag to reject file: URL navigations (#2853) (54cae57)
- Add analyze_heapsnapshot_contexts MCP tool (#2791) (190aeee)
- add ignoreCache option to performance_start_trace (#2931) (3467d40)
- add maxNameLength truncation option to compare_heapsnapshots (#3098) (1e1c53e)
- Add pagination to compare_heapsnapshots (#3140) (daebfd1)
- config: add ConfigWatcher to watch config file changes (#3139) (9171f77)
- discover the config file in predefined locations (#2876) (02c0112)
- implement ffmpeg-free screencast tools enabled by default (#3123) (8953ea5)
- reduce StaticText noise in text snapshots (#2895) (4441325)
- report pages opened by input actions (#2679) (28fb230)
- resolve config defaults after merging CLI and config file (#2849) (bdeb70d)
- return failing audits and DOM nodes inline from lighthouse_audit (#2930) (241fba5)
- skip more redundant data in text snapshots (#2896) (b2f522c)
- support debugging WebMCP tools in third-party developer tools (#2900) (0db519f)
- support emulating additional CSS media features (#2929) (69524f0)
- support evaluating scripts from local files (#2606) (9cf47a4)
- Support truncation in get_heapsnapshot_details (#3137) (f827e06)
- Truncate long names by default to 100 characters (#2893) (5ddb0a3)
🛠️ Fixes
- account for scroll offsets in downscaled screenshots (#2685) (830c693)
- allow --categoryExtensions when connecting to an existing browser (#3041) (d250bc5)
- allow stopping the CLI if command fails (#3088) (77e238e), closes #2982
- avoid runtime title fetches (#2883) (04195d1)
- better config support for chrome-devtools CLI (#2819) (9624e64)
- clamp async stack trace separator repeat count (#3035) (93e06ab), closes #3031
- cli: pass positional values starting with
-through to tools (#3084) (9de05ae), closes #2984 - collectors: ignore transient target errors when subscribing to service workers (#2888) (551dd6c)
- daemon: bound browser shutdown and avoid watchFile timeout on stop (#2887) (f3db5e7)
- daemon: keep fallback socket in private runtime dir (#2766) (871a37e)
- daemon: verify process identity before treating PID file as active (#3109) (b608bed)
- do not close a healthy browser when a tool call outlasts 60s (#3149) (39c7db1)
- ensure aggregate IDs in heap snapshots are deterministic (#2923) (e918c47)
- escape client-supplied values in McpContext logs and errors (#2832) (efb0d02), closes #2831
- fail fast on tool calls stuck after a dead browser connection (#2699) (2a7ef50)
- harden third-party tool result serialization (#2892) (4418a7b)
- honor explicit --allowUnrestrictedPaths=false in CLI mode (#3040) (61fc362)
- include errors in slim responses (#3085) (ee38097)
- input: reject multiple file paths on single-file input in upload_file (#2995) (#3135) (e650843)
- list fresh page titles (#3103) (e717082)
- memory: reject contradictory pagination options in take_heapsnapshot (#3002) (#3131) (508126c)
- network: enforce URL policy across redirects (#2767) (274cd4c)
- pass categoryExtensions to the target filter when connecting (#3047) (4e90238)
- performance: report an error when performance_stop_trace is called with no active trace (#3001) (#3126) (e170384)
- preserve HeapSnapshotManager across browser reconnects (#3025) (64388c6)
- propagate failed responseFilePath write error instead of reporting body unavailable (#2957) (#3119) (3cee3bd)
- pwa: wait for initial navigation on launch and retry transient install error (#2889) (63010cb)
- record screencast at the page's device pixel size (#3155) (62e2aa4)
- reject --blockedUrlPattern/--allowedUrlPattern hostname regexp groups (#2796) (ae0aaef)
- reject JSON arrays as 3p and WebMCP tool params (#2785) (c14e616)
- reject named groups in URL patterns (#2857) (5b2c6f9)
- reject non-positive --viewport dimensions (#2781) (0ef528a)
- reject non-positive resize_page dimensions (#2784) (6ab6d35)
- reject unrestricted paths with an explicit workspace (#2858) (45c1c6c)
- report unknown page id before last-page guard in close_page (#3042) (bdc7e24)
- round lighthouse category scores and show unscored categories as n/a (#2924) (7007680), closes #2915 #2916
- set empty filePath to undefined instead of empty string (#2836) (adfc1ff), closes #2825
- surface WebMCP tool exceptions in execute_webmcp_tool (#3107) (d80d22e), closes #2975
- url pattern partial ipv4 (#2859) (c87d190)
📄 Documentation
- clarify Antigravity MCP setup for VS Code extension (#2855) (12e13ca)
- clarify scope of --no-javascript-evaluation (#3100) (0c67cd5)
- correct link to configuration (#3086) (bbb1e36)
- document trusted host environment in SECURITY.md (#3125) (1352207)
- fix inaccurate examples in skills and CLI docs (#2922) (ec372b0), closes #2906 #2907 #2908 #2910 #2912 #2913 #2918 #2919 #2920 #2921
- fix some reported issues (#3099) (d5d2f08)
- include serviceWorkerId parameter for evaluate_script (#3015) (#3129) (0623434)
- mention heapsnapshot being cached between runs (#3045) (f08dbe1), closes #2976
- skills: remove invalid outputDir flag from lighthouse_audit calls (#3013) (#3130) (7754226)
- update documentation and SKILL for get_css_styles tool (#2824) (3c12a91)
⚡ Performance
- cli: re-use MCPServer.from helpers for daemon (#2804) (89eb3d5)
- Load heap snapshots in parallel in compare_heapsnapshots (#3023) (20c1391)
🏗️ Refactor
- centralize config defaults and conflict checks (#2753) (a739ba8)
- create all tools and register per slim mode (#2874) (99847a7)
- enable categories by default (#2811) (e33ee48)
- extract CLI examples and conflict list in mcp-options (#2848) (45000d9)
- extract config parsing logic in a class (#2861) (e4168d0)
- extract worker logic into McpWorker (#2800) (77165c6)
- group Puppeteer and tool options (#2875) (699c4d5)
- lazily initialize McpPage from Target and enumerate targets in McpContext (#2812) (545cbe3)
- use default Error for toolSchema (#2822) (8b2768d)