Labs/Jetpack/Release Notes/1.0b1

From MozillaWiki
< Labs‎ | Jetpack‎ | Release Notes
Revision as of 20:29, 6 December 2010 by Varmaa (talk | contribs) (→‎Notable Changes: Documented moving Panel to construct/destroy model.)
Jump to navigation Jump to search

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:

  • 566814 Julián cfx needs a stub package generator
  • 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 the cfx 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, the add() function is no longer necessary and has been removed: simply creating a new Panel instance accomplishes the same thing. The remove() function has also been removed in favor of a new method on the Panel class called destroy(). (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
  • 610816 avarma Store options.staticArgs as an object instead of a serialized JSON 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
  • 614568 avarma Remove 'xpcom' command from cfx
  • 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.