1Revision history for Perl module Net::Netmask
2
32.0001 2021-03-29
4 - BUGFIX: Return a netmask length of 0 whenever parsing an invalid
5   digit.
6 - Add "safe_new()" method to make it more clear what new2() does. Note
7   that this executes the same code as new2().
8
92.0000 2021-03-29
10
11 - SECURITY: IPv4 addresses with leading zeros are no longer allowed.
12   They will return a parse error like any invalid IP address.
13 - SECURITY: 10.0.0, 10.0, and 10 address portions now by default return
14   a parse error.  This can be overriden by calling new() like:
15     Net::Netmask->new2('10/8', shortnet => 1);     # or new()
16   or
17     Net::Netmask->new2('10', '8', shortnet => 1);  # or new()
18
19   There is also a package-level variable that can change the default
20   when "shortnet" isn't used passed into the constructor. Usage:
21     local $Net::Netmask::SHORTNET_DEFAULT = 1;
22     Net::Netmask->new('10', '8');  # or new2()
23
241.9104 2018-06-27
25
26 - IPv6 support is now GA!
27
281.9104 2018-06-26
29
30 - DEV release only
31 - IPv6 support
32 - Add Code of Conduct
33
341.9103 2018-06-18
35
36 - Use ASCII-like regex matching (Github #4)
37 - Convert tests to Test2
38 - Pass perlcritic tests
39 - Pass Kwalitee tests
40 - Add contributor information
41 - Add protocol() method (just a stub today that will always return
42   'IPv4')
43
441.9102 2018-06-18
45
46 - DEV release only
47 - Contains most changes that made it to 1.9103.
48
491.9101 2018-06-02
50
51 - fix precision issue on long-double platforms (BAYMAX)
52 - Convert to use Dist::Zilla
53 - Formatting changes
54
551.9100 2018-06-02
56
57 - DEV release only
58 - fix precision issue on long-double platforms (BAYMAX)
59 - Convert to dist.zilla
60 - Minor formatting changes
61
621.9022 2015-05-05
63
64 - Changes from adamherzog: minor cleanups plus
65 - A bunch of addtional tests
66 - A couple of small code fixes
67
681.9021 2014-07-17
69
70 - Spelling fix in documentation.
71
721.9019 2013-10-01
73
74 - Rename $b to $bits so that netmask can be sorted.  Change mostly
75   from https://rt.cpan.org/Ticket/Display.html?id=76939
76
771.9018 2013-09-26
78
79 - Minor MANIFEST fix.
80
811.9017 2013-09-20
82
83 - Add network split() function.
84 - Re-arrange the distribution a bit.
85
861.9016 2011-03-22
87
88 - Fix bug #46996: warnings issued for bad input.
89 - Fix bug #43348: use POSIX::floor() instead of int()
90 - Rewrite netmask.t to use Test::More
91
921.9015 2006-11-30
93
94 - Fix bug # 22662 reported by grjones at gmail: cidrs2inverse
95   wouldn't notice /32-sized leftovers.
96
971.9014 2006-10-13
98
99 - Fix bug # 22085 reported by grjones at gmail: cidrs2inverse
100 - wouldn't notice /32-sized holes.
101
1021.9013 2006-09-06
103
104 - Added the nextblock() method as suggested by Robert Drake <rdrake at stayonline.net>
105
106 - Bugfix: it couldn't parse 10/8 or 127/8
107
1081.9011 2004-05-31
109
110 - Some speed improvements from Todd R. Eigenschink <todd at tekinteractive.com>
111
1121.9009 2004-04-12
113
114 - Fix to netmasks.t for compatability with older perls
115
1161.9008 2004-04-06
117
118 - Added cidrs2inverse() which will find the gaps in a list of blocks.
119 - Based on a request from Howard Jones <howard.jones at network-i.net>
120   the tag() method was added.  It allows you to store your own data in
121   a Net::Netmask object.  (Of course, you could have anyway as long as you
122   didn't use the keys 'IBASE' or 'BITS')
123 - Long ago, Alexandros M Manoussakis <amm2 at ini.cmu.edu> reported a bug
124   that findAllNetblock would often return the same block multiple times.
125   Fixed.
126 - Based on requests from Alexandros M Manoussakis <amm2 at ini.cmu.edu>
127   and Lamprecht Andreas <andreas.a.lamprecht at siemens.com> the
128   undefined behavior for overlapping blocks with cidrs2contiglists
129   is no longer.  Such blocks will be in the same sublist.
130 - Based on a requests from Tom Rudnick <trudnick at itc.nrcs.usda.gov>
131   and Anthony Pardini <tony at pardini.org> new function was added:
132   cidrs2cidrs().  cidrs2cidrs will condense a set of netblocks by
133   combining blocks together that make up larger blocks.
134 - Anthony Pardini <tony at pardini.org>, Frank Tegtmeyer <fte @ fte.to>
135   and George Walker <gwalker at irish-times.com> pointed me to a bug
136   with the contains() method.  Fixed.
137
1381.9007 2004-01-01
139
140 - At Max Baker <max at warped.org>'s request, the "require 5.6.1"
141   was removed for better compatability with older perl versions.
142
1431.9006 2003-12-05
144
145 - Removed '@'s from this file.
146
1471.9005 2003-11-29
148
149 - Matija Papec <matija at post.hinet.hr> suggested that I do a
150   Schwartzian transform on the IP address sort function.  I
151   tried it.  It's faster.  Sort function replaced.
152
153 - Added a sort_network_blocks function.
154 - Added a contains() function to test if one block fits within
155   another.
156 - Peter Chen <petechen at netilla.com> was concerned about
157   using an illegal bitmask.  Now checked.
158 - Long ago, Alexandros M Manoussakis <amm2 at ini.cmu.edu> noted that
159   could be exported even though it was in EXPORT_OK.  Fixed.
160
1611.9004 2003-05-28
162
163 - Martin Lorensen <martin at lorensen.dk>: make 'any' a synonym for
164   'default'.
165 - Bugfix (aslo from Martin): fix the require to accept 5.6.1
166
1671.9003 2003-05-26
168
169 - Roman Shishkin <roman at rt.mipt.ru> provided several (public exported)
170   functions for looking at network tables:
171   	dumpNetworkTable()
172   	checkNetblock()
173   Inspired: changing findOuterNetblock() so it can take a block
174   as it's IP address.
175 - Bugfix: notice that '218.0.0.0 - 221.255.255.255' isn't a valid
176   netmask.  Reported by Dan Wright <wright at smx.pair.com>.
177 - Bugfix: could not specify network '0.0.0.0-255.255.255.255'.  Fix
178   from Dominic Mitchell <dom at semantico.com>.
179 - Added ->sameblock() from Martin Lorensen <martin at lorensen.dk>
180 - Added ->cmpblocks().
181 - Added overloaded stringification so that blocks stringify to their
182   description.
183 - Added overloaded block comparision so that blocks can be compared and
184   sorted.
185 - Added hostmask syntax a.b.c.d#hostmask - Martin Lorensen <martin at lorensen.dk>
186 - Bugfix: t/badnets.t was missing from the MANIFEST.
187 - Some spelling and typo mistakes fixed in the documentation.
188
1891.9002 2001-11-12
190
191 - Change the license to make the Debian folks happy.  Interface through
192   Jonas Smedegaard <dr at jones.dk>.
193
1941.9001 2001-09-29
195
196 - Sapient Fridge <sapient.fridge at WaCkY.zzn.com> and Alexander Karptsov
197   <karp at visti.net> sent a patch for a bug in range2cidrlist.  The
198   last IP in the range was skipped.
199 - Sam Denton <sdenton at wantec.com> requested support for
200   a.b.c.d/mask.mask.mask.mask.
201 - Sam also sent a request that I include the world's fastest
202   sort-by-ip-address-in-perl function in Net::Netmask as there didn't
203   seem to be a better place to put it.  I've included it.  The function
204   in question was found/benchmarked by John Porter and written about
205   in the Perl-Users Digest, Issue 3860, Volume 8.
206 - Sam sent a patch to eliminate a couple of trailing spaces in
207   the error codes.
208 - My IP address are now 216.240.32/19 instead of 140.174.82/19 and
209   thus I've changed the examples in the pod.  :-)
210
2111.9 2001-05-15
212
213 - Added deleteNetblock to match storeNetblock.
214 - Carol Lerche <cafl at securify.com> contributed findOuterNetblock()
215   and findAllNetblocks().
216 - Kevin Baker <kevin at apnic.net> sent in patches that suggested a new
217   handling of error conditions; extra error conditions to test for; and
218   a test script to exercise the error conditions.
219 - Bruce Peikon <Bruce.Peikon at msdw.com> sent a contribution which suggested
220   that enumerate could do so by network.
221 - Dominic Mitchell <dom at semantico.com> sent in code that suggested the
222   creation of cidrs2contiglists() and range2cidrlist().
223 - A couple of documentation fixes from Igor Vinokurov <igor at rtsnet.ru>.
224
2251.8 1999-09-20
226
227 - Modified the match() method to return the position within the block.
228
2291.7 1999-09-15
230
231 - Added support for understanding network blocks in the form that the
232   whois database uses: FirstIP-LastIP.
233
2341.6 1999-03-27
235
236 - Jochen Wiedmann <joe at ispsoft.de> contributed a function to test an IP
237   address and a block to test see if the IP address is in the block.
238   Accordingly, there is now a match() method.
239 - Rob Walker <rob at varesearch.com> contributed a function to return the
240   first usable adress in a block.  Instead of using that, I added a function
241   to return the nth address in a block.  There is now an nth() function.
242
2431.4 1998-11-29
244
245 - Jean-Luc Szpyrka <Jean-Luc.Szpyrka at sophia.inria.fr> requested that a
246   function be provided that returns the oposite of a netmask.  Accordingly,
247   there is now the hostmask() method.
248 - http://faqchest.dynhost.com/prgm/perlu-l/perl-98/perl-9809/perl-980905/perl98093023_24256.html
249