Wednesday, September 26, 2012

17.0a2 available

TenFourFox 17.0a2 is now available (read release notes; download from Downloads tab). As I threatened promised, there will be no 16 because I want people banging on this version hard -- it's going to be the new stable branch, after all. There will be only two more 10.0.x releases, 10.0.8 in a week or two, and then 10.0.9 simultaneously as the last legacy release together with 17.0.

17 is really very nice. Graphics performance is significantly better and I also took the liberty of pulling a couple low risk bugs from 18 to speed up the URL bar completer (bug 781588 and bug 794520). There is also an integrated debugger and lots of new development tools, and quite a number of bug fixes, though pdf.js is still not ready for prime time.

On our side of the fence, 17.0a2 repairs bookmarks search, which was an endian problem since 13.0 (issue 177) and a long-running nuisance with the manual update window not properly handling No Thanks, which sounds like a feature but actually isn't (issue 130) and which will be backported to 10.0.8.

We also have a mitigation (issue 171) for people who were bitten by Tenderapp problem 2 and fonts just corrupt enough to still be useable by the OS but fail in Harfbuzz, which is the OpenType shaper used in TenFourFox (ATSUI, which was used in Firefox 3.6, is not suitable for Firefox 4+, and the secret CoreText in Tiger does not support enough features to be useable for this either). Ordinarily corrupt fonts should be simply disabled in Font Book and the font cache cleaned out, as they could be problematic for other apps. This is hard to do with common fonts like Arial, Helvetica and Times, so now you can set a pref in about:config to tell TenFourFox to find another font (tenfourfox.gfx.badfont.arial, tenfourfox.gfx.badfont.helvetica and tenfourfox.gfx.badfont.times, respectively). You can combine them into a set if you like, or disable all three of them. Please note I can't predict what font it will pick because that depends on what you have installed; it will find something it thinks is similar, which might occasionally be totally wrong, but should at least be legible. Please note that most users will not need this and in fact I have never been able to reproduce this on any of my machines, but there are enough people with this issue in some manner that hopefully this mitigation will help them if they cannot disable the font otherwise. After setting one or more of these preferences to a new value, please restart the browser. I will consider adding other fonts to this list, but they should be ones that people cannot disable easily -- I do not want a whole string of font exceptions in the code.

There is at least one major bug in 17.0a2, but we do have some time to rectify it; apps that do a lot of canvas painting and animation don't update properly. This is really a Mozilla bug (bug 794337) but I am concerned that now that Mozilla has dropped 10.5 for 17+, they may not fix the problem since every supported Mac now is capable of hardware acceleration and this is only a problem for systems that are not hardware accelerated -- like us. So we might be going it alone on this one, although I did find a regression range to help speed up finding a fix.

As threatened, 17.0.x will be the final version to support building with gcc 4.0.1. The fixes required to get the browser to build and link with it are now voluminous, and I even discovered at least one miscompilation which was totally wrong and had to be rewritten. While 17.x will be built with 4.0.1 for the remainder of its life, this is the end of our use of Xcode-based gcc. Mozilla, in fact, is now requiring clang to build at all on OS X, but we will short-circuit this, of course.

In other Mozilla news, the IonMonkey has landed in Firefox 18, the new JavaScript engine for long-running apps. I wish I could be more positive about this, but the numbers being posted are not as impressive as I would like even on the core Tier-1 platforms, especially given the large amount of work that will be required to port IonMonkey to PowerPC. IonMonkey really only significantly runs, and benefits, apps with relatively long runtimes; "old" JaegerMonkey with type inference handles most of the rest. Nevertheless, it's going to be an important part of future versions of Firefox and I am exploring what work needs to be done for our port to be successful. The silver lining is that it does offer additional optimization opportunities that JM+TI do not, and like JaegerMonkey during the TraceMonkey days, we don't need to implement it yet.

Mozilla is also putting the final touches on 16.0, the last version of Firefox to run on 10.5, and this will probably also be the end of SeaMonkey-PPC unless hikerxbiker starts doing his own local changesets to deal with that (right now the browser is more or less built "vanilla", and the ESR as written will not run on 10.5 unless it is modified). Given the pattern of dropping support before an ESR, it seems probable that Fx23 will be the last version to support 10.6 and "real" Mac OS X since 24 is prospectively the next ESR after 17. When Mozilla requires 10.7 as a minimum, we're going to be in hot water because every system will not only be hardware accelerated, but also 64-bit, and 64-bit builds on G5 have not worked out very well (and would exclude our many G4/7450 users). That's a very likely time to think seriously about dropping to feature parity.

If you are interested in localizing 17, now is the time to get started. Chris continues to head our localization efforts in issue 42.

I will be releasing a 17 beta to general audiences next month, after 10.0.8 comes out for stable-branch users. Watch for it then. Please test 17 carefully against any tier-1 platform, since there are still some significant Mozilla-general bugs present that they need to repair, as is typical for Aurora. Enjoy.


  1. Testing TFF 17a2 on my memory impaired (640 MB) iBook G3, RAM usage seems to be manageable even in a worst-case scenario (30 Facebook tabs open and/or loading at the same time). Once the browser uses >400 MB, swapping starts, but that's no different from TFF 10.

    [Generally, you can overstress TFF on any system if you open enough tabs. On my G4 PowerBook with 2 GB installed, once it's >1GB of RAM usage, things get ugly and the browser is practically unusable even if all windows are closed and you start with a new empty window. It takes about 10 minutes to recover from this state (free up memory), but in this time I can just re-start it.]

    For localizations: Strings in the About dialog will change in the release version, right? "Floodgap" links to right now.

    Does "last legacy release" mean that TFF 10 (once 10.0.9 is released) won't receive any security fixes and will be unsupported? That's no request for support, it's just to make sure and help me decide which versions I'll have installed on my Macs for everyday use (which is the best testing method, I think). TFF unstable has priority, but I also want to keep an eye on TFF stable + localized.

  2. In order: the About box is an Aurora-ism. It will "just fix itself" when we start building from -beta and -release. The same strings apply there as they did for 10.0.x.

    Yes, 10.4Fx 10 support will end with 10.0.9. I'm making one last release for people who want to "wait and see" for 17, but there will be no "10.0.10" release when 17.0.1 comes out. For the record, note that Mozilla will only support 10ESR for two more releases when 17 comes out anyway.

  3. German langpack installer for 17.0a2 is now ready to test at

    If there is demand for e.g. a Spanish or Italian version: There's no need to do any technical stuff – if we have a native speaker who can translate a few sentences and words that are specific to TenFourFox, I could then prepare the localizations in the same manner as German and French. Since there's already an Italian and a Spanish Firefox, it's not really a big deal. Just leave a note in issue 61.

  4. 17 drains my battery very quickly.

  5. Hmm. Haven't noticed anything like that on my iBook G4. Maybe something about a particular site?


Due to an increased frequency of spam, comments are now subject to moderation.