202 lines
6.4 KiB
YAML
202 lines
6.4 KiB
YAML
---
|
|
- version: 1.0.0
|
|
summary:
|
|
date: 2022-11-04
|
|
fixed:
|
|
added:
|
|
- 'Import dry-container as `Dry::Core::Container` (via #77) (@solnic)'
|
|
changed:
|
|
- version: 0.9.1
|
|
date: 2022-10-18
|
|
changed:
|
|
- 'Correct missing constant for IDENTITY (issue #75 fixed via #76) (@poloka)'
|
|
- version: 0.9.0
|
|
date: 2022-10-15
|
|
changed:
|
|
- dry-core now uses zeitwerk for autoloading (@solnic)
|
|
- version: 0.8.1
|
|
date: 2022-07-27
|
|
fixed:
|
|
- |
|
|
[memoizable] plays better with inheritance.
|
|
There were cases when cached values from base claesses were used, see #70 (@flash-gordon)
|
|
- version: 0.8.0
|
|
date: 2022-07-15
|
|
added:
|
|
- "`Dry::Core::BasicObject` ported from hanami-utils (@jodosha)"
|
|
changed:
|
|
- |
|
|
[BREAKING] [descendants tracker] switch to using `Class#subclasses` on Ruby 3.1+.
|
|
This changes the order of returned subclasses (immediate subclasses now go first) (@flash-gordon)
|
|
- version: 0.7.1
|
|
date: 2021-07-10
|
|
fixed:
|
|
- |
|
|
[memoizable] memoizable correctly handles cases where a method
|
|
has unnamed params (e.g. happens when the new `...` syntax is used) (@flash-gordon)
|
|
- version: 0.7.0
|
|
date: 2021-07-08
|
|
fixed:
|
|
- "[memoizable] warnings when using keyword arguments (@flash-gordon)"
|
|
- "[deprecations] warnings show more relevant information about caller by default
|
|
(@timriley)"
|
|
changed:
|
|
- Minimal Ruby version is 2.6
|
|
- "[memoizable] memoization of block-accepting methods is deprecated (@flash-gordon)"
|
|
- version: 0.6.0
|
|
summary:
|
|
date: 2021-06-03
|
|
fixed:
|
|
- "[memoizable] works with MRI 2.7+ keyword arguments now (@oleander)"
|
|
added:
|
|
- "[memoizable] support for `BasicObject` (@oleander)"
|
|
- "[memoizable] support for methods that accept blocks (@oleander)"
|
|
- "[deprecations] allow printing frame info on warn when setting up Deprecation
|
|
module (via #52) (@waiting-for-dev)"
|
|
changed:
|
|
- version: 0.5.0
|
|
summary:
|
|
date: '2020-12-12'
|
|
fixed:
|
|
added:
|
|
- dry-equalizer has been imported into dry-core as `Dry::Core::Equalizer` but the
|
|
interface remains the same, which is `include Dry.Equalizer(...)` - we'll be porting
|
|
all other gems that depend on dry-equalizer to the latest dry-core with equalizer
|
|
included *gradually*. Eventually dry-equalizer usage will be gone completely in
|
|
rom-rb/dry-rb/hanami projects (@solnic)
|
|
changed:
|
|
- version: 0.4.10
|
|
date: '2020-11-19'
|
|
added:
|
|
- |-
|
|
`ClassAttributes.defines` gets a new option for coercing values (tallica)
|
|
```ruby
|
|
class Builder
|
|
extend Dry::Core::ClassAttributes
|
|
|
|
defines :nodes, coerce: -> value { Integer(value) }
|
|
end
|
|
```
|
|
`:coerce` works with any callable as well as types from dry-types
|
|
```ruby
|
|
defines :nodes, coerce: Dry::Types['coercible.integer']
|
|
```
|
|
- "`Constants::IDENTITY` which is the identity function (flash-gordon)"
|
|
- version: 0.4.9
|
|
date: '2019-08-09'
|
|
added:
|
|
- |-
|
|
`Undefined.coalesce` takes a variable number of arguments and returns the first non-`Undefined` value (flash-gordon)
|
|
|
|
```ruby
|
|
Undefined.coalesce(Undefined, Undefined, :foo) # => :foo
|
|
```
|
|
fixed:
|
|
- "`Undefined.{dup,clone}` returns `Undefined` back, `Undefined` is a singleton
|
|
(flash-gordon)"
|
|
- version: 0.4.8
|
|
date: '2019-06-23'
|
|
added:
|
|
- |-
|
|
`Undefined.map` for mapping non-undefined values (flash-gordon)
|
|
|
|
```ruby
|
|
something = 1
|
|
Undefined.map(something) { |v| v + 1 } # => 2
|
|
|
|
something = Undefined
|
|
Undefined.map(something) { |v| v + 1 } # => Undefined
|
|
```
|
|
- version: 0.4.7
|
|
date: '2018-06-25'
|
|
fixed:
|
|
- Fix default logger for deprecations, it now uses `$stderr` by default, as it should
|
|
(flash-gordon)
|
|
- version: 0.4.6
|
|
date: '2018-05-15'
|
|
changed:
|
|
- Trigger constant autoloading in the class builder (radar)
|
|
- version: 0.4.5
|
|
date: '2018-03-14'
|
|
added:
|
|
- "`Dry::Core::Memoizable`, which provides a `memoize` macro for memoizing results
|
|
of instance methods (timriley)"
|
|
- version: 0.4.4
|
|
date: '2018-02-10'
|
|
added:
|
|
- "`deprecate_constant` overrides `Module#deprecate_constant` and issues a labeled
|
|
message on accessing a deprecated constant (flash-gordon)"
|
|
- "`Undefined.default` which accepts two arguments and returns the first if it's
|
|
not `Undefined`; otherwise, returns the second one or yields a block (flash-gordon)"
|
|
- version: 0.4.3
|
|
date: '2018-02-03'
|
|
added:
|
|
- "`Dry::Core::DescendantsTracker` which is a maintained version of the [`descendants_tracker`](https://github.com/dkubb/descendants_tracker)
|
|
gem (flash-gordon)"
|
|
- version: 0.4.2
|
|
date: '2017-12-16'
|
|
fixed:
|
|
- Class attributes now support private setters/getters (flash-gordon)
|
|
- version: 0.4.1
|
|
date: '2017-11-04'
|
|
changed:
|
|
- Improved error message on invalid attribute value (GustavoCaso)
|
|
- version: 0.4.0
|
|
date: '2017-11-02'
|
|
added:
|
|
- |-
|
|
Added the `:type` option to class attributes, you can now restrict attribute values with a type. You can either use plain ruby types (`Integer`, `String`, etc) or `dry-types` (GustavoCaso)
|
|
|
|
```ruby
|
|
class Foo
|
|
extend Dry::Core::ClassAttributes
|
|
|
|
defines :ruby_attr, type: Integer
|
|
defines :dry_attr, type: Dry::Types['strict.int']
|
|
end
|
|
```
|
|
- version: 0.3.4
|
|
date: '2017-09-29'
|
|
fixed:
|
|
- "`Deprecations` output is set to `$stderr` by default now (solnic)"
|
|
- version: 0.3.3
|
|
date: '2017-08-31'
|
|
fixed:
|
|
- The Deprecations module now shows the right caller line (flash-gordon)
|
|
- version: 0.3.2
|
|
date: '2017-08-31'
|
|
added:
|
|
- Accept an existing logger object in `Dry::Core::Deprecations.set_logger!` (flash-gordon)
|
|
- version: 0.3.1
|
|
date: '2017-05-27'
|
|
added:
|
|
- Support for building classes within an existing namespace (flash-gordon)
|
|
- version: 0.3.0
|
|
date: '2017-05-05'
|
|
changed:
|
|
- Class attributes are initialized _before_ running the `inherited` hook. It's slightly
|
|
more convenient behavior and it's very unlikely anyone will be affected by this,
|
|
but technically this is a breaking change (flash-gordon)
|
|
- version: 0.2.4
|
|
date: '2017-01-26'
|
|
fixed:
|
|
- Do not require deprecated method to be defined (flash-gordon)
|
|
- version: 0.2.3
|
|
date: '2016-12-30'
|
|
fixed:
|
|
- Fix warnings on using uninitialized class attributes (flash-gordon)
|
|
- version: 0.2.2
|
|
date: '2016-12-30'
|
|
added:
|
|
- "`ClassAttributes` which provides `defines` method for defining get-or-set methods
|
|
(flash-gordon)"
|
|
- version: 0.2.1
|
|
date: '2016-11-18'
|
|
added:
|
|
- "`Constants` are now available in nested scopes (flash-gordon)"
|
|
- version: 0.2.0
|
|
date: '2016-11-01'
|
|
- version: 0.1.0
|
|
date: '2016-09-17'
|
|
summary: Initial release
|