Releases: epfl-lara/stainless
Releases · epfl-lara/stainless
Stainless 0.9.3 (2022-02-25)
Version 0.9.3 (2022-02-25)
GenC
- Add
cCode.noMangling
annotation and split defines into header and C files - Propagate
volatile
andstatic
keywords to struct fields - Avoid trimming of
cCode.define
functions - Introduce a binding to 'guard' against references created by the Referentiator (#1235)
Build
- Windows build (#1234)
Stainless 0.9.2 (2022-01-17)
Version 0.9.2 (2022-01-17)
Stainless frontend, library and internals
- Main list operations with Int instead of BigInt indices (#1225)
- Scala 3 extraction frontend (#1216,
scala-3.x
branch only) - Adapt Coq build to 8.14.0 (#1198)
- Improve handling of Enter key in watch mode (#1195)
- Fix extraction of f => g style renamed imports (#1193)
- Add sizes debug option to display size statistics after each phase (#1185)
- Remove simplifications in VC building to avoid big slowdown (#1184)
GenC
- Split header and C includes (#1204)
- Better header extraction in GenC cCode.function annotation (#1203)
- Extract header from manually defined definition in Genc (#1200)
- Add missing assert cases in GenC deconstructors (#1199)
- Bump sbt-assembly version, more parentheses and relax arrays checks in GenC (#1197)
- Add support for initializing complex expressions with memset 0 (#1196)
- Fix GenC duplicate reporting and add cCode.define annotation (#1192)
- Fix some GenC export issues and add cCode.pack annotation (#1190)
- Remove parentheses from dropped constants in GenC (#1189)
- cCode.drop shouldn't always imply extern (#1188)
- Use primitive equality for TypeDefType in GenC (#1187)
- Fix typo in sizes debug output (#1186)
Documentation
Stainless 0.9.1 (2021-09-28)
Version 0.9.1 (2021-09-28)
Stainless frontend and internals
- Add the
&&&
operator, which splits verification conditions. - Improve reporting when there are multiple
require
in inlined function - Add some benchmarks for
full-imperative
phase - Upgrade to Scala 2.13 (#1173)
GenC
- Allow reference to old global state
- Ignore
opaque
keyword in GenC inlining
Stainless 0.9.0 (2021-08-27)
Version 0.9.0 (2021-08-27)
Stainless frontend and internals
- Add
--full-imperative
phase, for an imperative phase without aliasing restrictions (#1140) - Bug fixes in imperative phase (#1108, #1113, #1116, #1121, #1123)
- Split
Unchecked
annotation intoDropVCs
andDropConjunct
(#1125) - Fix ghost elimination for multiple parameter groups (#1138)
- Fix timeout sometimes not being respected with non-incremental mode (
no-inc:
solver prefix) (#1141) - Bump sbt to
1.5.5
and add documentation for Windows (#1134)
GenC
- Drop extern functions in GenC (#1114)
- Disable mangling of fields for classes that are defined outside Stainless (#1115)
- Add pure attribute to pure functions when compiling to C (#1119)
- Split
inline
(for verification) andcCode.inline
(for compilation) annotations (#1132) - Reorganize GenC annotations (#1129)
- Bug fixes (#1124, #1133)
Stainless Noxt 0.8.1-1-g3c34688 (2021-07-21)
Warning
The Stainless Noxt releases are custom built for the Rust Stainless project and are not meant to be used directly. Please use a standard Stainless release instead.
Stainless Noxt 0.8.1 (2021-06-23)
Warning
The Stainless Noxt releases are custom built for the Rust Stainless project and are not meant to be used directly. Please use a standard Stainless release instead.
Stainless 0.8.1 (2021-06-20)
Stainless frontend and internals
- Better support for jumping to errors in IDEs (#966, #995, #996)
- Add support for return keyword (#923, #925, #934)
- Various fixes and changes in aliasing analysis (#915, #918, #920, #928, #965, #969, #973, #985, #1076, #1094)
- Support for tuples with mutable types (#1064)
- Add support for multiple requires in functions (not in ADTs) (#983)
- Better measure inference for chain processor (#967)
- Add more support for bitvector operations (#962, #1062)
- Print verification progress but not all verification conditions by default (#1018)
- Add support for swap operation for array elements (#946)
- Add support for inlining and making opaque while loops (#1009)
- Library cleanup (#953, #998, #999, #1000)
- Add fresh copy primitive (#1033)
- Improve
@traceInduct
and add clustering (#1052) - Add no-return invariants for while loops (#1079)
SMT solvers
GenC
Stainless 0.8.0 (2021-02-24)
Version 0.8.0 (2021-02-24)
Features
- Support for Scala 2.12.13 (#913)
- Support for ghost fields in GenC (#904, #907)
- Initial support for unsigned integers in GenC (#888)
Bug fixes
- Fix issues watch mode (and add support for Enter key to reload) (#906)
- Better support for refinement types in type-checker
- Various bug fixes in extraction phases
Stainless 0.7.6 (2021-01-18)
Version 0.7.5 (2020-11-27)
Version 0.7.5 (2020-11-27)
Features
- Add
admit-vcs
option to generate VCs without sending them to the solver - Add support for indexed types in scalac frontend
Improvements
- Generalize specification helpers (#828)
Bug fixes
- Remove unsound type-checking rule for function types, and add subtying rules instead