Changes for version 0.15 - 2026-06-30

  • Bug fixes
    • Ensure Makefile.PL has the latest META_MERGE format
    • Replace Devel::Confess::longmess (internal API) with Carp::confess
    • Remove Devel::Confess dependency: it installed process-wide %SIG handlers as a library side-effect and read taintable env vars under -T
    • Fix caller variable mutation: REF-unwrap now works on a copy, not the @_ alias, so the caller's variable is never silently modified
    • Fix array-slice syntax @{$_[0]}[0] -> $_[0]->[0]
  • New features
    • $default may now be an arrayref of positional key names: get_params([qw(name age)], 'Alice', 30) -> { name => 'Alice', age => 30 }
  • Tests
    • Add t/locales.t: verify error messages are locale-independent
    • Add arrayref-default coverage to t/get_params.t
  • Code quality
    • Modernise Exporter: use parent 'Exporter' replaces @ISA manipulation
    • Add Readonly sentinels for ref-type strings
    • Remove dead commented-out code and FIXME blocks
    • Expand POD: LIMITATIONS, MESSAGES table, FORMAL SPECIFICATION, PSEUDOCODE

Documentation

Modules

Normalise subroutine arguments regardless of calling convention