github rems-project/sail 0.20.1

7 hours ago

Changes:

This is bugfix release for Sail 0.20. It includes fixes for the following issues, among others:

It also includes various improvements to the Sail formatter, and some improvements to the loop syntax that should make while and foreach loops slightly more consistent.

This point release also includes the change that unifies the bit type with the bits(1) type. In principle, this means that strictly more programs should be permitted than before, so we have decided to forgo a major version increment for this. The change may be noticable to those using Sail generated theorem prover definitions.

Binary packages

This release includes binary packages of Sail 0.20 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.

The tarballs can be verified using GitHub artifact attestations with the GitHub CLI client, which should produce output like:

$ gh attestation verify sail-Linux-aarch64.tar.gz --owner rems-project
Loaded digest sha256:77fa0e8ade725fb22bd34bfb4901cbc739be45445242862946df2498f149b14d for file://sail-Linux-aarch64.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.

Update 2025/12/22 - Binary packages did not have executable bit set on bundled SMT solver. This has now been fixed.

Don't miss a new sail release

NewReleases is sending notifications on new releases.