Changes for version 1.103_001 - 2026-05-01

  • fix #3 / RT#75561: XS variants of _HASH/_HASH0/_ARRAY/_ARRAY0 now reject blessed references, matching the documented "raw and unblessed" contract and the pure-perl behaviour. Thanks to Guillaume Aubert (AUBERTG) for the original RT report (2012), Paul Cochrane (PCOCHRANE) for tests and patches (2014), Ricardo Signes (rjbs) for confirming the PP code is the reference (2024), and Matthew Horsfall (@wolfsage) for the GitHub re-report.
  • fix RT#141940: declare `parent` as a runtime prerequisite. lib/Params/Util.pm uses `use parent qw{Exporter XSLoader}` but parent was only listed in CONFIGURE_REQUIRES; on Perls older than 5.10.1 it is not core and must be pulled in at install time.
  • fix duplicate `requires` key in the test prereqs hash in Makefile.PL that silently dropped Test::More and Storable from the META develop section.
  • update ppport.h from Devel::PPPort 3.73
  • replace Travis-CI configuration with GitHub Actions: Linux matrix (Perl 5.30..5.42) running in perldocker/perl-tester containers, plus host-runner jobs on macOS-latest and Windows-latest with Strawberry to verify XS builds under clang and MSVC.
  • add Docker-based devcontainer setup (.devcontainer + docker-compose) for local multi-Perl testing without installing Perl on the host.
  • author tests: suppress Bangs::ProhibitNumberedNames for the intentionally-named _SCALAR0/_ARRAY0/_HASH0/_SET0 predicates, fix minor perltidy formatting in Makefile.PL and t/driver/.

Documentation

Modules

Simple, compact and correct param-checking functions
PurePerl Params::Util routines