diff --git a/CHANGELOG.md b/CHANGELOG.md index 49b4602..dfe5dc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,37 @@ +## 0.12.1 2021-02-15 + + +### Added + +- Settings may be specified with a `cloneable` option, e.g. + +```ruby +setting :component_dirs, Configuration::ComponentDirs.new, cloneable: true +``` + +This change makes it possible to provide “rich” config values that carry their own +configuration interface. + +In the above example, `ComponentDirs` could provide its own API for adding component +dirs and configuring aspects of their behavior at the same time. By being passed to +the setting along with `cloneable: true`, dry-configurable will ensure the setting's +values are cloned along with the setting at all the appropriate times. + +A custom cloneable setting value should provide its own `#initialize_copy` (used by +`Object#dup`) with the appropriate logic. (@timriley in #102) + +### Fixed + +- Only `#initialize` instance method is prepended, leaving the rest of the instance +methods to be included as normal again. This allows classes including +`Dry::Configurable` to override instance methods with their own methods as required +(@adam12 in #103) + + +[Compare v0.12.0...v0.12.1](https://github.com/dry-rb/dry-configurable/compare/v0.12.0...v0.12.1) + ## 0.12.0 2020-12-26 diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..3c531ac --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @solnic