Jetpack/Release Notes/1.0


Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

About

This is the first stable release of the Add-on SDK.

The Add-on SDK makes it easy to develop Firefox add-ons using JavaScript, HTML, and CSS. This means you no longer need to understand how to work with the XUL or XPCOM to write add-ons.

Add-ons developed with the SDK are:

  • restartless: so users can try them out without interrupting their browsing
  • forward-compatible: will continue to work as new versions of Firefox are released. In particular they are already structured to work with Electrolysis, the forthcoming architecture in which Firefox uses separate processes to display the browser UI, handle web content and execute add-ons.

To learn more about the SDK, you can browse the documentation online.

Major Features

The SDK provides two things:

  • a set of JavaScript APIs which you can use to create your user interface, and to interact with web content and the browser
  • a command-line tool called cfx which takes care of packaging your code into an add-on, leaving you free to concentrate on the code itself

JavaScript APIs

For an overview of the APIs check out the API introduction in the online documentation.

In 1.0 we've defined a limited set of supported APIs which cover the following categories:

  • building a UI: defining dialogs, widgets, context menu items, and notification alerts
  • interacting with the web: fetching, examining, and modifying web pages
  • interacting with the browser: accessing the clipboard, getting information about the set of open windows and tabs, handling private browsing
  • some basic utility functions like persistent storage

There are additional APIs which you can use, but we don't yet consider them stable, so we might change them in incompatible ways in future releases.

The SDK is extensible by design: so it's possible for you to create your own APIs that expose additional functionality, and make them available to other developers. Here's a list of some of these third party modules.

cfx

cfx is the command-line tool the SDK supplies for:

  • initializing your add-on: creating its skeleton structure
  • running your add-on to smoke test it without needing to going through the packaging/installation cycle
  • unit testing

Installation

To use the SDK you download and install it locally. You'll need Python version 2.5 or 2.6, and Firefox version 4 or higher.

Obtain the SDK in your favorite compression format:

Then unpack the archive, open the addon-sdk-1.0/README.txt file, and follow its instructions.

Getting Help

If you can't find the answer to your question in the documentation:

  • see if your question is answered in the FAQ
  • SDK users and project team members discuss problems and proposals on the project mailing list. Someone else may have had the same problem you do, so try searching the list. You're welcome to post a question, too.

Known Issues

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 group or report a bug.