1## Version 0.2.2 2 3* Replace `TYPE_SAFE_ARITHMETIC_UB` CMake option by `TYPE_SAFE_ARITHMETIC_POLICY` to enable checked arithmetic by default (#106) 4* Be less strict in the signed/unsigned conversion of `integer` (#104) 5* Various bugfixes (#97, #108, #111, #115) 6 7## Version 0.2.1 8 9This release is mainly bugfixes: 10 11* Added `explicit_bool` strong typedef 12* Fixed forwarding bug in `with()` of `array_ref` 13* Silenced some warnings 14* Improved CMake configuration 15 16## Version 0.2 17 18This release took a long time, so here are just the most important changes. 19 20* Added `downcast()` utility function 21* Fixed GCC 4.8 and clang support 22* Improved documentation 23* Improved CMake and added Conan support 24* Hashing support for `boolean`, `integer`, `floating_point` and `strong_typedef` 25 26## Vocabulary Types 27 28* Added `object_ref<T>` and and `xvalue_ref<T>` 29* Added `array_ref<T>` 30* Added `function_ref<T>` 31* Added `flag_set<T>` 32* Breaking: renamed `distance_t` to `difference_t` 33* Improved `index_t` and `difference_t` 34 35### Optional & Variant: 36 37* Breaking: `optional` now auto-unwraps, removed `unwrap()` function 38* Breaking: `optional_ref` creation function now `opt_ref()` instead of `ref()`, but more than before 39* Breaking: Removed `optional_ref<T>::value_or()` 40* Added `optional_for<T>` utility typedef 41* Added support for additional parameters to `with()` and make it more optimizer friendly 42* Added `with()` for `tagged_union` 43* Improved map functions: additional arguments, member function pointers, `void` returning function objects 44* Bugfix for trivial variant copy/move/destroy 45 46### Type Safe Building Blocks: 47 48* Added pointer like access to `constrained_type` 49* Added `constrained_ref` 50* Added `throwing_verifier` for `constrained_ref` along with `sanitize()` helper functions 51* Added literal operator to create a static bound of `bounded_type` 52* Added bitwise operators for `strong_typedef` 53* Added `constexpr` support to `strong_typedef` 54* Added support for mixed operators in `strong_typedef` 55* Made `constrained_type` `constexpr` 56* Fixed strong typedef `get()` for rvalues 57 58 59Thanks to @johelgp, @xtofl, @nicola-gigante, @BRevzin, @verri, @lisongmin, @Manu343726, @MandarJKulkarni, @gerboengels. 60