Releases: model-checking/kani
kani-0.39.0
Kani Rust verifier release bundle version 0.39.0.
What's Changed
- Limit --exclude to workspace packages by @tautschnig in #2808
- Fix panic warning and add arbitrary Duration by @celinval in #2820
- Update CBMC version to 5.94 by @celinval in #2821
- Rust toolchain upgraded to
nightly-2023-10-17
by @celinval @tautschnig
Full Changelog:
kani-0.38.0...kani-0.39.0
kani-0.38.0
Major Changes
- Deprecate
any_slice
by @zhassan-aws in #2789
What's Changed
- Provide better error message for invalid stubs by @JustusAdam in #2787
- Simple Stubbing with Contracts by @JustusAdam in #2746
- Avoid mismatch when generating structs that represent scalar data but also include ZSTs by @adpaco-aws in #2794
- Prevent kani crash during setup for first time by @jaisnan in #2799
- Create concrete playback temp files in source directory by @tautschnig in #2804
- Bump CBMC version by @zhassan-aws in #2796
- Update Rust toolchain to 2023-09-23 by @tautschnig in #2806
Full Changelog: kani-0.37.0...kani-0.38.0
kani-0.37.0
Kani Rust verifier release bundle version 0.37.0.
Major Changes
- Delete obsolete stubs for
Vec
and related options by @zhassan-aws in #2770 - Add support for the ARM64 Linux platform by @adpaco-aws in #2757
What's Changed
- Function Contracts: Support for defining and checking
requires
andensures
clauses by @JustusAdam in #2655 - Force
any_vec
capacity to match length by @celinval in #2765 - Fix expected value for
pref_align_of
under aarch64/macos by @remi-delmas-3000 in #2782 - Bump CBMC version to 5.92.0 by @zhassan-aws in #2771
- Upgrade to Kissat 3.1.1 by @zhassan-aws in #2756
- Rust toolchain upgraded to
nightly-2023-09-19
by @remi-delmas-3000 @tautschnig
Full Changelog: kani-0.36.0...kani-0.37.0
kani-0.36.0
Kani Rust verifier release bundle version 0.36.0.
What's Changed
- Enable
-Z stubbing
and error out instead of ignoring stub by @celinval in #2678 - Enable concrete playback for failure of UB checks by @zhassan-aws in #2727
- Bump CBMC version to 5.91.0 by @adpaco-aws in #2733
- Rust toolchain upgraded to
nightly-2023-09-06
by @celinval @jaisnan @adpaco-aws
Full Changelog: kani-0.35.0...kani-0.36.0
kani-0.35.0
Kani Rust verifier release bundle version 0.35.0.
What's Changed
- Add support to
simd_bitmask
by @celinval in #2677 - Add integer overflow checking for
simd_div
andsimd_rem
by @reisnera in #2645 - Bump CBMC version by @zhassan-aws in #2702
- Upgrade Rust toolchain to 2023-08-19 by @zhassan-aws in #2696
Full Changelog: kani-0.34.0...kani-0.35.0
kani-0.34.0
Kani Rust verifier release bundle version 0.34.0.
Breaking Changes
- Change default solver to CaDiCaL by @celinval in #2557
By default, Kani will now run CBMC with CaDiCaL, since this solver has outperformed Minisat in most of our benchmarks.
User's should still be able to select Minisat (or a different solver) either by using#[solver]
harness attribute,
or by passing--solver=<SOLVER>
command line option.
What's Changed
- Allow specifying the scheduling strategy in #[kani_proof] for async functions by @fzaiser in #1661
- Support for stubbing out foreign functions by @feliperodri in #2658
- Coverage reporting without a need for cbmc-viewer by @adpaco-aws in #2609
- Add support to array-based SIMD by @celinval in #2633
- Add unchecked/SIMD bitshift checks and disable CBMC flag by @reisnera in #2630
- Fix codegen of constant byte slices to address spurious verification failures by @zhassan in #2663
- Bump CBMC to v5.89.0 by @remi-delmas-3000 in #2662
- Update Rust toolchain to nightly 2023-08-04 by @remi-delmas-3000 in #2661
Full Changelog: kani-0.33.0...kani-0.34.0
kani-0.33.0
Kani Rust verifier release bundle version 0.33.0.
What's Changed
- Adds support for sysconf by @feliperodri in #2557
- Print Kani version by @adpaco-aws in #2619
- Upgrade Rust toolchain to nightly-2023-07-01 by @qinheping in #2616
- Bump CBMC version to 5.88.1 by @zhassan-aws in #2623
Full Changelog: kani-0.32.0...kani-0.33.0
kani-0.32.0
What's Changed
- Add kani::spawn and an executor to the Kani library by @fzaiser in #1659
- Add "kani" configuration key to enable conditional compilation in build scripts by @celinval in #2297
- Adds posix_memalign to the list of supported builtins by @feliperodri in #2601
- Upgrade rust toolchain to nightly-2023-06-20 by @celinval in #2551
- Update rust toolchain to 2023-06-22 by @celinval in #2588
- Automatic toolchain upgrade to nightly-2023-06-24 by @github-actions in #2600
- Bump CBMC version to 5.87.0 by @adpaco-aws in #2598
Full Changelog: kani-0.31.0...kani-0.32.0
kani-0.31.0
Kani Rust verifier release bundle version 0.31.0.
What's Changed
- Add
--exact
flag by @jaisnan in #2527 - Build the verification libraries using Kani compiler by @celinval in #2534
- Verify all Kani attributes in all crate items upfront by @celinval in #2536
- Throw a graceful error when type checking for
ctpop
fails by @JustusAdam in #2504 - Bump CBMC version to 5.86.0 by @zhassan-aws in #2561
Full Changelog: kani-0.30.0...kani-0.31.0
kani-0.30.0
Kani Rust verifier release bundle version 0.30.0.
What's Changed
- Remove --harness requirement from stubbing by @celinval in #2495
- Add target selection for cargo kani by @celinval in #2507
- Generate Multiple playback harnesses when multiple crashes exist in a single harness. by @YoshikiTakashima in #2496
- Escape Zero-size types in playback by @YoshikiTakashima in #2508
- Do not crash when
rustfmt
fails. by @YoshikiTakashima in #2511 - Update Cbmc version by @celinval in #2512
- Upgrade rust toolchain to 2023-04-30 by @zhassan-aws in #2456
Full Changelog: kani-0.29.0...kani-0.30.0