Skip to content

Latest commit

 

History

History
100 lines (82 loc) · 3.36 KB

CHANGELOG.rdoc

File metadata and controls

100 lines (82 loc) · 3.36 KB

ipaddress 0.8.0

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

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