Confirmed users
2,473
edits
No edit summary |
No edit summary |
||
(27 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{FeatureStatus | {{FeatureStatus | ||
|Feature name=Silent Update: Add-ons Default to Compatible | |Feature name=Silent Update: Add-ons Default to Compatible | ||
|Feature stage= | |Feature stage=Shipped | ||
|Feature status= | |Feature status=Complete | ||
|Feature version=Firefox 10 | |Feature version=Firefox 10 | ||
|Feature health=OK | |Feature health=OK | ||
|Feature status note= | |Feature status note=Changes landed and enabled on Fx10. | ||
}} | }} | ||
{{FeatureTeam | {{FeatureTeam | ||
|Feature product manager=Justin Scott | |Feature product manager=Justin Scott | ||
|Feature feature manager= | |Feature feature manager=Lawrence Mandel | ||
|Feature lead engineer=Blair McBride, Wil Clouser | |Feature lead engineer=Blair McBride (client), Wil Clouser (AMO) | ||
|Feature localization lead=Axel Hecht | |Feature localization lead=Axel Hecht | ||
|Feature qa lead=Virgil Dicu | |||
|Feature additional members=Dave Townsend | |Feature additional members=Dave Townsend | ||
}} | }} | ||
{{FeaturePageBody | {{FeaturePageBody | ||
|Feature open issues and risks=What mitigation is needed to detect and fix negative effects of truly incompatible add-ons? | |Feature open issues and risks=What mitigation is needed to detect and fix negative effects of truly incompatible add-ons? | ||
See [https://wiki.mozilla.org/Features/Add-ons/Add-ons_Default_to_Compatible/Detection_and_Mitigation Detection and Mitigation] for the current plan. | |||
|Feature overview=The vast majority of add-ons work from one version of Firefox to the next without the need for developer maintenance, but under the current system, compatibility information must be updated in order for Firefox to enable the add-on for use. For add-ons hosted on AMO, this is done automatically. However, 75% of add-ons in use are not hosted on AMO, and are therefore a major compatibility obstacle for our users. All of the compatibility effort put into each release is simply because Firefox still assumes add-ons will be incompatible between versions, when they usually aren't. | |Feature overview=The vast majority of add-ons work from one version of Firefox to the next without the need for developer maintenance, but under the current system, compatibility information must be updated in order for Firefox to enable the add-on for use. For add-ons hosted on AMO, this is done automatically. However, 75% of add-ons in use are not hosted on AMO, and are therefore a major compatibility obstacle for our users. All of the compatibility effort put into each release is simply because Firefox still assumes add-ons will be incompatible between versions, when they usually aren't. | ||
Line 22: | Line 25: | ||
When users upgrade to a new version of Firefox, only the add-ons that are actually incompatible should be disabled, and the rest are assumed to be compatible. Because Nightly, Aurora, and Beta users will test out the add-ons for weeks before stable users, we should be able to identify and blacklist incompatible add-ons before stable users would be affected by a truly incompatible add-on. | When users upgrade to a new version of Firefox, only the add-ons that are actually incompatible should be disabled, and the rest are assumed to be compatible. Because Nightly, Aurora, and Beta users will test out the add-ons for weeks before stable users, we should be able to identify and blacklist incompatible add-ons before stable users would be affected by a truly incompatible add-on. | ||
|Feature users and use cases=For users without binary add-ons, we hope this will eliminate the vast majority of compatibility issues between rapid releases and allow for silent updates. | |Feature users and use cases=For users without binary add-ons, we hope this will eliminate the vast majority of compatibility issues between rapid releases and allow for silent updates. | ||
|Feature dependencies=The operational side of this feature, how to detect and handle incompatibility cases, is detailed on the [https://wiki.mozilla.org/Features/Add-ons/Add-ons_Default_to_Compatible/Detection_and_Mitigation Detection and Mitigation] page. | |||
|Feature non-goals=This plan is not trying to solve the issue of binary compatibility between releases. | |Feature non-goals=This plan is not trying to solve the issue of binary compatibility between releases. | ||
|Feature functional spec='''Firefox'''<br/> | |Feature functional spec='''Firefox'''<br/> | ||
Line 30: | Line 34: | ||
2. If the add-on is not marked as compatible, Firefox will look at its install.rdf to see if the author has opted out of compatible by default and requested strict compatibility mode. If they have, the add-on is incompatible and should be disabled in the new version of Firefox. | 2. If the add-on is not marked as compatible, Firefox will look at its install.rdf to see if the author has opted out of compatible by default and requested strict compatibility mode. If they have, the add-on is incompatible and should be disabled in the new version of Firefox. | ||
3. Next, Firefox will look | 3. Next, Firefox will look at the compatibility info, to see if the specified minVersion is greater than the running appl;icatin's version. If it is, then Firefox will assume the addon is not backwards compatible, and mark it as incompatible. | ||
4. Finally, for all add-ons, Firefox will look at the metadata it received from AMO and the compatibility presented there will override all of the previous checks. AMO may report that the add-on is actually not compatible with the new version, or it may report that it is compatible with the new version. If there is no compatibility information returned for the particular version of the add-on with the particular version of Firefox, the compatibility is unchanged from steps 1-3. | 4. Next, Firefox will look for binary components in the add-on. If binary components are found, the add-on is incompatible and should be disabled in the new version of Firefox. | ||
5. Finally, for all add-ons, Firefox will look at the metadata it received from AMO and the compatibility presented there will override all of the previous checks. AMO may report that the add-on is actually not compatible with the new version, or it may report that it is compatible with the new version. If there is no compatibility information returned for the particular version of the add-on with the particular version of Firefox, the compatibility is unchanged from steps 1-3. | |||
Firefox will then inform the user, if necessary, about incompatible add-ons, or update to the new version and automatically enable the add-ons that would otherwise be incompatible. | Firefox will then inform the user, if necessary, about incompatible add-ons, or update to the new version and automatically enable the add-ons that would otherwise be incompatible. | ||
Line 47: | Line 53: | ||
'''Add-on Compatibility Reporter'''<br/> | '''Add-on Compatibility Reporter'''<br/> | ||
The ACR should be revamped to better fits its new role of reporting when add-ons are not compatible, rather than when they are compatible. For example, when a user disables an add-on, it should provide a user with the opportunity to say it's because it doesn't work. And it should look for other signs of incompatibility, similar to the self-tests. | The ACR should be revamped to better fits its new role of reporting when add-ons are not compatible, rather than when they are compatible. For example, when a user disables an add-on, it should provide a user with the opportunity to say it's because it doesn't work. And it should look for other signs of incompatibility, similar to the self-tests. | ||
|Feature implementation notes=Add-ons Manager bug: {{bug|692664}} | |Feature implementation notes=* Add-ons Manager bug: {{bug|692664}} ([https://bugzilla.mozilla.org/showdependencytree.cgi?id=692664 Dependency tree]) | ||
AMO bug: {{bug|691834}} | * Remaining bugs that need fixed before release | ||
** {{bug|706387}} Send the compatibility mode when using AMO Search API | |||
* Future work: | |||
** {{bug|570033}} Consider exposing add-on compatibility checking status of the browser. | |||
** {{bug|695581}} Self-test to ensure compatible-by-default addons are working correctly | |||
* AMO bug: {{bug|691834}} ([https://bugzilla.mozilla.org/showdependencytree.cgi?id=691834 Dependency tree]) | |||
* In order to land in 10 requires | |||
** <s>{{bug|698355}}</s> in order to update addons that are compatible-by-default | |||
** <s>{{bug|698358}}</s> in order to update the small sub-section of addons that opt-in to strict compatibility (none now, hopefully very few in the future, but something we need to fully support) | |||
** {{bug|706385}} to make AMO search within the Add-ons Manager return all compatible results | |||
}} | }} | ||
{{FeatureInfo | {{FeatureInfo | ||
Line 62: | Line 78: | ||
|Feature products status=Ready for resourcing & implementation | |Feature products status=Ready for resourcing & implementation | ||
|Feature products notes=From the desktop side, we would like this to be prioritized as a P1 and part of achieving "silent update". | |Feature products notes=From the desktop side, we would like this to be prioritized as a P1 and part of achieving "silent update". | ||
|Feature engineering status= | |Feature engineering status=Done | ||
|Feature security status=sec-review-unnecessary | |||
|Feature security health=OK | |||
|Feature localization notes=Language packs should not be compatible by default. | |Feature localization notes=Language packs should not be compatible by default. | ||
|Feature qa status=signed-off | |||
|Feature qa notes=[https://wiki.mozilla.org/Features/Add-ons/Add-ons_Default_to_Compatible/TestPlan Test Plan] | |||
}} | }} |