Firefox add-on developers are free to distribute their add-ons as they see fit, as long as they aren’t forced on users. This comes down to two distribution methods: list it on addons.mozilla.org (AMO), or distribute it themselves via a Web page or application installer.

The implementation of add-on signing on AMO added some unwanted restrictions to these options, essentially making developers choose one distribution channel or the other for all versions of an add-on. Switching between one channel and the other is possible, but complicated.

Today we’re removing these restrictions and enabling mixed listed and unlisted versions for add-ons on AMO. When submitting a new version of an add-on, developers will be able to choose if they want to host it on AMO or on their own. This makes it possible to quickly sign an add-on file for user-testing, create a self-distributed pre-release channel, and more. The only limitation is that version numbers need to be unique across both channels.

Part of this feature has been active on AMO for a while. You may have noticed the new add-on and version submission flows, which were the first set of changes we pushed out.

Today we’ll enable the distribution channel choice for new version uploads, as well as changes to the Developer Hub to make it easier to manage mixed versions.

This is the result of many months of engineering work. The add-on lifecycle, signing, reviews, and various add-on/version/file status combinations are at the core of AMO and are surprisingly complex. I’d like to thank Andrew Williamson and Mathieu Pillard for taking on the bulk of this monumental task, and Bram Pitoyo for doing the UX work.

Please report any AMO issues on GitHub.