Changelog for bytebuild-0.3.7.0
Revision history for bytebuild
Note: Prior to version 0.3.4.0, this library was named
small-bytearray-builder, not bytebuild. The library
small-bytearray-builder is now just a compatibility shim
to ease the migration process.
0.3.7.0 -- 2020-11-06
- Fix build error in test suite.
- Add
ascii7andascii8. - Performance tweak for json string escape builder.
0.3.6.0 -- 2020-06-30
- Add
replicate. - Fix compatibility with
primitive-0.7.1.0.
0.3.5.0 -- 2020-05-01
- Add
wordLEB128andword64LEB128. - Add
integerDecandnaturalDec. - Add
word48PaddedLowerHex. - Add
newBuilderState,closeBuilderState,commitDistance, andcommitDistance1to the unsafe module.
0.3.4.0 -- 2020-02-27
- Rename the library from
small-bytearray-buildertobytebuild, and move modules from theData.ByteArraynamespace to theData.Bytesnamespace. This is not considered a breaking change sincesmall-bytearray-buildercontinues to exist as a compatibility shim, reexporting the modules with their old names. - Add
wordPaddedDec4. - Add
reversedOntoandcommitsOntoChunks. - Add
ascii(2|3|4|5|6). - Add
cstringLenunbounded builder. - Add
copy2.
0.3.3.0 -- 2020-02-10
- Add
word64PaddedLowerHexandword32PaddedLowerHex - Add
word256Array{LE,BE}andword256{LE,BE} - Add
word{128,256}Padded{Lower,Upper}Hex
0.3.2.0 -- 2020-01-20
- 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
wordPaddedDec2andwordPaddedDec9. - Add
word8PaddedLowerHex.
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
reverseCommitsOntoChunksfrom theUnsafemodule. - Add
SemigroupandMonoidinstances forChunks. - Add
consLengthLE32. - Add
fromEffectto 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 frombytestring. 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
consLengthBE32andconsLength64BEfor efficient serialization of wire protocols that require prefixing a payload with its length. - Add
int{16,32,64}BEandint{16,32,64LE}as conveniences. - Add little-endian encoding functions for
Word16,Word32, andWord64. - Add big-endian and little-endian functions for copying a
PrimArrayof numbers (both signed and unsigned) into a builder. - Add
flush,copy, andinsertfor better control when converting byte sequences to builders. - Add
shortByteStringto improve interoperability with thebytestringlibrary.
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-arithmeticto make manipulation of bounds possible. - Add more functions for encoding numbers. This includes
word8/16/32/64andint8/16/32/64. - Rename the modules.
- Correct a serious error in the implementation of
bytes. - Make
pasteGrowSTaccept an initial offset. - Add a
pasteGrowSTfor length-indexed builders. - Add function for rendering floating-point numbers in a slightly inaccurate way.
- Add functions for encoding
ShortTextas 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