# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased ## [0.6.3] - 2022-03-13 ### Fixed - improved hygiene around `self` parameters - fix contract messages containing `{}` emitting warnings as they are interpreted as format strings ## [0.6.2] - 2021-07-21 ### Changed - better handling of mutable borrows and lifetime relationships for functions with contracts ## [0.6.1] - 2021-07-13 ### Added - support for `impl Trait` return types ## [0.6.0] - 2020-09-05 ### Changed - `pre` is now `requires` - `post` is now `ensures` ## [0.5.2] - 2020-09-05 ### Fixed - Unused braces in function body generated code are removed ## [0.5.1] - 2020-08-06 ### Changed - Trait methods now handle attributes better. ## [0.5.0] - 2020-08-06 ### Changed - Implication operator is now `->`. ## [0.4.0] - 2020-05-01 ### Added - Added support for MIRAI assertions - Added implication operator ## [0.3.0] - 2019-07-20 ### Added - Pseudo-function `old(expr)` which in a post-condition evaluates the expression before function execution. - Automatic generation of documentation containing all contracts. ## [0.2.2] - 2019-07-17 ### Fixed - Errors inside functions/methods are now properly reported with the correct source location. ### Changed - internal handling of contracts is now done in a single proc-macro pass instead of one for each contract. ## [0.2.1] - 2019-06-07 ### Fixed - Functions/methods with explicit return statements no longer skip `post` conditions ## [0.2.0] - 2014-04-12 ### Added - `contract_trait` attribute to make all implementors of a trait respect contracts. ## [0.1.1] - 2019-04-08 ### Added - Feature flags to override contract behavior. - `disable_contracts` ignores all checks - `override_debug` only checks contracts in debug configurations. - `override_log` only prints using the `log`-crate interface. ## [0.1.0] - 2019-04-06 ### Added - attributes `pre`/`post`/`invariant` and `debug_` versions of each.