Flagfox 6.0 released with Firefox 57+ support

Flagfox 6.0.0 has been uploaded to Mozilla Add-ons for release!

Everyone with Flagfox installed in Firefox 57+ will automatically get the new version on the next automatic addon update check by Firefox. Firefox 56 is technically supported, but with a few issues that cannot be fixed without updating Firefox, so automatic updates should be set to not go out to anyone who refused to upgrade Firefox. (Flagfox 6.0.0 can be manually installed in Firefox 56 by downloading it and using “Install add-on from file” in the little gear icon menu in the Firefox Addon Manager.) Unfortunately, this means Firefox 52 ESR is no longer supported. I would very much rather not drop support for the most recent Extended Support Release, but Mozilla has banned all addons that use so-called “legacy” APIs and mandated addon rewrites using the new WebExtension API based on Google Chrome’s addon system. It’s… not great, but we have no say in the matter. :/

There are a few noticeable feature changes to this new version that are the direct result of WebExtension API limitations, most notably a smaller icon. Read the full list below.

I’ve started updating the Flagfox FAQ with information about this latest release, including detailed explanations for WebExtension permissions. Updates to the listing on Mozilla Add-ons will take a bit, as doing so is a PITA.

Flagfox 6.0.0 changelog:

  • IPv4 & IPv6 address location database updates for December 2017
  • First pure WebExtension API version of Flagfox; Firefox 57+ support added (min is v56; v57+ highly recommended)
  • Ported Flagfox options from XUL window to HTML tab (along with all other dialogs), per WebExt requirement
  • Improved IPDB to now run in its own dedicated JS Worker thread
  • Started using ES6 promises everywhere (some new uses because it’s better; many compelled by WebExt API)
  • Faster flag icon updates using new WebExt API (pages loaded/cached prior to install/update must be refreshed)
  • Added simple indicator icons+tags for HSTS, HTTP/2, and insecure HTTP to flag icon tooltips
  • Changed TLD nationality to always show in tooltips for nation-restricted non-ccTLDs (IDN TLDs require Firefox 57+)
  • Added Flagfox actions context menus for elements within a page and background tabs (IP-related stuff NYI)
  • Improved keyboard support in the options page
  • Added domain names of actions (that have a URL) to their tooltips in the options page
  • Added options page support for paste to import and cut/copy to clone, via main menu or hotkey (e.g. ctrl+v/c/x)
  • Changed options page to autosave actions JSON to storage rather than wait for tab close
  • Fixed some bugs with actions import/drag/drop in options under recent versions of Firefox
  • Added Linux support for opening actions in a background window (mostly useless, but nonetheless true)
  • Implemented custom locale properties file parsing/loading, because screw WebExtension’s bloated I18N
  • Implemented universal automatic English fallback for locales (Flagfox 5 had some; Flagfox 6 has it for everything)
  • Now stripping redundant manual English fallback strings on build, to save a bit of space for install/load
  • Added automatic locale file unload after disuse to reduce memory use when no longer needed
  • Significantly improved location/host/ip caching (which is now required, due to WebExt APIs)
  • Implemented (partial) replacements for various features Mozilla abandoned with the WebExt transition (e.g. eTLD)
  • Removed old grey question mark icon; replaced its last remaining use with the already-used globe icon
  • Disabled actions that need a content script on protocols and Mozilla domains blocked by the WebExt API
  • Added ability to handle default action favicons on non-standard paths; all should show, now (improvement over 5.x)
  • Geotool action hotkey changed from Ctrl+Alt+G to Alt+Shift+G due to the very limited WebExtension hotkey API
  • New default action hotclicks: “Check Server Status” on double-click and “Google Cache” on triple-click
  • Various default action changes:
    • Improved Page Metadata JS action to list everything it can find (with improved formatting)
    • Netcraft & IntoDNS switched to HTTPS (only URL Parser & Traceroute remain without HTTPS support)
    • Dropped Wave A11Y due to various issues, including over-active use throttling
    • Dropped obsolete Validate.nu action, as it became a redirect to the main W3C Validator
    • Demoted WOT from default menu to options-available, due to excessive popup ads (amongst other issues)
    • Added: Is It Up? (alternative status checker), Built With, Mozilla Security Observatory, & Video Converter
  • Dropped support for all Firefox/Gecko versions 24-55, which includes all versions of SeaMonkey up to current
    (SeaMonkey support may be readded when they have a version that supports WebExtensions sufficiently)
    (Unfortunately, Firefox 52 ESR support is also not possible, due to unavailable WebExtension API updates)
    -> This Flagfox version supports Firefox 56+ (desktop), however some features require Firefox 57+ to work fully
    -> Due to bugs in Mozilla’s WebExtension API, this support floor will increase further in future 6.x releases

