The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.395   2019-11-26  Released-By: PERLANCAR; Urgency: low

	- No functional changes.

	- [doc] Mention Bencher::Scenarios::DataCleansing.


0.394   2019-09-01  Released-By: PERLANCAR; Urgency: low

	- No functional changes.

	- [ux] Warn when user calls new() without customizing option;
	  recommend her to use get_cleanser() instead.


0.393   2019-09-01  Released-By: PERLANCAR; Urgency: medium

	- [Incompatible change] No longer convert JSON::PP::Boolean objects to
	  1/0 when cleaning for JSON output, as they are properly converted to
	  JSON booleans.

        - [Incompatible change] No longer handle JSON::XS::Boolean or
	  Cpanel::JSON::XS::Boolean objects, as these are normally not produced.

	- [Bugfix] FromJSON: Fix converting JSON boolean objects. Boolean check
	  on JSON::PP::Boolean objects only works when JSON::PP or JSON::XS etc
	  has been loaded to provide the overloading; otherwise, all
	  JSON::PP::Boolean objects will be converted to 1. We now compare the
	  scalar-deref of them first so regardless of whether any of the
	  abovementioned modules has been loaded.


0.392   2019-08-08  Released-By: PERLANCAR; Urgency: medium

	- Rename module Data::Clean::JSON -> Data::Clean::ForJSON to be clearer.
	  Rename dist from Data-Clean-JSON to Data-Clean-ForJSON.


0.391   2018-10-09  Released-By: PERLANCAR

	- No functional changes.

	- [doc] Explain more about cloning circular references.


0.390   2018-10-09  Released-By: PERLANCAR

        - Bump prereq version Data::Clean to 0.500, which replaces cloning
          module of choice from Data::Clone to Sereal::Dclone because the former
          croaks on JSON::PP::Boolean (scalar-ref) objects.

        - [Incompatible change] Data::Clean::JSON: flatten JSON::PP::Boolean
          objects to 1/0 to prevent problem with some clone modules.

        - [test] Add tests with various clone modules.


0.38    2017-01-15  Released-By: PERLANCAR

	- [dist] Force update Data::Clean to 0.48.


0.37    2016-09-28  Released-By: PERLANCAR

	- Convert bigints (Math::BigInt objects) into strings.


0.36    2016-05-27  Released-By: PERLANCAR

        - Introduce shortcut non-OO functions: clean_json_in_place,
          clone_and_clean_json.


0.35    2016-05-21  Released-By: PERLANCAR

        - [Bugfix] Previous release did not correctly set recurse object option,
          the correct option is !recurse_obj (wrong Data::Clean documentation).

        - [dist] Bump prereq version Data::Clean to 0.35.


0.34    2016-05-21  Released-By: PERLANCAR

	- [Incompatible change] By default now recurses into object (see
	  !recurse_object option in Data::Clean documentation).


0.33    2016-04-14  Released-By: PERLANCAR

	- Split Data::Clean::Base to its own dist as Data::Clean, rebase on
	  Data::Clean.


0.32    2016-03-30  Released-By: PERLANCAR

	- Avoid perl undef warning because Scalar::Util::reftype() might
	  return undef.


0.31    2016-03-30  Released-By: PERLANCAR

	- Introduce option "!recurse_obj" to recurse into hash-/array-based
	  objects.


0.30    2016-03-09  Released-By: PERLANCAR

	- Remove usage of JSON module in test, handle
	  Cpanel::JSON::XS::Boolean.


0.29    2016-01-20  Released-By: PERLANCAR

	- Stringify version objects.

	- [Bugfix] Stringifying Regexp erroneously becomes literal 'Regexp'
	  instead of its stringified value because we generate a new 'if'
	  clause when it should be 'elsif'.

	- Bump prereq version Log::Any::IfLOG to 0.07.


0.28    2015-06-10  Released-By: PERLANCAR

	- No functional changes.

	- Mention Data::Abridge.


0.27    2015-06-08  Released-By: PERLANCAR

        - No functional changes.

        - Re-release to show up in MetaCPAN index.


0.26    2015-05-23  Released-By: PERLANCAR

        - No functional changes.

        - [Bugfix] Don't assume Scalar::Util's blessed has been imported.


0.25    2015-05-23  Released-By: PERLANCAR

        - Put generated cleanser code in 'src', for other tools that might need
          it (e.g. Perinci::CmdLine::Inline).


0.24    2015-03-26  Released-By: PERLANCAR

        - Change the default clone limit from 50 to 1, as this is now the more
          sensible default now that the previous release has fixed clone limit
          counting for converted objects.


