Releases: esaulpaugh/headlong
v3.8.2 (bug fix)
fix abi PackedDecoder is coercing illegal boolean values (0x02 - 0xff) to true;
SHA-256 (headlong-3.8.2.jar): ff4c9141b3c2f7607cbb514d985bd409a8bba349dcf428d12aba55af532b7e2c
v3.8.1 (update)
breaking change to subTupleType method signature;
edit subTupleType err msg;
edit SuperSerial deserialize err msg for RLPList not allowed;
fix outdated javadoc on parseArgument;
update dependency versions;
reduce jar size;
SHA-256 (headlong-3.8.1.jar): a447b8b4c719ef9bacb62bbd7835777200bb6b99824efa250f3a0009f6a3e8fc
v3.8.0 (update)
fix Function.formatCall bugged for custom offset and len;
replace TupleType.LabelMaker with functional interface;
fix err msg for illegal boolean value giving the wrong index;
"params start not found" err is now StringIndexOutOfBoundsException;
"illegal signature termination" err is now ClassCastException;
limit Uint constructor to 4096 bits (DoS protection);
use quotes in err msg for unrecognized type;
improve Function validation err msg text;
some small optimizations;
SHA-256 (headlong-3.8.0.jar): e033dbe6d7b9fbc48b60bf1a0ff69f121b329fcf2a2920098fdc142d9ec51d03
v3.7.2 (major bug fix)
fix signed integers one bit too large not being rejected in validation (abi encode and decode);
raise max abi offset from 2^17 - 1 to 2^31 - 1;
SHA-256 (headlong-3.7.2.jar): 8d512d191e495a562268ed5182057cd2bfb83ce2e1141541d27375ad32286325
v3.7.1 (major bug fix)
fix unsigned BigInteger and BigDecimal abi decoding fail with exception signed value given for unsigned type
for values that have the leftmost bit set (e.g. uint64 0x8000000000000000);
raise max array length on abi decode from 64000 to 2^17 - 1 (DoS protection);
SHA-256 (headlong-3.7.1.jar): 6f770d9aeca927a6a0714d4742fbf55c2e4e560d96dd95a2de869e054d2df8b9
v3.7.0 (lenient abi decoding)
abi decoder no longer operates in strict mode (will respect offset values now);
on abi decode, limit decoded arrays to length of 64,000 (for DoS protection);
on abi decode, convert BufferUnderflowException and NegativeArraySizeException to IllegalArgumentException;
replace Base64 implementation (should be faster now);
change some error messages related to Function validation;
SHA-256 (headlong-3.7.0.jar): ce0ebbffff03de080081f61750fc04d5bf343fe43f240879e631a50b17ec0436
v3.6.1 (hotfix)
ABI decode: fix malleability of padding for byte array types such as string
(throw if any padding byte is non-zero);
fix regression in v3.6.0: possible NoSuchMethodError on Java 8 (ByteBuffer.position);
SHA-256 (headlong-3.6.1.jar): 753c1cf5913343df7920366b03560ea8e59a3a54a3b88b4ff0ad17c8a3c6d322
v3.6.0 (update)
rename Event.signature() to Event.getCanonicalSignature();
add getCanonicalSignature() to ABIObject interface;
make the ABIObject interface public;
add public methods parseFunction, parseEvent to ABIJSON;
narrow return type of Record.getSignature;
add manifest attributes;
SHA-256 (headlong-3.6.0.jar): ead38696478200f86060724a95a943cec38e3a247e7624045b2186b0a579430e
v3.5.0 (update)
implement parseArgument for ArrayType and TupleType;
change API for Record (EIP-778);
no more trailing spaces before newline for Notation.toString();
use shallow defensive copy in Tuple for better immutability;
SHA-256 (headlong-3.5.0.jar): caf119c067f14b90ea2442709671edf1a15f858e091f247074d9fc7863b51bb3
v3.4.1 (bug fix)
fix regression in v3.4.0: Function parsing always throws Error on Java 8 (see JDK-6609854);
modify TupleType.format behavior (now has hexadecimal offsets for row labels);
add public inner class TupleType.LabelMaker;
SHA-256 (headlong-3.4.1.jar): 383e20003222763ee4ec772a31bc115cb847638a3a403f548ca5fa9a4bf16372