When parameter values are an Enum, the parameter value is obtained from Enum.name() instead of
Enum.toString(). This is to intuitively use enums as parameters when Enum.toString() is
overridden.
ao-net-types-2.0.2
Release Notes
Updated dependencies.
ao-net-types-2.0.1
Release Notes
Characters that are unprintable invalid within US-ASCII are no longer encoded or decoded during
URI to/from IRI conversions. Previously, an invalid IRI could be encoded into a valid URI, and
a valid URI could be decoded to an invalid IRI.
ao-net-types-2.0.0
Release Notes
Now supports Java 9+ modules with included module-info.class.
Maven artifact relocated from com.aoindustries:ao-net-types to com.aoapps:ao-net-types.
Package renamed from com.aoindustries.net to com.aoapps.net.
SQL schema renamed from com.aoindustries.net to com.aoapps.net.
ao-net-types-1.3.0
Release Notes
MutableURIParameters.addParameter(…) and
MutableURIParameters.addParametesr(…)renamed to add(…), and now
returns MutableURIParameters for method chaining.
Parameter values may now be provided as Object.
The conversion to string may be deferred, or the value may be streamed instead of being
converted to a string.
New overload of MutableURIParameters.add(…) that accepts Object[] for
multiple values.
New static methods URIParametersMap.of(…) for streamlined inline construction for
up to five parameters.
URIParametersMap optimized to store first value using Collections.singletonList(…).
This should help in the most common case where a parameter has a single value.
URIParametersUtils now supports appending query string to Appendable
and out StringBuffer, in addition to the previous StringBuilder.
URIParameters now extends Writable, which allows for optimizing
streaming without building full intermediate strings.
ao-net-types-1.2.4
Release Notes
Eliminated unnecessary uses of java.io.ObjectInputValidation where immediate
validation from readObject(…) or readExternal(…) is sufficient.
ao-net-types-1.2.3
Release Notes
Fixed database dump/restore data ordering problems by skipping some validation steps when the
user is postgres. Please replace the following functions:
Split development-only classes into a new sub-project in devel/. This
sub-project is used only for development and is never deployed to artifact repositories.
Fixed database dump/restore data ordering problems by skipping some validation steps when the
user is postgres. Please replace the following functions:
DomainName.validate-function.sql
ao-net-types-1.2.1
Release Notes
Minimum Java version changed from 1.7 to 1.8.
Reduced use of property substitutions in pom.xml.
This is to help 3rd-party parsers that fail to perform full Maven-compatible substitutions.
Fixed bug in URIParametersUtils.addParams(…) that failed to separate existing
parameters from new parameters with a &.
New class AnyURI
optimized for high performance manipulation of URL scheme, hier-part, query string, and fragment.
UrlUtils.encodeUrlPath(String, String) renamed to URIEncoder.encodeURI(String)
and now encodes the entire URL. Also no longer does any URL transformations for tel: scheme.
Added streaming variants of URIEncoder.encodeURI(…), too.
UrlUtils.decodeUrlPath(String, String) renamed to URIDecoder.decodeURI(String)
and now decodes the entire URL.
Added streaming variants of URIDecoder.decodeURI(…), too.
New methods URIEncoder.encodeURIComponent(…) for encoding URI path components or fragments.
New methods URIDecoder.decodeURIComponent(…) for decoding URI path components or fragments.
Renamed HttpParameters* to URIParameters*.
URIParametersUtils.addParams(…) now returns the original string when no parameters added.
Added AddressFamily enumeration and InetAddress.getAddressFamily() method.
Deprecated InetAddress.isIPv4() and InetAddress.isIPv6().
Ports are now a combination of port number and protocol instead of just port number.
For example, 143/TCP.
PortRanges are a combination of port range and protocol.
For example, 8080-8087/TCP.
InetAddress improvements:
Fixed bug in IPv4 multicast network mask.
IPv4 addresses are now internally stored in the IPv4-mapped space instead of IPv4-compatibility.
This resolves the ambiguity between unspecified IPv6 :: and IPv4 0.0.0.0.
All bit sequences internally represented by constants to aid in code readability and correctness.
Separated isTeredo() from is6to4().
Added missing TEST-NET-2 and TEST-NET-3 in isDocumentation().
Added isGlobalUnicast() to check for Global Unicast addresses.
Internal representation is now two long fields instead of a LongLong object.
IPv4-compatibility addresses are deprecated. They are no longer considered members of various IPv4-mapped network ranges.