Skip to content

Commit 4efd35a

Browse files
committed
Add instructions for release and update changelog
1 parent 0f6a2c7 commit 4efd35a

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
### Added
10+
11+
- Add checksum verification of precompiled NIF files before extracting
12+
them to the correct location. This is to avoid supply chain attacks.
13+
With this change we added a new mix task to download all the files
14+
and generate the checksum before publishing the package. Additionally
15+
the user can download only the local NIF file with the checksum.
16+
See the `RELEASE_CHECKLIST.md` file for details on how we ensure this
17+
works correctly.
18+
919
### Changed
1020

1121
- Switch from thread pool to being a dirty NIF. This prevents the

RELEASE_CHECKLIST.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Release checklist
2+
3+
In order to release a new version to Hex.pm we first need to:
4+
5+
1. write the changes in the `CHANGELOG.md` file
6+
2. update the `README.md`, `CHANGELOG.md` and `mix.exs` with the new version
7+
3. commit and create a tag for that version
8+
4. push the changes to the repository with: `git push origin master --tags`
9+
5. wait the CI to build all release files
10+
6. run `mix rustler.download Html5ever.Native --all --print`
11+
7. copy the output of the mix task and add to the release notes
12+
8. run `mix hex.publish` and **make sure the checksum file is present**
13+
in the list of files to be published.
14+
15+
It's important to ensure that we publish the checksum file with the
16+
package because otherwise the users won't be able to use the lib
17+
with precompiled files. They will need to always enforce compilation.

0 commit comments

Comments
 (0)