@@ -24,6 +24,7 @@ class BreakingChange(enum.Enum):
2424 MESSAGE_MOVED_TO_EXTENSION = "{symbol} ({msgid}) was moved to {extension}"
2525 EXTENSION_REMOVED = "{extension} was removed"
2626 OPTION_REMOVED = "{option} option was removed"
27+ OPTION_RENAMED = "{option} option was renamed to {new_value}"
2728 OPTION_BEHAVIOR_CHANGED = "{option} behavior changed: {description}"
2829 # This kind of upgrade is non-breaking but if we want to automatically upgrade it,
2930 # then we should use the message store and old_names values instead of duplicating
@@ -38,13 +39,15 @@ class Condition(enum.Enum):
3839 EXTENSION_IS_LOADED = "{extension} is loaded"
3940 EXTENSION_IS_NOT_LOADED = "{extension} is not loaded"
4041 OPTION_IS_PRESENT = "{option} is present in configuration"
42+ OPTION_IS_NOT_PRESENT = "{option} is not present in configuration"
4143
4244
4345class Information (NamedTuple ):
4446 msgid_or_symbol : str | None = None
4547 extension : str | None = None
4648 option : list [str ] | str | None = None
4749 description : str | None = None
50+ new_value : str | None = None
4851
4952
5053class Solution (enum .Enum ):
@@ -64,6 +67,7 @@ class Solution(enum.Enum):
6467 )
6568 REMOVE_OPTION = "Remove {option} from configuration"
6669 REVIEW_OPTION = "Review and adjust or remove {option}: {description}"
70+ RENAME_OPTION = "Rename {option} to {new_value}"
6771 DO_NOTHING = "Do nothing"
6872
6973
@@ -80,6 +84,17 @@ class Solution(enum.Enum):
8084 msgid_or_symbol = "no-self-use" , extension = "pylint.extensions.no_self_use"
8185)
8286CONFIGURATION_BREAKING_CHANGES : dict [str , list [BreakingChangeWithSolution ]] = {
87+ "2.7.3" : [
88+ (
89+ BreakingChange .OPTION_RENAMED ,
90+ Information (
91+ option = "extension-pkg-whitelist" ,
92+ new_value = "extension-pkg-allow-list" ,
93+ ),
94+ [Condition .OPTION_IS_PRESENT ],
95+ {Intention .FIX_CONF : [Solution .RENAME_OPTION ]},
96+ ),
97+ ],
8398 "2.14.0" : [
8499 (
85100 BreakingChange .MESSAGE_MOVED_TO_EXTENSION ,
0 commit comments