network-subtract and network-intersect in inet.data.ip for exact CIDR
set arithmetic, alongside the existing aggregate-networks.inet.data.arpa/classless-ip->domain and classless-domain->ip: opt-in
RFC 2317 classless IPv4 reverse-DNS delegation. The existing ip->domain/
domain->ip default behavior is unchanged.inet.data.dns (idn->ascii/ascii->idn, IDNA2003 via
java.net.IDN) and a fix so trailing-dot absolute domains round-trip
distinctly from their bare form.inet.data.format.psl bundles a vendored PSL snapshot for offline/startup
use, plus refresh!, a configurable fetch timeout, and fallback to the
last-known-good list when a refresh fails.inet.data.s11n.transit) and Nippy
(inet.data.s11n.nippy) serialization for IPAddress/IPNetwork/
Domain, following the existing optional-dependency pattern used by the
byteable/abracad backends.test.check generative coverage for address parsing round-trips, domain
normalization, and aggregate-networks invariants.ip, dns, arpa, and psl now state accepted input
types, strict-vs-lenient behavior, the exact exception thrown on failure,
and complexity notes where relevant.resources/inet/data/special-use-registry.edn), citing its
source IANA registries/RFCs, so it's auditable/diffable without a code
change.aggregate-networks' absorb-networks scan was quadratic in the number of
input networks; it now walks supernets directly, verified via a checked-in
^:integration benchmark.network-nth throws IndexOutOfBoundsException for an out-of-range index
instead of returning an address from a different network.domain-next verifies containment before deriving children, so it no longer
produces children for an unrelated parent of matching length.count on an IPNetwork throws IPNetworkException when the count of the
network exceeds Integer/MAX_VALUE. The count method of Indexed returns a
Java int, so a larger count became 0: 0.0.0.0/0 and every IPv6 network
of /96 or shorter reported as empty. Use network-count, which returns the
exact count for a network of any size.address?, network?, and domain?
predicates when callers need to test input rather than assert validity.->address, ->network, and ->domain coercion functions.aggregate-networks and ARPA conversions remain lenient: malformed values
are skipped or return nil according to their existing contracts.special-use and the
private?, loopback?, link-local?, multicast?, unique-local?,
shared-address-space?, documentation?, benchmarking?, unspecified?,
broadcast?, reserved?, and global? predicates.inet.data.arpa with ip->domain and domain->ip for in-addr.arpa
and ip6.arpa reverse DNS zones.aggregate-networks for reducing collections of networks and addresses
to a minimal exactly-equivalent set.fe80::1%eth0, preserving them for
round-tripping in metadata while excluding them from identity, comparison,
and serialization. Zone identifiers previously returned nil.::, IPv4-mapped addresses use the embedded dotted quad such as
::ffff:192.168.1.1, and the first equal-length zero run is compressed
instead of the last. Re-check consumers that compare formatted strings.(:use ...) namespace forms with namespace declarations
using :require and :refer.clojure -T:build ragel to regenerate Java parsers from the grammars in
src/ragel.toArray behavior for network-set and domain-set, fixing the JDK 11
Collection.toArray compatibility issue through the hier-set fork.clojure -T:build compile-java), with Leiningen supported via lein-tools-deps.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |