Revision history for Perl module Clone

0.48_07 2026-02-24 07:26:00 atoomic
  - perf: optimize hot paths in Clone.xs
  - fix: replace subtest with SKIP/bare blocks to avoid Test2 warnings
  - fix: don't require MGf_DUP flag for ext magic duplication
  - fix: lower MAX_DEPTH to 4000 to prevent SEGV on CPAN smokers

0.48_06 2026-02-22 20:36:00 atoomic
  - fix: use platform-adaptive depth in t/10-deep_recursion.t for Windows

0.48_05 2026-02-19 19:02:00 atoomic
  - Fix t/10-deep_recursion.t for Windows

0.48_04 2026-02-17 22:47:00 atoomic
  - Fix C89 declaration-after-statement violations in Clone.xs
  - Fix deep recursion stack overflow on Windows

0.48_03 2026-02-10 22:59:00 atoomic
  - Fix cloning of Math::BigInt::GMP objects (fixes #16)
  - Fix cloning of threads::shared data structures (fixes #18)
  - Add thread safety test for Class::DBI-like patterns (fixes #14)
  - Add comprehensive documentation with examples and limitations
  - Improve README.md structure and installation instructions
  - Add DBI + DBD::SQLite as recommended test dependencies

0.48_02 2026-02-10 22:43:00 atoomic
  - Fix weakened reference cloning via deferred weakening (fixes #15)
  - Fix memory leak when cloning non-existent hash values (fixes #42)
  - Fix segfault when cloning DBI database handles (fixes #27)
  - Rewrite t/09-circular.t to fix SEGV on CPAN Testers (fixes #54)
  - Replace static recursion_depth with stack parameter
  - Fix C++ style comments in Clone.xs for C89 portability

0.48_01 2025-05-04 18:21:00 garu
  - Fix memory leak in Clone.xs (fixes #42)
  - Allow a MAX_DEPTH recursion of 32000 calls (fixes #19 aka RT97525)
  - Rename tests with more readable names
  - Remove TODO from cow test

0.47 2024-08-17 12:30:00 atoomic
  - Stop using quote as package separator

0.46 2022-10-18 20:23:00 garu
  - fix backwards compatibility with older perls (haarg)
  - bump MANIFEST to include extra tests

0.45 2020-04-23 14:46:00 atoomic
  - bump B::COW requirement to fix big-endian issue

0.44 2020-04-20 11:30:00 atoomic
  - support Perls with COW disabled (plicease)
  - bump B::COW requirement for testing

0.43 2019-07-29 13:47:42  atoomic
  - fix an issue when cloning a NULL mg_ptr pointer

0.42 2019-07-19 23:06:04  garu
  - make handling of mg_ptr safer (ATOOMIC, Harald Jörg)
  - change license wording on some test files to
    make the entire dist released under the same
    terms as Perl itself (fixes GH#20) (GARU)

0.41 2018-10-25 10:20:03  garu
  - Check the CowREFCNT of a COWed PV (ATOOMIC)
    this should fix some issues people have been
    having with 0.40 on DBD drives and DBIx::Class
  - Make buildtools files not executable (Mohammad S Anwar)
  - Move bugtracker to Github (GARU)

0.40 2018-10-23 20:001:49  garu
  - reuse COWed PV when cloning (fixes RT97535) (ATOOMIC)
  - extra protection against potential infinite loop (ATOOMIC)
  - improved tests

0.39 2017-04-07 13:06:00  garu
  - use explicit '.' in tests since it may not be in @INC
    anymore in newer perls (fixes RT120648) (PLICEASE, SIMCOP)

0.38 2015-01-18 19:27:41  garu
  - typo fixes and improvements to the README (zmughal)
  - travis/coveralls integration (zmughal)

0.37 2014-05-15 16:45:33  garu
  - removed Carp dependency (GARU)
  - silenced some clang warnings (JACQUESG)
  - added a README (GARU)

0.36 2013-12-07 17:36:04  garu
  - fixed compilation issue on AIX and C89 (GAAS)

0.35 2013-09-05 13:26:54  garu
  - SV's can be NULL (shit happens) (fixes RT86217) (HMBRAND)
  - making tests compatible with older versions of Test::More (GARU)

0.34 2012-12-09 14:46:09  garu
  - making some tests optional (fixes RT81774) (GARU)
  - modernizing synopsis (GARU)

0.33  2012-11-24 11:37:22  garu
  - fix typo in croak message (Salvatore Bonaccorso)

0.32  2012-11-22 12:14:07  garu
  - Stop skipping SvROK handling for all magical scalars. This fixes
    RT issues 67105, 79730 and 80201 (FLORA).
  - making the Changes file compliant to the CPAN::Changes spec (GARU).
  - Fixing tests when Scalar::Util::weaken is not available. As a
    result, tests should now pass even in odd OpenBSD versions (GARU).
  - removed dubious documentation on the optional parameter until
    it is 'fixed'. Right now it just increases the refcount when it's 0,
    and clones otherwise (which isn't exactly what it says). This
    fixes RT issue 57773 (GARU).
  - updated remark on Storable's dclone() to address RT issue 50174 (GARU)
  - updated Makefile.PL to include test dependencies (GARU)

0.31  2009-01-20 04:54:37  ray
  - Made changes for build failure on Solaris, apparently compiler warnings
    from the last patch are errors in Solaris.
  - Also, brought Changes file up to date.

0.30  2008-12-14 03:33:14  ray
  - Updating log: Applied patches from RT # 40957 and #41551.

0.29  2008-12-14 03:32:41  ray
  - Updating log: Applied patches supplied by Andreas Koenig, see RT #34317.

0.28  2008-12-14 03:31:33  ray
  - Updating log: Made a change in CLONE_KEY to the way Clone stores refs in
    the ref hash.
  - Perl no longer uses the SvANY part of the SV struct in the same way which
    means the old way of storing the hash key is no longer unique.
    Thanks to Slaven Rezic for the patch.

0.27  2008-12-14 03:30:40  ray
  - Updating Log: Latest patch from Ruslan Zakirov. Patched another
    memory leak.

0.26  2007-10-15 04:52:42  ray
  - Made a change in CLONE_KEY to the way Clone stores refs in the ref hash.
  - Perl no longer uses the SvANY part of the SV struct in the same way which
    means the old way of storing the hash key is no longer unique.
    Thanks to Slaven Rezic for the patch.

0.25  2007-07-25 03:41:04  ray
  - Latest patch from Ruslan Zakirov. Patched another memory leak.

0.24  2007-07-25 03:33:57  ray
  - Bug fix for 5.9.*, for some reason the 'visible' logic is no longer
    working. I #if 'ed it out until I figure out what is going on.
  - Also removed an old redundant CLONE_STORE, could have been the cause of
    some memory leaks.

0.23  2007-04-20 05:40:27  ray
  - Applied patch so clone will contiue to work with newer perls.
  - Also fixed test to work with older perls.

0.22  2006-10-08 05:35:19  ray
  - D'oh! The 0.21 tardist that I just uploaded to CPAN contained the
    0.20 Clone.xs file. This release is just in case any of the 0.21
    releases get mirrored.

0.21  2006-10-08 04:02:56  ray
  - Clone was segfaulting due to a null SV object in a magical reference (a
    PERL_MAGIC_utf8).
  - 21859: Clone segfault (isolated example)

0.20  2006-03-08 17:15:23  ray
  - Commented out VERSION causes errors with DynaLoader in perl 5.6.1 (and
    probably all earlier versions. It was removed.

0.19  2006-03-06 07:22:32  ray
  - added a test and fix for tainted variables.
  - use a static VERSION in Clone.pm.

0.18  2005-05-23 15:34:31  ray
  - moved declaration to top of function, M$ (and other) C compilers choke.

0.17  2005-05-05 22:26:01  ray
  - Changed PERL_MAGIC_backref to '<' for compatability with 5.6

0.16  2005-04-20 15:49:35  ray
  - Bug fix for id 11997, "Clone dies horribly when Scalar::Util::weaken
    is around" see http://rt.cpan.org/Ticket/Display.html?id=11997
    for details.

0.15.2.1  2005-05-05 21:55:30  ray
  - changed PERL_MAGIC_backref to '<' for backward compatibility with 5.6

0.15  2003-09-07 22:02:35  ray
  - VERSION 0.15

0.13.2.3  2003-09-07 21:51:03  ray
  - added support for unicode hash keys. This is only really a bug in 5.8.0
    and the test in t/03scalar supports this.

0.14  2003-09-07 05:48:10  ray
  - VERSION 0.14

0.13.2.2  2003-09-07 05:45:52  ray
  - bug fix: refs to a qr (regexp) expression was causing a segfault.

0.13.2.1  2003-09-06 20:18:37  ray
  - Bug fix on cloning references, only set ROK in clone if it's set in ref.

0.13  2002-02-03 02:12:29  ray
  - VERSION 0.13

0.11.2.1  2002-02-03 02:10:30  ray
  - removed dependency on Storable for tests.

0.12  2001-09-30 20:35:27  ray
  - Version 0.12 release.

0.11  2001-07-29 19:30:27  ray
  - VERSION 0.11

0.10.2.3  2001-07-28 21:53:03  ray
  - fixed memory leaks on un-blessed references.

0.10.2.2  2001-07-28 21:52:41  ray
  - added test cases for circular reference bugs and memory leaks.

0.10.2.1  2001-07-28 21:52:15  ray
  - fixed circular reference bugs.

0.10  2001-04-29 21:48:45  ray
  - VERSION 0.10

0.09.2.3  2001-03-11 00:54:41  ray
  - change call to rv_clone in clone to sv_clone; this allows any scalar to
    be cloned.

0.09.2.2  2001-03-11 00:50:01  ray
  - version 0.09.3: cleaned up code, consolidated MAGIC.

0.09.2.1  2001-03-05 16:01:52  ray
  - added support for double-types.

0.09  2000-08-21 23:05:55  ray
  - added support for code refs

0.08  2000-08-11 17:08:24  ray
  - Release 0.08.

0.07  2000-08-01 00:31:24  ray
  - release 0.07.

0.06.2.3  2000-07-28 20:40:25  ray
  - added support for circular references

0.06.2.2  2000-07-28 19:04:14  ray
  - first pass at circular references.

0.06.2.1  2000-07-28 18:54:33  ray
  - added support for scalar types.

0.06  Thu May 25 17:48:59 2000 GMT
	- initial release to CPAN.

0.01  Tue May 16 08:55:10 2000
	- original version; created by h2xs 1.19

