Sub-HandlesVia-XS
=================

Created:      2026-01-26
Home page:    <https://metacpan.org/release/Sub-HandlesVia-XS>
Bug tracker:  <https://github.com/tobyink/p5-sub-handlesvia-xs/issues>
Maintainer:   Toby Inkster (TOBYINK) <tobyink@cpan.org>

0.003003	2026-02-04

 [ Bug Fixes ]
 - Avoid redefining the newAV_mortal macro.

 [ Packaging ]
 - Remove superfluous files from packaging.

0.003002	2026-02-04

 [ Bug Fixes ]
 - Make all the C code C89-compliant.

0.003001	2026-02-03

 [ Bug Fixes ]
 - Fix issues with CvISXSUB not being defined on Perl older than 5.8.9.
 - Fix segfaults sorting on Perl older than around 5.20.0.
 - Fixes for sorting on non-glibc platforms.

 [ Other ]
 - Allow module to be built with MULTICALL disabled (perl Makefile.PL
   CCFLAGS='-DDO_MULTICALL=0') mostly for testing.
 - Gracefully handle exceptions thrown in a sorting callback.

0.003000	2026-02-01

 - Added: Two new array methods: none and not_all_true.
 - Use MULTICALL for most of the methods which run a callback on each array
   element.

0.002000	2026-01-29

 [ Bug Fixes ]
 - Fix XS errors initializing mortal SVs before SAVETMPS which was leading
   to crashes on large arrays.
 - Fix qsort implementation on non-glibc platforms.

 [ Other ]
 - Added: A whole bunch of string methods.
 - Efficiency and stability improvements for some of the array-looping
   methods.

0.001004	2026-01-29

 [ Packaging ]
 - Fix packaging error.

0.001003	2026-01-29

 - Improvements to the OUTBLESS return pattern.

0.001002	2026-01-28

 [ Bug Fixes ]
 - Fix for hard to trigger refcount issues with unshift and push methods.

0.001001	2026-01-28

 [ Bug Fixes ]
 - Fix for hard to trigger refcount issues with shift and pop methods.
 - Fix segfaults in older versions of Perl caused by trying to POPs without
   checking the function we called returned a value at all. Now always
   check a value was returned first!

 [ Other ]
 - Added: Internal structures which have an 'element_type' now also can
   have an 'element_type_tiny' which is a pointer back to the original
   Type::Tiny type. If this is provided, then error handling should be even
   better.
 - Change missing parameter error messages to 'Wrong number of parameters'
   for closer consistency with Type::Params.
 - Check indices pa to get, set, and accessor methods are actually
   integers.
 - Check parameters passed to sort methods are actually coderefs.
 - Check strings passed to join methods are actually strings.
 - Defer to Type::Tiny's error handling when a type check fails, so that
   error messages are at least approximately the same.
 - Issue 'Wrong number of parameters' errors when too many parameters are
   given.
 - More consistency in whether the invocant is counted as a parameter (it
   always is now) when reporting which parameter number had an issue.
 - The push and unshift methods now return the new array length.

0.001000	2026-01-27	Initial release
