Skip to content

Commit 7a6f1a4

Browse files
authored
Bump Kani version to 0.54.0 (#3430)
## 0.54.0 ### Major Changes * We added support for slices in the `#[kani::modifies(...)]` clauses when using function contracts. * We introduce an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros. * We enabled support for concrete playback for harness that contains stubs or function contracts. * We added support for log2*, log10*, powif*, fma*, and sqrt* intrisincs. ### Breaking Changes * The `-Z ptr-to-ref-cast-checks` option has been removed, and pointer validity checks when casting raw pointers to references are now run by default. ## What's Changed * Make Kani reject mutable pointer casts if padding is incompatible and memory initialization is checked by @artemagvanian in #3332 * Fix visibility of some Kani intrinsics by @artemagvanian in #3323 * Function Contracts: Modify Slices by @pi314mm in #3295 * Support for disabling automatically generated pointer checks to avoid reinstrumentation by @artemagvanian in #3344 * Add support for global transformations by @artemagvanian in #3348 * Enable an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros by @adpaco-aws in #3283 * Fix contract handling of promoted constants and constant static by @celinval in #3305 * Bump CBMC Viewer to 3.9 by @tautschnig in #3373 * Update to CBMC version 6.1.1 by @tautschnig in #2995 * Define a struct-level `#[safety_constraint(...)]` attribute by @adpaco-aws in #3270 * Enable concrete playback for contract and stubs by @celinval in #3389 * Add code scanner tool by @celinval in #3120 * Enable contracts in associated functions by @celinval in #3363 * Enable log2*, log10* intrinsics by @tautschnig in #3001 * Enable powif* intrinsics by @tautschnig in #2999 * Enable fma* intrinsics by @tautschnig in #3002 * Enable sqrt* intrinsics by @tautschnig in #3000 * Remove assigns clause for ZST pointers by @carolynzech in #3417 * Instrumentation for delayed UB stemming from uninitialized memory by @artemagvanian in #3374 * Unify kani library and kani core logic by @jaisnan in #3333 * Stabilize pointer-to-reference cast validity checks by @artemagvanian in #3426 * Rust toolchain upgraded to `nightly-2024-08-07` by @jaisnan @qinheping @tautschnig @feliperodri ## New Contributors * @carolynzech made their first contribution in #3387 **Full Changelog**: kani-0.53.0...kani-0.54.0 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses. Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
1 parent 2a3538d commit 7a6f1a4

File tree

12 files changed

+60
-20
lines changed

12 files changed

+60
-20
lines changed

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ This file contains notable changes (e.g. breaking changes, major changes, etc.)
44

55
This file was introduced starting Kani 0.23.0, so it only contains changes from version 0.23.0 onwards.
66

7+
## [0.54.0]
8+
9+
### Major Changes
10+
* We added support for slices in the `#[kani::modifies(...)]` clauses when using function contracts.
11+
* We introduce an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros.
12+
* We enabled support for concrete playback for harness that contains stubs or function contracts.
13+
* We added support for log2*, log10*, powif*, fma*, and sqrt* intrisincs.
14+
15+
### Breaking Changes
16+
* The `-Z ptr-to-ref-cast-checks` option has been removed, and pointer validity checks when casting raw pointers to references are now run by default.
17+
18+
## What's Changed
19+
* Make Kani reject mutable pointer casts if padding is incompatible and memory initialization is checked by @artemagvanian in https://github.com/model-checking/kani/pull/3332
20+
* Fix visibility of some Kani intrinsics by @artemagvanian in https://github.com/model-checking/kani/pull/3323
21+
* Function Contracts: Modify Slices by @pi314mm in https://github.com/model-checking/kani/pull/3295
22+
* Support for disabling automatically generated pointer checks to avoid reinstrumentation by @artemagvanian in https://github.com/model-checking/kani/pull/3344
23+
* Add support for global transformations by @artemagvanian in https://github.com/model-checking/kani/pull/3348
24+
* Enable an `#[safety_constraint(...)]` attribute helper for the `Arbitrary` and `Invariant` macros by @adpaco-aws in https://github.com/model-checking/kani/pull/3283
25+
* Fix contract handling of promoted constants and constant static by @celinval in https://github.com/model-checking/kani/pull/3305
26+
* Bump CBMC Viewer to 3.9 by @tautschnig in https://github.com/model-checking/kani/pull/3373
27+
* Update to CBMC version 6.1.1 by @tautschnig in https://github.com/model-checking/kani/pull/2995
28+
* Define a struct-level `#[safety_constraint(...)]` attribute by @adpaco-aws in https://github.com/model-checking/kani/pull/3270
29+
* Enable concrete playback for contract and stubs by @celinval in https://github.com/model-checking/kani/pull/3389
30+
* Add code scanner tool by @celinval in https://github.com/model-checking/kani/pull/3120
31+
* Enable contracts in associated functions by @celinval in https://github.com/model-checking/kani/pull/3363
32+
* Enable log2*, log10* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3001
33+
* Enable powif* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/2999
34+
* Enable fma* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3002
35+
* Enable sqrt* intrinsics by @tautschnig in https://github.com/model-checking/kani/pull/3000
36+
* Remove assigns clause for ZST pointers by @carolynzech in https://github.com/model-checking/kani/pull/3417
37+
* Instrumentation for delayed UB stemming from uninitialized memory by @artemagvanian in https://github.com/model-checking/kani/pull/3374
38+
* Unify kani library and kani core logic by @jaisnan in https://github.com/model-checking/kani/pull/3333
39+
* Stabilize pointer-to-reference cast validity checks by @artemagvanian in https://github.com/model-checking/kani/pull/3426
40+
* Rust toolchain upgraded to `nightly-2024-08-07` by @jaisnan @qinheping @tautschnig @feliperodri
41+
42+
## New Contributors
43+
* @carolynzech made their first contribution in https://github.com/model-checking/kani/pull/3387
44+
45+
**Full Changelog**: https://github.com/model-checking/kani/compare/kani-0.53.0...kani-0.54.0
46+
747
## [0.53.0]
848

949
### Major Changes

Cargo.lock

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
9292

9393
[[package]]
9494
name = "build-kani"
95-
version = "0.53.0"
95+
version = "0.54.0"
9696
dependencies = [
9797
"anyhow",
9898
"cargo_metadata",
@@ -234,7 +234,7 @@ dependencies = [
234234

235235
[[package]]
236236
name = "cprover_bindings"
237-
version = "0.53.0"
237+
version = "0.54.0"
238238
dependencies = [
239239
"lazy_static",
240240
"linear-map",
@@ -432,15 +432,15 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
432432

433433
[[package]]
434434
name = "kani"
435-
version = "0.53.0"
435+
version = "0.54.0"
436436
dependencies = [
437437
"kani_core",
438438
"kani_macros",
439439
]
440440

441441
[[package]]
442442
name = "kani-compiler"
443-
version = "0.53.0"
443+
version = "0.54.0"
444444
dependencies = [
445445
"clap",
446446
"cprover_bindings",
@@ -461,7 +461,7 @@ dependencies = [
461461

462462
[[package]]
463463
name = "kani-driver"
464-
version = "0.53.0"
464+
version = "0.54.0"
465465
dependencies = [
466466
"anyhow",
467467
"cargo_metadata",
@@ -489,7 +489,7 @@ dependencies = [
489489

490490
[[package]]
491491
name = "kani-verifier"
492-
version = "0.53.0"
492+
version = "0.54.0"
493493
dependencies = [
494494
"anyhow",
495495
"home",
@@ -498,14 +498,14 @@ dependencies = [
498498

499499
[[package]]
500500
name = "kani_core"
501-
version = "0.53.0"
501+
version = "0.54.0"
502502
dependencies = [
503503
"kani_macros",
504504
]
505505

506506
[[package]]
507507
name = "kani_macros"
508-
version = "0.53.0"
508+
version = "0.54.0"
509509
dependencies = [
510510
"proc-macro-error",
511511
"proc-macro2",
@@ -515,7 +515,7 @@ dependencies = [
515515

516516
[[package]]
517517
name = "kani_metadata"
518-
version = "0.53.0"
518+
version = "0.54.0"
519519
dependencies = [
520520
"clap",
521521
"cprover_bindings",
@@ -1034,7 +1034,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
10341034

10351035
[[package]]
10361036
name = "std"
1037-
version = "0.53.0"
1037+
version = "0.54.0"
10381038
dependencies = [
10391039
"kani",
10401040
]

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani-verifier"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
description = "A bit-precise model checker for Rust."
99
readme = "README.md"

cprover_bindings/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "cprover_bindings"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

kani-compiler/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani-compiler"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

kani-driver/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani-driver"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
description = "Build a project with Kani and run all proof harnesses"
99
license = "MIT OR Apache-2.0"

kani_metadata/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani_metadata"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

library/kani/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

library/kani_core/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani_core"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

library/kani_macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[package]
55
name = "kani_macros"
6-
version = "0.53.0"
6+
version = "0.54.0"
77
edition = "2021"
88
license = "MIT OR Apache-2.0"
99
publish = false

0 commit comments

Comments
 (0)