Releases: mozilla/firefox-devtools-mcp
Releases · mozilla/firefox-devtools-mcp
Release list
v0.9.9
What's Changed
- chore: update plugin defaults and simplify versioning by @juliandescottes in #111
- chore: release v0.9.9 by @juliandescottes in #112
Full Changelog: v0.9.8...v0.9.9
v0.9.8
What's Changed
- Plugin cleanup by @juliandescottes in #106
- feature: add marketplace.json and cleanup plugin related files by @juliandescottes in #107
- Plugin skills enhancement by @juliandescottes in #108
- fix: screenshot skill unreliable by @juliandescottes in #109
- chore: bump version to v0.9.8 by @juliandescottes in #110
Full Changelog: v0.9.7...v0.9.8
v0.9.6
What's Changed
- Bug 2018268 - fix: migrate script evaluation tools to WebDriver BiDi by @juliandescottes in #98
- Bug 2018268 - feature: expose firefox version number in get_firefox_info by @juliandescottes in #99
- Bug 2046888 - feature: Add --log-file support by @juliandescottes in #96
- chore: update ws to 8.21.0, vitest to 4.1.8 by @westurner in #90
- fix: kill zombie geckodriver when Firefox is closed by @csamu in #86
- Bug 2047607 - fix: allow to set remote.log.level from --pref by @juliandescottes in #101
- Bug 2044655 - Force app.update.disabledForTesting to true when recommended preferences are disabled by @juliandescottes in #102
- Bug 2047657 - feature: add support for debugging logpoints by @juliandescottes in #100
- Bug 2042462 - feature: add profiler tools for Firefox 154+ by @juliandescottes in #103
- Release v0.9.6 by @juliandescottes in #104
New Contributors
- @westurner made their first contribution in #90
Full Changelog: v0.9.5...v0.9.6
v0.9.5
Changed
- Bug 2046777 - fix: use about:blank as start url instead of about:home by @juliandescottes in #94
Full Changelog: v0.9.4...v0.9.5
v0.9.4
Added
- Support for connecting to Firefox for Android via
--androidflag
Fixed
- Navigation to
moz-extension://URLs no longer hangs; now uses BiDi navigate - Geckodriver binary detection on Windows
0.9.3
Added
- New
@mozilla/firefox-devtools-mcp-moznpm package with privileged context support enabled by default --profile-pathnow uses a dedicated subfolder to avoid corrupting existing profiles, and warns when reusing a profile that already exists
Fixed
- Profile reuse warnings are now surfaced as MCP errors so AI assistants can see them
- Network debug command now uses
statusMin=400instead ofstatus="failed"to correctly match 4xx/5xx responses - Docker image now creates the user home directory
Changed
- Package renamed from
firefox-devtools-mcpto@mozilla/firefox-devtools-mcp - License changed to dual MIT OR Apache-2.0
- Reduced emoji usage in MCP log messages
0.9.2
Added
evaluate_privileged_scriptnow detectsconst/let/varstatements and rejects them with a helpful error message suggesting IIFE workaround- BiDi console and network events now degrade gracefully when Firefox Remote Agent is not running, instead of crashing
- Comprehensive e2e scenario integration tests covering the full
FirefoxClientAPI - Unit tests for privileged context state consistency and statement detection
- Testing documentation (
docs/testing.md)
Fixed
- Privileged context state not preserved across tool calls:
set_firefox_prefsandlist_extensionsno longer silently revert a privileged context selection - Session cleanup on connection failure:
getFirefox()now closes the failed instance to prevent zombie geckodriver processes and Marionette session locks
Changed
- Breaking: Removed
--marionette-hostCLI parameter (connect-existing mode now uses localhost only) - Rewrote connect-existing mode to use Selenium's native
--connect-existingfeature viaServiceBuilder, replacing the customGeckodriverHttpDriverHTTP client (~530 lines removed) - Replaced custom
IDriver/IElement/IBiDiinterfaces with nativeWebDriver/WebElementfrom selenium-webdriver - Improved error messages for BiDi-dependent features (console/network) to suggest
--remote-debugging-port - Pinned all dependency versions for build reproducibility
- Updated dependencies:
@modelcontextprotocol/sdk1.29.0,tsup8.5.0,tsx4.21.0,typescript-eslint8.58.0
Full Changelog: 0.9.1...0.9.2
0.9.1
What's Changed
Bug Fixes
- Fixed
SERVER_VERSIONreporting0.7.1instead of actual package version — now reads frompackage.jsondynamically - Fixed connect-existing mode: session cleanup, BiDi support,
--marionette-hostparameter (#50) - Fixed lint/type errors from PR #50 merge
- Resolved 11 security vulnerabilities in dependencies (#47)
Improvements
- Removed fragile
process.onhandlers in test setup that masked real errors and causedMaxListenersExceededWarning - Added unit tests for connect-existing mode (BiDi, session cleanup, reconnect)
Contributors
Full Changelog: 0.9.0...0.9.1
0.9.0
What's Changed
New Features
- Content script evaluation — evaluate JS against web pages (
--enable-scriptflag) - Privileged context support — chrome-privileged context for Firefox internal development (
--enable-privileged-contextflag) - WebExtension tools — install, uninstall, and list Firefox extensions
- Firefox restart tool — restart Firefox with new config at runtime (preserves profile path)
- Preferences configuration — read/write Firefox prefs via CLI (
--pref name=value) and runtime tools (set_firefox_prefs,get_firefox_prefs) - Environment variables & output capture —
--envand--output-fileCLI flags - WebDriver BiDi commands — direct support for sending BiDi commands
- MOZ_LOG support — Firefox logging integration
Fixes
- Use native
--profilearg for reliable profile loading - Wait for WebSocket ready before sending BiDi commands
- Fix pref tools failing when env var passed via
--env - Handle disconnected Firefox gracefully in
restart_firefox - Don't kill unrelated Firefox processes on test cleanup
Breaking Changes
- Script evaluation and privileged context are now opt-in via
--enable-scriptand--enable-privileged-contextflags - Removed non-English documentation files
Contributors
Full Changelog: 0.8.1...0.9.0
0.8.1
What's Changed
Fixes
- Fixed flaky snapshot integration test on Node 22 CI runners (increased Firefox startup timeout from 30s to 60s)
- Upgraded all GitHub Actions from v4 to v5 (checkout, setup-node) and upload-artifact to v7 to resolve Node.js 20 deprecation warnings
- Publish workflow now uses Node.js 22
Full Changelog: 0.8.0...0.8.1