Changes:
This is another bugfix release for Sail 0.20. It includes fixes for the following issues and more:
HOL4 support has been improved to support changes in Sail RISC-V.
The minimum OCaml version has been increased to OCaml 4.14, although we highly recommend upgrading to at least OCaml 5.2. The minumum version might be increased to require OCaml 5 in some future major release.
Binary packages
This release includes binary packages of Sail 0.20.2 for Linux, for both x86_64 (Intel/AMD) platforms and Aarch64 (Arm). They are built using a Rocky Linux container, so it should work on a wide variety of Linux distributions with more recent glibc versions. There is also a package for x86_64 Windows.
The tarballs can be verified using GitHub artifact attestations with the GitHub CLI client, which should produce output like:
$ gh attestation verify sail-Linux-x86_64.tar.gz --owner rems-project
Loaded digest sha256:26b59bcab2d66e9f220d317dfe45f8b09170ed70e59a824553d6f525134d1ff6 for file://sail-Linux-x86_64.tar.gz
Loaded 1 attestation from GitHub API
The following policy criteria will be enforced:
- Predicate type must match:................ https://slsa.dev/provenance/v1
- Source Repository Owner URI must match:... https://github.com/rems-project
- Subject Alternative Name must match regex: (?i)^https://github.com/rems-project/
- OIDC Issuer must match:................... https://token.actions.githubusercontent.com
✓ Verification succeeded!
The following 1 attestation matched the policy criteria
- Attestation #1
- Build repo:..... rems-project/sail
- Build workflow:. .github/workflows/release.yml@refs/heads/sail2
- Signer repo:.... rems-project/sail
- Signer workflow: .github/workflows/release.yml@refs/heads/sail2
To use the binary release, simply extract the correct tarball for your platform and add the included bin directory to your $PATH variable. By default it should know where to find the included Sail libraries and plugins relative to this directory. We include a pre-compiled version of z3, so no additional dependencies should be required. Note that the sail-0.20.1.tbz file on this release is a snapshot of the source tree, and does not contain any built binaries.
If you want to move the binaries you will need to set the $SAIL_DIR environment variable to the included share/sail folder, and the $SAIL_PLUGIN_DIR variable to the share/libsail/plugins folder.