Firefox 5 is here

Today, three months after the release of Firefox 4, we release Firefox 5, thanks to our new development cycle. Developers will be able to create richer animations using CSS3 Animations. This release comes with various improvements, performance optimization and bug fixes.

CSS3 Animations

CSS Animations (check out the documentation) are a new way to create animations using CSS. Like CSS Transitions, they are efficient and run smoothly (see David Baron’s article), and the developers have a better controls over the intermediate steps (keyframes), and can now create much more complex animations.

Notable changes

Other Bug Fixes and Performance Improvements:


Canvas improvements

  • The <canvas> 2D drawing context now supports specifying an ImageData object as the input to the createImageData() method; this creates a new ImageData object initialized with the same dimensions as the specified object, but still with all pixels preset to transparent black.
  • Specifying non-finite values when adding color stops through a call to the CanvasGradient method addColorStop() now correctly throws INDEX_SIZE_ERR instead of SYNTAX_ERR.
  • The HTMLCanvasElement method toDataURL() now correctly lower-cases the specified MIME type before matching.
  • getImageData() now correctly accepts rectangles that extend beyond the bounds of the canvas; pixels outside the canvas are returned as transparent black.
  • drawImage() and createImageData() now handle negative arguments in accordance with the specification, by flipping the rectangle around the appropriate axis.
  • Specifying non-finite values when calling createImageData() now properly throws a NOT_SUPPORTED_ERR exception.
  • createImageData() and getImageData() now correctly return at least one pixel’s worth of image data if a rectangle smaller than one pixel is specified.
  • Specifying a negative radius when calling createRadialGradient() now correctly throws INDEX_SIZE_ERR.
  • Specifying a null or undefined image when calling createPattern() or drawImage() now correctly throws a TYPE_MISMATCH_ERR exception.
  • Specifying invalid values for globalAlpha no longer throws a SYNTAX_ERR exception; these are now correctly silently ignored.
  • Specifying invalid values when calling translate(), transform(), rect(), clearRect(), fillRect(), strokeRect(), lineTo(), moveTo(), quadraticCurveTo(), or arc() no longer throws an exception; these calls are now correctly silently ignored.
  • Setting the value of shadowOffsetX, shadowOffsetY, or shadowBlur to an invalid value is now silently ignored.
  • Setting the value of rotate or scale to an invalid value is now silently ignored.


  • Support for CSS animations has been added, using the -moz- prefix for now.


  • The selection object’s modify() method has been changed so that the “word” selection granularity no longer includes trailing spaces; this makes it more consistent across platforms and matches the behavior of WebKit’s implementation.
  • The window.setTimeout() method now clamps to send no more than one timeout per second in inactive tabs. In addition, it now clamps nested timeouts to the smallest value allowed by the HTML5 specification: 4 ms (instead of the 10 ms it used to clamp to).
  • Similarly, the window.setInterval() method now clamps to no more than one interval per second in inactive tabs.
  • XMLHttpRequest now supports the loadend event for progress listeners. This is sent after any transfer is finished (that is, after the abort, error, or load event). You can use this to handle any tasks that need to be performed regardless of success or failure of a transfer.
  • The Blob and, by extension, the File objects’ slice() method has been removed and replaced with a new, proposed syntax that makes it more consistent with Array.slice() and String.slice() methods in JavaScript. This method is named mozSlice() for now.
  • The value of window.navigator.language is now determined by looking at the value of the Accept-Language HTTP header.


  • Regular expressions are no longer callable as if they were functions; this change has been made in concert with the WebKit team to ensure compatibility (see WebKit bug 28285).
  • The Function.prototype.isGenerator() method is now supported; this lets you determine if a function is a generator.


  • The class SVG attribute can now be animated.
  • The following SVG-related DOM interfaces representing lists of objects are now indexable and can be accessed like arrays; in addition, they have a length property indicating the number of items in the lists: SVGLengthList , SVGNumberList , SVGPathSegList , and SVGPointList.


  • Firefox no longer sends the “Keep-Alive” HTTP header; we weren’t formatting it correctly, and it was redundant since we were also sending the Connection: or Proxy-Connection: header with the value “keep-alive” anyway.
  • The HTTP transaction model has been updated to be more intelligent about reusing connections in the persistent connection pool; instead of treating the pool as a FIFO queue, Necko now attempts to sort the pool with connections with the largest congestion window (CWND) first. This can reduce the round-trip time (RTT) of HTTP transactions by avoiding the need to grow connections’ windows in many cases.
  • Firefox now handles the Content-Disposition HTTP response header more effectively if both the filename and filename* parameters are provided; it looks through all provided names, using the filename* parameter if one is available, even if a filename parameter is included first. Previously, the first matching parameter would be used, thereby preventing a more appropriate name from being used. See bug 588781 .


