jasmin
jasmin copied to clipboard
Releases "Jasmin 21.0" and "Jasmin 2022.04.0"
It was decided to release two versions in a short period of time. The first one, called "jasmin 0" (finally named 21.0) will contain what is currently in master. It is needed since we are about to merge glob_array3 in master and some people may want to keep working with the older version. It will also serve as a rehearsal for the second release. The second one, probably called "jasmin 2022.01" (finally called 22.0) (we need to synchronize with EasyCrypt) will contain what is currently in glob_array3.
This issue is an attempt to list the things that we want to do before the releases.
For release "Jasmin 21.0"
- [x] clean the headers + add a LICENSE file?
- [x] rename master into release-21
- [x] add a tag
- [x] create a release on GitHub
- [ ] create nix/opam releases? (not really part of the release process, but at least it is written somewhere)
For release "Jasmin 2022.04.0"
The recent progresses about randomness and the support of multiple architectures were considered not mature enough to be in the release (this needs to be 100% confirmed for randomness, since the developers of libjade were really requesting this feature). They will be released in a next release in a few months (since we don't have a rigid agenda, and these are rather major features, nothing prevents us from making a new release as soon as these features are added in master).
- [x] finish the proofs in glob_array3
- [ ] better separation between code and proofs? (this has to be done, but do we need that for the release?)
- [ ] make a pass on the open issues and solve the easy ones
- [ ] documentation in the code or in the wiki (I don't remember what we decided was necessary to do before the release in terms of documentation)
- [x] rename glob_array3 into main and make it the default branch
- [x] add a changelog
- [x] create a branch from master (after the merge)
- [x] add a tag
- [x] create a release on GitHub
- [x] create nix/opam releases? (not really part of the release process, but at least it is written somewhere)
cc @bgregoir and @vbgl If you want to add something
The eclib directory of both branches should be “reconciled” as a first step.
@vbgl What do you mean exactly? Extraction to EC does not work currently? Is this needed for both releases or only for 2022.01?
What was decided at the weekly meeting about licensing/copyright issues:
- add an AUTHOR file listing the (main?) contributors and the institutions
- use CC0 license everywhere, this is the closest to public domain we can get
- check that Inria/IMDEA/X are ok with CC0
- add a form for pull requests asking the contributors to agree on waving their copyrights
Another point that was mentioned is that next release including the randombytes stuff should be synchronized with the first alpha release of libjade.
I'll look into distributing Jasmin with opam next week.
Releases done. The remaining points are postponed.