Revision history for App-GHGen

0.06	Fri Jul 17 11:39:03 EDT 2026
	[ Bug Fixes ]
	- Approved https://github.com/nigelhorne/App-GHGen/pull/6
	  Missing unescaped $ failed to interpolate variable into double-quoted string
	  Thanks to https://github.com/chromatic
	- Fixed enable_linter_unused having no effect when set to 1 via the non-interactive code
	  path. The POD Params::Validate block (default => 0) is documentation only; the actual
	  runtime default was the // 0 on the assignment line (line 286). Changed to // 1.

	[ New Features ]
	- Added Perl syntax linting step to generated workflows (enable_linter, default: on)
	  Uses shell: perl {0} so it runs cross-platform without OS-specific branching.
	  Searches lib/ and bin/, uses do $file with a stub @INC handler for every .pm file,
	  and covers every matrix cell (all OS × Perl version combinations).
	  No extra CPAN dependencies required.
	- Added unused-variable check (enable_linter_unused, default: on). The check is embedded
	  inside the lint step and runs PERL5OPT=-Mwarnings::unused prove -lr t/ so variable
	  lifetimes are exercised at runtime (perl -c is compile-only and cannot detect unused
	  vars). Gated on RUNNER_OS == Linux and continue-on-error: true.
	- Added import-hygiene check (enable_perlimports, default: on). Installs App::perlimports
	  and runs perlimports --lint across all .pm files under lib/. Scoped to latest Perl +
	  ubuntu-latest; continue-on-error: true so it is advisory rather than blocking.
	- Both enable_linter_unused and enable_perlimports are exposed in the interactive
	  --customize prompt for Perl workflows under the "Code Quality Tools" heading.
	- Regression test added in t/pull_6.t for the PR #6 cost-display bug fix.
	- Tests added/extended in t/linter.t covering presence/absence, ordering, and
	  platform-gating of all lint-stage steps.
	- Added t/extended_tests.t: 99 branch-coverage tests targeting uncovered paths across all
	  8 modules (Analyzer, CostEstimator, Detector, Fixer, Generator, Interactive,
	  PerlCustomizer, Reporter). Flags Analyzer::has_deployment_steps as dead code (defined
	  but not exported and not called from analyze_workflow).

	[ CI Matrix ]
	- Default Perl matrix is now 5.36, 5.38, 5.40, 5.42 (max_perl_version bumped from
	  5.40 to 5.42). Perl::Critic, perlimports, and coverage steps are now gated on
	  5.42 (always the latest version in the matrix).
	- Perl 5.44 added to the known-versions table as an opt-in. Projects wanting to test
	  against 5.44 before it becomes the default can pass max_perl_version => '5.44' to
	  generate_custom_perl_workflow, or set perl_versions explicitly. No code change
	  needed on the caller's side.
	- POD for generate_custom_perl_workflow updated: max_perl_version default corrected to
	  5.42, opt-in examples for 5.44 added under the max_perl_version item.

0.05	Thu Mar 19 10:36:44 EDT 2026
	- Fix tabs that had crept in

0.04	Wed Mar 18 11:44:12 EDT 2026
	- Bump maximum Perl version
	- Show debug on fail
	- Understand C.
	- Fail better if the project type can't be determined automatically.
	- Added analyzer and auto-fix support for missing timeout-minutes in workflow jobs.

0.03	Wed Jan 28 20:07:05 EST 2026
	Action.yml was broken, 'shell' isn't recognised

0.02	Wed Jan 28 08:07:19 EST 2026
	Updated paths
	Added comment of what created the CI
	Added test dashboard

0.01    Thu Jan  1 16:28:43 EST 2026
        First draft
