Revision history for Perl module Net::Netmask

2.0003 2025-05-17
 - Quiet warning (thanks, Todd Rinaldo!)

2.0002 2022-08-31
 - Documentation fixes (thanks, Breno G. de Oliveira!)

2.0001 2021-03-29
 - BUGFIX: Return a netmask length of 0 whenever parsing an invalid
   digit.
 - Add "safe_new()" method to make it more clear what new2() does. Note
   that this executes the same code as new2().

2.0000 2021-03-29

 - SECURITY: IPv4 addresses with leading zeros are no longer allowed.
   They will return a parse error like any invalid IP address.
 - SECURITY: 10.0.0, 10.0, and 10 address portions now by default return
   a parse error.  This can be overriden by calling new() like:
     Net::Netmask->new2('10/8', shortnet => 1);     # or new()
   or
     Net::Netmask->new2('10', '8', shortnet => 1);  # or new()

   There is also a package-level variable that can change the default
   when "shortnet" isn't used passed into the constructor. Usage:
     local $Net::Netmask::SHORTNET_DEFAULT = 1;
     Net::Netmask->new('10', '8');  # or new2()

1.9104 2018-06-27

 - IPv6 support is now GA!

1.9104 2018-06-26

 - DEV release only
 - IPv6 support
 - Add Code of Conduct

