Since MW 1.29, we can use an object to represent different information about an extension configuration setting, for example a localized description as well as public/private information. In this aspect, extensions are much superior to core (afaik), where configuration settings are initialized dynamically from DefaultSettings.php instead of static metadata.
This allows us to add functionality to deprecate configuration settings. At first, I thought a bool would do the job, but after putting some further thought into it, I think we need an object like this:
```
"SomeExampleSetting" : [
"value": [],
"deprecated": {
"mw-version": "1.32",
"ext-version": "2.2",
"comment": "The migration period will end with version 3.0."
}
}
```
If the `deprecated` key is present, the configuration setting is deprecated, all properties are optional. Developers can either specify with which MediaWiki version they deprecated the setting or specify a respective extension version. Both might be fine as well, but could be confusing in some cases.
ExtensionRegistry will check if the user has overwritten the global in his LocalSettings and throw a deprecation warning in this case. This is trivial for non-array settings: Just check for deprecation in `ExtensionRegistry->exportExtractedData( $info )` and throw a nice deprecation warning. The required information could be contained in `$info['config']['SomeExampleSetting']['deprecated']`.
For arrays, it's a bit more complicated. I think $info['config'] only contains settings that are defined by extensions and aren't modified by other extensions, so it should propbably work.