A few packages in Fedora get major updates outside the regular release cycle. The kernel is one of these, and Firefox is another. The maintainers do their best to handle these situations. Of course they always try to avoid any breaking changes to the user experience. However, there are times an upstream provides a path that makes this unavoidable. One of those rare situations is happening at present.

Upstream work on Firefox 57

Over the past year, Mozilla has been working on a series of major changes to the Firefox browser, mainly for performance and security. These changes are referred to as Project Quantum. Some improvements arrived already with no major differences for its users.

Last month the major changes landed in the developer channel. These changes mark a major deadline for how extensions work. This deadline gave third party developers a chance to look at their extensions and make changes to remain compatible. It was an important milestone date for the various Firefox add-ons. Firefox 57 marks an end to the legacy XUL based extensions. Starting with version 57, Firefox supports only a new type of extension, named WebExtension.

This shouldn’t be a surprise to Firefox extension developers, though. The compatibility roadmap has been known for the past year. Those who maintain their own extensions should read through the general upstream documentation on the change and the specific porting guide, as well.

User visible changes

Of course, developers following the Mozilla blogs have been aware of this change for a while. But the question remains: what does this mean for users?

The WebExtensions API is a cross-platform initiative. Therefore, this change means more extensions shared between Chrome, Opera and Firefox and the larger community. That should lead to better quality extensions overall. For the past several months, extension developers have been porting and giving feedback to Mozilla with APIs they require. Over 5000 extensions from addons.mozilla.org have been converted to remain compatible with version 57 and onward.

Users probably shouldn’t “hold back at FF56 as my favorite extensions don’t work.” Recall that security fixes only come from new versions, and they’ll all be WebExtension only. The Extended Support Release version will also switch to WebExtensions only at the next release. This date, June 2018, marks the deadline for ESR users to migrate their extensions.

Check which extensions you use that aren’t supported, and investigate if there’s a replacement or a beta test build by the developer. An upstream effort tracks whether many popular extensions have been ported yet, and related Mozilla bugs.

In addition to the extension changes, there are UI changes (codename Photon) as well as HTML, CSS and JavaScript rendering additions and fixes. Although the present beta release notes are brief, they link to further articles on the changes. Users and system administrators should read them to be prepared.

How Fedora is handling Firefox 57

Firefox 57 release is scheduled for November 14; Fedora 27 releases a week or so before that. The current Fedora 27 beta has the Firefox 57 beta. Fedora intends to have the Firefox 57 final release in a Fedora 27 update. This will be a significant part of the Fedora 27 Workstation release. If you use extensions, you’ll want to be aware of this plan.

Once Mozilla releases version 57, it will be submitted to the Fedora 26 updates-testing repository for an extended period. This provides adequate time for users to check their extensions before the update is promoted. However, this update will come to the stable repos for Fedora 26.

Between now and that point, a COPR provides builds for early testing of the builds, updated with any changes from the Fedora 27 release. Note that you cannot return to the older release on the same profile, due to changes in the update. Bear that in mind before installing this early release. You may want to make a backup of the existing profile before you update. This COPR will be removed when Firefox 57 reaches the Fedora 26 updates-testing repository.

To test these early package builds and provide early feedback of any issues, follow the usual COPR instructions to enable the repository and install the software:

dnf copr enable jhogarth/firefox57
dnf update firefox

When version 57 reaches the testing repository of Fedora 26 and the COPR is no longer required, remove it. This gets you the official Firefox maintainer’s builds and a clean future upgrade to Fedora 27:

dnf clean all
dnf copr remove jhogarth/firefox57

Providing feedback on the upcoming packages

Is the thought of testing the upcoming Firefox tempting? Then please follow these guidelines so maintainers can more easily handle your reported issues.

  • The Fedora 25 builds are entirely unsupported and provided only as a convenience for testing. Only Fedora 26 will receive the Firefox 57 update in the official Fedora repositories.
  • The COPR is provided by the author, a Fedora Packager, not the Mozilla maintenance team, though it is a coordinated effort. The author will try to get updates into place as soon as possible after updates in Fedora 27. These RPMs are not identical to those that will appear in Fedora, although built from the same spec files and sources as in Fedora’s git repositories.
  • Please only report Firefox issues and not any extension issues to Bugzilla. If in doubt, please try to reproduce the issue with extensions disabled.
  • Please use Bugzilla. Do not mail anyone directly.

To report any issues with Firefox 57 on Fedora, use the standard bugzilla report, and please note in the report that you’re using these packages.