Mozilla

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:

HTML

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.

CSS

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

DOM

  • 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.

JavaScript

  • 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.

SVG

  • 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.

HTTP

  • 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 .

MathML

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.

Posted by on at

120 comments

Comments are now closed.

  1. Michael Butler wrote on June 21st, 2011 at 7:37 am:

    Great work guys!

  2. Skatox wrote on June 21st, 2011 at 7:40 am:

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

  3. Brandon wrote on June 21st, 2011 at 7:51 am:

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

    1. Jwalant Natvarlal Soneji wrote on June 22nd, 2011 at 12:55 pm:

      Yeah, and that could be your FF 5 alpha/beta.
      Firefox Release Roadmap: https://wiki.mozilla.org/Firefox/Roadmap#Product_Roadmap

  4. 3615Buck wrote on June 21st, 2011 at 7:57 am:

    Almost as good as Chromium…

  5. Broken Skeleton wrote on June 21st, 2011 at 8:11 am:

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

    1. louisremi wrote on June 21st, 2011 at 8:30 am:

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

      1. Samuel wrote on June 21st, 2011 at 11:13 am:

        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.

        1. Ryan wrote on June 21st, 2011 at 12:39 pm:

          That’s been remedied, too: http://kb.mozillazine.org/Updating_extensions#Completely_disabling_the_compatibility_check

        2. Broken Skeleton wrote on June 21st, 2011 at 11:21 pm:

          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.

          1. Ricardo wrote on June 22nd, 2011 at 6:55 am:

            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

          2. Anna wrote on June 22nd, 2011 at 9:38 am:

            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!

        3. Stefan Mielke wrote on June 22nd, 2011 at 10:39 am:

          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”.

  6. Gerald wrote on June 21st, 2011 at 8:22 am:

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

    Congratulations

  7. Markus Klug wrote on June 21st, 2011 at 8:22 am:

    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!

  8. Moe wrote on June 21st, 2011 at 8:24 am:

    This is a new “version?”

  9. Ozzypig wrote on June 21st, 2011 at 8:25 am:

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

    Great work Mozilla :D

  10. Jon Reid wrote on June 21st, 2011 at 8:41 am:

    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 :)

  11. pd wrote on June 21st, 2011 at 9:11 am:

    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.

    1. Erunno wrote on June 21st, 2011 at 12:17 pm:

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

  12. tong wrote on June 21st, 2011 at 9:16 am:

    Great! Thank you very much!

  13. IHWAN INDESIGN wrote on June 21st, 2011 at 9:18 am:

    Great work .Thanks for your hard work!.

  14. Fatih wrote on June 21st, 2011 at 9:23 am:

    Great work guys! That was really fast.

  15. Jamo wrote on June 21st, 2011 at 9:26 am:

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

  16. David wrote on June 21st, 2011 at 9:36 am:

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

    1. laz wrote on June 22nd, 2011 at 6:36 am:

      word!

  17. Mike wrote on June 21st, 2011 at 9:44 am:

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

  18. zenwalker wrote on June 21st, 2011 at 9:44 am:

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

  19. Albert wrote on June 21st, 2011 at 10:18 am:

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

    1. Admiral Potato wrote on June 21st, 2011 at 7:44 pm:

      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.

  20. Jon Reid wrote on June 21st, 2011 at 11:13 am:

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

    1. Steve wrote on June 22nd, 2011 at 7:27 am:

      Same thing happened to me! WTF.

  21. Alex wrote on June 21st, 2011 at 11:26 am:

    Wow

    Great improvements for and ImageData.

    Bravo

  22. Debbie wrote on June 21st, 2011 at 5:16 pm:

    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.

  23. Amith wrote on June 21st, 2011 at 5:46 pm:

    Thanks guys. Best of luck in your future endeavors.

  24. Mark wrote on June 21st, 2011 at 7:04 pm:

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

  25. Gaurav M wrote on June 21st, 2011 at 11:29 pm:

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

  26. saurabh kumar wrote on June 21st, 2011 at 11:45 pm:

    Great work guys!

  27. ion wrote on June 22nd, 2011 at 1:35 am:

    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 !

  28. CJ Spencer wrote on June 22nd, 2011 at 2:45 am:

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

  29. Weboide wrote on June 22nd, 2011 at 5:02 am:

    Great work!!!

  30. Teodor Sandu wrote on June 22nd, 2011 at 6:48 am:

    +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.

  31. greg wrote on June 22nd, 2011 at 7:15 am:

    Just loved the smooth update procedure from 4.01 to 5.0

  32. Christian Sciberras wrote on June 22nd, 2011 at 7:24 am:

    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!!

  33. Mark Johnson wrote on June 22nd, 2011 at 7:25 am:

    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.

  34. Christian Sciberras wrote on June 22nd, 2011 at 7:28 am:

    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.

  35. Max Zhao wrote on June 22nd, 2011 at 7:28 am:

    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.

  36. bearmos wrote on June 22nd, 2011 at 7:54 am:

    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.

  37. dean wrote on June 22nd, 2011 at 8:06 am:

    Gotta love Agile

  38. Harry wrote on June 22nd, 2011 at 8:37 am:

    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…

    Harry

  39. Mike wrote on June 22nd, 2011 at 8:38 am:

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

  40. Tim Keating wrote on June 22nd, 2011 at 9:01 am:

    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.

  41. xLone wrote on June 22nd, 2011 at 10:36 am:

    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.

  42. Oliver wrote on June 22nd, 2011 at 10:52 am:

    Does this version also accumulate gigabytes of memory?

  43. John wrote on June 22nd, 2011 at 11:59 am:

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

  44. Aldonio wrote on June 22nd, 2011 at 12:20 pm:

    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

  45. John from Zombie Processus wrote on June 22nd, 2011 at 1:45 pm:

    Great release guys, keep up the good work!

  46. Daniel wrote on June 22nd, 2011 at 2:53 pm:

    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.

    1. Nanashi wrote on June 22nd, 2011 at 5:47 pm:

      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.

  47. Dennis V wrote on June 22nd, 2011 at 3:04 pm:

    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.

    IMO:
    Firefox > chrome

  48. Todd Fox wrote on June 22nd, 2011 at 5:01 pm:

    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.

    1. Christian Sciberras wrote on June 23rd, 2011 at 7:19 am:

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

  49. Kabindra Bakey wrote on June 22nd, 2011 at 10:45 pm:

    Firefox comes ahead once more in rails…

  50. Tameem Zaaiter wrote on June 23rd, 2011 at 8:41 am:

    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.

1 2

Comments are closed for this article.