The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Module-Patch

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
          modules.


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
          message.


0.10    2012-08-03 (SHARYANTO)

        [INCOMPATIBLE CHANGES]

        - 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}).

        [ENHANCEMENTS]

        - Implement add/replace/add_or_replace/delete (courtesy of
          Alt::Monkey::Patch::SHARYANTO).


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)

        [INCOMPATIBLE CHANGES]

        - 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).

        [ENHANCEMENTS]

        - 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)

        [ENHANCEMENTS]

        - 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)

        [ENHANCEMENTS]

        - 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)

        [ENHANCEMENTS]

        - 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.