v3.0.0 (api refresh)
fix int[...
and uint[...
not being canonicalized, resulting in incorrect selector and signature values;
no more checked exceptions -- checked exceptions generally replaced with IllegalArgumentException;
arrays of uint32
now correspond to long[];
arrays of uint64
now correspond to BigInteger[];
make gson and bouncycastle dependencies optional;
more consistent RLPItem convenience method behavior (e.g. asByte, asBigInt) w.r.t. signedness and/or strict/lenient decoding;
add lenient flag to RLPItem decode methods;
fix SuperSerial exceptions for zero-length BigIntegers;
fix ABI encode bug (IndexOutOfBounds/BufferOverflow) for BigIntegers with bit length of 256;
update leading zero err msg;
throw exception for RLPList found for UnitType in SuperSerial.deserialize;
explicitly check for int overflow in RLPEncoder (more predictable failure when RLP output would exceed 2 GiB);
rename RLPEncoder.encodeSequentiallyBB to encodeSequentially;
significant changes to Uint.java api and error messages;
fix possible NoSuchMethodErrors on Java 8 runtime environment related to setting ByteBuffer position;
add more javadoc;
add jmh benchmarks to project;
remove Event.topics0;
remove RLPItem.asBigDecimal (may return in future release);
remove Function.hexOf methods;
remove DECIMAL flag from Strings;
change BASE_64_URL_SAFE flag value from 3 to 2;
throw UnsupportedOperationException if Strings encoding flag not recognized;
various performance optimizations;
SHA-256 (headlong-3.0.0.jar): a88579bf1fb4bf34d30f3e450ce87fab1efef732521317973f977eeed0a359c7