The project that became
Firefox today began as an experimental branch of the
Mozilla Suite called m/b (or mozilla/browser). Firefox retains the
cross-platform nature of the original Mozilla browser, using the
XULuser interface markup language. The use of XUL makes it possible to extend the browser's capabilities through the use of
extensions and
themes. The development and installation processes of these add-ons raised security concerns, and with the release of Firefox 0.9, the Mozilla Foundation opened a Mozilla Update website containing "approved" themes and extensions. The use of XUL sets Firefox apart from other browsers, including other projects based on Mozilla's
Geckolayout engine and most other browsers, which use interfaces native to their respective platforms (
Galeon and
Epiphany use
GTK+,
K-Meleon uses
MFC, and
Camino uses
Cocoa). Many of these projects started before Firefox, and probably served as inspiration.
Releases
Phoenix and Firebird
Hyatt, Ross, Hewitt and Chanial[1] developed their browser to combat the perceived
software bloat of the
Mozilla Suite (codenamed, internally referred to, and continued by the community as SeaMonkey), which integrated features such as
IRC,
mail, news, and
WYSIWYGHTML editing into one
internet suite. After it was sufficiently developed,
binaries for public testing appeared in September 2002 under the name Phoenix. This name carried the implication of the
mythical firebird that rose triumphantly from the ashes of its dead predecessor, in this case
Netscape Navigator which lost the "
First browser war" to
Microsoft's
Internet Explorer. The name Mozilla began as the internal
codename for the original 1994 Netscape Navigator browser aiming to displace
NCSA Mosaic as the world's most popular
web browser. The name for this would-be "Mosaic killer" was meant to evoke the building-crushing
Godzilla.[2] The name Mozilla was revived as the 1998 open sourcing spinoff organization from Netscape.
The name Phoenix remained until April 14, 2003, when it was changed because of a trademark dispute with the
BIOS manufacturer
Phoenix Technologies (which produces a BIOS-based browser called Phoenix FirstWare Connect). The new name, Firebird, met with mixed reactions, particularly as the
Firebird database server already carried the name. In response, the Mozilla Foundation stated that the browser should always bear the name Mozilla Firebird to avoid confusion with the database software.
Due to continuing pressure from the Firebird community,[14] on February 9, 2004, the project was renamed again to Mozilla Firefox.[15] The name "Firefox" (a reference to the
red panda)[16] was chosen for its similarity to "Firebird", and its uniqueness in the computing industry. To ensure that no further name changes would be necessary, the Mozilla Foundation began the process of registering Firefox[17] as a
trademark with the
United States Patent and Trademark Office in December 2003. This trademark process led to a delay of several months in the release of Firefox 0.8 when the foundation discovered that Firefox had already been registered as a trademark in the
UK[18] for Charlton Company software.[19] The situation was resolved when the foundation was given a license to use Charlton's European trademark.
Firefox version 1.0 was released on November 9, 2004.[20] The launch of version 1.0 was accompanied by "a respectable amount of pre-launch fervor"[21] including a fan-organized campaign to run a full-page ad in The New York Times.
Although the Mozilla Foundation had intended to make the Mozilla Suite obsolete and replace it with Firefox, the Foundation continued to maintain the suite until April 12, 2006[22] because it had many corporate users and was bundled with other software. The Mozilla community (as opposed to the Foundation) continues to release new versions of the suite, using the product name
SeaMonkey to avoid confusion with the original Mozilla Suite.
Firefox 1.5 was released on November 30, 2005. Originally, it was planned to have a version 1.1 at an earlier date as the new Firefox version after 1.0, with development on a later version (1.5) in a separate development branch, but during 2005 both branches and their feature sets were merged (the Mozilla Foundation abandoned the 1.1 release plan after the first two alpha builds), resulting in an official release date between the original dates planned for both versions.
Version 1.5 implemented a new
Mac-like
options interface, the subject of much criticism from
Microsoft Windows and
Linux users, with a "
Sanitize" action to allow someone to clear their privacy-related information without manually clicking the "Clear All" button. In Firefox 1.5, a user could clear all privacy-related settings simply by exiting the browser or using a keyboard shortcut, depending on their settings. Moreover, the software update system was
improved (with binary patches now possible). There were also
improvements in the extension management system, with a number of
new developer features. In addition, Firefox 1.5 had preliminary
SVG 1.1 support.[38]
Behind the screens, the new version resynchronized the code base of the release builds (as opposed to nightly builds) with the core "trunk", which contained additional features not available in 1.0, as it
branched from the trunk around the 0.9 release. As such, there was a backlog of bug fixes between 0.9 and the release of 1.0, which were made available in 1.5.
There were also changes in
operating system support. As announced on 23 June 2005 by the Mozilla Foundation, Firefox 1.1, which later became 1.5, and other new Mozilla products have no longer supported
Mac OS X v10.1, in order to improve the quality of Firefox releases on
Mac OS X v10.2 and above. Firefox 1.5 is the final version to support
Windows 95.
Alpha builds of Firefox 1.5 (id est, 1.1a1 and 1.1a2) did not carry Firefox branding; they were labelled "Deer Park" (which was Firefox 1.5's internal codename) and contained a different program icon. This was done to dissuade end-users from downloading preview versions, which are intended for developers only.
On October 24, 2006, Mozilla released
Firefox 2. This version included updates to the
tabbed browsing environment, the extensions manager, the
GUI (Graphical User Interface), and the find, search and software update engines. It also implemented a new session restore feature, inline
spell checking, and an
anti-phishing feature which was implemented by
Google as an extension[56][57] and later merged into the program itself.[58]
In December 2007, Firefox Live Chat was launched. It allowed users to ask volunteers questions through
a system powered by
Jive Software, with guaranteed hours of operation and the possibility of help after hours.[59]
Firefox 2.0.0.20 was the final version that could run under an unmodified installation of
Windows NT 4.0,
Windows 98, and
Windows Me.[60][failed verification][61] Subsequently, Mozilla Corporation announced it would not develop new versions of Firefox 2 after the 2.0.0.20 release, but continued Firefox 2 development as long as other programs, such as
Thunderbird mail client, depended on it. The final internal release was 2.0.0.22, released in late April 2009.
Anti-
phishing protection. Search suggestions appear with search history in the search box for Google and Yahoo!. Support for client-side session and persistent storage.[65]
Changes during betas
Improved feed support. New
NSIS-based installer. JavaScript 1.7. Enhanced security and localization support for extensions.[66]
New Winstripe theme refresh: new navigation icons, URL bar refresh (new Go button attached to the URL bar), Search bar refresh, Tab bar refresh, Alltabs button (used to view a popup list of all tabs open).[67]
Firefox 3 was released on June 17, 2008,[87] by the
Mozilla Corporation. Firefox 3 uses version 1.9 of the Mozilla
Gecko layout engine for displaying web pages. This version fixes many bugs, improves standard compliance, and implements new web
APIs.[88] Other new features include a redesigned
download manager, a new "Places" system for storing
bookmarks and
history, and separate
themes for different operating systems.
Development stretches back to the first Firefox 3
beta (under the codename 'Gran Paradiso'[89]) which had been released several months earlier on November 19, 2007,[90] and was followed by several more beta releases in spring 2008 culminating in the June release.[91] Firefox 3 had more than 8 million unique downloads the day it was released, setting a
Guinness World Record.[92]
Effective top-level domain (eTLD) service better restricts cookies and other restricted content to a single domain.
Better protection against cross-site JSON data leaks.
Easier password management – save passwords after successful login
Simplified add-on installation from third parties
New Download Manager
Resumable downloading after closing the browser
Full page zoom
Podcasts and Videocasts can be associated with your media playback tools
Tab scrolling and quickmenu
Save what you were doing – Firefox 3 will prompt users to save tabs on exit.
Optimized Open in Tabs behavior
Location and Search bar size can now be customized with a simple resizer item.
Text selection improvements (select multiple selections of text)
Find toolbar: the Find toolbar now opens with the current selection.
Plugin management with the add-on manager
Improved integration with Windows
Improved integration with the Mac
Integration with Linux GTK theme
Bookmark star button
Bookmark tags
Smart Location Bar
Library of bookmarks, history, etc.
Smart Bookmark Folders
Web-based protocol handlers for mail:to
Download & Install Add-ons from the Add-on manager
Easy to use Download Actions
New graphics and font handling in Gecko 1.9 provide rendering improvements in:
CSS
SVG
Display of fonts with
ligatures and complex scripts
Color management of images with capabilities
Offline support for web applications
Improved speed
Reduced memory usage
Increased reliability
25000 total code changes
Security fixes
Stability fixes
Changes during alphas
Cairo graphics library.
Cocoa Widgets in OS X builds. Updated threading model. Changes to how
DOM events are dispatched, how HTML object elements are loaded, and how web pages are painted. New SVG elements and filters, and improved SVG specification compliance.
Windows 95,
98,
ME and
Mac OS X v10.2 no longer supported. Moving DOM nodes between documents require a call to importNode or adoptNode as per the DOM specification.[94]
Reflow refactoring (leading to
Acid2 test compliance) among numerous layout bug fixes. Web Apps 1.0 API for changing stylesheets support. Inline-block and inline-table values of CSS 2.1's display property implemented. XML documents can be rendered during download. Greatly improved Mac widgets support since Alpha 1. Improvements in Cairo graphics layer. Non-standard JavaScript "Script" object no longer supported.[95]
Support for allowing web pages to store resources in the browser's offline cache. Support for
Animated PNG images. Support for the "HTTPOnly" cookie extension which provides enhanced cookie privacy (also
backported to Firefox 2.0.0.5). Improvements to layout and scaling precision across numerous screen and printer resolutions.[96]
Adding of FUEL JavaScript library for extension developers. Rewrite of Page Info dialog. Upgrade to Cairo 1.4.2. More Cocoa regression fixes.[97]
Places (bookmark and history service based on
SQLite) used by default, but no front-end changes. Breakpad used as crash reporter on Windows and Mac OS X, superseding closed-source Talkback. Password manager rewrite. Support for
Growl and native widgets within forms for Mac OS X.[98]
Upgrade of SQLite to version 3.3.17, leading to increased
cookie performance due to transition of cookie service to SQLite. Site-specific preference service, used initially for text zoom, allowing zoom setting to remain on each website. Support for native widgets within forms for Linux. New Quit dialog handles multiple windows more elegantly and allows users to save session. Autoscroll rewrite: numerous bug fixes and significant performance gain. Fixes to the use of units within the download manager. Various Places bug fixes.[99]
More APIs implemented from
WHATWG specs, such as ability to read files from file selection fields without need to upload and cut/copy/paste events, and cross-site
XMLHttpRequest. New protocol-handling dialog. Experimental full-page zoom support, but no UI to control it. Numerous Mac OS X bug fixes, but Mac OS X 10.3 no longer supported for Gecko 1.9. General bug fixes.[100]
New, basic UI for tagging bookmarks. Remember password prompt changed to non-modal information bar. Malware blacklist support. New UI for FTP and File protocol listings. Applications pane added to preferences. Basic support for web-based protocol handlers.[101]
Changes during betas
New UI improvements, including redesigned location bar, Places Organizer, Smart Bookmarks. Various stability and performance improvements.[102]
New UI improvements, including redesigned buttons and location bar. Different default native themes for each operating system. Upgraded to SQLite 3.5.4. Various stability and performance improvements.[103]
New UI improvement, including improved default themes for different operating systems. Various improvements in speed and resource usage.[104]
Further improved themes to match various operating systems, JavaScript engine optimizations for speed, improved Places organizer.[105]
Version 3.5, codenamed
Shiretoko,[125] adds a variety of new features to Firefox. Initially numbered Firefox 3.1, Mozilla developers decided to change the numbering of the release to 3.5 in order to reflect a significantly greater scope of changes than originally planned.[126] The final release was on June 30, 2009. The changes included much faster performance thanks to an upgrade to
SpiderMonkeyJavaScript engine called
TraceMonkey and rendering improvements,[127] and support for the <video> and <audio> tags as defined in the
HTML5 specification, with a goal to offer video playback without being encumbered by
patent problems associated with many video technologies.[128] Cross-site
XMLHttpRequests (XHR), which can allow for more powerful web applications and an easier way to implement
mashups, are also implemented in 3.5.[129] A new global
JSON object contains native functions to efficiently and safely
serialize and deserialize JSON objects, as specified by the
ECMAScript 3.1 draft.[130] Full
CSS 3 selector support has been added. Firefox 3.5 uses the Gecko 1.9.1 engine, which includes a few features that were not included in the 3.0 release.
Multi-touch touchpad support was also added to the release, including
gesture support like pinching for zooming and swiping for back and forward.[131] Firefox 3.5 also features an updated logo.[132]
Available in 54 languages. Added new Private Browsing Mode. Added functions to facilitate clearing recent history by time as well as to remove all traces of a website. New support for
web worker threads. New TraceMonkey JavaScript engine on by default for web content. Improvements to Gecko layout engine, including speculative parsing for faster content rendering. Removed new tab-switching behavior based on user feedback. Support for new web technologies.[clarification needed][135]
Available in 64 languages.
Improved new Private Browsing Mode.
Improvements to web worker thread support.
Improved performance and stability with the TraceMonkey JavaScript engine.
New native JSON support.
Improvements to Gecko layout engine, including speculative parsing for faster content rendering.
Support for new web technologies such as <video> and <audio> elements, W3C Geolocation API, JavaScript query selectors, CSS 2.1 and 3 properties, SVG transforms and offline applications.
Available in 70 languages.
Improved tools for controlling private data, including Private Browsing Mode.
Better performance and stability with new TraceMonkey JavaScript engine.
Ability to provide Location Aware Browsing using web standards for geolocation.
Support for native JSON, and web worker threads.
Improvements to Gecko layout engine, including speculative parsing for faster content rendering.
Support for new web technologies such as HTML5 <video> and <audio> elements, downloadable fonts and other new CSS properties, JavaScript query selectors, HTML5 offline data storage for applications, and SVG transforms.
Version 3.6, released on January 21, 2010, uses the Gecko 1.9.2 engine and includes several interface improvements, such as "personas". This release was referred to as 3.2 before 3.1 was changed to 3.5. The codename for this version was Namoroka. This is the last major, official version to run on
PowerPC-based
Macintoshes.
One minor update to Firefox 3.6, version 3.6.4 (code-named
Lorentz) is the first minor update to make non-intrusive changes other than minor stability and security fixes. It adds Out of Process Plugins (OOPP)[citation needed], which runs plugins in a separate
process, allowing Firefox to recover from plugin crashes.[155] Firefox 3.6.6 lengthens the amount of time a plugin is allowed to be unresponsive before the plugin quits.[156]
Protection from out-of-date plugins to keep users safer as they browse.
Open, native video can now be displayed full screen and supports poster frames.
Improved JavaScript performance, overall browser responsiveness, and startup time.
The ability for web developers to indicate that scripts should run asynchronously to speed up page load times.
Continued support for downloadable web fonts using the new WOFF font format.
Support for new CSS attributes such as gradients, background sizing, and pointer events.
Support for new DOM and HTML5 specifications including the Drag & Drop API and the File API, which allow for more interactive web pages.
Changes to how third-party software can integrate with Firefox in order to prevent crashes.
Changes during alphas
Compositor (Phase 1), which moves Gecko to using one native widget per top-level content document.
A new focus model.
The chromedir attribute has been replaced with a pseudoclass.
Several new CSS3 properties including background size and gradients for background images.
Speed improvements to the TraceMonkey JavaScript engine.
Startup and responsiveness improvements throughout the application.[158]
Changes during betas
Users can now change their browser's appearance with a single click, with built in support for Personas. Firefox 3.6 will alert users about out of date plugins to keep them safe. Open, native video can now be displayed full screen, and supports poster frames. Support for the WOFF font format. Improved JavaScript performance, overall browser responsiveness and startup time. Support for new CSS, DOM and HTML5 web technologies.[159]
A mechanism to prevent incompatible software from crashing Firefox.[160]
A change to how third-party software integrates with Firefox to increase stability. The ability to run scripts asynchronously to speed up page load times.[161]
Provides uninterrupted browsing for Windows and Linux users when there is a crash in the Adobe Flash, Apple
QuickTime or Microsoft
Silverlight plugins.
Regular security and stability update. Also added support for X-FRAME-OPTIONS HTTP response header to help prevent
clickjacking and removed option to enable experimental HTML5 parser via user preference html5.enable in about:config.[168]
Off-cycle stability update. Turned off downloadable font support for users running Mac OS X 10.7 due to an underlying platform bug. No changes made on Windows side.[178]
On October 13, 2006,
Brendan Eich, Mozilla's then-
Chief-Technology-Officer, wrote about the plans for "Mozilla 2", referring to the most comprehensive iteration (since its creation) of the overall platform on which Firefox and other Mozilla products run.[188] Most of the objectives were gradually incorporated into Firefox through versions 3.0, 3.5, and 3.6. The largest changes, however, were planned for Firefox 4.
After five "Alpha" releases, twelve "Beta" releases, and two "Release Candidate" versions, Firefox 4 was released on March 22, 2011, originally Firefox 3.7 (Gecko 1.9.3) during its alpha stage,[189] brought a new
user interface and is said to be faster.[190] Early
mockups of the new interface on
Windows,
Mac OS X, and
Linux were first made available in July 2009.[191][192][193] Other new features included improved notifications, tab groups, "switch to tab" where opened tabs can be searched through the address bar,[194] application tabs, a redesigned add-on manager, integration with
Firefox Sync, and support for multi-touch displays.[195][196][197][198][199]
Core Animation rendering model for plugins on Mac OS X
Web developers can update the URL field without reloading the page using HTML History APIs
More responsive page rendering using lazy frame construction
Link history lookup is done asynchronously to provide better responsiveness during pageload
CSS :visited selectors have been changed to block websites from being able to check a user's browsing history
New HTML5 parser
Support for more HTML5 form controls
Web authors can now get touch events from Firefox users on Windows 7 machines
A new way of representing values in JavaScript that allows Firefox to execute heavy, numeric code more efficiently.
Changes during alphas
Support for WebGL(Disabled by default, but can be enabled by changing a preference). Support for new CSS, DOM and HTML5 web technologies.[204]
On Windows and Linux, plugins (such as Flash and Silverlight) are now isolated from Firefox. Plugin crashes will not kill Firefox itself, and unresponsive plugins are automatically restarted. The SSL security system has been changed to fix a renegotiation flaw. Link history lookup is now performed asynchronously on a thread. Loading the HTML5 specification no longer causes very long browser pauses. Some JavaScript engine improvements. The stop and reload buttons have been merged when they are adjacent on the toolbar. More performance and stability improvements.[205]
An experimental Direct2D rendering backend on Windows is available, turned off by default. Significant API improvements are available for JS-ctypes. Mozilla now uses an infallible allocator. Additional fixes for multi-process plugins.[206]
CSS :visited selectors have been changed to block ways that websites can quickly check a user's browsing history. Currently loaded web pages are shown in the location bar autocomplete list, allowing switching to existing tabs. The beta version of Adobe Flash is now run in a separate process on Mac OS X Snow Leopard (10.6). Full-screen video on Windows is now rendered using hardware acceleration when available. Mozilla has implemented the Core Animation rendering model for plugins on Mac OS X. Linux builds are now built with -fomit-frame-pointer. Support for new SVG and HTML5 web technologies.[207]
Added WebM video playback.
First official release to include linux-x86_64 and mac-x86_64 builds and first regular release to include
WebM video playback. New Addons Manager (placeholder UI only). Tab on Top can now be implemented. Firefox now uses hardware acceleration for video playback. Cocoa NPAPI support. ChromeWorker with jsctypes support. Lazy frame construction for faster dynamic pages. JavaScript performance improvements. Loading the URL about:memory now shows how much memory is used by different parts of Firefox. More Performance improvement and support for new CSS and HTML5 web technology.[208]
Changes during betas
Tabs are now on top by default on Windows. On Windows Vista and Windows 7 the menu bar has been replaced with the Firefox button. The Bookmarks Toolbar has been replaced with a Bookmarks Button by default (you can switch it back if you'd like). Support for more HTML5 technologies.[209]
Tabs are now on top by default on OSX. App Tabs can now be created. Content animation using CSS Transitions can now be implemented. Responsiveness and scrolling improvements from the new retained layers layout system. JavaScript speed improvements due to engine optimizations. Changes to how XPCOM components are registered in order to help startup time and process separation.[210]
Web authors can now get touch events from Firefox users on Windows 7 machines. A new way of representing values in JavaScript that allows Firefox to execute heavy, numeric code (used for things like graphics and animations) more efficiently.[211]
Firefox Sync is now included. Panorama, a new feature that gives users a visual overview of all open tabs, allowing them to be sorted and grouped, is now included. An experimental API is included to provide more efficient Javascript animations. Firefox now supports the HTML5 video "buffered" property.[212]
Support for the new proposed Audio Data API. Direct2D Hardware Acceleration is now on by default for Windows 7 users. Firefox button has a new look for Windows Vista and Windows 7 users. Support for HSTS security protocol allowing sites to insist that they only be loaded over SSL.[213]
Fixed a stability issue affecting Windows users. Fixed an issue causing rendering errors with plugins affecting Mac OS X users.[214]
Uses JägerMonkey, a new, faster JavaScript engine. WebGL is enabled by default on Windows and Mac OS X. Certain rendering operations are now hardware-accelerated using Direct3D 9 on Windows XP, Direct3D 10 on Windows Vista and 7, and OpenGL on Mac OS X. Improved web typography using OpenType with support for ligatures, kerning and font variants. HTML5 Forms API makes web based forms easier to implement and validate.[215]
The Firefox Sync setup experience has been greatly improved across desktop and mobile devices. Speed, functionality, and compatibility improvements to WebGL. Additional polish for the Firefox Add-ons Manager.[216]
Overhaul of the bookmarks and history code, enabling faster bookmarking and startup performance. Per-compartment garbage collection is now enabled, reducing work done during complex animations.[217]
Compatibility and stability improvements when using Adobe Flash on Mac OS X. Improvements in memory usage. Support for a graphics driver blacklist to improve stability.[218]
Support for the proposed Do Not Track ("DNT") header. Connection status messages are now shown in a small overlay. WebGL has been re-enabled on Linux. The default homepage design has been refreshed. Firefox no longer switches into offline mode automatically.[219]
Increased performance while viewing Flash content. Improved plugin compatibility with hardware acceleration enabled. Hovering over links now displays the URL at the bottom of the window rather than in the location bar. General stability, performance, and compatibility improvements.[220]
Changes during release candidates
General stability, performance, and compatibility improvements.[221]
Blacklisted a few invalid HTTPS certificates.[222]
Updated localizations for 29 locales.
Added Vietnamese localization, bringing the total languages available in Firefox 4 to 83.
^
abcdefghijFeatures highlighted may exist in beta stages prior to an official release build of the immediate version, or in an incremental minor version build prior to the last one.
^Class 09: Computer software for use in managed communications and connectivity.
Class 42: Computer consultancy services; licensing and rental of computer software; design and development of computer software; maintenance, installation and up-dating of computer software; advisory services relating to computer programs and software