diff --git a/CHANGELOG.md b/CHANGELOG.md index 3835d15177dd..fa37ac243596 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,63 @@ 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/Breaking 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 +* [Breaking change] 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 +* [aeneas] 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] 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 +* codegen: Ask the layout if it is uninhabited, not its impl detail by @workingjubilee in https://github.com/model-checking/kani/pull/3675 +* Update dependencies following Audit workflow failure. by @remi-delmas-3000 in https://github.com/model-checking/kani/pull/3680 +* Harness output individual files by @Alexander-Aghili in https://github.com/model-checking/kani/pull/3360 +* 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 +* Update verify-std-check workflow to enable loop contracts by @qinheping in https://github.com/model-checking/kani/pull/3705 +* Add support for f16 and f128 in float_to_int_unchecked intrinsic by @zhassan-aws in https://github.com/model-checking/kani/pull/3701 +* Revert "Ignore derivative in Cargo deny" by @qinheping in https://github.com/model-checking/kani/pull/3712 +* 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 +* 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 +* Cleanup a few internal compiler deps by @celinval in https://github.com/model-checking/kani/pull/3739 +* 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 +* Setup/CI: cleanup Ubuntu 18.04 and cbmc-viewer left-overs and enable 24.04 by @tautschnig in https://github.com/model-checking/kani/pull/3758 +* 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 + +### New Contributors +* @c410-f3r made their first contribution in https://github.com/model-checking/kani/pull/3666 +* @workingjubilee made their first contribution in https://github.com/model-checking/kani/pull/3675 +* @Alexander-Aghili made their first contribution in https://github.com/model-checking/kani/pull/3360 +* @AlgebraicWolf made their first contribution in https://github.com/model-checking/kani/pull/3692 +* @thanhnguyen-aws made their first contribution in https://github.com/model-checking/kani/pull/3721 + +**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 7931066348b7..b4aa4f6e58d1 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", @@ -745,7 +745,7 @@ checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" [[package]] name = "kani" -version = "0.56.0" +version = "0.57.0" dependencies = [ "kani_core", "kani_macros", @@ -753,7 +753,7 @@ dependencies = [ [[package]] name = "kani-compiler" -version = "0.56.0" +version = "0.57.0" dependencies = [ "charon", "clap", @@ -792,7 +792,7 @@ dependencies = [ [[package]] name = "kani-driver" -version = "0.56.0" +version = "0.57.0" dependencies = [ "anyhow", "cargo_metadata", @@ -824,7 +824,7 @@ dependencies = [ [[package]] name = "kani-verifier" -version = "0.56.0" +version = "0.57.0" dependencies = [ "anyhow", "home", @@ -833,14 +833,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", @@ -850,7 +850,7 @@ dependencies = [ [[package]] name = "kani_metadata" -version = "0.56.0" +version = "0.57.0" dependencies = [ "clap", "cprover_bindings", @@ -1590,7 +1590,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 e26f23d5c081..5cf045344229 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 1025b4b201e2..a4c92d8d2b98 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 25e022e70d3f..52332324feb5 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"