Saturday, December 12, 2015

38.5.0 available, and maybe 45 as the swan song, in not too long

TenFourFox 38.5.0 is now available for testing (download, hashes, release notes). Remember to quit any foxboxes you have open before you update the browser, and start the browser before you start any foxboxes back up if you want to have the browser and foxboxes running simultaneously (the Dock gets a little confused otherwise). This version backs out the last of the debugging code from issue 308 (which also yields a small improvement to memory and speed), works around issue 307 to always dump .json bookmarks (now with the correct extension), and fixes the application menu in foxboxes and certain add-ons by importing the patch from Mozilla bug 1181977.

This version also enables MP3 audio support by default (we use the minimp3 decoder, which I hacked for our purposes since AudioToolbox in 10.4 does not understand MP3). There are already some known files that don't play in it that do play in QuickTime, so this appears to be a bug in minimp3. If you report MP3 files that don't work, please include the encoder so we have at least a chance at something analysable. If you don't, I'll still accept the report, but I may not do much with it unless it's glaringly obvious what about the file it doesn't like.

With 38.5, Firefox 45, the next ESR, moves out of nightly into aurora. Since Mozilla is only up to the point of doing A/B testing for multi-process Electrolysis in Fx44 beta, it seems unlikely that 45ESR will make Electrolysis mandatory, so that means I would be foolish to not make at least an attempt at porting it. This will require another toolchain upgrade like we did for TenFourFox 19. Fortunately, we do have a working gcc 4.8 in MacPorts and it does build and run 38 successfully without our current gcc 4.6 shim, and I'm working with Sevan Janiyan to get the Tiger pkgsrc gcc 4.9 functional (it seems to need updates to as and ld, since it will parse the source, but currently builds a defective XUL). I'm also looking into using Misty DeMeo's Tigerbrew gcc as an alternative. Either way, after the update for TenFourFoxBox and its official release I'll probably start working on trying to adapt 45ESR, which should give us plenty of time to have a functional beta out by 45.1, assuming it doesn't blow up in my face.

I am, however, going to call 45 the end of source parity, and this time I mean it. I know I've said "the end" lots of times in the past, but besides the fact Electrolysis won't compile as-is on 10.4 (and quite possibly will be a net negative even if it works), and Electrolysis will almost certainly be mandatory by 52ESR now, Mozilla is now importing code written in Rust into Gecko, not just C/C++. Although Rust allegedly supports PowerPC, it is only known to work on Linux (and there isn't a snapshot, rustc or cargo for it even there); it is not known to work, or have a snapshot available, for OS X/ppc, and then there's the matter of llvm on our same platform. Mercifully it does not appear any of the existing Rust code (which is already in the tree) will be required for 45ESR, but it does appear that new Rust code will replace a number of older C/C++ modules by 52ESR once Mozilla works out the build system kinks, making Rust a build requirement. This would be a showstopper for us and any other Tier-3 platform that lacks a Rust compiler (Solaris on SPARC? the remnants of OS/2?). It would also probably signal the end of 10.6 support in the near future, since by default the Rust standard library requires features Snow Leopard doesn't have (though there are ways around it).

Frankly, I'm not going to maintain a completely new compiler for a language I'm not fluent in and its runtime platform on top of a browser and debugger I'm already maintaining singlehandedly when we're already facing two other portkillers (loss of 10.6 support, whenever that comes, and E10S). Assuming this trajectory continues unchanged we will drop source parity after 45ESR, but there will of course still be updates; besides new features we can now release since we're not worried about maintainability against Mozilla source anymore, we'd still get a fair chance to import later updates to the core that were still in C/C++, and we'd be still a very advanced browser for at least a couple years. We'd be better off than Goanna in Pale Moon, anyway, which is still 24.x-era with various patches.

It had to happen for real sooner or later.

18 comments:

  1. Hi, Great newes. As You mention PaleMoon, there is a version of it without developer tools etc. Which works faster on older pc's. Can you try build TenFourFox without some usually unused components?

    ReplyDelete
    Replies
    1. Although I certainly understand the request and it's a decent idea, I'm not going to offer that for the foreseeable future because it already takes about 8 hours to build TenFourFox and offering a stripped release for each of the processor builds would make that even longer. If there were interest, we could *replace* some of the builds, or offer a (G5 only?) full build and strip all the rest, but I'm not going to even investigate that until after the 45 port is complete.

      Delete
    2. I think that no one is using their g3/g4 macs for serious web development. If so they always can install firebug extesnsion.

      Delete
    3. And maybe replace the homepage's iBook G4 with an older iBook G3 with TenFourFox running on the screen? :)
      http://creativewhitespace.com/wp-content/uploads/2014/01/Screen-Shot-2014-01-29-at-12.49.46-PM.png

      Delete
    4. Nice picture, but I use an iBook G4 personally, so I'll just keep it there. :)

      Delete
    5. No, please do not strip off Dev Tools! I still use TenFourFox for web development on my PowerBook G4 and I love it! See https://twitter.com/niu_tech/status/596846763455213568

      Delete
  2. Arg, hope no swans a-singing for a long time. Thanks much for your work; rescued my wee ibook and a G4 sunflower.
    Hope you are having fun; that is an enormous bunch of details to keep at the fingertips.

    ReplyDelete
    Replies
    1. Assuming 45 gets off the ground, which is about a 50-50 chance, this wouldn't be a factor until mid-2017.

      Delete
  3. Good news on plugins/flash: Facebook abandoned flash video in favor of HTML5 playback this week for all videos. Bad news: It seems to be H.264 only…

    ReplyDelete
  4. There's still one weird thing about the json bookmarks backups (priority: low). Save a manual bookmarks backup on the Desktop (Bookmarks Library>Star Button>Backup…) and then see what happens in the "bookmarksbackups" folder in your user profile. I get an additional backup there, but in jsonlz4 format with a .json suffix. Daily backups created automatically are ok.

    ReplyDelete
  5. Hello!

    I have a Mac Mini PPC. However, I use the system on MorphOS. (http://www.morphos.de/), I have a question whether there is a chance to TenFourFox has been prescribed just for MorphOS system? I ask, because current browser GBS was no longer updated for a long time.

    ReplyDelete
    Replies
    1. No, I am not aware of any Mozilla port to MorphOS, let alone this one. It would require bringing it up from scratch like with any other new port, and given all the problems with Timberwolf, I can't imagine MorphOS would be any easier.

      Delete
  6. Thank you for the new release, I am using it now and it scores 447 points in HTML5Test!

    What do you think of setting layers.async-pan-zoom.enabled to true by default in next versions of TenFourFox?

    ReplyDelete
    Replies
    1. APZ won't work on 10.4. I already looked into this. You can try enabling it, but it won't make much difference (if any) since the code it controls is disabled.

      Delete
    2. Thanks. Would it be worth enabling the APZ code? In theory, it should improve responsiveness.

      Delete
    3. How about privacy.trackingprotection.enabled?

      Delete
    4. 1) As I said, APZ doesn't work on 10.4. It doesn't even compile (that section is actually ifdef'ed out in our build).

      2) Tracking Protection will be available in 45, assuming I get the browser to work.

      Delete

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