|
1 | 1 | --- |
2 | | -- version: unreleased |
| 2 | +- version: 0.8.0 |
| 3 | + date: 2022-07-15 |
| 4 | + added: |
| 5 | + - `Dry::Core::BasicObject` ported from hanami-utils (@jodosha) |
3 | 6 | changed: |
4 | | - - | |
5 | | - [BREAKING] [descendants tracker] switch to using `Class#subclasses` on Ruby 3.1+. |
6 | | - This changes the order of returned subclasses (immediate subclasses now go first) (@flash-gordon) |
| 7 | + - | |
| 8 | + [BREAKING] [descendants tracker] switch to using `Class#subclasses` on Ruby 3.1+. |
| 9 | + This changes the order of returned subclasses (immediate subclasses now go first) (@flash-gordon) |
7 | 10 | - version: 0.7.1 |
8 | 11 | date: 2021-07-10 |
9 | 12 | fixed: |
10 | | - - | |
11 | | - [memoizable] memoizable correctly handles cases where a method |
12 | | - has unnamed params (e.g. happens when the new `...` syntax is used) (@flash-gordon) |
| 13 | + - | |
| 14 | + [memoizable] memoizable correctly handles cases where a method |
| 15 | + has unnamed params (e.g. happens when the new `...` syntax is used) (@flash-gordon) |
13 | 16 |
|
14 | 17 | - version: 0.7.0 |
15 | 18 | date: 2021-07-08 |
16 | 19 | fixed: |
17 | | - - "[memoizable] warnings when using keyword arguments (@flash-gordon)" |
18 | | - - "[deprecations] warnings show more relevant information about caller by default (@timriley)" |
| 20 | + - "[memoizable] warnings when using keyword arguments (@flash-gordon)" |
| 21 | + - "[deprecations] warnings show more relevant information about caller by default (@timriley)" |
19 | 22 | changed: |
20 | | - - Minimal Ruby version is 2.6 |
21 | | - - "[memoizable] memoization of block-accepting methods is deprecated (@flash-gordon)" |
| 23 | + - Minimal Ruby version is 2.6 |
| 24 | + - "[memoizable] memoization of block-accepting methods is deprecated (@flash-gordon)" |
22 | 25 | - version: 0.6.0 |
23 | 26 | summary: |
24 | 27 | date: 2021-06-03 |
25 | 28 | fixed: |
26 | | - - "[memoizable] works with MRI 2.7+ keyword arguments now (@oleander)" |
| 29 | + - "[memoizable] works with MRI 2.7+ keyword arguments now (@oleander)" |
27 | 30 | added: |
28 | | - - "[memoizable] support for `BasicObject` (@oleander)" |
29 | | - - "[memoizable] support for methods that accept blocks (@oleander)" |
30 | | - - "[deprecations] allow printing frame info on warn when setting up Deprecation module (via #52) |
31 | | - (@waiting-for-dev)" |
| 31 | + - "[memoizable] support for `BasicObject` (@oleander)" |
| 32 | + - "[memoizable] support for methods that accept blocks (@oleander)" |
| 33 | + - "[deprecations] allow printing frame info on warn when setting up Deprecation module (via #52) |
| 34 | + (@waiting-for-dev)" |
32 | 35 | changed: |
33 | 36 | - version: 0.5.0 |
34 | 37 | summary: |
35 | | - date: '2020-12-12' |
| 38 | + date: "2020-12-12" |
36 | 39 | fixed: |
37 | 40 | added: |
38 | | - - dry-equalizer has been imported into dry-core as `Dry::Core::Equalizer` but the |
39 | | - interface remains the same, which is `include Dry.Equalizer(...)` - we'll be porting |
40 | | - all other gems that depend on dry-equalizer to the latest dry-core with equalizer |
41 | | - included *gradually*. Eventually dry-equalizer usage will be gone completely in |
42 | | - rom-rb/dry-rb/hanami projects (@solnic) |
| 41 | + - dry-equalizer has been imported into dry-core as `Dry::Core::Equalizer` but the |
| 42 | + interface remains the same, which is `include Dry.Equalizer(...)` - we'll be porting |
| 43 | + all other gems that depend on dry-equalizer to the latest dry-core with equalizer |
| 44 | + included *gradually*. Eventually dry-equalizer usage will be gone completely in |
| 45 | + rom-rb/dry-rb/hanami projects (@solnic) |
43 | 46 | changed: |
44 | 47 | - version: 0.4.10 |
45 | | - date: '2020-11-19' |
| 48 | + date: "2020-11-19" |
46 | 49 | added: |
47 | | - - |- |
48 | | - `ClassAttributes.defines` gets a new option for coercing values (tallica) |
49 | | - ```ruby |
50 | | - class Builder |
51 | | - extend Dry::Core::ClassAttributes |
| 50 | + - |- |
| 51 | + `ClassAttributes.defines` gets a new option for coercing values (tallica) |
| 52 | + ```ruby |
| 53 | + class Builder |
| 54 | + extend Dry::Core::ClassAttributes |
52 | 55 |
|
53 | | - defines :nodes, coerce: -> value { Integer(value) } |
54 | | - end |
55 | | - ``` |
56 | | - `:coerce` works with any callable as well as types from dry-types |
57 | | - ```ruby |
58 | | - defines :nodes, coerce: Dry::Types['coercible.integer'] |
59 | | - ``` |
60 | | - - "`Constants::IDENTITY` which is the identity function (flash-gordon)" |
| 56 | + defines :nodes, coerce: -> value { Integer(value) } |
| 57 | + end |
| 58 | + ``` |
| 59 | + `:coerce` works with any callable as well as types from dry-types |
| 60 | + ```ruby |
| 61 | + defines :nodes, coerce: Dry::Types['coercible.integer'] |
| 62 | + ``` |
| 63 | + - "`Constants::IDENTITY` which is the identity function (flash-gordon)" |
61 | 64 | - version: 0.4.9 |
62 | | - date: '2019-08-09' |
| 65 | + date: "2019-08-09" |
63 | 66 | added: |
64 | | - - |- |
65 | | - `Undefined.coalesce` takes a variable number of arguments and returns the first non-`Undefined` value (flash-gordon) |
| 67 | + - |- |
| 68 | + `Undefined.coalesce` takes a variable number of arguments and returns the first non-`Undefined` value (flash-gordon) |
66 | 69 |
|
67 | | - ```ruby |
68 | | - Undefined.coalesce(Undefined, Undefined, :foo) # => :foo |
69 | | - ``` |
| 70 | + ```ruby |
| 71 | + Undefined.coalesce(Undefined, Undefined, :foo) # => :foo |
| 72 | + ``` |
70 | 73 | fixed: |
71 | | - - "`Undefined.{dup,clone}` returns `Undefined` back, `Undefined` is a singleton |
72 | | - (flash-gordon)" |
| 74 | + - "`Undefined.{dup,clone}` returns `Undefined` back, `Undefined` is a singleton |
| 75 | + (flash-gordon)" |
73 | 76 | - version: 0.4.8 |
74 | | - date: '2019-06-23' |
| 77 | + date: "2019-06-23" |
75 | 78 | added: |
76 | | - - |- |
77 | | - `Undefined.map` for mapping non-undefined values (flash-gordon) |
| 79 | + - |- |
| 80 | + `Undefined.map` for mapping non-undefined values (flash-gordon) |
78 | 81 |
|
79 | | - ```ruby |
80 | | - something = 1 |
81 | | - Undefined.map(something) { |v| v + 1 } # => 2 |
| 82 | + ```ruby |
| 83 | + something = 1 |
| 84 | + Undefined.map(something) { |v| v + 1 } # => 2 |
82 | 85 |
|
83 | | - something = Undefined |
84 | | - Undefined.map(something) { |v| v + 1 } # => Undefined |
85 | | - ``` |
| 86 | + something = Undefined |
| 87 | + Undefined.map(something) { |v| v + 1 } # => Undefined |
| 88 | + ``` |
86 | 89 | - version: 0.4.7 |
87 | | - date: '2018-06-25' |
| 90 | + date: "2018-06-25" |
88 | 91 | fixed: |
89 | | - - Fix default logger for deprecations, it now uses `$stderr` by default, as it should |
90 | | - (flash-gordon) |
| 92 | + - Fix default logger for deprecations, it now uses `$stderr` by default, as it should |
| 93 | + (flash-gordon) |
91 | 94 | - version: 0.4.6 |
92 | | - date: '2018-05-15' |
| 95 | + date: "2018-05-15" |
93 | 96 | changed: |
94 | | - - Trigger constant autoloading in the class builder (radar) |
| 97 | + - Trigger constant autoloading in the class builder (radar) |
95 | 98 | - version: 0.4.5 |
96 | | - date: '2018-03-14' |
| 99 | + date: "2018-03-14" |
97 | 100 | added: |
98 | | - - "`Dry::Core::Memoizable`, which provides a `memoize` macro for memoizing results |
99 | | - of instance methods (timriley)" |
| 101 | + - "`Dry::Core::Memoizable`, which provides a `memoize` macro for memoizing results |
| 102 | + of instance methods (timriley)" |
100 | 103 | - version: 0.4.4 |
101 | | - date: '2018-02-10' |
| 104 | + date: "2018-02-10" |
102 | 105 | added: |
103 | | - - "`deprecate_constant` overrides `Module#deprecate_constant` and issues a labeled |
104 | | - message on accessing a deprecated constant (flash-gordon)" |
105 | | - - "`Undefined.default` which accepts two arguments and returns the first if it's |
106 | | - not `Undefined`; otherwise, returns the second one or yields a block (flash-gordon)" |
| 106 | + - "`deprecate_constant` overrides `Module#deprecate_constant` and issues a labeled |
| 107 | + message on accessing a deprecated constant (flash-gordon)" |
| 108 | + - "`Undefined.default` which accepts two arguments and returns the first if it's |
| 109 | + not `Undefined`; otherwise, returns the second one or yields a block (flash-gordon)" |
107 | 110 | - version: 0.4.3 |
108 | | - date: '2018-02-03' |
| 111 | + date: "2018-02-03" |
109 | 112 | added: |
110 | | - - "`Dry::Core::DescendantsTracker` which is a maintained version of the [`descendants_tracker`](https://github.com/dkubb/descendants_tracker) |
111 | | - gem (flash-gordon)" |
| 113 | + - "`Dry::Core::DescendantsTracker` which is a maintained version of the [`descendants_tracker`](https://github.com/dkubb/descendants_tracker) |
| 114 | + gem (flash-gordon)" |
112 | 115 | - version: 0.4.2 |
113 | | - date: '2017-12-16' |
| 116 | + date: "2017-12-16" |
114 | 117 | fixed: |
115 | | - - Class attributes now support private setters/getters (flash-gordon) |
| 118 | + - Class attributes now support private setters/getters (flash-gordon) |
116 | 119 | - version: 0.4.1 |
117 | | - date: '2017-11-04' |
| 120 | + date: "2017-11-04" |
118 | 121 | changed: |
119 | | - - Improved error message on invalid attribute value (GustavoCaso) |
| 122 | + - Improved error message on invalid attribute value (GustavoCaso) |
120 | 123 | - version: 0.4.0 |
121 | | - date: '2017-11-02' |
| 124 | + date: "2017-11-02" |
122 | 125 | added: |
123 | | - - |- |
124 | | - 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) |
| 126 | + - |- |
| 127 | + 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) |
125 | 128 |
|
126 | | - ```ruby |
127 | | - class Foo |
128 | | - extend Dry::Core::ClassAttributes |
| 129 | + ```ruby |
| 130 | + class Foo |
| 131 | + extend Dry::Core::ClassAttributes |
129 | 132 |
|
130 | | - defines :ruby_attr, type: Integer |
131 | | - defines :dry_attr, type: Dry::Types['strict.int'] |
132 | | - end |
133 | | - ``` |
| 133 | + defines :ruby_attr, type: Integer |
| 134 | + defines :dry_attr, type: Dry::Types['strict.int'] |
| 135 | + end |
| 136 | + ``` |
134 | 137 | - version: 0.3.4 |
135 | | - date: '2017-09-29' |
| 138 | + date: "2017-09-29" |
136 | 139 | fixed: |
137 | | - - "`Deprecations` output is set to `$stderr` by default now (solnic)" |
| 140 | + - "`Deprecations` output is set to `$stderr` by default now (solnic)" |
138 | 141 | - version: 0.3.3 |
139 | | - date: '2017-08-31' |
| 142 | + date: "2017-08-31" |
140 | 143 | fixed: |
141 | | - - The Deprecations module now shows the right caller line (flash-gordon) |
| 144 | + - The Deprecations module now shows the right caller line (flash-gordon) |
142 | 145 | - version: 0.3.2 |
143 | | - date: '2017-08-31' |
| 146 | + date: "2017-08-31" |
144 | 147 | added: |
145 | | - - Accept an existing logger object in `Dry::Core::Deprecations.set_logger!` (flash-gordon) |
| 148 | + - Accept an existing logger object in `Dry::Core::Deprecations.set_logger!` (flash-gordon) |
146 | 149 | - version: 0.3.1 |
147 | | - date: '2017-05-27' |
| 150 | + date: "2017-05-27" |
148 | 151 | added: |
149 | | - - Support for building classes within an existing namespace (flash-gordon) |
| 152 | + - Support for building classes within an existing namespace (flash-gordon) |
150 | 153 | - version: 0.3.0 |
151 | | - date: '2017-05-05' |
| 154 | + date: "2017-05-05" |
152 | 155 | changed: |
153 | | - - Class attributes are initialized _before_ running the `inherited` hook. It's slightly |
154 | | - more convenient behavior and it's very unlikely anyone will be affected by this, |
155 | | - but technically this is a breaking change (flash-gordon) |
| 156 | + - Class attributes are initialized _before_ running the `inherited` hook. It's slightly |
| 157 | + more convenient behavior and it's very unlikely anyone will be affected by this, |
| 158 | + but technically this is a breaking change (flash-gordon) |
156 | 159 | - version: 0.2.4 |
157 | | - date: '2017-01-26' |
| 160 | + date: "2017-01-26" |
158 | 161 | fixed: |
159 | | - - Do not require deprecated method to be defined (flash-gordon) |
| 162 | + - Do not require deprecated method to be defined (flash-gordon) |
160 | 163 | - version: 0.2.3 |
161 | | - date: '2016-12-30' |
| 164 | + date: "2016-12-30" |
162 | 165 | fixed: |
163 | | - - Fix warnings on using uninitialized class attributes (flash-gordon) |
| 166 | + - Fix warnings on using uninitialized class attributes (flash-gordon) |
164 | 167 | - version: 0.2.2 |
165 | | - date: '2016-12-30' |
| 168 | + date: "2016-12-30" |
166 | 169 | added: |
167 | | - - "`ClassAttributes` which provides `defines` method for defining get-or-set methods |
168 | | - (flash-gordon)" |
| 170 | + - "`ClassAttributes` which provides `defines` method for defining get-or-set methods |
| 171 | + (flash-gordon)" |
169 | 172 | - version: 0.2.1 |
170 | | - date: '2016-11-18' |
| 173 | + date: "2016-11-18" |
171 | 174 | added: |
172 | | - - "`Constants` are now available in nested scopes (flash-gordon)" |
| 175 | + - "`Constants` are now available in nested scopes (flash-gordon)" |
173 | 176 | - version: 0.2.0 |
174 | | - date: '2016-11-01' |
| 177 | + date: "2016-11-01" |
175 | 178 | - version: 0.1.0 |
176 | | - date: '2016-09-17' |
| 179 | + date: "2016-09-17" |
177 | 180 | summary: Initial release |
0 commit comments