Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Handle incompatible add-ons when upgrading/downgrading NVDA API versi…
…ons (#15439) Fixes #15437 Fixes #15412 Fixes #15414 Summary of the issue: There are several scenarios which need to be supported when updating/downgrading NVDA with incompatible add-ons Test Name Upgrade from Upgrade to Test notes Upgrade to different NVDA version in the same API breaking release cycle X.1 X.1 Add-ons which remain incompatible are listed as incompatible on upgrading. Preserves state of enabled incompatible add-ons Upgrade to a different but compatible API version X.1 X.2 Add-ons which remain incompatible are listed as incompatible on upgrading. Preserves state of enabled incompatible add-ons Downgrade to a different but compatible API version X.2 X.1 Add-ons which remain incompatible are listed as incompatible on downgrading. Preserves state of enabled incompatible add-ons Upgrade to an API breaking version X.1 (X+1).1 All incompatible add-ons are listed as incompatible on upgrading, overridden compatibility is reset. Downgrade to an API breaking version (X+1).1 X.1 Add-ons which remain incompatible listed as incompatible on downgrading. Preserves state of enabled incompatible add-ons. Blocked add-ons which are now compatible are re-enabled. Description of user facing changes NVDA will reset compatibility overrides when updating to a different API breaking release, this means incompatible add-ons will be blocked again. If an add-on is blocked due to compatibility and becomes compatible, e.g. via downgrading, it will be re-enabled. Description of development approach Store the BACK_COMPAT_TO version in the addon state pickle. When updating the BACK_COMPAT_TO version, reset the incompatibility override state.
- Loading branch information
Showing
5 changed files
with
100 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters