1.63 -- 2022-08-08
	 * Fix off-by-one in stack handling of head() / tail() (RT143905)
	 * Fix documentation copy-paste error about builtin::reftype
	 * Ensure exotic_names.t will work on EBCDIC platforms
	 * Add basic Github CI workflow

1.62 -- 2022-03-17
	 * Prepare for perl 5.35.10 release:
	    + Skip the tainted tests if your perl was built without taint
	    + Document the existence of the `builtin::` equivalents for
	      several Scalar::Util functions

1.61 -- 2022-02-16
	 * Fix some more signed comparison warnings (Perl5 #19429)

1.60 -- 2021-10-08
	 * Quiet some -Wsign-compare warnings by using `int` instead of `UV`
	 * Quiet a -Wmaybe-uninitialized warning by ensuring a variable is
	   always initialised, because the compiler can't always determine this
	   is safe (RT139356)
	 * Avoid SIGFPE in product(-1, ...) (RT139601)

1.59 -- 2021-09-12
	 * Removed Scalar::Util::isbool() as the API design for older perls
	   isn't quite clear, and it doesn't do anything useful on any
	   currently-released perl version
	  * Tidy up the unnecessary bits of @EXPORT_FAIL
	  * Use the new G_LIST constant rather than G_ARRAY

1.58 -- 2021-09-12
        (bad release because I forgot to `git push`)

1.57 -- 2021-09-11
	 * Added Scalar::Util::isbool() to track new core-supported boolean
	   value nature on scalars
	 * Fix various typoes in docs, code comments, etc...
	 * Removed code conditional on whether SvWEAKREF is supported, as
	   every perl since v5.6 supports it

	 * Fix segfaults when an undefined subroutine is passed to
	   block-taking subs (thanks ilmari)
	 * Correct refcount handling on hv_store_ent to PL_DBsub in
	   set_subname() (thanks nwc10)
	 * Don't rely on Scalar::Util functions when unit-testing List::Util
	   ones (thanks haarg)

1.56 -- 2021-03-30
	 * Added `List::Util::zip`, `List::Util::mesh` and related functions
	 * Updated embedded ppport.h for Devel::PPPort v3.62

1.55 -- 2020-04-09
	 * Added List::Util::uniqint
	 * Improvements to List::Util::uniqnum handling of floating-point
	   values on odd platform configurations (thanks sisyphus)
	 * Improvements to $RAND-based unit tests

1.54 -- 2020-02-02 15:47
	 * Added List::Util::reductions (RT128237)
	 * Added List::Util::sample (RT131535)
	 * Recognise $List::Util::RAND as a source of randomness for sampling
	   functions (RT131536)

	 * Document the difference between ref() and reftype() on precompiled
	   qr// regexps (RT127963)
	 * Various improvements to List::Util::uniqnum() to handle stringified
	   Inf and NaN, negative zero
	 * Detect platform NV size and number of digits required to calculate

1.53 -- 2019-10-24 10:41:12
	 * Handle Unicode package names in Scalar::Util::blessed (GH #81)

1.52 -- 2019-08-17 19:08:18
	 * Fix uniqnum() on large stringified integers on long- and 
	   quad-double perls (thanks ilmari)

1.51 -- 2019-08-08 14:31:32
	 * Add TO_JSON to List::Util::_Pair (thanks ilmari)
	 * Various minor docs fixes
	 * Don't segfault in subname() on deleted stashes (thanks ilmari)
	 * Fix uniqnum for large floats and numeric strings (thanks ilmari)

1.50 -- 2018-02-20 19:13:27
	 * Added head() and tail() functions (thanks preaction)
	 * Support binary and Unicode in symbol names for set_subname()

	 * Fix building with C++ and C89 compilers
	 * Fix uniq() test for old Test::More
	 * Fix example get_code_info for unnamed subs (RT#116962)
	 * Fixes for symbol names containing ' characters
         * Don't leak SVs from sum0/product1 when called with zero args
         * Use sv_rvunweaken() in Scalar::Util::unweaken() (thanks ilmari)
	 * Misc. fixes for perl 5.6

1.49 -- 2017-09-08 12:25:54
	 * Fixes for unit tests to pass on perl 5.6.2
	 * Fix typo in documentation

1.48 -- 2017/06/23 17:29:42
	 * Note in documentation that outer function's @_ can be accessed in
	   some blocks, but ought not be (thanks wchristian)

	 * Ensure pairmap extends its stack correctly (thanks davem)
	 * Fix name of List::Util::unpairs in its error messages

1.47 -- 2016/12/22 18:54:45
	 * Make XS code ppport.h-free when in core

	 * Fix compliling on C++11
	 * Perform taint checks using $^X instead of some %ENV key because of
	   the Test::Simple vars (RT119169)

1.46 -- 2016/09/28 23:17:07
	 * Remember to add unpairs and uniq to SYNOPSIS
	 * Document the behaviour of uniqnum() on NaN

	 * C89 fixes
	 * Various internal bugfixes backported from perl core

1.45 -- 2016/03/25 16:09:40
	 * Renamed existing uniq() to uniqstr()
	 * Canonicalise undef to {empty string,zero} in uniq{str,num}()
	 * Add a new uniq() with more DWIMish semantics around undef

	 * Fix uses of GET magic by the uniq*() family of functions. GET magic
	   is now always invoked exactly once if it exists.

1.44 -- 2016/03/17 23:08:46
	 * Added List::Util::uniq() and uniqnum()
	   (with thanks to randir and ilmari for assistance writing code and

1.43 -- 2016/02/08 15:05:23
	 * Updated documentation
	 * Added MIN_PERL_VERSION to Makefile.PL
	 * Added "use warnings" to all tests
	 * Added MANIEST.SKIP patterns for common editor backup/swapfiles
	 * Test product(0,0) (RT105415)

	 * Fix build on non-C99 compilers
	 * Avoid divide-by-zero exception if product()'s accumulator is IV zero
	 * Possible fix for SvTEMP issues in first and any/all/none/notall

1.42 -- 2015/04/32 01:25:55
	 * Added List::Util::unpairs() - the inverse of pairs()
	 * Documentation to pre-warn users about the possible behaviour in a
	   later version where the pair* higher-order functionals are no longer
	   transparent to $_

	 * Silence some warnings at test time
	 * Ensure that the List::Util we're loading the XS via is a sufficient
	   version when Scalar::Util or Sub::Util load it (RT100863)

1.41 -- 2014/09/05 15:49:50
	 * Avoid pre-C99 declaration after statements (RT98624)
	 * Fix use of GetMagic in List::Util::reduce (RT63211)

1.40 -- 2014/08/30 11:36:36
	 * Added entire new module, Sub::Util to contain functions related
	   to CODE refs
	 * Added subname inspired by Sub::Identify
	 * Added set_subname copied and renamed from Sub::Name
	 * Also moved set_prototype into Sub::Name, with back-compat wrapper
	   in Scalar::Util
	 * Added prototype wrapper of CODE::prototype, for completeness
	 * Nicer module documentation format, allows neater use of L</...>
	 * This change was written at the YAPC::EU 2014 Hackathon hosted by
	   Liz Mattijsen and Wendy van Dijk; much thanks to them for being its

1.39 -- 2014/06/05 15:54:59
	 * Have pairs() return blessed objects that recognise ->key and
	   ->value as well as being two-element ARRAYs
	 * Booleanise the result of looks_like_number() so as not to
	   accidentally leak abstraction (RT94806)
	 * Document the version each function was added in (RT96220)

	 * Try to preserve UV precision in sum() where possible (RT95902)
	 * Document known lexical capture in pairmap bug RT95409
	 * SvGETMAGIC() in set_prototype() (RT72080)

1.38 -- 2014/01/22 15:33:24
	 * Avoid Perl_ckwarn() in unweaken() because it's missing on older
	   perls; ckWARN() like the rest of the code (RT92363)

1.37 -- 2014/01/21 14:44:34
	 * Fix unweaken() for perls < 5.14; need to use sv_setsv() to undef
	   rather than sv_clear() (RT92226)

1.36 -- 2014/01/16 15:40:47
	 * Added Scalar::Util::unweaken()
	 * Various documentation changes/updates

	 * Correct uses of overload operators in unit tests (RT91969)

1.35 -- Sat Oct 19 01:35 UTC 2013

  * Added List::Util::product()
  * Ensure that List::Util::{any,all,none,notall} return PL_sv_{yes,no}
  * Implement reduce() and first() even in the absence of MULTICALL

1.34 -- Wed Oct 16 13:04 UTC 2013

  * Avoid C99/C++-style comments in XS code
  * Fix dualvar tests for perl 5.6; fix skip() test counts in dualvar.t
  * Neater documentation examples of other functions that can be built using

1.33 -- Sun Oct 13 01:35 UTC 2013

  * Added any, all, none, notall list reduction functions
    (inspired by List::MoreUtils)

1.32 -- Sun Aug 31 23:48 UTC 2013

  * Skip pairmap()'s MULTICALL implementation 5.8.9 / 5.10.0 as it doesn't
    work (RT87857)
  * Comment on the fact that package "0" is defined but false (RT88201)
  * TODO test in t/readonly.t now passes since 5.19.3 (RT88223)

1.31 -- Wed Aug 14 20:38 UTC 2013

  * Bugfix pairmap to return list length in scalar context
  * Added "Odd number of elements" warnings to all pair* functions

1.30 -- Mon Aug 05 13:09 UTC 2013

  * Added pairfirst
  * Added MULTICALL implementations to pairmap/pairgrep/pairfirst
  * Fix declaration-after-code for C99-challenged compilers
  * Documentation updates to List::Util

1.29 -- Thu Aug 01 13:40 UTC 2013

  * Bugfix to pairmap/pairgrep when stack moves beneath them during operation

1.28 -- Thu Aug 01 12:19 UTC 2013
  -- BROKEN; do not use. See 1.29

  * Added pairgrep, pairmap, pairs (inspired by List::Pairwise)
  * Added pairkeys and pairvalues

1.26_001 -- Sun Dec 23 15:58

  * Fix multicall refcount bug RT#80646

1.26 -- Sun Dec 16 19:39

  * Merge patch from JDHEDDEN - Add Scalar::Util::isdual() RT#76150

1.25_01 -- Wed Nov 21 09:47

  * Fix a hash order dependency bug t/tainted.t
    (Currently this is a core only version to fix perl5 smokes)

1.25 -- Sat Mar 24 13:10:13 UTC 2012

  * Restore back-compat. to perl 5.6 (thanks to Zefram)

1.24 -- Thu Mar 22 18:10:10 UTC 2012

  * Update to 1.24 release version (no other changes since 1.23_04).

1.23_04 -- Sat Mar 10 00:16:16 UTC 2012

  * RT#72700 Fix off-by-two on string literal length

1.23_03 -- Tue Sep 14 10:09:59 CDT 2010

  * Min perl version supported for build is not 5.008
  * Dropped the pure-Perl implementation of both Scalar::- and List::Util.
  * RT#61118 Fix assumption in sum() that once magic, always magic

1.23_02 -- Tue Mar 30 11:09:15 CDT 2010

  * Fix first() and reduce() to check the callback first; &first(1) is now illigal. [gfx]
  * Fix reduce() to allow XSUB callbacks [gfx]
  * Fix first() to allow XSUB callbacks [gfx]
  * Resolve RT #55763: tainted() doesn't do SvGETMAGIC(sv) [gfx]
  * define CvISXSUB so older perl versions will still compile

1.23_01 -- Mon Mar 22 08:24:11 CDT 2010

  * Add failing tests; SVt_RV is not directly SvROK [gfx]
  * Implement openhandle() in XS (with extra tests) [gfx]
  * Modernize *.pm [gfx]
  * Modernize ListUtil.xs [gfx]
  * Add ppport.h [gfx]
  * Fix an overloading issue on sum(), and add tests for overloading [gfx]
  * Small tweaks for minstr()/maxstr() [gfx]
  * Optimize dualvar() [gfx]
  * Use sv_copypv() instead of SvPV() and sv_setpv() [gfx]
  * avoid non-portable warnings

1.23 -- Wed Mar 10 20:50:00 CST 2010

  * Add a test file to ensure 'GETMAGIC' called once [gfx]
  * "GETMAGIC" should be called only once [gfx]
  * Use PERL_NO_GET_CONTEXT for efficiency (see perlguts) [gfx]
  * Don't care about dVAR. ExtUtils::ParseXS deals with it. [gfx]
  * t/p_max.t, t/p_min.t fail on perl5.8.1.  [tokuhirom]
  * avoid non-portable warnings
  * Fix PP::reftype in edge cases [gfx]

1.22 -- Sat Nov 14 09:26:15 CST 2009

  * silence a compiler warning about an unreferenced local variable [Steve Hay]
  * RT#51484 Preserve utf8 flag of string passed to dualvar()
  * RT#51454 Check first argument to first/reduce is a code reference
  * RT#50528 [PATCH] p_tainted.t fix for VMS [Craig A. Berry]
  * RT#48550 fix pure perl looks_like_number not to match non-ascii digits

1.21 -- Mon May 18 10:32:14 CDT 2009

  * Change build system for perl-only install not to need to modify blib
  * When building inside perl, tests for weaken should be always run (Alexandr Ciornii)

1.20 -- Wed May 13 16:42:53 CDT 2009

*** NOTE***
This distribution now requires perl 5.6 or greater

Bug Fixes
  * Fixed stack pop issue in POP_MULTICALL
  * Fixed error reporting in import when XS not compiled
  * Check first argument to reduce is a CODE reference to avoid segfault
  * Handle overloaded and tied values
  * Fix tainted test to run on Win32

  * Added List::Util::XS so authors can depend on XS version
  * Removed need for dummy methods in UNIVERSAL for perl-only code

1.19 -- Sun Dec 10 09:58:03 CST 2006

Bug Fixes
  * Fix invalid conversion from `const char*' to `char*' warnings
  * Avoid Makefile error when building on Win32
  * Fix undefined symbol error for perl < 5.9.0
  * Fix hardcoded "/" in a filepath that causes p_tainted.t to fail on VMS

  * Document that reduce calls BLOCK in a scalar context
  * Add SEE ALSO sections to docs

  * A new regression test for readonly, taking a reference to a constant passed to a sub

1.18 -- Fri Nov 25 09:30:29 CST 2005

Bug Fixes
  * Fix pure-perl version of refaddr to avoid blessing an un-blessed reference
  * Fix memory leak in first() and reduce()
  * Pure perl version of looks_like_number now matches XS version for
    references and undef. It will now return undef

  * Support for using XSLoader instead of DynaLoader
  * Use new multicall API

1.17 -- Mon May 23 08:55:26 CDT 2005

Bug Fixes
  * Update XS code to declare PERL_UNUSED_DECL conditionally

1.16 -- Fri May 20 10:22:49 CDT 2005

Bug Fixes
  * Change to refaddr.t test to avoid false errors on some 64 bit platforms
  * Fix all perl only tests to work when in the core build environment
  * Fix looks like number test to work for 5.8.5 and above
1.15 -- Fri May 13 11:01:15 CDT 2005

Bug Fixes
  * Fixed memory leak in first()

  * Converted tests to use Test::More
  * Improved test coverage
  * Changed Makefile.PL to use Module::Install
  * Refactor use of Sv..X() macros to be Sv.._set()
  * Changes from Jarkko for Symbian port of Perl
  * Documentation updates to weaken()

1.14 -- Sat May 22 08:01:19 BST 2004

Bug Fixes
  * Fixed memory leak in reduce()
  * Added tests to check passing a reference to a constant to weaken() in perl >= 5.008003
  * Fixed looks_like_number(undef) to return false for perl >= 5.009002
  * Fixed bug in refaddr() when passed a tied variable

Switch to svn repository at http://svn.mutatus.co.uk/wsvn/Scalar-List-Utils/trunk/
Old perforce revision log below

Change 827 on 2003/09/25 by <gbarr@pobox.com> (Graham Barr)

	Release 1.13

Change 826 on 2003/09/25 by <gbarr@pobox.com> (Graham Barr)

	Fix NV casting issue with some compilers

Change 825 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)

	Release 1.12

Change 824 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)

	Don't directly use the SV returned as $a in the next iteration,
	take a copy instead. Fixes problem if the code block result was from
	an eval or sub call

Change 823 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)

	Install into the 'perl' installdirs for >= 5.008

Change 822 on 2003/08/14 by <gbarr@pobox.com> (Graham Barr)

	Fix test for EBCDIC portability

Change 771 on 2003/03/03 by <gbarr@pobox.com> (Graham Barr)

	Get path for make from $Config

Change 770 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Release 1.11

Change 769 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Add t/proto.t to MANIFEST

Change 768 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Add set_prototype from Rafael Garcia-Suarez

Change 767 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Fix t/isvstring.t so it does not cause perl5.004 to segv
	because of the exit from within BEGIN

Change 766 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Change how patchlevel.h is included and check we got what we wanted (from Jarkko)

Change 765 on 2003/02/14 by <gbarr@pobox.com> (Graham Barr)

	Add -DPERL_EXT to DEFINEs, requested by Jarkko for 5.8.1

Change 764 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)

	Release 1.10

