0.116		2026-06-11	T. R. Wyant
    Remove references to the RT bug tracking system.

    Replace wyant@cpan.org with harryfmudd@comcast.net.

    Repackage licenses so that GitHub can find them (maybe).
    Thanks to Mikko Koivunalho (specifically his blog post
    https://blogs.perl.org/users/mikko_koivunalho/2025/11/github-and-the-perl-license.html
    for the how-to.

    No functional changes.

0.115		2025-01-15	T. R. Wyant
    Re-implement signatures in terms of PPI::Structure::Signature. This
    requires PPI 1.281 or above.

    Allow static method calls in allow_if_computed_by.

0.114		2022-03-09	T. R. Wyant
    Clarify POD for prohibit_returned_lexicals to make clear (I hope)
    that it applies to 'state' varables as well as 'my' variables, but
    does NOT detect or handle implicit returns.

    allow_state_in_expression now accepts post-increment and -decrement.
    Thanks to Olaf Alders for finding this.

0.113		2022-02-27	T. R. Wyant
    Try to collect variable uses from signatures.  Thanks to Olaf Alders
    for pointing out this issue.

0.112		2021-10-04	T. R. Wyant
    Tweak 'provides' and 'no_index' metadata.

0.111		2021-07-03	T. R. Wyant
    Correct generation of 'provides' metadata. Thanks to Favio Poletti
    for blogging
    https://github.polettix.it/ETOOBUSY/2021/06/15/the-real-pause-workaround/,
    and ultimately to Joel Berger for the pointer to
    https://metacpan.org/pod/CPAN::Meta::Spec#no_index

    Optionally check variable in catch(). This is controlled by the
    check_catch configuration item, which is off by default.

0.110		2021-03-28	T. R. Wyant
    Get prerequisites up to snuff, and add xt/author/prereq.t to ensure
    they stay that way.

    Add rt.cpan.org back to bug reporting methods. Long live RT!

0.109		2021-01-15	T. R. Wyant
    Add Travis CI testing.

    Use GitHub as bug tracker. R.I.P. rt.cpan.org.

0.108		2020-09-18	T. R. Wyant
    Add POD section AVOIDING UNUSED VARIABLES. Thanks to Ben Martin for
    the suggestion.

0.107		2020-05-07	T. R. Wyant
    Make documented build dependencies nearer to reality.

0.106		2020-04-08	T. R. Wyant
    Dig out variables declared inside strings e.g. "foo@{[ my $bar ]}"

    Find variables declared in passing.  That is, things like
    Readonly::Scalar my $answer => 42; which do not get parsed by PPI as
    a PPI::Statement::Variable.

    Pick up $y in '( my $x, my $y )'. The previous code picked up only
    the variables declared before the first comma in the
    PPI::Statement::Variable.

    Refactor handling of derived PPI documents.

    Refactor the recording of symbol declarations and uses.

0.105		2020-02-18	T. R. Wyant
    examples/unused-vars is now driven by options on the command line,
    not by a configuration file.

    No longer recommend Readonly::XS. Thanks to Jay Kahrman for pointing
    out that this was no longer appropriate.

0.104		2019-12-23	T. R. Wyant
    Add Boolean configuration item allow_state_in_expression, which
    allows an otherwise-unused state variable if the policy thinks the
    computed value is also used in an expression. This item is false by
    default.

0.103		2019-08-17	T. R. Wyant
    Test POD links.

0.102		2017-12-19	T. R. Wyant
    Fix for() list and my():

    The iterator variable (if any) for a for() or foreach() is not
    in-scope as seen from the list. This is an issue for code like
    for my $x ( @{ $x } ) {...}

    The variable specified by my() is not in-scope as seen from the
    right-hand side of an assignment (if any). This is an issue for
    my $x = $x

    Thanks to Heinz Knutzen for finding these.

0.101		2017-11-20	T. R. Wyant
    Remove 'mailto' bugtracker metadata Its presence appears to tell RT
    not to allow filings.

0.100		2016-07-06	T. R. Wyant
  Refactor the logic that discovers which variables are interpolated
    into double-quotish strings into PPIx::QuoteLike. This does not
    include regular expressions, which are already handled by
    PPIx::Regexp.

  Survive variable declarations that declare nothing. These can appear
    if (e.g.) PPI mis-parses an attribute list, and that attribute list
    contains something like 'Arg(state)'.

0.006		2016-04-20	T. R. Wyant
  Allow 'return ( my $x = 0 )'

    This construction can be used to return a temporary value from an lvalue
    subroutine. The case 'return my $x = 0' is equivalent, but was not
    recognized as defining a variable. Now both are recognized and accepted
    by default.

    If you want to reject these, there is a new Boolean configuration item,
    prohibit_returned_lexicals.

0.005		2016-01-22	T. R. Wyant
  Improve performance on really, really long strings This was done by
    rewriting the regular expression that finds interpolations to
    minimize backtracking.

0.004		2016-01-08	T. R. Wyant
  Add GitHub repository to module metadata.

0.003		2014-12-12	T. R. Wyant
  Fix author test for the presence of recommended modules.

0.002		2013-10-08	T. R. Wyant
  Required Perl::Critic version 1.119, since its scope computation is
    adequate for our needs. Got rid of our own scope computation code.

  Converted Changes file to CPAN::Changes::Spec format.

0.001		2013-06-23	T. R. Wyant
  Initial production release.
