Revision history for App-perlvars

0.000009  2026-10-29 23:05:56Z
    - When multiple files are passed, a file that cannot be found or parsed is
      now reported and skipped instead of aborting the whole run (the exit code
      is still non-zero). Previously the first such file ended the run early.
      (GH#43) (Olaf Alders)
    - Under --scripts, UTF-8 package-less files (e.g. a Unicode identifier under
      "use utf8") are now analyzed instead of being reported as unparseable.
      (GH#43) (Olaf Alders)
    - Under --scripts, a package-less file that cannot be parsed as Perl at all
      is now skipped silently, like other files that cannot be analyzed.
      (GH#43) (Olaf Alders)
    - The analyzed file's own STDOUT/STDERR output is now suppressed during
      analysis, so compile-time noise and the synthetic wrapper path no longer
      leak to the terminal. This now applies to files that declare a package as
      well, not only to package-less files linted under --scripts.
      (GH#43) (Olaf Alders)
    - A file that declares a package but exits or dies at compile time (for
      example "use Test::More skip_all => ...") is now skipped instead of
      aborting the run with a Storable "Magic number checking" error. As with
      other unanalyzable files, one such file no longer ends a batch early.
      (GH#43) (Olaf Alders)
    - A package-less file that cannot be analyzed (e.g. it uses a module that is
      not installed) is now skipped even when it registers an END block that
      exits non-zero as the file is compiled; previously such a file leaked a
      "Test::Vars ignores ..." note and a non-zero exit code.
      (GH#43) (Olaf Alders)
    - Document a Test::Vars false-positive class in the perlvars CAVEATS: a
      variable used only inside a block guarded by a compile-time constant that
      is false in the current environment (e.g. an optional-XS fast path when
      the XS module is not installed) is reported as "used once", because the
      compiler folds the dead branch away before Test::Vars inspects the optree.
      (GH#45) (Olaf Alders)

0.000008  2026-09-19 02:00:35Z
    - Support linting package-less files, e.g. .t and .pl scripts, by wrapping
      them in a synthetic package. This is opt-in via the new --scripts flag
      (lint_scripts constructor argument). A package-less file that opts out at
      compile time (e.g. "use Test::More skip_all => ...") or that is not valid
      UTF-8 is now skipped or analyzed cleanly instead of crashing (GH#40)
      (Olaf Alders)

0.000007  2026-09-15 20:55:39Z
    - Add a --version flag to perlvars (GH#38) (Olaf Alders)

0.000006  2024-09-16 16:33:54Z
    - Revert obviated portions of PR #12 (GH#18) (Håkon Hægland)

0.000005  2024-04-30 23:26:40Z
    - Temporarily fix test failures for perl > 5.37.3 (GH#12) (Håkon Hægland)

0.000004  2022-02-24 17:42:56Z
    - Don't index test-data directory

0.000003  2022-02-24 17:13:40Z
    - Document more clearly the limitations of Test::Vars

0.000002  2022-02-18 20:19:40Z
    - Bump minimum version of Test::Script to 1.29 (GH#2) (Olaf Alders)

0.000001  2022-02-17 23:33:53Z
    - Initial release.
