- 1.40, 2020-01-19
- 1.39, 2018-01-08
- 1.38, 2017-11-11
- 1.37, 2017-11-11
- 1.36, 2017-11-10
- 1.35, 2015-06-10
- 1.34, 2013-12-25
- 1.33, 2013-12-13
- 1.32, 2013-05-15 rurban (released 2013-12-13)
- 1.31, 2013-05-13 rurban
- 1.30, 2013-04-04 rurban (new maintainer)
- 1.29, 13 Feb 2013
- 1.28, 22 Jul 2010
- 1.27, 15 Jan 2009
- 1.26, 13 Oct 2008
- 1.25, 22 Jul 2008
- 1.24, 20 Jul 2008
- 1.23, 18 Jul 2008
- 1.22, 8 Oct 2007
- 1.21, 17 Feb 2007
- 1.20, 16 Feb 2007
- 1.19, 23 Jan 2007
- 1.18, 14 Sep 2006
- 1.17, 1 Aug 2006
- 1.16, 18 Jul 2006
- 1.15, 21 Jun 2006
- 1.12, 30 Aug 2005
- 1.11, 27 Apr 2005
- 1.10, 2 Apr 2005
- 1.09, 26 Mar 2005
- 1.08, 14 Oct 2004
- 1.07, 16 Aug 2004
- 1.06, 1 May 2004
- 1.05, 5 Jan 2004
- 1.04, 3 Aug 2003
- 1.03, 24 Jan 2003
- HISTORIC RELEASES
REVISION HISTORY - Set::Object
Fixed perl5.28 regressions (not cperl), for @$set args to other set functions. (RT #131345). Fixed by adding missing SvGETMAGIC expansions to all args.
Bumped minimal required perl version to 5.8 for arrayref @$set behavior.
Fixed the smokers and some author tests.
Skip installing Changes.pod (PR #5, kentfredric)
Add test_cover and release targets
Test fixes for -Ddefault_inc_excludes_dot, RT #120540
Skip failing threads test <= 5.10.0
Add CI hooks
Stabilize t/misc/kwalitee.t test
Change to Artistic License 2.0
Add more misc tests. Add use strict to Set::Object::Weak
Make synopsis examples work (tadzik)
Fix RT #90070: Improve pod for sorted @$set in list context vs unsorted ->elements (ftobin)
Fix RT #87658: Typo in pod (dsteinbrunner)
Reverts Changes.pod patch RT#85244 as it conflicts with the Set::Object pod on metacpan. Also RT #85246
Changes.pod patch by Gregor Hermann, debian perl group - RT#85244
Fixes for 5.16 and newer - RT#83426 Sort by member names, not the refs. Fix wrong weak test with globals. Changed to lexicals and use strict/warnings.
Fix t/misc/segfault.t, check SvMAGICAL before doing
Improve thread-safety (forbid concurrent writes), but still dealing with Attempt to free non-existent shared string and Unbalanced string table refcount: (1) for "8" during global destruction. - RT #22760
Add missing typemap entry const char * for 5.6
Fixed a typo in a function which really shouldn't exist - RT#79653
Marked a couple of functions as deprecated for removal (including the above function).
Fixed the magic cleanup code to use the appropriate macro/function to clean up the magic list instead of trying to do it itself. Unsurprisingly, fixes a memory leak. (RT#69967, also RT#67289)
Fixed a portability concern for some platforms' C compilers (that do not support //-style comments) - RT#52690
Valid SIGNATURE file - RT#50492
Fix a typo that affected building against Perls with debugging enabled.
A minor #define refactor (Yuval).
Squash some long-standing warnings I had been ignoring for ages and Havard Eidnes prompted me to fix by logging an RT ticket for it.
Squash some global clean-up warnings.
Methods which destroyed
$@due to internal use of
evalnow properly call
Fix a leak and a corner case with weak set magic, and squash some warnings (Yuval)
Define behaviour when dealing with return values from operations on weak sets. No longer hard-coded "Set::Object" - may affect Set::Object sub-classes (Sam).
(post-release changelog entry) related to the previous change, Set::Object::Weak::set did not use to shift the invocant off the stack, which caused result sets to have the inserted sets as members. It now does, fixing this bug.
Portability: support Perls before 5.7.3, and make this dependency explicit in the Makefile.PL
Remove threads test which had inadvertantly slipped into the MANIFEST from source control, and add comprehensive documentation on the state of thread support in this module.
Correct other silly MANIFEST mistakes.
Make behaviour when dealing with items which were
undefdefined. Previously it might segfault (or Bus Error on Mac OS X) on some operations and Perl versions, or result in an empty string being inserted.
Fix a minor compile problem on IRIX, reported by David Cantrell.
Fix false negative when Test::Pod::Coverage isn't installed. Reported by Anna Bernathova of SuSE.
->comparefunction was returning "disjoint" for empty sets. RT#24965. (Nigel Metheringham)
Document lots of methods that were previously not documented.
Set::Object::Weak::set(). It was not passing its arguments to
Set::Object::Weak->new(), which was very broken.
remove bogus inclusions of Data::Dumper and Devel::Peek
Set::Object::Weak, which all weak sets should get re-blessed into when you call
->weaken. Also added alternative methods of constructing weak sets.
Fix a memory leak with scalar members (the internal hash used to store the items was never being freed). RT#24508.
We could only build on gcc due to the use of variadic macros. use
#ifdefto hide this GCC-specific extension (used only for debugging) from non-GCC compilers.
Add note to man page on compatibility of
Set::Objects between revisions.
fix compile problem affecting some platforms
weak reference support
Dumping sets with scalars in them via Storable now works.
Fix build problem on Win32 (thanks Steffen Goeldner)
Fix Makefile.PL so this Changes.pod is not delivered as
Restore compatibility with 5.6.0
Remove some compile-time warnings, please let me know if this version does not build on any platform!
added patch from Sergey Skvortsov for backwards compatibility with Perl versions before 5.8 (include >100k ppport.h!)
set()' constructor from default export list, as its name conflicts with too many other modules.
&_func (was causing strange errors on 5.9.1)
set()' constructor and use-as-array-ref interface
added 'bool' overload operator to
Set::Object. For backwards compatibility, always returns true.
Cutting out the "Universe" representation; this module gives plain sets only.
First attempt at adding support for scalars. This version tries to work as closely to
This approach will not be continued unless there are a lot of requests for it to be implemented. I think it's overly complicated, and not what people expect when they want a Set.
another segfault bites the dust; this time, avoids a segfault when taking a difference between sets of exactly 31 and 0 size. Same root fault as the previous bug, this time I have a test case for it, too.
yet another segfault fix, this time due to incorrect use of PUSHs vs XPUSHs. There is no test case for this bug unfortunately.
Fixed segfault when attempting to remove items from an empty set (fix from Richard Sterling Cox)
some segfault fixes with Storable and Perl 5.6.1 (Perl 5.8.1 should be OK)
added various functions similar to some found in Scalar::Util, but with an extra one that performs a function that lays some groundwork for Container::Object (
Some of these functions were in the XS code anyway, and they are extremely small, so I didn't see a problem with duplicating them - saves an extra dependency. Plus, Graham Barr won't let me put
is_keyin his module.
Knowing that they are available will also assist in fixing some longer standing bugs in Tangram (eg, using
$obj + 0to get a unique ID when
refaddr($obj)would be better)
lots more input marshalling; if you ever end up doing funny things to a
Set::Object, then at least now you'll get a clearer error message.
more tests; Devel::Cover test coverage now at 91% (stmt), 67% (branch)
erroneously putting scalars into
Set::Objects now no longer dumps core.
fixed overload related bug
From original Changes file.
Revision history for Perl extension Set::Object. 0.01 Sat Jun 6 13:36:56 1998 - original version; created by h2xs 1.18 0.02 Sun Jul 12 1998 - fixed refcount bug that leaked object when hash was reorganized - ensured compatibility with Perl 5.004_71 1.00 mid-99 - fixed some bug (related to subsets?) - first mature release 1.01 8 Nov 1999 - no longer use Perl arrays internally, now compatible with Perl 5.005_62 1.02 8 May 08 2000 - fixed bug that miscomputed new bucket while reindexing