1# Releases 2 3## Version 2.10.1 4 5* ipnet-2.10.0 Rust crate has executable permission on source files. #59 6 7## Version 2.10.0 8 9* Add new_assert implementations #57 10* Remove redundant curly braces so that the example program can compile #53 11 12## Version 2.9.0 13 14* Add ser_as_str feature to serialize using serialize_str() #52 15 16## Version 2.8.0 17 18* Add no_std support on nightly #51 19 20## Version 2.7.2 21 22* Inline constructors and field getters #48 23* Use Serializer::collect_str to serialize output of Display #39 24 25## Version 2.7.1 26 27* Fix overflow in mask to prefix conversion #47 28 29## Version 2.7.0 30 31* Allow to invoke some functions as const fn #43 32 33## Version 2.6.0 34 35* Add IP netmask to prefix conversion functions and new `with_netmask()` constructors. 36 37## Version 2.5.0 38 39* Manually implement JsonSchema for IpNet, Ipv4Net, Ipv6Net #41 because default derived JsonSchema does not correspond to Serde representation #40 40* Migrate to edition 2018 41 42## Version 2.4.0 43 44* Add 'schemars' feature for deriving JSON schema #31 45* add convenience IpNet::new method #36 46 47## Version 2.3.1 (2020-06-15) 48 49* Merge Fix Error::description() deprecation warning #28. 50 51## Version 2.3.0 (2020-03-15) 52 53* Merge @imp's `Default` implementation. See #18. `Ipv4Net` and `Ipv6Net` now default to 0.0.0.0/0 and ::/0 respectively. `IpNet` defaults to the 0/0 `Ipv4Net`. 54 55* Add `#[allow(arithmetic_overflow)]` for `Ipv4AddrRange::count()` and `Ipv6AddrRange::count()`. Since 1.43.0-nightly it gives a build error but this panic behavior is desired. In future it may be replaced with explicit use of `panic!`. See #21. 56 57## Version 2.2.0 (2020-02-02) 58 59* Implement `From<IpAddr>`, `From<Ipv4Addr>`, and `From<Ipv6Addr>` for `IpNet`, `Ipv4Net`, and `Ipv6Net` respectively. 60 61## Version 2.1.0 (2019-11-08) 62 63* Implement `FusedIterator` for `IpAddrRange`, `Ipv4AddrRange`, `Ipv6AddrRange`, `IpSubnets`, `Ipv4Subnets`, and `Ipv6Subnets`. 64 65* Implement `DoubleEndedIterator` for `IpAddrRange`, `Ipv4AddrRange`, `Ipv6AddrRange`. 66 67* Implement custom `count()`, `last()`, `max()`, `min()`, `nth()`, and `size_hint()` for `IpAddrRange`, `Ipv4AddrRange`, `Ipv6AddrRange`. 68 69## Version 2.0.1 (2019-10-12) 70 71* Fix bug where IpAddrRange never ends when start and end are both 0 #11 72 73* Fix warning about missing 'dyn' 74 75## Version 2.0.0 (2018-08-21) 76 77* The `Emu128` module has been removed. This provided an emulated 128-bit integer for supporting IPv6 addresses. As of Rust 1.26 the built-in 128-bit integers have been marked stable and this library has been updated to use these instead of `Emu128`. 78 79* The `with-serde` feature name shim has been removed. The `serde` feature should now be used using the bare `serde` feature name per the Rust API Guidelines. 80 81* The `Deref` on `Ipv4Net` and `Ipv6Net` has been removed. This dereferenced to the `Ipv4Addr` and `Ipv6Addr` contained in the type. To use these methods call them directly on the contained IP address of interest, which may be accessed using the `addr()` or `network()` methods. 82 83* In prior versions it was necessary to use the `Contains` trait to access the `contains()` methods. These are now inherited in public methods on the `IpNet`, `Ipv4Net`, and `Ipv6Net` types so are always available. 84 85* The implementations of `IpAdd<u32>` and `IpSub<u32>` for IpAddr have been removed. 86 87* The implementations of `IpAdd<u32>` and `IpSub<u32>` for `Ipv6Addr` have been removed. 88 89## Version 1.2.1 (2018-06-06) 90 91* Fix to resolve an issue with the optional serde support, where compact binary formats were not properly supported. See issue #10. 92 93## Version 1.2.0 (2018-04-17) 94 95* The previous release (1.1.0) introduced serde support using the feature name `with-serde`, but the Rust API Guidelines recommend using `serde` as the name of the feature. This release changes the feature name from `with-serde` to `serde`, but it is backwards compatible for those that already started using the `with-serde` feature name. The 1.1.0 release was yanked on crates.io to discourage further use of this feature name. See pull request #7. 96 97## Version 1.1.0 (2018-04-13) 98 99* Adds serde support. See pull request #6. 100