Change 763 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)

	Fix linking error for older perls

Change 762 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)

	Make lln tests and perl implementation mimic changes to looks_like_number
	in different perl versions

Change 761 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)

	Add looks_like_number

Change 760 on 2003/02/04 by <gbarr@pobox.com> (Graham Barr)

	Ensure PERL_DL_NONLAZY is false so we don't catch link errors during
	bootstrap and then test the perl only version

Change 759 on 2002/12/12 by <gbarr@pobox.com> (Graham Barr)

	Release 1.09

Change 758 on 2002/12/12 by <gbarr@pobox.com> (Graham Barr)

	Use UV to return refaddr

Change 757 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)


Change 756 on 2002/11/03 by <gbarr@pobox.com> (Graham Barr)

	Use PAD_* macros in 5.9
	Reuse our own target when calling pp_rand in shuffle() so we dont need to create a fake pad

Change 751 on 2002/10/18 by <gbarr@pobox.com> (Graham Barr)

	Fix context so that sub for reduce/first  is always in a scalar context
	Fix sum/min/max so that they don't upgrade their arguments to NVs
	if they are IV or UV

Change 750 on 2002/10/14 by <gbarr@pobox.com> (Graham Barr)

	Add isvstring()

Change 745 on 2002/09/23 by <gbarr@pobox.com> (Graham Barr)

	- Add refaddr()

