Firefox add-ons Manifest V3 migration status

Introduction

The introduction of Chrome Manifest V3 has sparked significant discussion in the browser extension community, not only for Chrome but also for other browsers like Firefox. As one of the leading browsers with a strong emphasis on user privacy and customization, Firefox is also migrating to Manifest V3 to align its extension architecture with industry standards while ensuring compatibility among extensions across browsers. This move aims to provide users with a consistent experience and make it easier for developers to create and maintain cross-platform extensions. However, the migration also brings along concerns surrounding potential impacts on popular extensions, including ad-blockers and privacy tools, as well as the challenges faced by developers in adapting to the new framework. The following sections will discuss the implications of Firefox's migration to Manifest V3, potential benefits and drawbacks, and how the Mozilla team plans to address the concerns raised by both users and developers.

Manifest V3: An Overview

Introduced in 2018, Manifest V3 aims to enhance user privacy, mitigate malicious extensions, and improve performance. With an increased focus on security and privacy, V3 introduces several changes, including a shift from background pages to service workers, revamped API access, and content security policy enforcement. These changes affect how developers build extensions and raise questions about compatibility with older extensions.

Manifest V3 migration progress

Migration progress - Add-on
Extensions migrated to V3 (as of 2024-03-19): 6.36%
Note: This chart only includes Firefox add-ons. Themes are not included in this chart (Themes are not affected by Manifest V3 migration).
Migration progress - All items on Firefox Browser Add-ons
Overall V3 migration progress (as of 2024-03-19): 1.69%
Note: This chart includes both Firefox add-ons and Themes.
Migration progress - Themes
Themes migrated to V3 (as of 2024-03-19): 0.01%
Note: This chart only includes Themes (though Themes are not affected by Manifest V3 migration). Firefox add-ons are not included in this chart.

Pros of Manifest V3

1, Enhanced Privacy and Security:

  • Content Security Policy (CSP) Enforcement: Manifest V3 requires extensions to declare their content security policies explicitly, preventing code injection attacks like cross-site scripting (XSS).
  • Host Permissions Control: By providing users with better control over host permissions, V3 limits extensions' access to sensitive data and restricts unauthorized tracking or data collection.
  • Granular API Access: V3's shift toward declarative APIs gives developers less access over user data, reducing the potential attack surface for malicious extensions.

2, Improved Performance:

  • Service Workers: Replacing persistent background pages with service workers, which run only when needed, saves memory and reduces CPU usage, improving overall browser performance.
  • Declarative APIs: The introduction of declarative APIs promotes a modular architecture that fosters lightweight, efficient extensions. This enhances browser speed, responsiveness, and resource management.

3, Extensibility and Compatibility

  • Future-Proofing: Manifest V3's move towards declarative APIs ensures that extensions can adapt easily to changes in web technology, keeping them relevant and functional as the internet evolves.
  • Consistency Across Browsers: Manifest V3's design encourages consistency across browsers, making it easier for developers to create extensions compatible with multiple platforms, such as Google Chrome, Microsoft Edge, Safari, and Mozilla Firefox.

Overall, the benefits of Manifest V3 revolve around creating a safer, more efficient, and adaptable ecosystem for browser extensions, leading to enhanced user experiences and a more secure browsing environment.

Cons of Manifest V3:

1, Upgrade Compatibility:

  • Migration Challenges: The transition from Manifest V2 to V3 requires significant modifications for many existing extensions. Developers may need to invest considerable time and effort in updating their code, leading to longer transition periods.
  • Deprecated APIs: Some older APIs have been deprecated in V3, making certain features unavailable and forcing developers to find alternative solutions, which may not always be possible.

2, Loss of Functionality:

  • Restricted Web Request Modification: The shift from the webRequest API to the declarativeNetRequest API limits extensions' ability to modify web requests on the fly. This can negatively impact the functionality of popular extensions like ad-blockers or privacy tools.
  • Removal of Script Injection Methods: Manifest V3 has removed certain script injection methods (e.g., executing arbitrary JavaScript via chrome.tabs.executeScript). Although this improves security, it could limit the capabilities of some extensions that rely on these methods.

3, Developer Concerns:

  • Increased Complexity: Due to the architectural changes in Manifest V3, particularly the introduction of service workers, developers may face a steeper learning curve and increased complexity when building extensions.
  • Uncertain Future: Some developers are concerned about the direction Google is taking with Chrome extensions, especially regarding restrictions on request modification. They worry about further limitations being imposed on extension capabilities in future updates.
  • Delayed Execution: Since service workers only run when necessary, they may not execute immediately upon installation or browser startup. This could result in delays for certain extension functionalities, negatively affecting user experience.
  • Startup and Termination: Service workers start up when needed and terminate when idle, which can make it difficult to maintain extension state or perform long-running tasks without interruptions. Developers need to manage the state more carefully and use storage APIs to persist data between service worker instances.
  • Buggy platform: Early adopters have found many issues when migrating to V3. A list of known issues with Manifest V3 is published by Google, though there are many more issues being discussed on the Chromium Extensions forums.

4, User Concerns:

  • Reduced Extension Choices: As a result of compatibility issues and limitations in V3, some users may find that their favorite extensions no longer work or lose certain functionalities, reducing the available choices for customization.
  • Privacy Trade-offs: While Manifest V3 promotes overall user privacy, certain changes, such as the limitations on request modification, could hinder the effectiveness of specific privacy-focused extensions, potentially forcing users to make compromises. Critics have called Manifest V3 deceitful and threatening.

In summary, the cons of Manifest V3 mainly stem from compatibility issues, limitations on extension functionalities, and concerns from both developers and users regarding the future direction of Chrome extensions. These drawbacks may lead to a more restrictive and less flexible ecosystem for some popular extensions.

Manifest V3 Controversy

The changes in Manifest V3 have sparked debates among developers and users alike. The most significant contention revolves around the transition from the webRequest API to the declarativeNetRequest API, limiting extensions' ability to modify web requests on the fly. This change has particularly impacted ad blockers and privacy tools, leading to concerns about reduced effectiveness and potential conflicts of interest as Google generates revenue from ads. Although Google has touted this as a security improvement, critics have pointed out that Manifest V3 won't help security.

Recognizing the importance of extensions and their capabilities for users, Mozilla Firefox has declared that they will support Manifest V3 without removing the webRequest block API, helping users maintain access to powerful extensions while demonstrating its commitment to privacy, customization, and a diverse extension ecosystem.

Conclusion

In conclusion, the migration to Manifest V3 has been a source of controversy and concern for developers and users alike. The changes introduced in this new framework, such as limited API capabilities and increased complexity, have led to poor adoption by developers. Consequently, many popular extensions may lose functionality or cease development altogether, impacting user satisfaction and choice. To stay informed on the progress and official timeline of Manifest V3 deployment, users are encouraged to follow Google's updates and announcements to better understand the implications of these changes on their browsing experience. As the Chrome extension ecosystem evolves, the balance between security, performance, and flexibility will continue to be at the forefront of discussions concerning the future direction of browser extensions.