Skip to content

Releases: maltalex/ineter

v0.3.1

20 Aug 01:08
Compare
Choose a tag to compare

Fixed a bug in withRemoved() (see #14)

v0.3.0

24 Dec 18:55
Compare
Choose a tag to compare
  • Bugfix: several parsing methods used String.split() and Integer.parseInt(), leading to the parser successfully parsing addresses like 192.168,-0,1,. These methods were rewritten to reject such strings and appropriate tests cases were added.

  • Incorporated several improvements suggested by @reutsharabani in #12. The most significant one being the addition of a bunch of additional generic parameters to the IPRange interface. This allows the interface to expose a lot more methods of the underlying types. This should make it a lot easier to write generic classes on top of IPRange that work with both IPv4 and IPv6. The tradeoff is that IPRange itself has become more complex.

  • New features:

    • static max and min functions in the IPAddress interface
    • public static MAX_ADDR and MIN_ADDR (e.g. 0.0.0.0 and 255.255.255.255 for IPv4)
    • withRemoved methods for IPRange for creating a List of ranges based on the existing range, by removing one or more ranges. For example, removing 10.10.10.10 from 10.0.0.0/8 will return the list [10.0.0.0-10.0.0.9, 10.0.0.11-10.255.255.255]. This addresses the request in #9.
  • Misc stuff you don't care about:

    • Use spotless to achieve consistent formatting of code across IDEs
    • Replaced travis.ci with github actions, including a dedicated call to "spotlessCheck"
    • Updated gradle and gradle plugins to latest versions

v0.2.0

19 Jan 09:49
Compare
Choose a tag to compare
  • Abstract classes were replaced with lightweight interfaces for more flexibility. This shouldn't affect most users, but it does break serialization compatibility
  • IPv4Subnet mask length is now an int instead of an annoying byte, making it consistent with the IPv6 counterpart
  • Removed deprecated between function
  • Length type of ranges (Long for IPv4, BigInteger for IPv6) is now a generic parameter of the IPRange/IPSubnet interface. This should make writing generic code that uses IPRange or IPSubnet easier without affecting users of the concrete classes.
  • New methods in IPv4Address, IPv6Address:
    • Logical operators: and, not, or, xor
    • toRange, toSubnet
    • distanceTo, isAdjacentTo
  • New methods in IPv4Range, IPv6Range, IPv4Subnet, IPv6Subnet:
    • Range extension methods: withFirst, withLast
    • intLength
    • merge for merging several ranges into a minimal list of non-overlapping ranges

v0.1.2

03 Jul 18:16
Compare
Choose a tag to compare

Range and Subnet instances that contain the same addresses are now equal to each other despite being different classes.

v0.1.1

01 Jul 22:40
Compare
Choose a tag to compare

Merged #2:

The between range builder is now deprecated. It was replaced by a new parse function that accepts subnets (1.2.3.0/24) , ranges (1.2.3.4-1.2.3.5) and single addresses (1.2.3.4).

v0.1.0 - Initial Release

01 Jul 22:35
Compare
Choose a tag to compare

Initial ineter release