Change 722 on 2002/04/29 by <gbarr@pobox.com> (Graham Barr)

	Release 1.0701

Change 721 on 2002/04/29 by <gbarr@pobox.com> (Graham Barr)

	Add comment to README about failing tests on perl5.6.0

Change 714 on 2002/03/18 by <gbarr@pobox.com> (Graham Barr)

	Release 1.07

Change 713 on 2002/03/18 by <gbarr@pobox.com> (Graham Barr)

	Add Scalar::Util::openhandle()

Change 647 on 2001/09/18 by <gbarr@pobox.com> (Graham Barr)

	Release 1.06

Change 645 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)

	Some platforms require the main executable to export symbols
	needed by modules. In 5.7.2 and prior releases of perl
	Perl_cxinc was not exported so we need to duplicate its

Change 644 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)

	Generate a typemap for NV for all perl version up to and
	including 5.006

Change 643 on 2001/09/07 by <gbarr@pobox.com> (Graham Barr)

	Document problems known with specific versions of perl

Change 642 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)

	Release 1.05

Change 641 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)

	Fix shuffle() to compile with threaded perl

Change 640 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)

	Release 1.04

Change 639 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)

	Fix context type (caused a core on Tru64)
	Call pp_rand via *(PL_ppaddr[OP_RAND])

