--- title: Firefox 3 for developers slug: Mozilla/Firefox/Releases/3 tags: - Firefox 3 - NeedsTranslation - TopicStub translation_of: Mozilla/Firefox/Releases/3 ---
{{FirefoxSidebar}}

If you're a developer trying to get a handle on all the new features in Firefox 3, this is the perfect place to start. This article provides a list of the new articles covering features added to Firefox 3. While it doesn't necessarily cover every little change, it will help you learn about the major improvements.

New developer features in Firefox 3

For web site and application developers

Updating web applications for Firefox 3
Provides information about changes you may need to make to your web site or web application to take advantage of new features in Firefox 3.
Online and offline events
Firefox 3 supports WHATWG online and offline events, which let applications and extensions detect whether or not there's an active Internet connection, as well as to detect when the connection goes up and down.
Web-based protocol handlers
You can now register web applications as protocol handlers using the navigator.registerProtocolHandler() method.
Drawing text using a canvas
You can now draw text in a canvas using a non-standardized API supported by Firefox 3.
Transform support for canvas
Firefox now supports the transform() and setTransform() methods on canvases.
Using microformats
Firefox now has APIs for working with microformats.
Drag and drop events
Firefox 3 supports new events that are sent to the source node for a drag operation when the drag begins and ends.
Focus management in HTML
The new HTML 5 activeElement and hasFocus attributes are supported.
Offline resources in Firefox
Firefox now lets web applications request that resources be cached to allow the application to be used while offline.
CSS improvements in Firefox 3
Firefox 3 features a number of improvements in its CSS support.
DOM improvements in Firefox 3
Firefox 3 offers a number of new features in Firefox 3's DOM implementation, including support for several Internet Explorer extensions to the DOM.
JavaScript 1.8 support
Firefox 3 offers JavaScript 1.8.
EXSLT support
Firefox 3 provides support for a substantial subset of the EXSLT extensions to XSLT.
SVG improvements in Firefox 3
SVG support in Firefox 3 has been upgraded significantly, with support for over two dozen new filters, several new elements and attributes, and other improvements.
Animated PNG graphics
Firefox 3 supports the animated PNG (APNG) image format.

For XUL and extension developers

Notable changes and improvements

Updating extensions for Firefox 3
Provides a guide to the things you'll need to do to update your extension to work with Firefox 3.
XUL improvements in Firefox 3
Firefox 3 offers a number of new XUL elements, including new sliding scales, the date and time pickers, and spin buttons.
Templates in Firefox 3
Templates have been significantly improved in Firefox 3. The key improvement allows the use of custom query processors to allow data sources other than RDF to be used.
Securing updates
In order to provide a more secure add-on upgrade path for users, add-ons are now required to provide a secure method for obtaining updates before they can be installed. Add-ons hosted at AMO automatically provide this. Any add-ons installed that do not provide a secure update method when the user upgrades to Firefox 3 will be automatically disabled. Firefox will however continue to check for updates to the extension over the insecure path and attempt to install any update offered (installation will fail if the update also fails to provide a secure update method).
Places migration guide
An article about how to update an existing extension to use the Places API.
Download Manager improvements in Firefox 3
The Firefox 3 Download Manager features new and improved APIs, including support for multiple progress listeners.
Using nsILoginManager
The Password Manager has been replaced by the new Login Manager.
Embedding XBL bindings
You can now use the data: URL scheme from chrome code to embed XBL bindings directly instead of having them in separate XML files.
Localizing extension descriptions
Firefox 3 offers a new method for localizing add-on metadata. This lets the localized details be available as soon as the add-on has been downloaded, as well as when the add-on is disabled.
Localization and Plurals
Firefox 3 adds the new PluralForm module, which provides tools to aid in correctly pluralizing words in multiple localizations.
Theme changes in Firefox 3
Notes and information of use to people who want to create themes for Firefox 3.

New components and functionality

FUEL Library
FUEL is about making it easier for extension developers to be productive, by minimizing some of the XPCOM formality and adding some "modern" JavaScript ideas.
Places
The history and bookmarks APIs have been completely replaced by the new Places API.
Idle service
Firefox 3 offers the new {{Interface("nsIIdleService")}} interface, which lets extensions determine how long it's been since the user last pressed a key or moved their mouse.
ZIP writer
The new {{Interface("nsIZipWriter")}} interface lets extensions create ZIP archives.
Full page zoom
Firefox 3 improves the user experience by offering full page zoom in addition to text-only zoom.
Interfacing with the XPCOM cycle collector
XPCOM code can now take advantage of the cycle collector, which helps ensure that unused memory gets released instead of leaking.
The Thread Manager
Firefox 3 provides the new {{Interface("nsIThreadManager")}} interface, along with new interfaces for threads and thread events, which provides a convenient way to create and manage threads in your code.
JavaScript modules
Firefox 3 now offers a new shared code module mechanism that lets you easily create modules in JavaScript that can be loaded by extensions and applications for use, much like shared libraries.
The nsIJSON interface
Firefox 3 offers the new {{Interface("nsIJSON")}} interface, which offers high-performance encoding and decoding of JSON strings.
The nsIParentalControlsService interface
Firefox 3 now supports the Microsoft Windows Vista parental controls feature, and allows code to interact with it.
Using content preferences
Firefox 3 includes a new service for getting and setting arbitrary site-specific preferences that extensions as well as core code can use to keep track of their users' preferences for individual sites.
Plug-in Monitoring
A new component of the plugin system is now available to measure how long it takes plugins (e.g., Macromedia Flash) to execute their calls.

Fixed bugs

Notable bugs fixed in Firefox 3
This article provides information about bugs that have been fixed in Firefox 3.

New features for end users

User experience

Security and privacy

Performance

See also

{{Firefox_for_developers('2')}}