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.
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 Firefox4.
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 MacOSX
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]
Config option to limit the number of tabs loaded at once during the session restore, which also made possible to lazy load tabs (the latter behavior was put in preferences in version 8).[221][222]
Changes during release candidates
General stability, performance, and compatibility improvements.[223]
Blacklisted a few invalid HTTPS certificates.[224]
Updated localizations for 29 locales.
Added Vietnamese localization, bringing the total languages available in Firefox 4 to 83.
Features 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