summaryrefslogtreecommitdiff
path: root/CHANGELOG.rdoc
blob: c38660207bd82378e9379091f164a7084d95aef4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
== ipaddress 0.8.2

CHANGED:: merged bundler branch to cleanup gemspec and Rakefiles
FIXED:: IPAddress::IPv4.split handling (Issue #40)
NEW:: Added #[]= method to IPv4/6 classes to add octet writing support. (Issue #24)
NEW:: IPV4#multicast?
NEW:: IPV4#loopback?
NEW:: IPV4#to()

== ipaddress 0.8.1

CHANGED:: ipaddress now uses minitest for testing, all tests passing

== ipaddress 0.8.0

CHANGED:: ipaddress now uses this[https://gist.github.com/cpetschnig/294476] regexp to validate IPv6 addresses. Thanks to Christoph Petschnig for his regexp and to Bronislav Robenek for fixing this.
CHANGED:: Removed extension methods and extension directory to facilitate integration with the stdlib
CHANGED:: Reworked IPv4#<=>, now intuitively sorts objects based on the prefix
CHANGED:: IPv4#supernet now returns "0.0.0.0/0" if supernetting with a prefix less than 1
CHANGED:: IPv4#subnet now accept a new prefix instead of number of subnets (as per RFC3531) 
NEW::     IPv6#network
NEW::     Prefix128#host_prefix
NEW::     IPv6#broadcast_u128
NEW::     IPv6#each
NEW::     IPv6#<=>
NEW::     IPv4#split
NEW::     IP#ntoa

== ipaddress 0.7.5

CHANGED:: IPAddress::IPv4#each_host to improve speed
FIXED::   IPAddress::IPv4::summarize bug (summarization should now work properly)
NEW::     IPAddress::IPv4#include_all?
NEW::     #ipv4? and #ipv6?

== ipaddress 0.7.0

NEW:: IPAddress::IPv6#include?
NEW:: IPAddress::IPv6#network_u128
NEW:: Modified IPAddress::IPv6::Mapped to accept IPv4 mapped addresses in IPv6 format
NEW:: IPAddress::IPv4#private?
NEW:: IPAddress::IPv4::parse_classful

== ipaddress 0.6.0

=== API changes
* IPv4#to_s now returns the address portion only, 
  to retain compatibility with IPAddr. Example:
  
    IPAddress("172.16.10.1/24").to_s
      #=> "172.16.10.1"     # ipaddress 0.6.0

    IPAddress("172.16.10.1/24").to_s
      #=> "172.16.10.1/24"  # ipaddress 0.5.0
   
* IPv6#to_s now returns the address portion only,
  to retain compatibility with IPAddr. Example:

    IPAddress "2001:db8::8:800:200c:417a/64".to_s	
      #=> "2001:db8::8:800:200c:417a"    # ipaddress 0.6.0

    IPAddress "2001:db8::8:800:200c:417a/64".to_s	
      #=> "2001:db8::8:800:200c:417a/64" # ipaddress 0.6.0

* IPv6::Unspecified#to_s, IPv6::Loopback and 
  IPv6::Mapped#to_s now return the address portion only,
  to retain compatibility with IPAddr. 
* IPv4::summarize now returns an array even if the 
  result is a single subnet, to keep consistency 
  and avoid confusion

=== New methods
* IPv4#to_string and IPv6#to_string: print the address 
  with the prefix portion, like the #to_s method in 
  ipaddress 0.5.0
* IPAddress::parse, for those who don't like the wrapper 
  method IPAddress()
* IPv6#to_string_uncompressed, returns a string with the
  uncompressed IPv6 and the prefix
* IPv6::Mapped#to_string, returns the IPv6 Mapped address 
  with IPv4 notation and the prefix
* IPv6#reverse, returns the ip6.arpa DNS reverse lookup 
  string
* IPv4#arpa and IPv6#arpa, alias of the respective #reverse
  methods
* Prefix#+, Prefix#-

=== Library structure
* Moved all the IPAddress module methods from 
  lib/ipaddress/ipbase.rb to lib/ipaddress.rb
* Removed IPBase superclass
* IPv4 and IPv6 classes no longer inherit from IPBase
* Removed lib/ipaddress/ipbase.rb
* Removed test/ipaddress/ipbase_test.rb

=== Minor fixes
* Replaced Ruby 1.9 deprecated Hash#index with Hash#key 
* Removed require ruby-prof from tests which was causing 
  users to install ruby-prof or manually remove the line
* Removed "must" method from tests, replaced by normal 
  Test::Unit methods
* Removed duplicate Jeweler entry in Rakefile
* Made Integer#closest_power_of_2 more general by adding
  an optional limit parameter
* Fixed summarization algorithm (thanks to nicolas fevrier)
* Fixed bug in prefix_from_ip (thanks to jdpace)

=== Documentation
* Normalized README rdoc headers
* Added documentation for IPAddress::Prefix
* Added documentation for IPAddress::IPv4 and 
  IPAddress::IPv6
* Fixed formatting
* Fixed lots of typos