1.9103 2018-06-18

 - Use ASCII-like regex matching (Github #4)
 - Convert tests to Test2
 - Pass perlcritic tests
 - Pass Kwalitee tests
 - Add contributor information
 - Add protocol() method (just a stub today that will always return
   'IPv4')

1.9102 2018-06-18

 - DEV release only
 - Contains most changes that made it to 1.9103.

1.9101 2018-06-02

 - fix precision issue on long-double platforms (BAYMAX)
 - Convert to use Dist::Zilla
 - Formatting changes

1.9100 2018-06-02

 - DEV release only
 - fix precision issue on long-double platforms (BAYMAX)
 - Convert to dist.zilla
 - Minor formatting changes

1.9022 2015-05-05

 - Changes from adamherzog: minor cleanups plus
 - A bunch of addtional tests
 - A couple of small code fixes

1.9021 2014-07-17

 - Spelling fix in documentation.

1.9019 2013-10-01

 - Rename $b to $bits so that netmask can be sorted.  Change mostly
   from https://rt.cpan.org/Ticket/Display.html?id=76939

1.9018 2013-09-26

 - Minor MANIFEST fix.

1.9017 2013-09-20

 - Add network split() function.
 - Re-arrange the distribution a bit.

1.9016 2011-03-22

 - Fix bug #46996: warnings issued for bad input.
 - Fix bug #43348: use POSIX::floor() instead of int()
 - Rewrite netmask.t to use Test::More

1.9015 2006-11-30

 - Fix bug # 22662 reported by grjones at gmail: cidrs2inverse
   wouldn't notice /32-sized leftovers.

1.9014 2006-10-13

 - Fix bug # 22085 reported by grjones at gmail: cidrs2inverse
 - wouldn't notice /32-sized holes.

1.9013 2006-09-06

 - Added the nextblock() method as suggested by Robert Drake <rdrake at stayonline.net>

 - Bugfix: it couldn't parse 10/8 or 127/8

1.9011 2004-05-31

 - Some speed improvements from Todd R. Eigenschink <todd at tekinteractive.com>

1.9009 2004-04-12

 - Fix to netmasks.t for compatability with older perls

1.9008 2004-04-06

 - Added cidrs2inverse() which will find the gaps in a list of blocks.
 - Based on a request from Howard Jones <howard.jones at network-i.net>
   the tag() method was added.  It allows you to store your own data in
   a Net::Netmask object.  (Of course, you could have anyway as long as you
   didn't use the keys 'IBASE' or 'BITS')
 - Long ago, Alexandros M Manoussakis <amm2 at ini.cmu.edu> reported a bug
   that findAllNetblock would often return the same block multiple times.  
   Fixed.
 - Based on requests from Alexandros M Manoussakis <amm2 at ini.cmu.edu>
   and Lamprecht Andreas <andreas.a.lamprecht at siemens.com> the
   undefined behavior for overlapping blocks with cidrs2contiglists
   is no longer.  Such blocks will be in the same sublist.
 - Based on a requests from Tom Rudnick <trudnick at itc.nrcs.usda.gov>
   and Anthony Pardini <tony at pardini.org> new function was added:
   cidrs2cidrs().  cidrs2cidrs will condense a set of netblocks by
   combining blocks together that make up larger blocks.
 - Anthony Pardini <tony at pardini.org>, Frank Tegtmeyer <fte @ fte.to>
   and George Walker <gwalker at irish-times.com> pointed me to a bug
   with the contains() method.  Fixed.

1.9007 2004-01-01

 - At Max Baker <max at warped.org>'s request, the "require 5.6.1" 
   was removed for better compatability with older perl versions.

1.9006 2003-12-05

 - Removed '@'s from this file.

1.9005 2003-11-29

 - Matija Papec <matija at post.hinet.hr> suggested that I do a
   Schwartzian transform on the IP address sort function.  I 
   tried it.  It's faster.  Sort function replaced.

 - Added a sort_network_blocks function.
 - Added a contains() function to test if one block fits within
   another.
 - Peter Chen <petechen at netilla.com> was concerned about 
   using an illegal bitmask.  Now checked.
 - Long ago, Alexandros M Manoussakis <amm2 at ini.cmu.edu> noted that
   could be exported even though it was in EXPORT_OK.  Fixed.

1.9004 2003-05-28

 - Martin Lorensen <martin at lorensen.dk>: make 'any' a synonym for
   'default'.  
 - Bugfix (aslo from Martin): fix the require to accept 5.6.1

1.9003 2003-05-26

 - Roman Shishkin <roman at rt.mipt.ru> provided several (public exported)
   functions for looking at network tables:
   	dumpNetworkTable()
   	checkNetblock()
   Inspired: changing findOuterNetblock() so it can take a block
   as it's IP address.
 - Bugfix: notice that '218.0.0.0 - 221.255.255.255' isn't a valid
   netmask.  Reported by Dan Wright <wright at smx.pair.com>.
 - Bugfix: could not specify network '0.0.0.0-255.255.255.255'.  Fix
   from Dominic Mitchell <dom at semantico.com>.
 - Added ->sameblock() from Martin Lorensen <martin at lorensen.dk>
 - Added ->cmpblocks().
 - Added overloaded stringification so that blocks stringify to their
   description.
 - Added overloaded block comparision so that blocks can be compared and
   sorted.
 - Added hostmask syntax a.b.c.d#hostmask - Martin Lorensen <martin at lorensen.dk>
 - Bugfix: t/badnets.t was missing from the MANIFEST.
 - Some spelling and typo mistakes fixed in the documentation.

1.9002 2001-11-12

 - Change the license to make the Debian folks happy.  Interface through
   Jonas Smedegaard <dr at jones.dk>.

1.9001 2001-09-29

 - Sapient Fridge <sapient.fridge at WaCkY.zzn.com> and Alexander Karptsov
   <karp at visti.net> sent a patch for a bug in range2cidrlist.  The
   last IP in the range was skipped.
 - Sam Denton <sdenton at wantec.com> requested support for 
   a.b.c.d/mask.mask.mask.mask.
 - Sam also sent a request that I include the world's fastest
   sort-by-ip-address-in-perl function in Net::Netmask as there didn't
   seem to be a better place to put it.  I've included it.  The function
   in question was found/benchmarked by John Porter and written about
   in the Perl-Users Digest, Issue 3860, Volume 8.
 - Sam sent a patch to eliminate a couple of trailing spaces in
   the error codes.
 - My IP address are now 216.240.32/19 instead of 140.174.82/19 and
   thus I've changed the examples in the pod.  :-)

1.9 2001-05-15

 - Added deleteNetblock to match storeNetblock.
 - Carol Lerche <cafl at securify.com> contributed findOuterNetblock()
   and findAllNetblocks().
 - Kevin Baker <kevin at apnic.net> sent in patches that suggested a new
   handling of error conditions; extra error conditions to test for; and
   a test script to exercise the error conditions.
 - Bruce Peikon <Bruce.Peikon at msdw.com> sent a contribution which suggested
   that enumerate could do so by network.
 - Dominic Mitchell <dom at semantico.com> sent in code that suggested the 
   creation of cidrs2contiglists() and range2cidrlist().
 - A couple of documentation fixes from Igor Vinokurov <igor at rtsnet.ru>.

1.8 1999-09-20

 - Modified the match() method to return the position within the block.

1.7 1999-09-15

 - Added support for understanding network blocks in the form that the
   whois database uses: FirstIP-LastIP.

1.6 1999-03-27

 - Jochen Wiedmann <joe at ispsoft.de> contributed a function to test an IP
   address and a block to test see if the IP address is in the block. 
   Accordingly, there is now a match() method.
 - Rob Walker <rob at varesearch.com> contributed a function to return the
   first usable adress in a block.  Instead of using that, I added a function
   to return the nth address in a block.  There is now an nth() function.

1.4 1998-11-29

 - Jean-Luc Szpyrka <Jean-Luc.Szpyrka at sophia.inria.fr> requested that a
   function be provided that returns the oposite of a netmask.  Accordingly,
   there is now the hostmask() method.
 - http://faqchest.dynhost.com/prgm/perlu-l/perl-98/perl-9809/perl-980905/perl98093023_24256.html
