-
Ensure you are running on the oldest supported Erlang version
-
Update version in /VERSION
-
Ensure /CHANGELOG.md is updated, versioned and add the current date
-
Update "Compatibility and Deprecations" if a new OTP version is supported
-
Commit changes above with title "Release vVERSION" and generate a new tag
-
Run
make clean testto ensure all tests pass from scratch and the CI is green -
Recompile an existing project (for example, Ecto) to ensure manifests can be upgraded
-
Push branch and the new tag
-
Publish new zips with
make zips, uploadPrecompiled.zipandDocs.zipto GitHub Releases, and include SHAs+CHANGELOG -
Add the release to
elixir.csv(all releases), updateerlang.csvto the precompiled OTP version, and_data/elixir-versions.yml(except for RCs) files inelixir-lang/elixir-lang.github.com -
Send an e-mail to elixir-lang-ann@googlegroups.com with title "Elixir vVERSION released". The body should be a link to the Release page on GitHub and the checksums. If it is a security release, prefix the title with the
[security]tag
-
Set
CANONICAL=in /Makefile -
Update tables in /SECURITY.md and "Compatibility and Deprecations"
-
Commit "Prepare vMAJOR.MINOR for release"
-
Bump /VERSION file
-
Start new /CHANGELOG.md
-
Update tables in /SECURITY.md in "Compatibility and Deprecations"
-
Commit "Start vMAJOR.MINOR+1"