Flagfox 6.1.1 and 5.2.9 updates released

Flagfox 6.1.1 for Firefox 60+ has been released and is available for update and download from AMO. Flagfox 5.2.9 has also been released for Firefox 52 ESR, SeaMonkey, and Firefox forks based on older Gecko versions (or at least anything newer than Firefox 24). You can download it here.

Flagfox 6.1.1 changelog:

  • Fixed checking/disabling of unavailable actions in menus in some circumstances
  • Worked-around WebExt menu API bugs when at “about:” URLs
  • Various code cleanups and minor optimizations

(Flagfox 6.1.x already received the monthly IPDB update in 6.1.0; IPDB version is July 2018)

Flagfox 5.2.9 changelog:

  • IPv4 & IPv6 address location database updates for July 2018

Just to reiterate for the last time: Flagfox 6.0.x is now EOL; upgrade to Flagfox 6.1.x.

An update on the topic of Mac keyboard shortcuts: For anyone who didn’t read the discussion in the comments on the Flagfox 6.1.0 release blog post, we seem to have come to the conclusion after testing on a Mac that Flagfox 6.1.0+ is actually handling things correctly for the platform, however there are more mystery hotkey combinations that Firefox thinks are fine and allows setting, but don’t actually ever work. Mozilla has provided no method to detect this problem. I suspect these are keyboard shortcuts for OS functions of some kind, and on Mac, this generally means the Command key, even though it gets used for lots of other stuff too. Alt and Ctrl were reported to be working fine, as well. So, for the moment, there’s nothing left for me to do with this issue. If Mozilla ever gets their act together here they might fix this by properly rejecting not-allowed hotkey combinations instead of setting up for silent fails. If anything changes here, please let me know.

Advertisements

Flagfox 6.1 released

Flagfox 6.1.0 for Firefox 60+ has been released and is available for update and download from AMO. This major update brings back multiple features that were forced to be dropped during the WebExtension transition due to lack of API development by Mozilla. A year late, they’ve begun improving the API to bring back at least some dropped capabilities to addons. The two major features now reimplemented in Flagfox are: customizable hotkeys for all actions and the ability to fetch IPs from the DNS cache, as needed. Overall, Flagfox 6.1 is now more reliable and performant.

Flagfox 6.1.0 changelog:

  • IPv4 & IPv6 address location database updates for July 2018
  • Reimplemented support for fetching IPs from the DNS cache, instead of only requests (new WebExt API)
  • Reimplemented support for customizable hotkeys for actions, instead of just one default (new WebExt API)
  • Reimplemented action availability check on menu open, instead of all tab changes (new WebExt API)
  • Added local caching for all favicons (uses localStorage; clears with cache clear)
  • Added throttling to favicon fetching while editing an action’s template
  • Reimplemented default icon loading for missing favicons in menus
  • Added support for importing actions into options from prefs/actions JSON files
  • Improved startup to attempt to load icons into existing tabs, where possible
  • Rewrote IP/host cache, yet again (having the DNS API makes things way less complex now)
  • Added support for all action types in context menus, where now possible (IPs obtainable via DNS cache)
  • Changed hotkey pref save format to match new API; old ones from Flagfox 5.2.x will be imported
  • Added detection and indication of invalid or existing hotkeys, when setting (not 100%, due to iffy API)
  • Added ability to undo a hotkey change without having to cancel config, via escape key
  • Switched to PointerEvents where applicable (only minor use)
  • Improved opening of new tabs to use openerTabId; now opened next to subject, instead of end of strip
  • Support for Tree Style Tabs addon (and similar) is now available again due to openerTabId change
  • Shut up some pointless warning messages on startup from manifest.json load
  • Various code cleanups/fixes
  • Dropped support for Firefox 56-59, as Mozilla only finally added the new APIs used here in Firefox 60

Note: Firefox will ask for a permissions update for DNS, because WebExtensions are forced to re-ask for permission to do everything they used to do before. Just say yes to shut it up and allow update. I don’t even do DNS requests; just uses cache. Google/Mozilla’s permissions model here is not fantastic. I’ve already amended the Flagfox FAQ section on the topic of permissions, if you’d like a longer explanation of any of them in use in Flagfox.