Known issues that cannot be fixed due to buggy/badly designed and now mandatory-to-use WebExtension APIs:

  • Icon is smaller and squarified, per WebExt API’s apparent requirements (API not documented properly)
  • Icon menu has default toolbar menu items in it, even if N/A; no way to disable; nightly has some fixes
  • Icon menu limited to 6 top-level items, per arbitrary WebExt API limitation; others in auto-submenu
  • Icon menu item favicons (if enabled) have no default; WebExt API has no way to set a default/onerror
  • All menu generation is done more often than prior versions due to primitive WebExt API (no on-showing event)
  • Icon tooltip doesn’t have columns or text styling, as the WebExt API here is primitive (plain text only)
  • Icon middle-click settings no longer work, due to limited WebExt API (existing settings left alone, but hidden)
  • Hotkey customization is no longer available, due to very limited WebExt API (no user-set hotkey support, at all)
  • The WebExt notifications API outputs to the OS notifications system, which may get truncated text
  • There is no way to select “Don’t show this again” for notifications (custom buttons not supported in Firefox)
  • Firefox wipes WebExtension data on uninstall, without user notification or prompting (affects *ALL* addons!)

Known issues that will be addressed in future Flagfox updates:

  • The new page element action menus do not yet support actions that use IP addresses (implementation TBD)
  • All page notifications for TLD/IP country mismatches have been disabled until I can make notifications better
  • Options edit action autocomplete and detailed help popup are disabled (cut for time; reimplementation TBD)
  • Options page is kinda ugly, due to having to port XUL to HTML and CSS being a horrible monstrosity
  • Some RTL locale display issues (nothing drastic, and probably nothing you haven’t seen in other software)

My initial estimate, months ago, would be that updating Flagfox for the now-mandatory WebExtension API required by Firefox 57+ was that it would take an annoying few dozen hours. Once I started working on it heavily, I realized that there were way more problems with the API than advertised, and it is fundamentally different and slower to work with than all prior “legacy” APIs Mozilla has now banned. That dozens of hours estimate quickly became hundreds of hours… and I eventually realized that was still underestimating things, and that’s not even counting the fact that I unfortunately got rather sick and unable to work on this significantly for a good two weeks.

Flagfox is a one-person hobby-project, and dear lord, this transition damn-near killed me, and it’s still
only ready a month and a half after Firefox 57 was released. In any case, it’s ready now… now, I can get some sleep.

Polite comments/feedback welcome. If you think you’ve found a bug, please report it in the comments here, or on the Flagfox support forum, or via email, or Twitter, or whatever. This blog is set to hold comments for approval for all new posters, after which point you can post without delay, forever (so long as you don’t hit the spam filter, of course). Also, if you see something that needs updating/fixing on this blog or in the FAQ, please report that too.

If you’ve previously posted a review to the Flagfox addon page inquiring about Firefox 57+ support, you can simply post a new review to replace the old one. (the system shows one per person, though you can click a review to browse all old ones, too) Note that as per Mozilla’s policies, bug reports / support requests are deleted by moderators and users generally are pointed to provided support channels, instead, e.g. here. Also note that Mozilla broken the AMO email notifications system in their most recent update, so if you post a bug report / support request, and it gets deleted before I check that email and go to the site, your post will be lost forever, like tears in rain.

