Labs/Jetpack/Release Notes/1.0b1
About the SDK
The Add-on SDK is a downloadable software development kit that provides a set of tools and APIs for building, testing, and packaging Firefox add-ons.
Installation
Obtain the SDK in your favorite compression format:
Once you've got that, just unpack the archive, open the addon-sdk-1.0b1/README.txt file, and follow its instructions.
Notable Changes
New features:
init
option incfx
command, let create an addon sample for the easy and fast experimentation and development expirience of addon SDK developers, all developers have to do is:
mkdir addonDirectory
cd addonDirectory
cfx init
init
will add new functionalities in future like creation of public/private keypair and the directory creation when would be needed.
(bug 566814)
- 604499 myk Need to be able to use old addon id as the id for Jetpack SDK generated extension
- Early experimental support for out-of-process Add-ons, also known as Electrolysis or e10s, has been added to the Add-on SDK. An add-on can be run in a separate process if the
--e10s
option is passed to thecfx
tool. Documentation for the feature still needs to be added to the SDK, but eager souls can view the documentation for the e10s proof-of-concept, which remains largely accurate. (bug 567703)
- Add-ons created using the SDK can now easily specify an icon to represent them in Firefox's Add-on Manager and other places. Simply drop a PNG file named
icon.png
into the root of your Add-on's package directory, or read more in the SDK documentation. (bug 588119)
Compatibility changes:
- Add-ons created with the SDK are now marked as compatible with the latest Firefox nightlies. (bug 613341)
Project-wide reorganization:
- 570876 myk rename the Jetpack SDK to "Add-on SDK"
- 613348 myk jetpack-core should be renamed to api-utils
E10s changes:
- Update the widget API for e10s (bug 569479)
- Changed the Widget API to use the content-scripts API.
- Removed events related to web content in widgets.
- Renamed the image property to contentURL, making it consistent with all content-scripts-based APIs.
- 593908 rFobic make tabs module e10s-compatible
Move to construct/destroy model:
- In the
panel
module, theadd()
function is no longer necessary and has been removed: simply creating a newPanel
instance accomplishes the same thing. Theremove()
function has also been removed in favor of a new method on thePanel
class calleddestroy()
. (bug 611763)
- 596053 adw switch to construct/destroy model for Panel, PageWorker, Widget and other APIs that create persistent DOM elements
- 612016 adw Switch to construct/destroy model for context-menu
- 612169 adw Switch to construct/destroy model for widget
- 612180 adw Switch to construct/destroy model for page-worker
- 612463 adw Switch to construct/destroy model for page-mod
Event handling changes:
- 598980 rFobic change "windows" module to use EventEmitter event registration model
- 598981 rFobic change "tabs" module to use EventEmitter event registration model
- 602992 rFobic EventEmitter should let objects set a |this| object
- 616758 adw Convert context-menu events to style described in bug 593921
- 616766 adw Convert notification events to style described in bug 593921
- 616770 adw Convert simple-storage events to style described in bug 593921
- 616785 myk PageMod throws exception when XML document element inserted
- 616866 adw Convert widget events to style described in bug 593921
- 616900 adw Convert selection events to style described in bug 593921
- 616907 adw Convert private-browsing events to style described in bug 593921
- 616912 adw Convert request events to style described in bug 593921
Misc API changes (renamings, removals, type changes):
- 612678 rFobic Tab.location property should be a string
- 612681 rFobic Tab.thumbnail property should be a data: URI String
- 612716 rFobic rename contentScriptURL to contentScriptFile
- 612685 rFobic onReady option to Windows API's openWindow() not useful, should be removed
- 612719 adw remove "ready" event from Page Worker API doc
- 612733 adw rename "active" property to "isActive" and add activate(), deactivate() functions to Private Browsing API
- 612735 adw rename "contiguous" property to "isContiguous" in Selection API
- 612747 rFobic Tab.close() should accept a callback to be called when the closing process finishes
- 612758 rFobic browserWindows.openWindow() should be simply open()
- 612770 adw pull l10n API for initial beta
- 615164 rFobic rename Tab.pinned to isPinned, make read-only, and add pin()/unpin() methods
CFX changes:
- 614129 adw change cfx options based on usage expectations
- 614130 adw distinguish between supported/experimental/internal commands/options and tool/command options
- The undocumented
xpcom
command has been removed, along with its associated options--srcdir
and--objdir
. (bug 614568)
- 614128 nobody remove obsolete/redundant commands and options
A complete list of changes is available in the source code repository.
Known Issues
- A variety of tests are failing intermittently. See bug 606351 for the details.
Also see the complete list of known issues and requests for enhancement.
Feedback and Bug Reports
We'd love to hear any feedback you have regarding this release! You can post it to the discussion forum or report a bug.