We should plan to soft deprecate extension.json's manifest_version: "1" format in MediaWiki 1.38.
Originally I had no plan of ever deprecating version 1, but at this point version 2 is a vastly superior format in terms of validation and helping developers do the right thing. There's also some minor confusion among core developers on which schema they should update (c.f. https://gerrit.wikimedia.org/r/c/mediawiki/core/+/614906/). Once it's soft deprecated, I would consider version 1 frozen, with no new features being added.
Based on extreg-wos, adoption of version 2 looks pretty good (better than I expected tbh). Deprecating in 1.38 means that everyone has had 10 MediaWiki versions to migrate to version 2 (and we're not even breaking it yet...). I expect the number of extensions that will want to support 1.38 and pre-1.28 will be 0.
Depending on how things look, we can look at hard deprecating sometime before 1.43 (LTS if I did my math right).
Before we do this, we need:
- A clear migration guide explaining the changes and benefits in version 2
- Automated migration script
- ...what else?