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.