User:Mainframe98/Extension release checklist

Steps to take before releasing an extension (requesting a repository and creating a page in the extension namespace)

Steps

 * 1) Does the code run?
 * 2) Does the code meet the Manual:Coding conventions?
 * 3) Does the code run on different MediaWiki versions, and is it known which version do and do not work?
 * 4) Are all the necessary files included in the package?
 * 5) * COPYING, containing the licensing
 * 6) * extension.json, unless targeting MediaWiki 1.24 and lower
 * 7) * README
 * 8) * Localization in /i18n
 * 9) * Unit tests (where applicable)
 * 10) Do the unit tests (if any) succeed?
 * 11) Does the code work on the different environments MediaWiki supports?
 * 12) * Different PHP versions, 5.6+ and 7.0?
 * 13) * HHVM?
 * 14) * The different Database engines, such as MariaDB/MySQL vs Postgres vs SQLlite and MSSQL
 * 15) * Different operating systems like Windows, not Debian related Unix distributions
 * 16) ** Especially file and folder names! Realize that Windows is case insensitive, while Linux/Unix is NOT! Ensure that all folders are lowercase OR ensure the path in extension.json is properly capitalized. (Don't do this, use lowercase, which saves issues)
 * 17) Is it conflicting with other extensions? The most important (for Wikimedia at least) are found on Review queue.
 * 18) Are any Hacks documented and well reasoned?
 * 19) Is there documentation or notes available about edge cases, potential conflicts, expected issues?
 * 20) Is the extension naming consistent throughout the extension?
 * 21) Are any dependencies expressed in the composer.json file?
 * 22) Does the extension work on a different environment? (Think running MediaWiki on a separate device, like a Raspberry PI or an offsite server)