Developer tools

  • The Web Console’s Console object now has a debug() method, which is an alias for its log() method; this improves compatibility with certain existing sites.

About louisremi

Developer Relations Team, long time jQuery contributor and Open Web enthusiast. @louis_remi

More articles by louisremi…


  1. Michael Butler

    Great work guys!

    June 21st, 2011 at 07:37
  2. Skatox

    Congratulations for your hard work! Now Firefox it’s getting better than ever!!

    June 21st, 2011 at 07:40
  3. Brandon

    I Thought is was already out, because i have had it for at least a month now

    June 21st, 2011 at 07:51
    1. Jwalant Natvarlal Soneji

      Yeah, and that could be your FF 5 alpha/beta.
      Firefox Release Roadmap:

      June 22nd, 2011 at 12:55
  4. 3615Buck

    Almost as good as Chromium…

    June 21st, 2011 at 07:57
  5. Broken Skeleton

    I can’t figure out why this is FF 5 and not 4.1?

    June 21st, 2011 at 08:11
    1. louisremi

      Because we switched our development cycle: now we release new major versions approx. every 6 weeks.

      June 21st, 2011 at 08:30
      1. Samuel

        Every 6 weeks? Why? That means be having nearly 9 “major” releases every year. So basically, by this time next year, we’ll be rocking Firefox 13, and preparing for version 14. Awesome. Frankly, this is a minor update and should be Firefox 4.0.2 or 4.1.0. Making it Firefox 5 makes absolutely no sense, as there were no major features added. Plus, half of my extensions were broken thanks to the version number being so drastically changed. Is this what we have to look forward to every 6 weeks? Hooray… Thanks, Mozilla.

        June 21st, 2011 at 11:13
        1. Ryan

          That’s been remedied, too:

          June 21st, 2011 at 12:39
        2. Broken Skeleton

          I’m glad someone else thinks the same way I do, I was starting to feel bad for not saying congratulations for a job that they should be doing. Don’t get me wrong I love firefox but these releases are a little silly.

          June 21st, 2011 at 23:21
          1. Ricardo

            Congrats on the great work, but I disagree on the version numbers. Having so many “major” versions will cause people to fell confuse… I was still convincing people to migrate from 3.* to 4…
            And it will be strange to have FF 14, 15… etc

            June 22nd, 2011 at 06:55
          2. Anna

            I agree.
            And now I have something that looks like a bug: no favicons on some tabs. And sometmes there is no link in address bar!
            Probebly, one of my addons causes this…
            This is very upsetting.
            Thougth, what is good: Firefox 5 is much more fast!

            June 22nd, 2011 at 09:38
        3. Stefan Mielke

          Yes, this is really not smart. We had a major release with Firefox 4 and now this, just a 4.1 saying “I’m rocking now!”. Sorry, but fixes and minor “improvements” are NOT a major release, and just going “Google way” is not necessarily a “good way”.

          June 22nd, 2011 at 10:39
  6. Gerald

    3 month between 4 and 5 ?? That was fast !


    June 21st, 2011 at 08:22
  7. Markus Klug

    Thanks for your hard work!
    But please fix the font rendering with the next release, so that I can finally turn on hardware acceleration (gfx.direct2d) again.

    Kind regards!

    June 21st, 2011 at 08:22
  8. Moe

    This is a new “version?”

    June 21st, 2011 at 08:24
  9. Ozzypig

    Awesome. Although I’m a diehard Chrome fan, I love to see other browsers stepping up the competition.

    Great work Mozilla :D

    June 21st, 2011 at 08:25
  10. Jon Reid

    Awesome new release schedule. Look forward to the fast bug fixes for sure. I know a few fellow devs were getting tired of the crashes. I held on a bit longer. Here’s hoping this release rocks :)

    June 21st, 2011 at 08:41
  11. pd

    Hooray, a new **MAJOR** version. Upgrade now for all the new goo…

    wait a minute, DOWNGRADE to version 5 and watch all your extension functionality DOWNGRADE as notoriously slow Add-On devs failed to kick their extensions despite there being *BUGGER ALL* changes for a ??? MAJOR ??? version?

    What a joke.

    June 21st, 2011 at 09:11
    1. Erunno

      Strange, all of my 21 extensions work, including 1-2 obscure ones.

      June 21st, 2011 at 12:17
  12. tong

    Great! Thank you very much!

    June 21st, 2011 at 09:16

    Great work .Thanks for your hard work!.

    June 21st, 2011 at 09:18
  14. Fatih

    Great work guys! That was really fast.

    June 21st, 2011 at 09:23
  15. Jamo

    More lovely CSS3 that we can play with mmmmm…..

    June 21st, 2011 at 09:26
  16. David

    New major version every 6 weeks, so we’ll have Firefox 10 around new years eve?

    June 21st, 2011 at 09:36
    1. laz


      June 22nd, 2011 at 06:36
  17. Mike

    Glad to see another update. I just hope the constant crashing is fixed!! Nothing more annoying then that!

    June 21st, 2011 at 09:44
  18. zenwalker

    Great work guys. U guys rock. Keep it up folks. Luv ya work!!

    June 21st, 2011 at 09:44
  19. Albert

    Great work. I like the CSS3 Animations feature. But expecting “Firebug” feature without any addon.

    June 21st, 2011 at 10:18
    1. Admiral Potato

      I second that notion! I have been loving the “Inspect Element” contextual menu option and developer console features being as easily accessible as they are in both Safari and Chrome. I would really love to be able to debug like that on a vanilla copy of FireFox as easily as I can in other browsers, without having to install a plugin.

      June 21st, 2011 at 19:44
  20. Jon Reid

    This is strange. I reloaded the page and had the form pre-filled with Marek’s details?

    June 21st, 2011 at 11:13
    1. Steve

      Same thing happened to me! WTF.

      June 22nd, 2011 at 07:27
  21. Alex


    Great improvements for and ImageData.


    June 21st, 2011 at 11:26
  22. Debbie

    I’m a little leary to upgrade. When I upgraded to Firefox 4 , I found the parental/website controls no longer worked. IF Firefox 5 had parental /website controls that WORK, I will upgrade. Would like some more info in this area, please. As much as I like firefox, I have thought about switching to another browser for parental controls.

    June 21st, 2011 at 17:16
  23. Amith

    Thanks guys. Best of luck in your future endeavors.

    June 21st, 2011 at 17:46
  24. Mark

    Been using the FF 5 beta very stable FF 4 was not I really like this version.

    June 21st, 2011 at 19:04
  25. Gaurav M

    I was expecting to be there.. but not that fast! tremedousily surprised.

    June 21st, 2011 at 23:29
  26. saurabh kumar

    Great work guys!

    June 21st, 2011 at 23:45
  27. ion

    I also sent a feedback to Mozilla:
    This really should have been FF 4.0.2 or FF 4.1 … it’s by no way FF 5.0. There’s no reason to announce a major version if there are no major improvements !

    Chrome is doing this, now Firefox as well.
    I think I’ll switch to Opera after being a loyal Firefox fan since 1.0 !

    June 22nd, 2011 at 01:35
  28. CJ Spencer

    Lovely to see the advancements in CSS3 guys! Great job!

    June 22nd, 2011 at 02:45
  29. Weboide

    Great work!!!

    June 22nd, 2011 at 05:02
  30. Teodor Sandu

    +1 to Broken Skeleton above… great work Mozilla, but a Major release so soon? This may continue for a little while, but unfortunately after 3-4 major upgrades in the next few months a lot of users will get bored of upgrading.

    Furthermore, a Major release is something like “Ok, we admit our browser sucked at some points, so we made it better and it’s not that lame Firefox X any more, but the new, hot and sexy Firefox X+1 now!”. Thus, there’s nothing sexy about Firefox 10 appearing at the end of this year, it just means 6 failures in a very short time. This from the browser with the all-time least failures (compared to all other major browsers with a respectable age – to rule out Chrome which is just a kid, relatively speaking).

    The prospect of seeing so many Firefox major releases in such a short time makes me sad.

    June 22nd, 2011 at 06:48
  31. greg

    Just loved the smooth update procedure from 4.01 to 5.0

    June 22nd, 2011 at 07:15
  32. Christian Sciberras

    Great work? Great work???

    I ditched Firefox 4 at its launch date because it was so buggy; hidden downloads, half of Firebug’s functionality GONE.
    Not to mention they broke existing standards that has been working without a hitch since IE6.

    Now we’re supposed to embrace Ff5 why exactly? It’s even more buggy, contains even more experimental features and drawing-board standards, and it DAMN WORKS LESS THAN v3.6!!

    June 22nd, 2011 at 07:24
  33. Mark Johnson

    Do we still have to use custom HTTP headers to determine plug-ins, instead of just using the user agent parts like BEFORE 4.0? I don’t care about all that other stuff.

    June 22nd, 2011 at 07:25
  34. Christian Sciberras

    Oh and to add to my earlier comment, Firefox has tripled its memory leaks. That’s right folks, they’ve slowly tamed leaks for a while, but now they’re biting back, harder.
    After a while, Firefox 4 takes up to 700mb for 4 tabs. The plugins I use can be counted on one hand, and there aren’t any toolbars/bookmarks whatsoever.

    June 22nd, 2011 at 07:28
  35. Max Zhao

    That’s fast. Have you solved the efficiency problem yet? On my windows box firefox 4 still hangs occasionally and is a grade slower than Chrome.

    June 22nd, 2011 at 07:28
  36. bearmos

    Why the major rev, isn’t this a minor release? I’m all for rapid releases, but just because there’s a “release” every few months doesn’t meant that it needs to be major. This new approach will serious hamper the efforts of add-on developers, since on of the indications of a ‘major’ release is that it breaks things. Is there a place to discuss this new approach to releases further? I’m very surprised.

    June 22nd, 2011 at 07:54
  37. dean

    Gotta love Agile

    June 22nd, 2011 at 08:06
  38. Harry

    So what’s the big deal? 3.6.17 is still giving me everything I need, just where I expect it to be, just how I’m used to seeing it. Dunno, but “major” versions of most any software tend to make me nervous…


    June 22nd, 2011 at 08:37
  39. Mike

    Sounds like you guys like that cake from ms way too much.

    June 22nd, 2011 at 08:38
  40. Tim Keating

    Blah. I despise Chrome’s strategy for revving major versions and it’s not an improvement for FF, either.

    Fast iteration and frequent releases? Great! Changing the major version number every 6 weeks “just cause”? Puke.

    June 22nd, 2011 at 09:01
  41. xLone

    Three months != six weeks. I think you already failed on that part. And I agree with many of the other posters, this should be 4.1, not 5.0. You made no new enhancements to the product, only bug fixes and compliance changes.

    June 22nd, 2011 at 10:36
  42. Oliver

    Does this version also accumulate gigabytes of memory?

    June 22nd, 2011 at 10:52
  43. John

    If Chrome jumped off the Empire State Building would you? Sure seems like Firefox has answered that with a resounding Yes!

    June 22nd, 2011 at 11:59
  44. Aldonio

    I’m not really excited and really dislike that major version development cycle :/

    I agree with releasing versions each 6 weeks, but not as major versions… for me Firefox 5 is just Firefox 4.1

    June 22nd, 2011 at 12:20
  45. John from Zombie Processus

    Great release guys, keep up the good work!

    June 22nd, 2011 at 13:45
  46. Daniel

    Nice! One thing that wasn’t mentioned was whether the issue of memory leaks was fixed in this release, or if it will be more of a priority in a later release. That’s why at home I’m still running 3.6 – since I upgraded to 4 at work, I noticed Firefox caused quite a hit on system performance, with RAM usage steadily increasing to well over the 1GB mark.

    June 22nd, 2011 at 14:53
    1. Nanashi

      As far as I can see, at the moment it’s only taking about 300MB. I don’t know if it’ll change after being on for hours, but that remains to see.

      June 22nd, 2011 at 17:47
  47. Dennis V

    I can’t wait to start taking advantage of these new features. Appreciate the hard work.

    Everyone else; I believe Firefox 5 fits perfect and all other major updates from now will follow as Firefox 5.3 or related to a subversion. This was a big jump but I agree since its a milestone for Mozilla which can now give us an option to be part of beta testing quicker.

    Nevertheless been a fan from the start and will continue to be just that with every update that never stops surprising me.

    Firefox > chrome

    June 22nd, 2011 at 15:04
  48. Todd Fox

    I don’t mind the updates so long as nothing breaks and I don’t have to keep being prompted for them. That is where Chrome wins my favor. I’ve installed it only once and have seen 7 versions filter through seamlessly. Since it’s always updating itself, I don’t have to keep 3 versions of it on my PC to test layout.

    June 22nd, 2011 at 17:01
    1. Christian Sciberras

      Well, here’s the scoop, features start breaking up ever since they wrote v3.5, including 4 and 5…

      June 23rd, 2011 at 07:19
  49. Kabindra Bakey

    Firefox comes ahead once more in rails…

    June 22nd, 2011 at 22:45
  50. Tameem Zaaiter

    Wooooooooow !!!
    I can’t believe this , the 4 version is still fresh ! I think this is a slap at other browser manufacturers faces KEEP IT UP GUYS.

    June 23rd, 2011 at 08:41

Comments are closed for this article.