The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
1.29 2014-03-24  Dave Oswald <davido@cpan.org>
  * Fixed set operations examples in POD (Xaerxess via GitHub).
  
1.28 2014-02-24  Dave Oswald <davido@cpan.org>
  * Fix POD example showing power_set() method returning an iterator. Now it
    correctly demonstrates power_set_iterator() returning an iterator.
    (Response to report from vagabonding_electron on PerlMonks.)

1.27 2013-12-31  Dave Oswald <davido@cpan.org>

  * Merge pull request for typo fix in POD.
  * Merge pull request for adding meta-data via Makefile.PL.
  * ChangeLog is more standards compliant.
  * Module POD now mentions current maintainer, and GitHub repo.

1.26 2013-06-15  Jarkko Hietaniemi  <jhi@iki.fi>

  * Fixed "Set::Scalar::Valued" [rt.cpan.org #69037], bug reported
    and fix supplied by Kiran Mukhyala, the problem was in null()
    not being defined for valued set universes.
  * Fixed qq[More whitespace in examples could show "picture" of
    operations] [rt.cpan.org #54172 and #54173], bug reported
    and fix supplied by MichaelRWolf.  (ASCII art, so relies
    on fixed-width font.)
  
1.25 2009-12-27  Jarkko Hietaniemi  <jhi@iki.fi>

  * Fixed "trying to add an element twice prevents further
    adds to the set" [rt.cpan.org #52559], bug reported by
    Eduard Wulff.
  * Removed unused and deprecated (Perl 5.12?) "use UNIVERSAL 'isa'"
    from Set/Scalar/Virtual.pm.
  * Add tests for the copy overload.
  
1.24 2009-06-02  Jarkko Hietaniemi  <jhi@iki.fi>

  * Fixed "The intersection method does not like references in the 
    set." [rt.cpan.org #46589], bug reported and fix provided by
    Father Chrysostomos.
  * Cosmetics: removed trailing whitespace.
  * Renamed README as README.old.  It has been close to ten years.
  * Added new README.
  * Updated copyright years. 
  
1.23 2009-01-16  Jarkko Hietaniemi  <jhi@iki.fi>

  * Add overload for '@{}' as suggested by John Loverso,
    meaning that you can now do @$set and get the members
    of the set (unordered, mind)
  * Add overload for '=' (how did we manage so long without?)
    [rt.cpan.org #42449]
  * Remove explicit import of UNIVERSAL::isa()
    [rt.cpan.org #42451]
  * Modernize META.yml.

1.22 2007-10-23  Jarkko Hietaniemi  <jhi@iki.fi>

  * Add cartesian_product() and power_set(), both as full
    constructors and as iterators.
  * Add empty_clone().
  * Makefile.PL not requiring Test::More since we are not using it.

1.21 2007-10-04  Jarkko Hietaniemi  <jhi@iki.fi>

  * Made to work with the upcoming Perl 5.005_05
    (yes, you read that right), most importantly
    Scalar::Util made optional (we fall back to
    pure Perl emulations for blessed() and refaddr()
    if necessary).  Everything else already worked.

1.20 2005-08-06  Jarkko Hietaniemi  <jhi@iki.fi>

  * [cpan #13816] Set::Scalar blesses unblessed refs
    A genuine bug, the suggested fix used, but then again Set::Scalar
    was never designed or tested be used with references as the set
    members.  I would not recommend doing that unless much more
    testing has been conducted.  A test added to misc.t for that,
    and a warning about using references as the set members added
    to the pod.
  
  * [cpan #13856] funny behavior in Set::Scalar::Base::intersection and Set::Scalar::Base::union
    A genuine bug, but the suggested fix as-is would break
    the special cases of intersecting with the null set and
    unioning with the universal set.
    A slightly enhanced version of the fix used instead,
    tests added to intersection.t and union.t.
  
  * [cpan #13857] Set::Scalar::Base::_binary_underload bug
    Not really a bug.  The _binary_underload() method is only
    ever going to be called by Set::Scalar itself, or by classes
    derived from Set::Scalar, so the assumption that all references
    are object and that they are capable of calling the new() method
    (i.e. being instance of Set::Scalar) is completely valid.
    Trying to use the suggested fix also badly breaks the
    laws.t when the universal and null sets are present.

1.19 2004-03-28  Jarkko Hietaniemi  <jhi@iki.fi>

  * [cpan #5829] When is_disjoint() was called in list
    context, and the result was disjoint (not disjoint
    universes), the return value was a list with one
    undef element, from Alexei.

1.18 2003-10-04  Jarkko Hietaniemi  <jhi@iki.fi>

  * Removed a cut-and-paste bug from symmetric_difference();
    from frederik.

1.17 2001-12-08  Jarkko Hietaniemi  <jhi@iki.fi>

  * Added is_empty() and empty() aliases for is_null()
    and null(); from Peter Oliver.
  * In the display callback discussion show by example
    that one can use the same callback for several sets
    (instead of generating a new anonymous subroutine each time),
    and clarify the class versus object method wording.

1.16 2001-10-23  Jarkko Hietaniemi  <jhi@iki.fi>

  * Allow customising the set display: as_string_callback().
  * Got the acknoledgement about the clear() idea wrong:
    it was Dave Lewis, not Dan Berger.
  * Document that the clear() does not really release the memory.

1.15 2001-10-22  Jarkko Hietaniemi  <jhi@iki.fi>

  * Documentation and whitespace nits.

1.14 2001-10-20  Jarkko Hietaniemi  <jhi@iki.fi>

  * Changed has() and contains() to return boolean,
    not the member, as pointed out by Mark Dilger.
  * Add clear() method to remove all the elements,
    as suggested by Dave Lewis.  Doesn't release the
    memory to the operating system, though (in general,
    Perl doesn't), just releases the memory to be reused
    by Perl, so don't expect your memory footprint go down
    when you clear your gigaset.
    
1.12 2001-10-13  Jarkko Hietaniemi  <jhi@iki.fi>

  * Add each() as a lighter weight way of iterating
    over sets, as suggested by Dave Lewis.
    
1.11 Wed 2001-10-10  Jarkko Hietaniemi  <jhi@iki.fi>

  * In boolean contexts the string representation of sets
    is not the best possible one, reported by Dan Berger.
    Now the size of the set is returned in boolean contexts.
    
1.10 2001-08-03  Jarkko Hietaniemi  <jhi@iki.fi>

  * Added COPYRIGHT and LICENSE.

1.09 2001-05-07  Jarkko Hietaniemi  <jhi@iki.fi>

  * Annotation mixup: The fix known as 1.08 by Mark Dilger,
    not Joy Koenig.

1.08 2001-05-07 Jarkko Hietaniemi <jhi@iki.fi>

  * Set::Scalar()->new() - Set::Scalar()->new() didn't equal
    Set::Scalar()->new(), thanks to wrong inheritance order.
    Spotted and most graciously fixed by Joy Koenig.

1.07 2001-05-05  Jarkko Hietaniemi  <jhi@iki.fi>

  * Union could end up returning a true universe, from which one
    cannot delete elements (e.g. using difference), bug reported
    by Malcolm Purvis.  The fix (which was applied to all of the
    union+intersection+difference+symmetric_difference) was to
    'downgrade' results of the same size as the first argument.
  * Set::Scalar called itself Set::Scalar::Base.

1.06 2001-02-10  Jarkko Hietaniemi  <jhi@iki.fi>

  * Make the code Perl 5.00404-proof, patch from Ed Grimm.

1.04 2001-01-18  Jarkko Hietaniemi  <jhi@iki.fi>

  * Add examples of the set differences.
  * NOTE: unique now returns a set, not a list of elements,
    as it was documented and intended.
  * unique() was rather broken, reported by Malcolm Purvis.

1.03 2000-10-31  Jarkko Hietaniemi  <jhi@iki.fi>

  * Use a custom overloaded data stringification routine
    instead of overload::StrVal().  This solves the memory
    leak reported by Joshua Richardson <jric@yahoo-inc.com>
    _and_ speeds up the code by about 40%! (make test timings)

1.02 2000-09-15  Jarkko Hietaniemi  <jhi@iki.fi>

  * Null sets weren't subsets of every set in comparisons.
    Noticed by Gerard Vreeswijk <gv@cs.uu.nl>.

1.01 2000-04-15  Jarkko Hietaniemi  <jhi@iki.fi>

  * Make to work with perl 5.6.0.
  * Release as 1.01 as no bug reports have been seen for many moons.

0.901 1999-09-24  Jarkko Hietaniemi  <jhi@iki.fi>

  * Paul Schinder <schinder@pobox.com> reported that the set_set.t
    subtest #5 produces "(a (b (a (c ...) ...)) (c ...))" for him,
    not "(a (b (a ...)) (c ...))" as expected.  Nondeterminism
    in stringification.  Not yet resolved but the test hacked
    to allow either (for subtests #5 and #6).
  * Timothy Kimball <kimball@stsci.edu> reported that Set::Scalar 0.9
    had the super/subsetness the wrong way round.  Fixed.