This Flagfox major update was beta tested by a few hundred kind users. If you’d like to get early updates and test new versions prior to main release, you can install the most recent version here (6.0.0rc is functionally identical to 6.0.0; Mozilla’s beta channel requires different version numbers for development versions). With Flagfox beta tests, I generally delete the beta branch eventually, when it’s not needed anymore, at which point all users on it will auto-update to the normal release and begin receiving normal updates. Mozilla does not provide a less kludgy way of keeping beta-users up-to-date without manually packaging/releasing more beta channel files. I’ve grown used to Mozilla implementation dubiousness, but it still annoys me every time, especially when it stays that way for many years…


48 thoughts on “Flagfox 6.0 released with Firefox 57+ support

  1. Vraiment, je vous tire mon chapeau Dave !!! Firefox ne vous a pas facilité la tâche…..et difficile de faire évoluer un vieux dinosaure….lol…En tout cas, un grand merci à vous, car j’ avoue que j’ étais un peu perdu sans Flagfox !!! L’addon de substitution que proposait Firefox était nul et très limité…..j’ ai donc changé pour prendre en attendant Flagfox, ” Country Flag & IP Whois ” qui est quand même plus complet…mais je vous rassure tout de suite, je réinstalle Flagfox et je désinstalle Country Flag…….entre les deux, il n’ y a pas photo….Thank you Dave !!

  2. Thanks so much for the update, really appreciate you posting this up. Have a great new year’s, happy 2018!

  3. Thanks a lot !
    I was on the brink on making another add-on myself and kinda started it (it’s called WhatIP and shows remote host IP with a logo wether it’s IPv4 or v6). 😉
    I’d gladly help improve and try to fix issues if you ever put your code in a github repo or something. =D
    Thanks man, one of the best add-ons out there.

  4. I read your rant about FF57 and Mozilla procedures, and I had all but given up on seeing a new release. What a nice surprise!

    Glad to have you back.

    Happy new year!

  5. So glad you have persevered. I have missed Flagfox greatly, as have those I have recommended it to. Bravo!

  6. Thank you! Flagfox has for a long time been on my personal “must have” list of addons and thanks to your hard work and effort Firefox 57+ is now one extension less gloomy than last year 🙂

  7. Nice Surprise, there are W.E.s that work similar but I deleted the one I had after yours upgraded.

  8. FF was never really FF without the Flagfox! Was with you almost from the beginning. Tens of installations. I practically left FF though, just before the version 57 was introduced; now it’s workable again, and I am back to it. But shame on them to make your life so difficult with the API. Your add-on is indeed great, but if you asked me… I’d go for your health, and not this fight against the windmills! If it isn’t, it should be payed work. If it is not compensated that way, I hope you will get your appreciation on a higher level than the monetary… But again, I if were to choose between your good health without the Flagfox, and your stress and the resulting sickness with the Flagfox, I would choose the former.
    Have a very good, healthy and calm New Year 2018!

    • Me getting particularly ill was unfortunately just a bad coincidence. I didn’t get sick from overwork (well, the upper-respiratory infection wasn’t from it, at least). It was the most sick I’ve been in many years, but sometimes luck just feels like being annoying. I know exactly from whom I caught that particular bacteria and where it came from before that. It was just horrible timing, but my doctor prescribed effective antibiotics on the first try, so it was treated properly. It just took forever to get fully out of my system, and taking the medicine prescribed for the painful coughing made me lightheaded to the point I felt I was missing a fair number of IQ points for a while there, hence the extra-long delay. >.<

      Things will hopefully be less stressful now. (hopefully)

      Have a happy 2018 yourself! Let's hope this year doesn't suck, too. 🙂

    • (please don’t double post; you ended up in the spam folder, as a result)

      What about Waterfox support? It works in Waterfox just fine.

      You can install Flagfox 5.2.x in Waterfox via any normal method, e.g. going to the Addon Manager, searching for “Flagfox”, and just clicking install. It won’t give you Flagfox 6.0+ by default, however, as Waterfox is largely Firefox 56 based and Flagfox 6.0 only has limited support for Firefox 56. The exact same process to install it there applies, and it seems to work comparably well. I’ve just updated the Flagfox FAQ to have a section on Firefox 56 support and installation, also mentioning Waterfox:

  9. Merci et encore merci. Bonne année, bonne santé pour 2018.
    Thanks and thanks again. I wish you a happy new year and a good health.

  10. Thanks man, you’re a godsend! Good to finally be getting my old FF extensions back, even if the new FF is shittier than the old. Feel better, and Happy New Year!

  11. Thank you for your great work as always.
    But it would be awesome if we could have option to remove the ‘More..’, I want to have the whole menu when I click it, not every time right click and than clicking on the more..
    Please add this option.
    Thank you

    • Yes, it would be nice if I could do that, seeing as that was the behavior for the past 8 years. Unfortunately, the stupid WebExtension API Mozilla requires we all use now has a completely arbitrary limit to the amount of items allowed in menus coming out of addressbar/toolbar buttons. Until Mozilla lifts this ridiculous restriction, I can’t fix this. 😦

  12. Hello, Dave G.
    now that the firefox 57+ has starting to use WebExtension API based on Google Chrome’s addon system. Will it be easier to port the release to other browser such as chrome? Or Firefox WebExtension API was still majorly different althou it’s based on Chrome’s addon system which still makes the porting heavily difficult?
    While this is not a request, but i just want to see the possibilities that could happen in future.

  13. Hello.

    Will you be keeping the version 5 updated? I’m one of the hundreds of people who migrated to Waterfox when firefox decided to fuck up most of the useful extensions. Waterfox intend to keep supporting the old extensions.

    Also, I found out about Waterfox by a mention on the fireftp website. You should mention it here too.

    • At the moment, no. Mozilla prohibits uploading non-WebExtensions to AMO now, though I have been considering potentially uploading a 5.2.x update elsewhere, as other users have requested. (there are some bugfixes I’d like to backport, too) No decisions yet.

      As to Waterfox & etc., “hundreds” is roughly equivalent to zero. Sorry, I have to develop for the hundreds of thousands of Flagfox users on Firefox, first and foremost. If Waterfox intends to be a viable fork, it needs to support the WebExtension API in addition to keeping the XUL/XPCOM APIs, not instead of. Keeping support for older addons is one thing; not supporting newer addons is not a viable route. 😐

      • Waterfox will support web extensions, eventually. It will probably take a long time since it’s supported by only 1 developer. Right now I’m happy with it not trying to be like Google Chrome.

        I suggested developing for Waterfox because I believe that most of it’s users are developers that need tools like flagfox, fireftp and others not supported by Firefox. Even though it has a smaller user base, those users have more interest in extensions like yours. In fact, part of your current users showing on AMO stats are already Waterfox users 😉

        • Waterfox looks to be based on Firefox 56, at the moment. Sadly, whilst 56 is the absolute floor for me to support, there’s bugs and missing stuff in there, so Firefox 56 is only considered partially supported by Flagfox 6+. (only manual installs are currently possible) Until Waterfox is based on 57 or later, it doesn’t really have full WebExtension support in my view, seeing as that’s the first pure WebExtension-only version that addon devs can write for.

          I would expect the state of forks to improve greatly in May once Firefox 60 ESR is released and can be used as a better stable basis.

  14. Thank you for Flagfox which I used with Firefox, now with Waterfox. Flagfox 5.2.3 works fine with Waterfox. It only needs updates of the IP location database. Is it possible for you to maintain that? Thanks agin.

Comments are closed.