# Revision history for small-bytearray-builder ## 0.3.2.0 -- 2019-??-?? * Add `putMany`, which allows pasting into the same mutable byte array over and over. * Add `consLength`. * Add `putManyConsLength`, useful for chunked HTTP encoding. * Add `runOnto` * Add `Data.Bytes.Chunks.length` * Add `wordPaddedDec2` and `wordPaddedDec9`. ## 0.3.1.0 -- 2019-11-20 * Add big-endian and little-endian parsers for `Word128`. This includes both the single and multiple element variants. * Export `reverseCommitsOntoChunks` from the `Unsafe` module. * Add `Semigroup` and `Monoid` instances for `Chunks`. * Add `consLengthLE32`. * Add `fromEffect` to the unsafe interface. ## 0.3.0.0 -- 2019-10-17 * Breaking change: Change the internal implementation of `Builder`. This now works a lot more like the builder from `bytestring`. It accumulates chunks and can do a zero-copy appends when working with a sufficiently large immutable chunk. This introduces a mild performance regression (around 10%), but it makes the libary more generally useful. * Introduce `consLengthBE32` and `consLength64BE` for efficient serialization of wire protocols that require prefixing a payload with its length. * Add `int{16,32,64}BE` and `int{16,32,64LE}` as conveniences. * Add little-endian encoding functions for `Word16`, `Word32`, and `Word64`. * Add big-endian and little-endian functions for copying a `PrimArray` of numbers (both signed and unsigned) into a builder. * Add `flush`, `copy`, and `insert` for better control when converting byte sequences to builders. * Add `shortByteString` to improve interoperability with the `bytestring` library. ## 0.2.1.0 -- 2019-09-05 * Stop exporting data constructor in `Data.ByteArray.Builder`. This is technically a breaking change, but it was only exported by accident. So, with this release, we will technically violate PVP, and the previous release will be deprecated on hackage. * Add more functions for encoding unsigned words: `word16PaddedLowerHex`, `word16LowerHex`, `word16UpperHex`, `word8LowerHex`. * Unroll loop for `word8Dec`. ## 0.2.0.0 -- 2019-09-04 * Use `natural-arithmetic` to make manipulation of bounds possible. * Add more functions for encoding numbers. This includes `word8/16/32/64` and `int8/16/32/64`. * Rename the modules. * Correct a serious error in the implementation of `bytes`. * Make `pasteGrowST` accept an initial offset. * Add a `pasteGrowST` for length-indexed builders. * Add function for rendering floating-point numbers in a slightly inaccurate way. * Add functions for encoding `ShortText` as UTF-8 and as a JSON string. ## 0.1.1.0 -- 2019-07-30 * Add several additional functions for encoding numbers. ## 0.1.0.0 -- 2019-06-25 * First version