Thanks for adding the Manifest V3 support! I guess my situation is less common than for most devs, but I have a V3-only extension which previously only supported Chrome-based browsers. (My experience with V3 has only been positive, starting from a new project a few months ago.) I was waiting for Firefox to add V3 support before supporting Firefox, as I didn’t want to maintain a V2 and V3 version.
I was able to add support for Firefox relatively easily thanks to the new Manifest V3 support, and I got my extension onto AMO ready for 109’s release tomorrow — looking forward to announcing Firefox support.
There were a few general browser differences to handle (like different clipboard APIs), but nothing major. The background page vs service worker difference was the main thing directly related to extension APIs. But my service worker code worked as a background page, so I could handle the split by having my build process generate separate (mostly identical) builds for Chrome and Firefox, with the Firefox version including browser_specific_settings
and swapping background.service_worker
for background.scripts
.
These were all the changes I made: https://github.com/h4l/headgear/pull/19/commits
Something that’s not quite clear to me is whether strict_min_version
needs to be set to 109.0
for a V3 extension, or whether the manifest’s version being 3 is enough. The “Distribute Manifest V2 and V3 extensions” page seemed to suggest it should be used, so I included it to be on the safe side.