The Add-on SDK is a software development kit that provides a set of tools and APIs for building, testing, and packaging Firefox add-ons.
Obtain the SDK in your favorite compression format:
Then unpack the archive, open the addon-sdk-1.14/README.txt file, and follow its instructions.
Major Changes Since 1.13
If your add-on uses private browsing and is built with an earlier version of the SDK, it must be repacked with this version to be usable on Firefox 20. We are aiming to automate repacks of as many add-ons as possible, and will contact the authors of AMO-hosted add-ons to let them know if they need to repack.
Due to a platform bug, if you update your code to use the new private browsing APIs (rather than just repack your code with the new SDK version), then your add-on will not be able to use the panel module.
Unique IDs for tabs
Tabs now have a unique ID: bug 795645.
Many bug fixes, including:
- Bug 731074 - console.log not working from a panel's script
- Bug 752775 - "ReferenceError: console is not defined" with deprecated postMessage() usage in a content script
- Bug 661884 - Selection events occur only after (successful!) page load
- Bug 804935 - TypeError: window.tabs is undefined
See the complete list of known issues and requests for enhancement. We've listed some of the issues you're most likely to encounter separately below.
Can't load content from "data" directory into an iframe. Reported on the forum: https://forums.mozilla.org/addons/viewtopic.php?f=27&t=11689 - it's not possible to load content from an HTML file in an add-on's data directory into an iframe.
Specified panel width ignored when Firefox is maximized.
Access to Full Screen API blocked from context-menu API.
passwords.search() function "crashes" with some profiles.
If you change location in a content script using:
Nothing happens, instead, `location` attribute is just replaced by a string.
The tab array is not reordered to match the on-screen order of the tabs after a tab move event takes place.
The SDK will give an error if your package name contains spaces or Unicode characters.
If your add-on stores data using the simple-storage API, the data is not cleaned up when your add-on is uninstalled.
If an add-on is uninstalled while it's disabled, it's not notified of uninstall. If the add-on needs to do some special cleanup on uninstall, like removing persistent storage such as a file, this won't be possible if it has been disabled.
By default, widgets are placed on the add-on bar, and given a height to match the height of that bar. If the user moves the widget to a different toolbar, and that toolbar has a different height, the widget's height is not updated accordingly.
A widget containing HTML content gets no icon in the Customize Toolbar Window.
When a user removes a widget from the toolbar its
detach event does not get sent.
If you have copy of mozrunner installed on your system, the
cfx test command may not work correctly.
There is a workaround for this.