diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b9a1a60622b..2563f1e1c64e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,42 @@ 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.65.0] + +### Breaking Changes +* Removed unstable list feature and default memory checks by @carolynzech in https://github.com/model-checking/kani/pull/4258 + +### Major Changes +* Added support for a few SMT solvers (bitwuzla, cvc5, and z3) as solver attribute values (**not** packaged with Kani) by @tautschnig in https://github.com/model-checking/kani/pull/4218 +* Improved support for contracts and stubs in trait implementations, expanding verification capabilities for trait-based code by @carolynzech in https://github.com/model-checking/kani/pull/4250 +* Added new `--prove-safety-only` option for focused safety verification, allowing you to concentrate on memory safety and undefined behavior detection by @tautschnig in https://github.com/model-checking/kani/pull/4239 +* Extended autoharness support to handle references, making it easier to automatically generate verification harnesses by @tautschnig in https://github.com/model-checking/kani/pull/4234 +* Multiple performance improvements including parallel goto binary writing, lazy debug info evaluation, and optimized quantifier handling for faster verification times + +### What's Changed +* Fixed issue related to the handling of contract closures which was preventing writing contracts for functions that return mutable references by @vonaka in https://github.com/model-checking/kani/pull/4151 +* Relaxed the constraint on the pointer type for Kani's memory predicates by @tautschnig in https://github.com/model-checking/kani/pull/4193 +* Changed the model for `ptr_offset_from` to enhance verification performance by @tautschnig in https://github.com/model-checking/kani/pull/4180 +* Fixed assign clause inference bug for nested loops by @thanhnguyen-aws in https://github.com/model-checking/kani/pull/4179 +* Fixed crash when using multiple quantifiers in one proof by @thanhnguyen-aws in https://github.com/model-checking/kani/pull/4221 +* Added support for Cargo.toml's default-members configuration by @tautschnig in https://github.com/model-checking/kani/pull/4201 +* Improved memset handling to avoid zero-count invocations by @tautschnig in https://github.com/model-checking/kani/pull/4205 +* Enhanced safety by disabling debug assertions under prove-safety-only by @tautschnig in https://github.com/model-checking/kani/pull/4262 +* Enhanced performance with parallel goto binary writing by @AlexanderPortland in https://github.com/model-checking/kani/pull/4236 +* Improved quantifier handling performance by avoiding irrelevant symbol updates by @AlexanderPortland in https://github.com/model-checking/kani/pull/4268 +* Enhanced performance with lazy debug info evaluation by @AlexanderPortland in https://github.com/model-checking/kani/pull/4269 +* Improved MIR constant handling by marking them as static constants by @vonaka in https://github.com/model-checking/kani/pull/4233 + +### New Contributors +* @vonaka made their first contribution in https://github.com/model-checking/kani/pull/4151 + +### Version Updates +* Updated to Rust edition 2024 by @tautschnig in https://github.com/model-checking/kani/pull/4197 +* Rust toolchain upgraded to 2025-08-06 by @tautschnig and @thanhnguyen-aws +* Updated CBMC dependency to 6.7.1 by @tautschnig in https://github.com/model-checking/kani/pull/4178 + +**Full Changelog**: https://github.com/model-checking/kani/compare/kani-0.64.0...kani-0.65.0 + ## [0.64.0] ### Major Changes diff --git a/Cargo.lock b/Cargo.lock index 08bb5221cdd0..c0a8ebb63e81 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -203,7 +203,7 @@ dependencies = [ [[package]] name = "build-kani" -version = "0.64.0" +version = "0.65.0" dependencies = [ "anyhow", "cargo_metadata", @@ -464,7 +464,7 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cprover_bindings" -version = "0.64.0" +version = "0.65.0" dependencies = [ "fxhash", "lazy_static", @@ -1090,7 +1090,7 @@ dependencies = [ [[package]] name = "kani" -version = "0.64.0" +version = "0.65.0" dependencies = [ "kani_core", "kani_macros", @@ -1098,7 +1098,7 @@ dependencies = [ [[package]] name = "kani-compiler" -version = "0.64.0" +version = "0.65.0" dependencies = [ "charon", "clap", @@ -1136,7 +1136,7 @@ dependencies = [ [[package]] name = "kani-driver" -version = "0.64.0" +version = "0.65.0" dependencies = [ "anyhow", "cargo_metadata", @@ -1166,7 +1166,7 @@ dependencies = [ [[package]] name = "kani-verifier" -version = "0.64.0" +version = "0.65.0" dependencies = [ "anyhow", "home", @@ -1175,14 +1175,14 @@ dependencies = [ [[package]] name = "kani_core" -version = "0.64.0" +version = "0.65.0" dependencies = [ "kani_macros", ] [[package]] name = "kani_macros" -version = "0.64.0" +version = "0.65.0" dependencies = [ "proc-macro-error2", "proc-macro2", @@ -1194,7 +1194,7 @@ dependencies = [ [[package]] name = "kani_metadata" -version = "0.64.0" +version = "0.65.0" dependencies = [ "clap", "cprover_bindings", @@ -2013,7 +2013,7 @@ dependencies = [ [[package]] name = "std" -version = "0.64.0" +version = "0.65.0" dependencies = [ "kani", ] diff --git a/Cargo.toml b/Cargo.toml index 692a978c5fec..b230ce9d1e53 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-verifier" -version = "0.64.0" +version = "0.65.0" edition = "2024" description = "A bit-precise model checker for Rust." readme = "README.md" diff --git a/cprover_bindings/Cargo.toml b/cprover_bindings/Cargo.toml index 34ccee41c4f7..7b9ec8edf9d8 100644 --- a/cprover_bindings/Cargo.toml +++ b/cprover_bindings/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "cprover_bindings" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-compiler/Cargo.toml b/kani-compiler/Cargo.toml index 8e575dd5941b..4e899dd4cbf0 100644 --- a/kani-compiler/Cargo.toml +++ b/kani-compiler/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-compiler" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/kani-driver/Cargo.toml b/kani-driver/Cargo.toml index cb361e41da4e..a95a36eb8c8d 100644 --- a/kani-driver/Cargo.toml +++ b/kani-driver/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani-driver" -version = "0.64.0" +version = "0.65.0" edition = "2024" 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 1d3ced87bf9a..2538ec046db6 100644 --- a/kani_metadata/Cargo.toml +++ b/kani_metadata/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_metadata" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani/Cargo.toml b/library/kani/Cargo.toml index 2a25cf3a43fa..580a2b1f0241 100644 --- a/library/kani/Cargo.toml +++ b/library/kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani_core/Cargo.toml b/library/kani_core/Cargo.toml index f98dcfec355e..0893b5df6a2d 100644 --- a/library/kani_core/Cargo.toml +++ b/library/kani_core/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_core" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/library/kani_macros/Cargo.toml b/library/kani_macros/Cargo.toml index 8e2679262402..962e048b4d28 100644 --- a/library/kani_macros/Cargo.toml +++ b/library/kani_macros/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "kani_macros" -version = "0.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/library/std/Cargo.toml b/library/std/Cargo.toml index fe3670b6b0fa..ed57998f4558 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.64.0" +version = "0.65.0" edition = "2024" license = "MIT OR Apache-2.0" publish = false diff --git a/tools/build-kani/Cargo.toml b/tools/build-kani/Cargo.toml index 9667d01a98ca..e901c1049053 100644 --- a/tools/build-kani/Cargo.toml +++ b/tools/build-kani/Cargo.toml @@ -3,7 +3,7 @@ [package] name = "build-kani" -version = "0.64.0" +version = "0.65.0" edition = "2024" description = "Builds Kani, Sysroot and release bundle." license = "MIT OR Apache-2.0"