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