- 1 New Standard in Add-on Development
- 2 Timelines & Roadmaps
- 3 Migration paths for developers of legacy add-ons
- 4 Don't See the WebExtensions APIs You Need?
- 5 Tools
- 6 Documentation
- 7 Blog Posts
- 8 Add-on Developer Communication Calendar
- 9 Get in Touch
New Standard in Add-on Development
This page contains timelines, tutorials, and other resources to help you port your add-on to WebExtensions. If you're looking for resources on creating a new add-on, please head over to MDN.
- Office Hours Support now available! Check the schedule to see who can help in your time zone.
- Use Embbeded WebExtensions to port your stored data
- WebExtensions Experiments: prototype WebExtension APIs without having to build Firefox
- Help plan and prioritize (or vouch for) WebExtensions APIs by joining the bi-weekly public triage.
Timelines & Roadmaps
- Add-on planning: see what the add-on team is working on
- Add-on impacting changes and visual schedule: see what changes are coming up that impact compatibility
- WebExtensions Roadmap: see which APIs are coming up
Migration paths for developers of legacy add-ons
1) SDK add-on
2) XUL or XPCOM add-on
Here is the comparison chart showing XUL/XPCOM APIs and their WebExtensions counterparts. If you don't see the APIs you need to port to WebExtensions, please take a look at some more options below.
Don't See the WebExtensions APIs You Need?
- If you're experienced with Mozilla infrastructure and would like to develop WebExtensions APIs directly for Firefox, here is a list of approved APIs that you can start contributing to.
- If you want to prototype and tinker with WebExtensions APIs without having to build Firefox, WebExtensions Experiments is for you!
- If you just want to request a WebExtensions API, please file a bug. These will be triaged and processed in a bi-weekly public meeting.
Embedded WebExtensions - You can now embed a WebExtensions add-on inside an existing SDK or bootstrapped add-on. This is especially useful to developers of SDK or bootstrapped add-ons who want to start migrating to WebExtensions and take advantage of new APIs like Native Messaging, but can’t fully migrate yet. It’s also useful for developers who want to complete data migration towards WebExtensions, and who want to take parts of their add-on that are not compatible with multiprocess Firefox and make them compatible.
Not all add-ons will be able to migrate to WebExtensions without having to drop any features. But we want to work with you to get as many add-ons migrated as possible with the functionality you created intact. We invite you to contribute to its evolution, and we look forward to working with you.
- web-ext is a command line tool designed to speed up various parts of the WebExtension development process, making development faster and easier.
- Lookup tool to check your add-on type and get porting resource recommendations
- Embbeded WebExtensions are available to port your stored data
- WebExtensions Helper speeds up browser add-ons development by providing facilities for WebExtensions-based (Firefox, Chrome, Opera and Edge) extensions
- Chrome Extension generator creates everything you need to get started with extension development. You can choose Browser UI(Browser,Page Action, Omnibox) type and select permissions you need.
- Extensionizr is a wizard that helps you create a basic extension
- Chrome Boilerplate
- Skeleton Chrome Extension is an extension bootstrap and template
- Porting guides that map SDK and XUL APIs to available WebExtensions APIs
- How-to guides covering common add-on developer cases, like intercepting web requests and adding a button to the toolbar
- Comparison with the Add-on SDK
- Comparison with XUL/XPCOM extensions
- Browser compatibility table for all WebExtensions APIs
- Examples of WebExtensions
All WebExtensions blog posts are here.
- Mar 9, 2017: Office Hours Support for Transitioning and Porting to WebExtensions
- Feb 16, 2017: The Road to Firefox 57 – Compatibility Milestones
- Jan 25, 2017: WebExtensions in Firefox 53
- Jan 20, 2017: Migrating to WebExtensions: port your stored data
- Dec 16, 2016: Meet Some Nifty New WebExtensions
- Nov 23, 2016: Add-ons in 2017
- Nov 22, 2016: webextensions-examples and Hacktoberfest
- Nov 18, 2016: WebExtensions in Firefox 52
- Nov 3, 2016: More ways to contribute to WebExtensions
- Sep 29, 2016: WebExtensions in Firefox 51
- Sep 28, 2016: How Video DownloadHelper Became Compatible with Multiprocess Firefox
- Sep 13, 2016: WebExtensions and parity with Chrome
- Aug 25, 2016: WebExtensions in Firefox 50
- Aug 12, 2016: WebExtensions Taking Root
- July 27, 2016: Linting and Automatically Reloading WebExtensions
- July 21, 2016: New WebExtensions Guides and How-tos on MDN
- July 14, 2016: WebExtensions support on AMO
- June 9, 2016: WebExtensions in Firefox 49
- May 9, 2016: Results of the WebExtensions API Survey
- Apr 29, 2016: WebExtensions in Firefox 48
- Apr 26, 2016: Migrating Popup ALT Attribute from XUL/XPCOM to WebExtensions
- Apr 14, 2016: Developing Extensions With Web-ext 1.0
- Mar 30, 2016: Tinkering with WebExtensions
- Mar 14, 2016: Advantages of WebExtensions for Developers
- Mar 11, 2016: WebExtensions in Firefox 47
- Feb 2, 2016: WebExtensions in Firefox 46
- Jan 9, 2016: WebExtensions First Impressions
- Dec 21, 2015: WebExtensions in Firefox 45
- Aug 21, 2015: The Future of Developing Firefox Add-ons
Add-on Developer Communication Calendar
Get in Touch
- #teamaddons: team chat
- #addons: support for extensions, themes, plugins and addons.mozilla.org
- #amo: addons.mozilla.org bugs and development
- #amo-editors: add-on reviews and policy
- #extdev: extension development
- #themedev: theme development
- #webextensions: web extensions