Releases: bitanon/convertlib
Releases · bitanon/convertlib
Release list
Version 3.5.1
- Widen
fromUtf8to accept anyList<int>input instead of requiring a
Uint8List. Non-Uint8Listinputs are copied to aUint8Listbefore
decoding.
Full Changelog: v3.5.0...v3.5.1
Version 3.5.0
- [Breaking Changes]
- Renames internal abstract class
HashlibConvertertoCipherlibConverter. - Removes
encodeString,decodeStringfromIterableCodec.
- Renames internal abstract class
- Fix
CryptDataBuilder.paramto throw anArgumentErrorwhen the value is
null, instead of a rawTypeError. - Speed up Base-64 and Base-32 encoding with specialized single-pass encoders.
Base-64 encoding now outperformsdart:convert. - Speed up Base-64 and Base-32 decoding with specialized single-pass decoders.
Base-64 decoding now outperformsdart:convert. - Speed up
toUtf8usingUint8Listbuffer instead of plainList<int>.
UTF-8 encoding now outperformsdart:convert. - Speed up
fromUtf8with a dedicated byte-to-string decoder.
UTF-8 decoding now matches closely withdart:convert. - Refactor existing benchmarks and add missing ones. Dropping
benchmark_harness
dependency in favor of custom benchmarking class with better flexibility.
Full Changelog: v3.4.0...v3.5.0
Version 3.4.0
- Rename the package from
hashlib_codecstoconvertlib. The public API is
unchanged: update the dependency toconvertliband imports to
package:convertlib/convertlib.dart. - The
hashlib_codecspackage continues to be published as a thin re-export of
convertlibfor backward compatibility, and will be discontinued after a
migration period.
Full Changelog: v3.3.1...v3.4.0
Version 3.3.1
- Fix
CryptData.validaterejecting valid Modular Crypt Format hashes such as
bcrypt, whose base64 alphabet uses.. Thehashfield now accepts the
same characters as thesalt([a-zA-Z0-9/+.-]), reverting the overly
strict B64 restriction introduced in3.3.0. - Document every public API element (100% dartdoc coverage) and correct several
inaccurate doc comments, including theBase8Codecalphabet (01234567) and
the octal/binary notes ontoOctal.
Full Changelog: v3.3.0...v3.3.1
Version 3.3.0
- [Breaking Changes]
ByteCollector.isEqualrequires anIterableargument to match the full
length; previously a strict prefix of the bytes compared equal.CryptData.validatenow follows the PHC string format specification
strictly: the hash must be a B64 string ([a-zA-Z0-9/+], no.or-),
and the version must not have leading zeros.- Reject invalid values after padding in
AlphabetDecoder. Affected codecs areBase32andBase64.
ByteCollector.isEqualnow compares content in constant time, making it safe
for comparing MACs and message digests- Performance improvements (measured on Apple Silicon, 10KB inputs):
- Base-32 decoding: ~6x faster (425 Mbps -> 2.52 Gbps)
- Base-64 decoding: ~6.4x faster (453 Mbps -> 2.9 Gbps)
- UTF-8 encoding: ~6.5x faster (403 Mbps -> 2.61 Gbps)
- Update the PHC string format specification link to its new home at C2SP
Full Changelog: v3.2.0...v3.3.0
Version 3.2.0
- [Breaking Changes]
- Fix
Base32Codec.wordSafeto use the documented word-safe alphabet
(23456789CFGHJMPQRVWXcfghjmpqrvwx); it previously used the z-base-32 alphabet. ByteCollectorequality is now value-based:==andhashCodecompare the
collected bytes instead of the identity of the underlying list.
- Fix
- Fix UTF-8 decoder producing wrong code points for some 2-byte sequences (e.g.
U+0100) - Fix
ByteCollector.isEqualcomparing against its own buffer when given aByteBuffer - Fix
ByteCollector.isEqualignoring the offset and length of a partialTypedDataview - Fix incorrect alphabets of
crockfordandgeohashin the README - Fix incorrect parameter descriptions of
toBase32,fromBase32,fromBase64, andfromUtf8 - Document that
toUtf8rejects unpaired surrogates
Full Changelog: v3.1.2...v3.2.0
Version 3.1.2
- Add const constructor to
ByteCollectorclass.
Full Changelog: v3.1.1...v3.1.2
Version 3.1.1
- Add const constructor to
ByteCollectorclass.
Full Changelog: v3.1.0...v3.1.1
Version 3.1.0
- Introduce
ByteCollectorabstract class with methods for various encoding formats (hex, binary, octal, base32, base64, BigInt).
and utility methods for equality check.
Full Changelog: v3.0.1...v3.1.0
Version 3.0.1
- Test release with workflow
Full Changelog: v3.0.0...v3.0.1