0.276   2019-02-14 (PERLANCAR)

	- [bugfix] Used wrong variable in loop [RT#128512].

0.275   2019-01-06 (PERLANCAR)

	- No functional changes.

	- Replace the use of Package::MoreUtil with Package::Stash &

0.274   2018-10-07 (PERLANCAR)

	- [optimize] Memoize patch_data().

	- [optimize] Avoid calling list_package_contents() when

0.273   2018-10-07 (PERLANCAR)

	- No functional changes.

	- [doc] Rewrite example in Synopsis.

        - [doc] Add two FAQ items.

0.272   2018-10-06 (PERLANCAR)

	- No functional changes.

	- Add logging.

0.271   2018-10-06 (PERLANCAR)

	- Require that config starts with dash (minus).

	- [doc] Update documentation.

0.270   2018-02-18 (PERLANCAR)

	- [Bugfix] When -load_target=0 and target is not loaded, don't die
	  but skip instead.

0.26    2017-08-09 (PERLANCAR)

	- Avoid perl 'once' warning when patch module's config is not

0.25    2017-07-10 (PERLANCAR)

	- No functional changes.

	- Replace Log::Any with Log::ger.

0.24    2016-06-03 (PERLANCAR)

        - Introduce patch data properties 'before_patch', 'after_patch',
          'before_unpatch', 'after_unpatch'.

0.23    2016-06-03 (PERLANCAR)

        - Introduce patch data property 'after_read_config'.

0.22    2015-08-17 (PERLANCAR)

	- No functional changes.

	- Switch from Log::Any to Log::Any::IfLOG.

0.21    2015-04-01 (PERLANCAR)

	- [ux] Show patch module name in error message.

0.20    2014-12-05 (PERLANCAR)

	- No functional changes.

	- Use the new renamed module SHARYANTO::Package::Util ->

0.19    2014-05-26 (SHARYANTO)

        - No functional changes.

        - App 'use experimental smartmatch' for perl 5.18+.

0.18    2013-11-11 (SHARYANTO)

        - Do not warn if target module was already loaded by the time a patch
          module is loaded, but the target module was loaded by another patch
          module. This can happen if we patch a module with two or more patch

0.17    2013-04-10 (SHARYANTO)

        - No functional changes.

        [BUG FIXES]

        - Option -warn_target_loaded was not passable.

0.16    2012-12-15 (SHARYANTO)

        - Now warns if target module is loaded before us (unless -load_target or
          the new -warn_target_loaded option is set to false).

0.15    2012-12-14 (SHARYANTO)

        - No functional changes. Update outdated Synopsis.

0.14    2012-08-20 (SHARYANTO)

        - No functional changes. Rename dependency module from
          Alt::Monkey::Patch::SHARYANTO to Monkey::Patch::Action.

0.13    2012-08-20 (SHARYANTO)

        - No functional changes. Update Synopsis [RT#79098].

0.12    2012-08-11 (SHARYANTO)

        - Patch module should now be named Foo::Bar::Patch::YourCategory instead
          of Foo::Bar::patch::your_category (more Perlish casing). But the old
          ::patch:: name is still supported.

0.11    2012-08-03 (SHARYANTO)

        - No functional changes. Remove Perl undef warning and tweak error

0.10    2012-08-03 (SHARYANTO)


        - Change patch_data format (v => 3) because we switch from using
          Monkey::Patch to Alt::Monkey::Patch::SHARYANTO to support
          add/replace/delete (aside from wrap). When using the latter, first
          argument given to wrapper code is not $orig (original subroutine) but
          $ctx (context hash, original subroutine is in $ctx->{orig}).


        - Implement add/replace/add_or_replace/delete (courtesy of

0.09    2012-07-17 (SHARYANTO)

        [BUG FIXES]

        - Fix interpreting list_package_contents() result (exclude constants).

0.08    2012-07-17 (SHARYANTO)

        - Do not check target module's $VERSION if we are not going to match
          version (mod_version is undef or ':all').

        - Add logging message.

0.07    2012-07-17 (SHARYANTO)


        - Change patch_data format (v => 2). Currently there's no automatic
          converter for old format.

        - Relax definition for conflict: two patch modules patching the same
          subroutines does not create a conflict situation, since one just wraps
          the other. However, there are conditions which count as conflict (a
          patch module wants to delete a sub, another patch module wants to wrap
          the same sub).


        - A single patch sub can be applied to multiple target subs.

        - Provide patch_package() function to patch arbitrary package.

        - Module::Patch can be imported directly (to use patch_package()
          function) instead of having to be subclassed.

0.06    2012-07-13 (SHARYANTO)


        - Error messages are now more helpful, include suggestions on how to
          remedy situation.

        [BUG FIXES]

        - Forgot to update internal data on unimport(), this caused force
          loading multiple patch modules to fail.

0.05    2012-07-12 (SHARYANTO)


        - Add -load_target option, defaults to true (so you no longer have to
          'use' target module first before 'use'-ing the patch module).

0.04    2012-07-12 (SHARYANTO)


        - Check existence of target subroutines.

        - Allow regex in version specification.

0.03    2012-04-03 (SHARYANTO)

        - Fix conflict checking.

        - Add some tests.

0.02    2012-04-03 (SHARYANTO)

        - Support 'config' for per-patch-module configuration (see
          LWP::UserAgent::patch::https_hard_timeout for example).

0.01    2012-04-03 (SHARYANTO)

        - First release. No tests yet.