Change 638 on 2001/09/05 by <gbarr@pobox.com> (Graham Barr)

	Documentation updates

Change 637 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)

	Release 1.03

Change 636 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)

	More changes to help merging with core dist

Change 635 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)

	Added List::Util::shuffle() similar to that described in
	the perl FAQ except it returns a shuffled list instead of
	modifying an array passed by reference

Change 632 on 2001/09/03 by <gbarr@pobox.com> (Graham Barr)

	Handle tied variables passed for the number to dualvar()
	Preserve number type (IV/UV/NV) in dualvar()

Change 631 on 2001/08/31 by <gbarr@pobox.com> (Graham Barr)

	Handle eval{} inside of the code blocks for first and reduce

Change 629 on 2001/08/22 by <gbarr@pobox.com> (Graham Barr)

	perl5.004 does not like exit from within a BEGIN, it core dumps

Change 628 on 2001/08/22 by <gbarr@pobox.com> (Graham Barr)

	Fix stack problem in first() and reduce()
	Align with core dist

Change 483 on 2000/04/10 by <gbarr@pobox.com> (Graham Barr)

	Release 1.02

Change 482 on 2000/04/10 by <gbarr@pobox.com> (Graham Barr)

	Check for SvMAGICAL on argument for reftype and blessed

Change 366 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)

	Release 1.01

