-
Notifications
You must be signed in to change notification settings - Fork 78
How To Make A Stable Release
Alpha releases can happen at any time by anyone, just follow the release process. Because MakeMaker is such a critical module, we're very careful about stable releases and there are special conditions.
Anybody who wants to give it a try can. You should have successfully released an alpha before, follow the procedure for that.
Create a milestone for the next stable release.
If it doesn't already exist. Call it after the intended version number.
The milestone must be empty of open issues before a stable release can happen.
Before you can issue a stable release, you need a successful alpha release.
A stable release is a re-issue of an alpha release. There should be no content change, version numbers, change log and meta data excepted. A good rule of thumb is if you want to add an item to the change log, you should issue another alpha release.
Unless its an emergency, a stable release must always be preceded by an alpha release.
This is a bit fuzzy, but can be defined by our CPAN Tester results.
- Passing on Win32 (Strawberry and Activestate), Linux, BSD, Solaris and Cygwin environments.
- Passing on each major version of Perl we support: 5.6, 5.8, 5.10, 5.12, 5.14, 5.16.
- Passing on the makes we support: GNU make, BSD make, Solaris make, nmake 1.5, Visual C++ nmake and dmake.
This does not mean 100% success, but each failure must be investigated and determined to be either a bad test result or a bug we're willing to live with. That bug must be posted as an issue.
If the alpha release fails, fix things and make a new release.
Post an issue about your intent to go stable
This allows others to bring up important issues and bugs which may need to be resolved.
This allows others time to respond.
Follow the procedure for making a release.
Formatting, typos, clarification and other minor changes can be done by anyone without discussion or approval. Its a wiki, edit it.
Changes, additions and deletions to the policy should first be discussed by writing it up as an issue.
We particularly welcome edits and missing steps from people actually attempting to make a release.