RELEASE.md
Update version in /VERSION, bin/elixir, and bin/elixir.bat
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 push it
Once GitHub actions completes, generate a new tag, and push it
Wait until GitHub Actions publish artifacts to the draft release
Copy the relevant bits from /CHANGELOG.md to the GitHub release and publish it (link to the announcement if there is one)
Update _data/elixir-versions.yml (except for RCs) in elixir-lang/elixir-lang.github.com
Comment out CANONICAL := main/ in /Makefile
Update tables in /SECURITY.md and "Compatibility and Deprecations"
Commit "Branch out vMAJOR.MINOR"
Bump /VERSION file, bin/elixir, and bin/elixir.bat
Start new /CHANGELOG.md
Update tables in /SECURITY.md and in "Compatibility and Deprecations"
Commit "Start vMAJOR.MINOR+1"
Update the table in Compatibility and Deprecations
Update otp_release checks in /Makefile and /lib/elixir/src/elixir.erl
Update relevant CI workflows in /.github/workflows/*.yml - for release workflows, outdated/recently added Erlang/OTP versions must run conditionally
Remove otp_release version checks that are no longer needed