Change 365 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)

	- Added auto-detection for a compiler and install the perl version
	  if not found
	- Better perl implemenation of reftype, should be thread-safe now

Change 364 on 2000/03/03 by <gbarr@pobox.com> (Graham Barr)

	- Added some examples of simple subs that have been requested
	  but not added
	- Updated copyright dates

Change 344 on 1999/11/10 by <gbarr@pobox.com> (Graham Barr)

	- Better testcase for reftype

Change 343 on 1999/11/10 by <gbarr@pobox.com> (Graham Barr)

	- Modules are now called List::Util & Scalar::Util
	- Supports non-XS install
	- perl version of reftype now returns "REF" when it should

Change 311 on 1999/06/01 by <gbarr@pobox.com> (Graham Barr)

	Updated README

Change 275 on 1999/03/22 by <gbarr@pobox.com> (Graham Barr)

	Removed forall as it is very broken

Change 274 on 1999/03/22 by <gbarr@pobox.com> (Graham Barr)

	Added List::Util::forall

Change 273 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)

	Added weaken and isweak to Ref::Util

Change 272 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)

	Add new .pm files to repository

Change 271 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)

	- Split into three packages Ref::Util, List::Util and Scalar::DualVar
	- readonly and clock were removed in favor of other modules

Change 270 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)

	Rename package

Change 269 on 1999/03/21 by <gbarr@pobox.com> (Graham Barr)

	- Added reftype
	- improved reduce by not doing a sub call
	- reduce now uses $a and $b
	- now compiles with 5.005_5x

Change 178 on 1998/07/26 by <gbarr@pobox.com> (Graham Barr)

	Modified XS code so it will compile with 5.004 and 5.005

Change 115 on 1998/02/21 by <gbarr@pobox.com> (Graham Barr)

	Fri Feb 20 1998 Graham Barr <gbarr@pobox.com>
	t/min.t, t/max.t
	- Change sor to do a numerical sort
	Fri Dec 19 1997 Graham Barr <gbarr@pobox.com>
	- Added readonly()
	Wed Nov 19 1997 Graham Barr <gbarr@pobox.com>
	- Initial release