I posted 3 beta test versions to this blog and managed to get a couple dozen people to test it… with zero feedback. Maybe it would’ve been a less anemic beta test if I could still use the beta channel on AMO, but Mozilla killed that in their apparent never-ending quest to make addon development more annoying. Part of the problem is also likely the plague of all software developers labeling their software as “beta” forever, teaching people that it just means “new” and not “test and report”. In any case, the only major issue I’m worried about is hotkey support on Macs, as neither I nor Richard have one and the documentation with regard to Mac keyboards and this new API is a freakin’ riddle. If someone reading this has a Mac, please test setting and the using a shortcut using the Command key, and then post a comment here telling me how it goes. (if it doesn’t work, Ctrl should trigger it instead, in which case, tell me and I can fix that)

The beta changelogs included recent changes to the default actions that were backported to the Flagfox 6.0.7 update and are thus not listed here. The main noticeable change in 6.1.0 since 6.1b3 is a fix to the detection of tab selection Firefox hotkeys on Windows (every OS uses a different modifier here, apparently). It previously let you try to set those when it shouldn’t and didn’t let you set the ones used in Linux (Mac was already handled). There’s also some code cleanups and the console debug messages have been turned off, as usual.

Just to be clear on the other Flagfox version branches: the Flagfox 5.2.x ESR update with be released later this month and Flagfox 6.0.7 was the final update for that branch. I’m not insane enough to simultaneously maintain 3 branches of an addon. There were no Firefox versions of real consequence dropped from support, so all Flagfox 6.0.x users should simply update to 6.1.x. It never is “simple”, though, as I know there are weirdos stuck on all sorts of intermediate Firefox versions because they disabled Firefox updating arbitrarily and forgot about it, but they’ll update eventually. Flagfox will at least tell them its database is stale after 3 months, as always.

Note that this post is auto-shown only on this major update, and should not be shown again (unless reinstalled). Flagfox is just a tiny little icon most of the time, so a first-run page is pretty much the only way for people to know much has changed. 🙂

Flagfox 6.0.7 and 5.2.8 updates released

Flagfox 6.0.7 for Firefox 57+ has been released and is available for update and download from AMO. Flagfox 5.2.8 has also been released for Firefox 52 ESR, SeaMonkey, and Firefox forks based on older Gecko versions (or at least anything newer than Firefox 24). You can download it here.

Flagfox 6.0.7 changelog:

  • IPv4 & IPv6 address location database updates for June 2018
  • Dropped now-defunct XMarks and URL Parser default actions
  • Replaced old URL Parser action with a simple built-in JS action

(The replacement URL Parser default action is backported from the current Flagfox 6.1 betas.)

Flagfox 5.2.8 changelog:

  • IPv4 & IPv6 address location database updates for June 2018
  • Dropped now-defunct XMarks and URL Parser default actions

Flagfox 6.1 Beta 3 was released yesterday, and I hope to be able to release the final version soon. I still need someone with a Mac to test the new custom hotkey implementation, however. Today’s Flagfox 6.0.x update should be the last on that branch. If you’re one of the approximately 9000 people inexplicably still using Flagfox under Firefox 57-59, upgrade your damned browser. Flagfox 6.1+ requires Firefox 60+ (ESR). I can understand people still using Firefox 52 ESR and can even understand people wanting to use Firefox 56 (the last pre-WebExt-only version; don’t do it, though), but using one of the releases in-between Firefox 56 and the current Firefox 60 main release or ESR is just stupid. If anyone knows why anyone would be on these versions other than the standard “no software has a good updater and people ignore it” problem, I’m curious to know.

Flagfox 6.0.6 and 5.2.7 updates released

Flagfox 6.0.6 for Firefox 57+ has been released and is available for update and download from AMO. Flagfox 5.2.7 has also been released for Firefox 52 ESR, SeaMonkey, and Firefox forks based on older Gecko versions (or at least anything newer than Firefox 24). You can download it here.

Flagfox 6.0.6 changelog:

  • IPv4 & IPv6 address location database updates for May 2018
  • Updated Flagfox-Geotool CAPTCHA pass mechanism

Flagfox 5.2.7 changelog:

  • IPv4 & IPv6 address location database updates for May 2018
  • Updated Flagfox-Geotool CAPTCHA pass mechanism