0.23    2015-03-26  Released-By: PERLANCAR

        - Don't count object converted into non-ref into clone limit. This
          solves the problem of only a few DateTime/Time::Moment/other objects
          being converted into timestamps (if they happen to be referenced twice
          or more in the data structure, triggering the circular check and
          quickly hitting the clone limit), because even after each object is
          converted into a non-ref value, the old ref is still counted. The new
          release now compares the ref() of the new converted value when doing
          circular check.


0.22    2015-03-26  Released-By: PERLANCAR

	- Convert Time::Moment objects like DateTime objects (convert them
	  to epoch value), BTW the fallback unbless routine in
	  Function::Fallback::CoreOrPP seems to have a problem in
	  unblessing Time::Moment objects, but it doesn't have a problem
	  unblessing other blessed scalar refs.


0.21    2015-03-26  Released-By: PERLANCAR

	- No functional changes.

	- Replace Log::Any with Log::Any::IfLOG.


0.20    2014-12-10  Released-By: PERLANCAR

	- No functional changes.

	- Use new name of renamed/split module SHARYANTO::String::Util ->
	  String::LineNumber & String::PerlQuote.


0.19    2014-11-13  Released-By: PERLANCAR

	- Avoid perl undef warning & syntax error in generated code [CT].


0.18    2014-11-12  Released-By: PERLANCAR

	- No functional changes.

	- Make Acme::Damn and Data::Clone optional prereqs [#98887].


0.17    2014-11-07  Released-By: PERLANCAR

	- Remove unneeded dep.


0.16     2014-04-10  Released-By: SHARYANTO

         - No functional changes.

         - Replace Acme::Damn and Data::Clone with Function::Fallback::CoreOrPP.


0.15     2014-02-13  Released-By: SHARYANTO

         [INCOMPATIBLE CHANGES]

         - Default command for circular is changed from
           [replace_with_ref=>'CIRCULAR'] to ['clone']. I believe this is more
           useful for common cases, e.g. when $ref is [1] then {a=>$ref,
           b=>$ref} will become {a=>[1], b=>[1]} instead of {a=>[1],
           b=>'CIRCULAR'}.


0.14     2014-02-13  Released-By: SHARYANTO

         [ENHANCEMENTS]

         - Add command: clone (for -circular).


0.13     2013-10-31  Released-By: SHARYANTO

         [ENHANCEMENTS]

         - Allow opt '' to process non-references (e.g. numbers, strings, other
           simple scalars).


0.12     2013-10-31  Released-By: SHARYANTO

         - No functional changes.

         - Add some more tests.

         [BUG FIXES]

         - Properly quote string in 'replace_with_str' command.

         [SECURITY]

         - Check syntax of function and method name in 'call_func' and
           'call_method'.


0.11     2013-10-15  Released-By: SHARYANTO

         - Introduce get_cleanser() to get singleton instance.


0.10     2013-10-14  Released-By: SHARYANTO

         - Split functionality of JSON::{PP,XS}::Boolean handling to
           Data::Clean::FromJSON.


0.09     2013-10-14  Released-By: SHARYANTO

         - No functional changes. Revert back some code.


0.08     2013-10-14 (SHARYANTO) - Get well soon, dad!

         - Handle JSON::{XS,PP}::Boolean objects (convert to 1/0).


0.07     2013-09-11  Released-By: SHARYANTO

         - No functional changes. Replace Data::Structure::Util's unbless() with
           Acme::Damn's damn() because the former currently fails to build on
           Windows (I'm currently trying to make Perinci::CmdLine work on
           Windows).


0.06     2013-08-07  Released-By: SHARYANTO

         [INCOMPATIBLE CHANGES]

         - Now by default clean objects by unblessing them instead of turning
           them into class-name strings.

         - No longer log cleanser code by default. You need to enable
           using LOG_CLEANSER_CODE.

         [ENHANCEMENTS]

         - Add command: unbless.


0.05     2012-08-05  Released-By: SHARYANTO

         - Fix circular handling.


0.04     2012-08-04  Released-By: SHARYANTO

         - More documentation.

         - Handle circular references.


0.03     2012-08-03  Released-By: SHARYANTO

         - No functional changes. Fix English (cleaner -> cleanser).


0.02     2012-08-03  Released-By: SHARYANTO

         - Tweak default settings.

         - Add basic tests.


0.01     2012-08-03  Released-By: SHARYANTO

         - First release. Incomplete and no tests yet.