CHANGELOG.md in smart_initializer-0.7.0 vs CHANGELOG.md in smart_initializer-0.8.0

- old
+ new

@@ -1,17 +1,49 @@ # Changelog All notable changes to this project will be documented in this file. +## [0.8.0] - 2021-12-04 +### Added +- New options for option and param attributes: + - Support for attribute **aliasing** (`:as` parameter); + - supports: `option`, `param`; + - Support for attribute **auto-casting** (`:auto_cast` parameter); + - supports: `option`, `param`; + - Support for **mutable** attributes (`:mutable` parameter) with type-validation inside; + - supports: `option`, `options`, `param`, `params`; + - Support for **optional** attributes (`:optional` parameter); + - supports: `option`; +- **SmartCore::Initializer::Configuration**: + - Configuration setting `strict_options` now works separately "per-class" in all configs manner + (each class shares the global state but has own state too) + - Support for per-class/global `:auto_cast` configuration; + - provides a global/per-class behavior for `:cast` option (`false` by default); +- `options` declaration now supports `privacy` option; +- `params` declaration now supports `privacy` option; + +### Changed +- Drop support of **Ruby@2.4**; +- `:default` attribute parameter now duplicates the passed value during object instantiation; +- `:default` attribute parameter only works with `option` attribute (`param` can't have `default` parameter now); +- Attribute values generated by `:finalize` are type-validated now too; +- Now lambda-based `:finalize` attributes are being checked for the signature during attribute declaration; +- Some error messages have become more readable; + +## Fixed +- `send` method overlaping/rewriting: otions and params named as `send` breaks the internal + framework-related invocations of the attribute definitioning inside the custom object constructor + (this name rewrites internal Ruby's `send` method and brokes some things); + ## [0.7.0] - 2021-06-23 -## Added +### Added - `strict_options` config option for non-strict checking of passed options; ## [0.6.0] - 2021-06-23 -## Added +### Added - Validation messages for incorrect attribute types; ## [0.5.0] - 2021-01-18 -## Changed +### Changed - Updated `smart_types` dependency (`~> 0.4.0`) to guarantee **Ruby@3** compatibility; - Updated development dependencies; ## [0.4.0] - 2021-01-18 ### Added