(Same IPDB files as 6.0.x from same the build system, now updated. All other updates are exclusive to newer versions.)

The updated Flagfox-Geotool CAPTCHA pass mechanism is just a change from validating Flagfox versions to Geotool via a hash to an HMAC (a fancier hash) of the rest of the cookie. (still no user/client identifying information; no privacy policy change needed) Nobody should notice any change from this; it should just simplify maintenance of the system in the future. CAPTCHA policy is the same as it was before: the current and previous month’s Flagfox versions can use Geotool CAPTCHA-free and older versions don’t (with the current temporary exception of 5.2.3, the last 5.2.x version on AMO). Other abuse prevention mechanisms are also in place. We haven’t had too many issues as of late, so we’re hoping that people who would consider mass scraping Geotool results have just noticed it’s simpler to do it the right way and use an IP location database directly, instead of murdering Richard’s poor innocent server.

Flagfox 6.1 is still a work in progress. I’d have released a beta by now if Mozilla didn’t get rid of the beta channel on AMO. It still needs a little bit of work and testing; hopefully will be done soon. Just a reminder: Flagfox 6.1 requires Firefox 60+ (ESR).

Flagfox 6.0.5 and 5.2.6 updates released

Flagfox 6.0.5 for Firefox 57+ has been released and is available for update and download from AMO. Flagfox 5.2.6 has also been released for Firefox 52 ESR, SeaMonkey, and Firefox forks based on older Gecko versions (or at least anything newer than Firefox 24). You can download it here.

Flagfox 6.0.5 changelog:

  • IPv4 & IPv6 address location database updates for April 2018
  • Updated IPDB build system to handle new Maxmind file format
  • Updated country names list for Swaziland->eSwatini name change

Flagfox 5.2.6 changelog:

  • IPv4 & IPv6 address location database updates for April 2018

(Same IPDB files as 6.0.x from same the build system, now updated. All other updates are exclusive to newer versions.)

Future release schedule:
My extended support for Flagfox 5.2.x is scheduled to end once the current Firefox 52 ESR reaches its official end-of-life (EOL), which is currently scheduled to be in August 2018. If Mozilla’s schedule changes, I will most likely do so as well, but I don’t expect them to extend it. I plan to release Flagfox 6.1 sometime next month, at which time support for Flagfox 6.0.x will end. Flagfox 6.1 will use new APIs added to Firefox 60+, and as such will drop support for Firefox 56-59. This will create the unusual situation where the current version of Flagfox requires the absolute most recent version of Firefox, again. Fortunately, this time Firefox 60 is an ESR; no users should have any legitimate reason to continue running the dropped versions of Firefox. Of course, this plan is subject to change, as it all too frequently does.

Flagfox 6.0.4 and 5.2.5 updates released

Flagfox 6.0.4 for Firefox 57+ has been released and is available for update and download from AMO. Flagfox 5.2.5 has also been released for Firefox 52 ESR, SeaMonkey, and Firefox forks based on older Gecko versions (or at least anything newer than Firefox 24). You can download it here.

As a welcome bonus, new versions of addons signed and hosted by Mozilla on AMO are finally signed using SHA2-256, rather just SHA1, which is broken, and MD5, which is comically broken. It only took them… 3 years, since I filed the bug requesting this. This obviously requires the newest Firefox version to be used, otherwise SHA1 is still used (the MD5 hashes are included for no actual reason). If you don’t know what any of this means, you don’t have to; it won’t affect you in any way. Mozilla’s addon security systems are just now using something they should’ve upgraded to long ago and actually provides realistic security again. This is just your routine reminder that security is still usually legally considered to be an optional endeavour, and everything is on fire by default.

Flagfox 6.0.4 changelog:

  • IPv4 & IPv6 address location database updates for March 2018
  • Fixed actions import via drag/drop text into options
  • Added ability to import from text file via drag/drop into options
  • Files are finally now signed by AMO using a non-broken hash (SHA2-256)

Flagfox 5.2.5 changelog:

  • IPv4 & IPv6 address location database updates for March 2018

(Flagfox 5.2.5 was not affected by the text drag/drop bug. All new features are exclusive to newer versions.)