Releases: dry-rb/dry-configurable
Releases · dry-rb/dry-configurable
v0.12.0
0.12.0 2020-12-26
Fixed
- Setting values provided by defaults and/or pre-processor blocks are no longer accidentally memoized across instances of classes including Dry::Configurable (#99) (@timriley & @esparta)
Changed
- Instance behavior is now prepended, so that if you have your own
initialize
, callingsuper
is no longer required (see #98 for more details) (@zabolotnov87) - Switched to equalizer from dry-core (@solnic)
v0.11.6
Changed
- A meaningful error is raised when the extension is included more than once (issue #89 fixed via #94) (@landongrindheim)
- Evaluate setting input immediately when input is provided. This allows for earlier feedback from constructors designed to raise errors on invalid input (#95) (@timriley)
v0.11.5
v0.11.4
Fixed
Changed
Setting#inspect
no longer uses its value - this could cause crashes when inspecting settings that are yet to have a value applied (e.g. when they have a constructor that expects a value to be present) (@timriley)
v0.11.3
Fixed
- Retrieving settings by a string name works again (issue #82) (@waiting-for-dev)
v0.11.2
v0.11.1
v0.11.0
A complete rewrite of the library while keeping the public API intact. See #78 for a detailed overview.
Changed
v0.9.0
0.9.0 - 2019-11-06
Fixed
- Support for reserved names in settings. Some Kernel methods (
public_send
andclass
specifically) are not available if you use access settings via a method call. Same for methods of theConfig
class. You can still access them with[]
and[]=
. Ruby keywords are fully supported. Invalid names containing special symbols (including!
and?
) are rejected. Note that these changes don't affect thereader
option, if you define a setting named:class
and passreader: true
... well ... (flash-gordon) - Settings can be redefined in subclasses without warnings about overriding existing methods (flash-gordon)
- Fix warnings about using keyword arguments in 2.7 (koic)
v0.8.3
0.8.3 - 2019-05-29
Fixed
Configurable#dup
andConfigurable#clone
make a copy of instance-level config so that it doesn't get mutated/shared across instances (flash-gordon)