Skip to content

ipaddress 0.5.0

Compare
Choose a tag to compare
@davidchall davidchall released this 26 Aug 16:07

This release achieves feature parity with the Python ipaddress module (#46).

New features

  • Additional checks for reserved addresses/networks: is_private(), is_reserved(), is_site_local() (#49)
  • New is_global() checks if addresses or networks are not reserved (#49)
  • New collapse_networks() collapses contiguous and overlapping networks (#54)
  • New exclude_networks() removes networks from others (#59)
  • New reverse_pointer() returns the record used by reverse DNS (#57)
  • New datasets: iana_ipv4 and iana_ipv6 contain registries of allocated blocks (#55)
  • New bitwise shift operators: %<<% and %>>% (#52)
  • Reorganized C++ code to expose IpAddressVector and IpNetworkVector classes to other packages (use LinkingTo: AsioHeaders, ipaddress, Rcpp). This does not affect the public R interface. (#51)

Minor improvements and fixes

  • format.ip_address(), format.ip_network() and format.ip_interface() gain an exploded parameter to display leading zeros for IPv6 addresses (#56)
  • ip_to_integer() gains a base parameter to select between decimal, hexadecimal and binary outputs (#47)
  • Integer-like doubles are now accepted everywhere in place of an integer
  • Update vignette("ipaddress-examples") to use the fuzzyjoin package (#61)
  • Update vignette("ipaddress-examples") with how to randomly generate public IP addresses (#62)
  • Fixed comparison of ip_address() vectors to account for machine endianness (#53)
  • Comparison of ip_network() and ip_interface() vectors is now consistent with the Python ipaddress module
    • ip_network(): network address compared before prefix length
    • ip_interface(): network compared before host address