-
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 test
to 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.zip
andDocs.zip
to GitHub Releases, and include SHAs+CHANGELOG -
Add the release to
elixir.csv
(all releases) 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"