/
Changes
275 lines (142 loc) · 7.67 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
0.360 2021-08-15 Released-By: PERLANCAR; Urgency: medium
- Use value returned from merge_right_only (GH#1).
0.35 2016-07-22 Released-By: PERLANCAR
- No functional changes.
- Re-release to get indexed on PAUSE, because I accidentally uploaded
Bencher-Scenarios-DataModeMerge-0.001.tar.gz which contains archive/
with Data::ModeMerge 0.34 inside, making PAUSE indexing that instance
instead.
0.34 2016-07-19 Released-By: PERLANCAR
- Delay load Data::Dmp to reduce startup overhead.
0.33 2016-02-25 Released-By: PERLANCAR
- No functional changes.
- Replace Data::Dumper with Data::Dmp.
0.32 2015-02-21 Released-By: PERLANCAR
- No functional changes.
- Delay loading Data::Dumper and Data::ModeMerge::Config to further
reduce startup overhead.
0.31 2015-02-21 Released-By: PERLANCAR
- No functional changes.
- Switch from Moo to Mo to reduce startup overhead.
0.30 2013-07-16 Released-By: SHARYANTO
- No functional changes. Replace indirect call to avoid warning from
'indirect'.
0.29 2012-12-13 Released-By: SHARYANTO; Note: Thank God the apocalypse did not happen, allowing me to do this release.
- Fix cloning bug exposed by hash randomization of perl 5.17.6
[RT#81807]. Turns out Data::Clone does not deep-copy objects by
default. So now we copy configs manually.
0.28 2012-11-30 Released-By: SHARYANTO
- Replace Clone::Any with Data::Clone (Clone::Any fallbacks to Storable
which doesnt support storing Regexp)
- Add missing dependency to Test::Exception [RT#81544]
0.27 2011-02-24 Released-By: SHARYANTO
- regression: Clone needed as dependency
0.26 2011-02-23 Released-By: SHARYANTO
- switch from Mouse to Moo
0.25 2010-11-10 Released-By: SHARYANTO
- add use 5.010 instead of use feature (5.8.x doesn't have this yet)
0.24 2010-07-23 Released-By: SHARYANTO
- switch from Clone to Clone::Any Released-By: but still list Clone as dep
0.23 2010-02-17 Released-By: SHARYANTO
- switch from Moose to Any::Moose (+Mouse as dependency)
0.22 2009-12-17 Released-By: SHARYANTO
- some work on doc
- minor fixes
0.21 2009-12-15 Released-By: SHARYANTO
- replace Storable + Regexp::Copy with Clone
0.20 2009-12-15 Released-By: SHARYANTO
- use Regexp::Copy
0.19 2009-12-14 Released-By: SHARYANTO
- fix copy-paste bug
0.18 2009-12-12 Released-By: SHARYANTO
- bug fix: custom prefix_re got reset in hash merge
- bug fix: restore_config() didn't recreate DM::Config object but hash
instead
0.17 2009-12-12 Released-By: SHARYANTO
- INCOMPATIBLE BEHAVIOUR CHANGE: SUBTRACT merge on two hashes is now
defined as a NORMAL merge, except that all keys on the right-side hash
which do not have a merge prefix will be assumed to have a DELETE
prefix. This means the SUBTRACT mode can now grok mode prefix and
options key too.
- INCOMPATIBLE BEHAVIOUR CHANGE: merging hash keys with DELETE mode now
will make the key disappear even if there is no corresponding left or
right side. merge({}, {"!a"=>1}) and merge({"!a"=>1}, {}) used to be
{"!a"=>1} but now will be {}. I believe this is more
intuitive/expected.
0.16 2009-12-11 Released-By: SHARYANTO
- some work on doc
0.15 2009-12-11 Released-By: SHARYANTO
- new config; premerge_pair_filter
- NORMAL mode can handle CODE refs
- can merge recursive/circular references Released-By: though not all possible cases
0.14 2009-12-07 Released-By: SHARYANTO
- Minor fix to Makefile.PL
- Minor fix to options key handling
0.13 2009-12-07 Released-By: SHARYANTO
- This is a major refactoring of the module. The goal is to make the
code more flexible (e.g. adding future modes, changing prefix for each
mode, etc). Configuration is also significantly expanded.
- rename dist: Data-PrefixMerge -> Data-ModeMerge (to reflect the fact
that merging mode can be selected not only via a "prefix" but more
generally by a regex test on key).
- incompatible behaviour: all hash prefixes on the left-side and
right-side hash will be removed recursively after merge, even if it is
not a hash-hash merge, e.g. mode_merge({a=>1}, {b=>{"+c"=>1}) used to
become {a=>1, b=>{"+c"=>1}} but now it will become {a=>1, b=>{c=>1}}.
this ensures that all prefixes are "cleaned" after merge.
- incompatible behaviour: KEEP prefix (^) is now always sticky so it
always protects future merges (equivalent to old config's
preserve_keep_prefix). If you want KEEP prefix to be removed after
merge, set config C<readd_prefix> to 0.
- incompatible change: options key is now enabled by default, with ""
(empty string) as the key.
- incompatible change: configuration 'parse_hash_key_prefix' renamed to
'parse_prefix'.
- removed: remove_keep_prefix(), replaced by the more generic
remove_prefix().
- configurable prefix for each merging mode.
- new config: set_prefix allows you to change prefixes, even in the
middle of recursive merge.
- new config: allow_override & disallow_override.
- new config: allow_create_array, allow_create_hash,
allow_destroy_array, allow_destroy_hash.
- new config: exclude_parse, exclude_parse_regex, include_parse,
include_parse_regex.
- new config: exclude_merge, exclude_merge_regex, include_merge,
include_merge_regex.
- new config: disable_modes. each merging mode can now be individually
enabled/disabled through configuration.
- options key now understands almost all configuration.
0.12 2009-11-25 Released-By: SHARYANTO
- new option: hash_options_key
- fixed random ordering bug (closes #51799)
0.11 2009-11-23 Released-By: SHARYANTO
- add max_level parameter to remove_keep_prefixes()
0.10 2009-11-23 Released-By: SHARYANTO
- handle recursion in remove_keep_prefixes()
0.09 2009-11-18 Released-By: SHARYANTO
- fix bug in remove_keep_prefixes()
0.08 2009-11-18 Released-By: SHARYANTO
- new method: remove_keep_prefixes()
0.07 2009-11-18 Released-By: SHARYANTO
- minor fixes
0.06 2009-11-08 Released-By: SHARYANTO
- INCOMPATIBLE CHANGE: getting and setting config is now done via
$merger->config->confname instead of $merger->config->{confname} to
catch config name typos at compile time.
0.05 2009-06-22 Released-By: SHARYANTO
- yet another incompatible change: keep prefix now uses '^' instead of
'!' on the left side. this allows keep mode on the right side. on a
series of merge we can now introduce keep mode at one point (not just
on the first hash) and then preserve that keep mode afterwards.
0.04 2009-06-17 Released-By: SHARYANTO
- support KEEP merge for hash & hash
0.03 2009-06-12 Released-By: SHARYANTO
- incompatible change: '*' prefix on the left now means normal merge
mode (to protect hash keys having special characters). keep mode now
uses '!' on the left side.
- add config: preserve_prefix (default is 0).
0.02 2009-03-30 Released-By: SHARYANTO
- Rename Data-RecMerge to Data-PrefixMerge.
0.01 2009-03-29 Released-By: SHARYANTO
- First release.