diff --git a/CHANGELOG.md b/CHANGELOG.md index 3835d15177dd..883564672c86 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,52 @@ This file contains notable changes (e.g. breaking changes, major changes, etc.) This file was introduced starting Kani 0.23.0, so it only contains changes from version 0.23.0 onwards. +## [0.57.0] + +### Major Changes +* `kani-cov`: A coverage tool for Kani by @adpaco-aws in https://github.com/model-checking/kani/pull/3121 +* Add a timeout option by @zhassan-aws in https://github.com/model-checking/kani/pull/3649 +* Loop Contracts Annotation for While-Loop by @qinheping in https://github.com/model-checking/kani/pull/3151 +* Harness output individual files by @Alexander-Aghili in https://github.com/model-checking/kani/pull/3360 +* Enable support for Ubuntu 24.04 by @tautschnig in https://github.com/model-checking/kani/pull/3758 + +### Breaking Changes +* Make `kani::check` private by @celinval in https://github.com/model-checking/kani/pull/3614 +* Remove symtab json support by @celinval in https://github.com/model-checking/kani/pull/3695 +* Remove CBMC viewer and visualize option by @zhassan-aws in https://github.com/model-checking/kani/pull/3699 +* Dropping support for Ubuntu 18.04 / AL2. by @thanhnguyen-aws in https://github.com/model-checking/kani/pull/3744 + +### What's Changed +* Remove the overflow checks for wrapping_offset by @zhassan-aws in https://github.com/model-checking/kani/pull/3589 +* Support fully-qualified --package arguments by @celinval in https://github.com/model-checking/kani/pull/3593 +* Implement proper function pointer handling for validity checks by @celinval in https://github.com/model-checking/kani/pull/3606 +* Add fn that checks pointers point to same allocation by @celinval in https://github.com/model-checking/kani/pull/3583 +* [Lean back-end] Preserve variable names by @zhassan-aws in https://github.com/model-checking/kani/pull/3560 +* Emit an error when proof_for_contract function is not found by @zhassan-aws in https://github.com/model-checking/kani/pull/3609 +* [Lean back-end] Rename user-facing options from Aeneas to Lean by @zhassan-aws in https://github.com/model-checking/kani/pull/3630 +* Fix ICE due to mishandling of Aggregate rvalue for raw pointers to trait objects by @carolynzech in https://github.com/model-checking/kani/pull/3636 +* Fix loop contracts transformation when loops in branching by @qinheping in https://github.com/model-checking/kani/pull/3640 +* Move any_slice_from_array to kani_core by @qinheping in https://github.com/model-checking/kani/pull/3646 +* Implement `Arbitrary` for `Range*` by @c410-f3r in https://github.com/model-checking/kani/pull/3666 +* Add support for float_to_int_unchecked by @zhassan-aws in https://github.com/model-checking/kani/pull/3660 +* Change `same_allocation` to accept wide pointers by @celinval in https://github.com/model-checking/kani/pull/3684 +* Derive `Arbitrary` for enums with a single variant by @AlgebraicWolf in https://github.com/model-checking/kani/pull/3692 +* Apply loop contracts only if there exists some usage by @qinheping in https://github.com/model-checking/kani/pull/3694 +* Add support for f16 and f128 in float_to_int_unchecked intrinsic by @zhassan-aws in https://github.com/model-checking/kani/pull/3701 +* Fix codegen for rvalue aggregate raw pointer to an adt with slice tail by @carolynzech in https://github.com/model-checking/kani/pull/3644 +* Improve Kani handling of function markers by @celinval in https://github.com/model-checking/kani/pull/3718 +* Enable contracts for const generic functions by @qinheping in https://github.com/model-checking/kani/pull/3726 +* List Subcommand Improvements by @carolynzech in https://github.com/model-checking/kani/pull/3729 +* [Lean back-end] add support for enum, struct, tuple in llbc backend by @thanhnguyen-aws in https://github.com/model-checking/kani/pull/3721 +* Fix issues with how we compute DST size by @celinval in https://github.com/model-checking/kani/pull/3687 +* Fix size and alignment computation for intrinsics by @celinval in https://github.com/model-checking/kani/pull/3734 +* Add a Kani function that checks if the range of a float is valid for conversion to int by @zhassan-aws in https://github.com/model-checking/kani/pull/3742 +* Add out of bounds check for `offset` intrinsics by @celinval in https://github.com/model-checking/kani/pull/3755 +* Automatic upgrade of CBMC from 6.3.1 to 6.4.1 +* Rust toolchain upgraded to nightly-2024-12-13 by @zhassan-aws @carolynzech @qinheping @celinval @tautschnig + +**Full Changelog**: https://github.com/model-checking/kani/compare/kani-0.56.0...kani-0.57.0 + ## [0.56.0] ### Major/Breaking Changes diff --git a/Cargo.lock b/Cargo.lock index 290aeae08dba..e6e86976fe84 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -171,7 +171,7 @@ dependencies = [ [[package]] name = "build-kani" -version = "0.56.0" +version = "0.57.0" dependencies = [ "anyhow", "cargo_metadata", @@ -400,7 +400,7 @@ dependencies = [ [[package]] name = "cprover_bindings" -version = "0.56.0" +version = "0.57.0" dependencies = [ "lazy_static", "linear-map", @@ -754,7 +754,7 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "kani" -version = "0.56.0" +version = "0.57.0" dependencies = [ "kani_core", "kani_macros", @@ -762,7 +762,7 @@ dependencies = [ [[package]] name = "kani-compiler" -version = "0.56.0" +version = "0.57.0" dependencies = [ "charon", "clap", @@ -801,7 +801,7 @@ dependencies = [ [[package]] name = "kani-driver" -version = "0.56.0" +version = "0.57.0" dependencies = [ "anyhow", "cargo_metadata", @@ -833,7 +833,7 @@ dependencies = [ [[package]] name = "kani-verifier" -version = "0.56.0" +version = "0.57.0" dependencies = [ "anyhow", "home", @@ -842,14 +842,14 @@ dependencies = [ [[package]] name = "kani_core" -version = "0.56.0" +version = "0.57.0" dependencies = [ "kani_macros", ] [[package]] name = "kani_macros" -version = "0.56.0" +version = "0.57.0" dependencies = [ "proc-macro-error2", "proc-macro2", @@ -859,7 +859,7 @@ dependencies = [ [[package]] name = "kani_metadata" -version = "0.56.0" +version = "0.57.0" dependencies = [ "clap", "cprover_bindings", @@ -1599,7 +1599,7 @@ dependencies = [ [[package]] name = "std" -version = "0.56.0" +version = "0.57.0" dependencies = [ "kani", ] diff --git a/Cargo.toml b/Cargo.toml index 3c61638025e5..f6236785e038 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-verifier" -version = "0.56.0" +version = "0.57.0" edition = "2021" description = "A bit-precise model checker for Rust." readme = "README.md" diff --git a/cprover_bindings/Cargo.toml b/cprover_bindings/Cargo.toml index a190019d4cc2..b8f0210f9c72 100644 --- a/cprover_bindings/Cargo.toml +++ b/cprover_bindings/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "cprover_bindings" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-compiler/Cargo.toml b/kani-compiler/Cargo.toml index 9f084da7b962..50ae4e0a58d6 100644 --- a/kani-compiler/Cargo.toml +++ b/kani-compiler/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-compiler" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-driver/Cargo.toml b/kani-driver/Cargo.toml index 7b4a970a6753..123801e81a0a 100644 --- a/kani-driver/Cargo.toml +++ b/kani-driver/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-driver" -version = "0.56.0" +version = "0.57.0" edition = "2021" description = "Build a project with Kani and run all proof harnesses" license = "MIT OR Apache-2.0" diff --git a/kani_metadata/Cargo.toml b/kani_metadata/Cargo.toml index 2a0a03401c40..840990adca7a 100644 --- a/kani_metadata/Cargo.toml +++ b/kani_metadata/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_metadata" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani/Cargo.toml b/library/kani/Cargo.toml index 3ad1b286ebe6..a8c697e3d19f 100644 --- a/library/kani/Cargo.toml +++ b/library/kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani_core/Cargo.toml b/library/kani_core/Cargo.toml index df55e6278282..c214c64c0f02 100644 --- a/library/kani_core/Cargo.toml +++ b/library/kani_core/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_core" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani_macros/Cargo.toml b/library/kani_macros/Cargo.toml index a7876176adb2..13f20b96b6c7 100644 --- a/library/kani_macros/Cargo.toml +++ b/library/kani_macros/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_macros" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/library/std/Cargo.toml b/library/std/Cargo.toml index e1e353704723..08c033407fb4 100644 --- a/library/std/Cargo.toml +++ b/library/std/Cargo.toml @@ -5,7 +5,7 @@ # Note: this package is intentionally named std to make sure the names of # standard library symbols are preserved name = "std" -version = "0.56.0" +version = "0.57.0" edition = "2021" license = "MIT OR Apache-2.0" publish = false diff --git a/tools/build-kani/Cargo.toml b/tools/build-kani/Cargo.toml index ee8d842db0eb..ff5b3a406db1 100644 --- a/tools/build-kani/Cargo.toml +++ b/tools/build-kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "build-kani" -version = "0.56.0" +version = "0.57.0" edition = "2021" description = "Builds Kani, Sysroot and release bundle." license = "MIT OR Apache-2.0"