Revision history for Perl module Perl::MinimumVersion

1.42 2023-09-30 (TRIAL RELEASE)
    - Restore detection for Perl version 5.008, which means that 5.006 is now the minimum
      required version that will be reported.
    - Recognize the minimum required Perl versions for:
      - the "use re '/flags'" pragma (GH#29)
      - postfix dereferences (GH#30)
      - the <<>> operator (GH#31)

1.41 2023-05-17 (TRIAL RELEASE)
    - Remove detection for Perl versions 5.008 and older. This means that 5.008 is now the
      minimum required version that will be reported. (GH#7)
    - Fix formatting of the summary printed by the perlver script (GH#14)
    - Recognize the minimum required version for the tr///r flag (GH#25)
      and indented heredocs (GH#27)

1.40 2021-04-21
    - No changes from 1.39

1.39 2021-04-11 (TRIAL RELEASE)
    - Features enabled via the 'experimental' pragma are now recognized (GH#5)
    - Depend on PPIx::Utils instead of Perl::Critic::Utils (GH#6)
    - Recognize several new features and their minimum required Perl versions (GH#10, GH#20)
      - 'say', 'smartmatch', 'postderef', 'postderef_qq', 'signatures',
        'refaliasing', 'bitwise', 'declared_refs', 'isa', 'indirect'

1.38 2014-08-22
    - The doc for Perl::MinimumVersion now mentions perlver in both
      the DESCRIPTION and SEE ALSO sections. RT#98262 from pagenyon++.
    - Added mention of Perl::MinimumVersion::Fast to SEE ALSO.

1.37 2014-05-11
    - Removed the check for "stacked labels" that I added in 1.36, as it appears
      that I misinterpreted what the 5.14 change was, and broke at least one dist.
      Commented out the check in MinimumVersion.pm, and the specific subtests.
      Apologies to HMBRAND and all others affected
    - The way I was comparing versions in one of the new tests in 1.36 wasn't portable
      across old versions of Perl. Thanks to Paul Howarth for RT#95528.

1.36 2014-05-09
    - CHECK block requires 5.6.2
    - UNITCHECK block requires 5.10.0
    - Stacked labels on the same statement requires 5.14.0

1.35 2014-05-02
    - 'state' requires perl 5.10.0, even if you don't also see
      "use feature 'state'", because you can also write "use 5.010" to
      enable 'state'. RT#67626
    - Dropped the rule that said "use base 'Exporter'" should make a
      dependency on Perl 5.008+ RT#89173
    - Improved the fix for RT#95023. Thanks again to Paul Howarth.

1.34 2014-04-24
    - The perlver script wasn't getting installed, because it's in
      a script/ directory. RT#95023, fix from ETHER.
    - t/02_main.t was failing on older versions of perl, because
      a min version is getting reported as '5.01301' on Perl 5.010 and later,
      but as '5.013010' on earlier Perls. RT#95023. I need to understand this
      better, but want to get a passing release out.

1.33 2014-04-24
    - Internals::SvREADONLY requires perl 5.8.0
    - handle features upto lexical_subs, which requires 5.18.0
      state, switch, unicode_strings, unicode_eval, evalbytes,
      current_sub, array_base, fc, lexical_subs
    - deprecate.pm requires perl 5.12 (Alexandr Ciornii)
    - require new version of PPIx::Regexp
    - detect while(readdir $dh) (Alexandr Ciornii)
    - Switched to Dist::Zilla
    - Added required versions of modules when use'ing them
    - Reformatted Changes as per CPAN::Changes::Spec

1.32 2013-01-16
    - require new version of PPIx::Regexp
    - skip sub named keys/each/values in _each_argument() (Pedro Melo, RT#82718)
    - detect open with reference to scalar (Alexandr Ciornii)

1.31 2012-12-04
    - sort $subref requires perl 5.6 (Alexandr Ciornii)

1.30 2012-11-28
    - 'each % { $foo }' incorrectly required perl 5.14 (RT#81505)
    - 02_main.t fails in rare cases (RT#81487)

1.29 2012-11-27
    - "Use of uninitialized value in null operation" fix.
    - Adding test for "utf8::is_utf" 5.8.1 special case
    - Recognize all versions in "use feature" bundle (Alexandr Ciornii)
    - Support regexes (Alexandr Ciornii)
    - detect changes in each/keys/values in 5.12 and 5.14 (Yasutaka ATARASHI, Alexandr Ciornii)
    - 2-arg binmode (Alexandr Ciornii)
    - postfix when (Alexandr Ciornii)
    - exists(&sub) (Kevin Ryde, Alexandr Ciornii)
    - _bugfix_magic_errno will return element (Alexandr Ciornii)
    - add 'encoding' to 5.8 pragmas (Alexandr Ciornii)
    - private methods _set_checks2skip and _set_collect_all_reasons for
      Perl::Critic::Policy::Compatibility::PerlMinimumVersionAndWhy (Alexandr Ciornii)
    - temp file with open requires 5.8 (Alexandr Ciornii)

1.28 2011-03-02
    - The ->isa in the 5.10 operator and magic variable tests were
      back the front, breaking both. Fixed (ADAMK)
    - Magic variable rules now check using ->symbol method instead of
      ->content so that $+{foo} are correctly treated like %+ (ADAMK)
    - Removed -w from tests to allow testing with Tainting on (ADAMK)

1.27 2011-02-26
    - Updating to Module::Install::DSL 1.00
    - Updating copyright year
    - Fix detection of binary numbers (Alexandr Ciornii)
    - Add check for variables added in 5.5 (Alexandr Ciornii)
    - Correct detection of different cases of '...' (Alexandr Ciornii)
    - Detection of bareword that ends with double colon (Alexandr Ciornii)

1.26 2010-07-21
    - Detect "package NAME VERSION" in 5.12. (Steffen Mueller)
    - Detect "..." (yada yada yada) in 5.12. (Steffen Mueller)
    - Detect "use feature ':5.12';" in 5.12. (Steffen Mueller)

1.25 2010-05-08
    - Error in minimum_syntax_reason discovered by perl 5.12 (Alexandr Ciornii)

1.24 2010-01-21
    - The previous changes seem to work well in practice now,
      switching to prod release. (ADAMK)

1.23_03 2010-01-21
    - The --blame output now prints actually shows which file (ADAMK)

1.23_02 2010-01-21
    - The --blame option now works in the perlver script (ADAMK)

1.23_01 2010-01-14
    - Reworked the internals to capture the version, rule and PPI
      element responsible for each limitation as P:MV:Reason (ADAMK)
    - Added first experimental version of the new _reason API (ADAMK)
    - Adding 5.8 dependency for "use Carp version ()" (ADAMK)
    - module Errno requires perl 5.5 (Alexandr Ciornii)
    - PPI is no longer compatible with perl 5.5, so P::MV can also
      depend on 5.6 (Alexandr Ciornii)
    - Bumping File::Find::Rule dependency to 0.32 because we break with
      0.31 (ADAMK)

1.22 2009-11-25
    - Negative length in 'splice' requires perl 5.5 (Alexandr Ciornii)
    - 'mkdir' with one argument requires perl 5.6 (Alexandr Ciornii)
    - 'substr' will not be checked if it is a method name (Alexandr Ciornii)
    - better tests and fix for 3-arg 'open' (Alexandr Ciornii)

1.21 2009-11-24
    - Add 'bytes' to 5.6 pragma (Alexandr Ciornii)
    - Add support for "version numbers" like "v1.1.1" (Alexandr Ciornii)
    - Reimplement _three_argument_open, more tests (Alexandr Ciornii)
      Now check for 3-arg open is working.
    - Check 4-arg substr that requires perl 5.5 (Alexandr Ciornii)
    - Postfix foreach requires perl 5.004.05 (Alexandr Ciornii)
    - Scalar::Util::weaken requires perl 5.006 (Alexandr Ciornii)
    - P::MV itself found incompatibility in 02_main.t with 5.5 (Alexandr Ciornii)

1.20 2009-04-03
    - Change 5.005_03 to 5.005.05 (ADAMK)
    - 5.8 and 5.6 pragmas (Alexandr Ciornii)
    - Fixed error in perlver/find (Alexandr Ciornii)
    - CPAN::Exception should not trigger dependency on 5.5 (Alexandr Ciornii)
    - Added undocumented option 'explain' in perlver (Alexandr Ciornii)
    - CHECK blocks (Alexandr Ciornii)
    - First implementation of _three_argument_open and tests (Alexandr Ciornii)

1.19 2008-09-15
    - Updating PPI and several other dependencies to get a more
      accurate parse on which to run the analysis.
    - Add a dependency on File::Find::Rule::Perl instead of using
      a duplicate (worse) copy of the code for it.
    - If perlver is run in a CPAN-style distribution don't parse
      blib or _build directories (but DO parse inc)

1.18 2008-08-23
    - Moving bin/perlver to more correct script/perlver
    - Adding test for localising soft references (BDFOY)
    - Updating to Module::Install 0.77

0.16 2008-05-10
    - Adding rules for mro.pm and feature.pm (Alexandr Ciornii)
    - Adding rules for 5.10.0 operators and magic variables (Adam Kennedy)
    - Internal fixes for 5.10.0 (read: 5.010) support (Ricardo Signes)
    - Add version_analysis for complete (slow) analysis (Ricardo Signes)
    - Adding a 5.005_03 dependency on qr// (Adam Kennedy)

0.15 2007-07-17
    - No functional changes
    - Updating List::Util dependency to 1.19 to resolve Win32 memory leak
    - Adding rule for "use base 'Exporter';" (some old versions don't export import)
    - Correcting the behaviour of minimum_syntax_version when provided a filter

0.14 2007-03-05
    - Adding support for checking the 5.8 dep "use constant { ... };"
    - Moderning the tests a little
    - Push the version.pm dependency again to 0.70 to avoid
      a number of edge case and legacy API issues that bit us earlier.
    - Upgraded to Module::Install 0.65_01

0.13 2006-04-22
    - No functional changes
    - Moved over from SourceForge CVS to new collaborative SVN repository
    - Upgraded to Module::Install 0.62

0.12 2005-12-30
    - Removed some Perl 5.8isms and coded one back in as a rule :)
    - Upgraded to newer Module::Install
    - Pushed version deps on some critical things

0.11 2005-11-09
    - Added missing File::Find::Rule dependency

0.10 2005-10-06
    - Fixed utf8 pragma
    - Switched from qv() to version->new()  due to bugs
    - Please ignore perlver for now :)
    - Updated dependencies to cover recent bugs and changes

0.09_01 2005-09-11
    - Added the perlver application
    - Added some more minor optimisation

0.05 2005-09-03
    - Added support for explicit versions
    - Added minimum_syntax_version method
    - Added minimum_explicit_version method
    - Updated PPI dependency to 1.000

0.04 2005-05-31
    - Added another chunk of checking methods

0.03 2005-06-08
    - Updated to handle API change at PPI 0.990

0.02 2005-04-25
    - Added tests for attributes, utf8 and a few other pragmas

0.01 2005-04-20
    - Created the initial implementation