2020-02-27 13:58:00 -05:00
|
|
|
# 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.
|
2019-06-17 13:24:24 -04:00
|
|
|
|
2021-11-19 15:52:59 -05:00
|
|
|
## 0.3.9.0 -- 2021-11-19
|
|
|
|
|
|
|
|
* Add `cstring#`
|
|
|
|
* Add `ToBuilder` and `ToBoundedBuilder` classes
|
|
|
|
* Add quasiquoter named `bldr` in `Data.Bytes.Builder.Template`.
|
|
|
|
|
|
|
|
## 0.3.8.0 -- 2021-06-25
|
2020-12-18 13:03:04 -05:00
|
|
|
|
|
|
|
* Fix `doubleDec`, which was encoding small numbers incorrectly.
|
2020-12-18 13:26:26 -05:00
|
|
|
* Add `runByteString` for producing `ByteString` from bounded builders.
|
2021-06-29 14:47:44 -04:00
|
|
|
* Add `cstring#` for producing builder from `Addr#`.
|
2021-06-25 12:04:15 -04:00
|
|
|
* Correct the required length calculation for json string encoding.
|
2020-12-18 13:03:04 -05:00
|
|
|
|
2020-11-06 09:07:36 -05:00
|
|
|
## 0.3.7.0 -- 2020-11-06
|
2020-07-29 14:42:40 -04:00
|
|
|
|
|
|
|
* Fix build error in test suite.
|
2020-10-26 12:30:55 -04:00
|
|
|
* Add `ascii7` and `ascii8`.
|
2020-11-06 09:07:36 -05:00
|
|
|
* Performance tweak for json string escape builder.
|
2020-07-29 14:42:40 -04:00
|
|
|
|
2020-06-30 09:22:49 -04:00
|
|
|
## 0.3.6.0 -- 2020-06-30
|
2020-06-01 11:28:35 -04:00
|
|
|
|
|
|
|
* Add `replicate`.
|
2020-06-30 09:22:49 -04:00
|
|
|
* Fix compatibility with `primitive-0.7.1.0`.
|
2020-06-01 11:28:35 -04:00
|
|
|
|
2020-05-01 11:03:23 -04:00
|
|
|
## 0.3.5.0 -- 2020-05-01
|
2020-04-13 11:29:38 -04:00
|
|
|
|
|
|
|
* Add `wordLEB128` and `word64LEB128`.
|
|
|
|
* Add `integerDec` and `naturalDec`.
|
|
|
|
* Add `word48PaddedLowerHex`.
|
2020-04-16 11:56:43 -04:00
|
|
|
* Add `newBuilderState`, `closeBuilderState`, `commitDistance`, and
|
|
|
|
`commitDistance1` to the unsafe module.
|
2020-04-13 11:29:38 -04:00
|
|
|
|
2020-02-27 14:09:01 -05:00
|
|
|
## 0.3.4.0 -- 2020-02-27
|
2020-02-12 14:56:32 -05:00
|
|
|
|
2020-02-27 13:58:00 -05:00
|
|
|
* Rename the library from `small-bytearray-builder` to `bytebuild`, and
|
|
|
|
move modules from the `Data.ByteArray` namespace to the `Data.Bytes`
|
|
|
|
namespace. This is not considered a breaking change since
|
|
|
|
`small-bytearray-builder` continues to exist as a compatibility shim,
|
|
|
|
reexporting the modules with their old names.
|
2020-02-12 14:56:32 -05:00
|
|
|
* Add `wordPaddedDec4`.
|
2020-02-23 14:10:26 -05:00
|
|
|
* Add `reversedOnto` and `commitsOntoChunks`.
|
2020-02-26 12:00:52 -05:00
|
|
|
* Add `ascii(2|3|4|5|6)`.
|
2020-02-26 16:15:41 -05:00
|
|
|
* Add `cstringLen` unbounded builder.
|
2020-02-27 12:17:23 -05:00
|
|
|
* Add `copy2`.
|
2020-02-12 14:56:32 -05:00
|
|
|
|
2020-02-10 09:34:49 -05:00
|
|
|
## 0.3.3.0 -- 2020-02-10
|
2020-02-06 13:58:55 -05:00
|
|
|
|
|
|
|
* Add `word64PaddedLowerHex` and `word32PaddedLowerHex`
|
2020-02-07 09:39:59 -05:00
|
|
|
* Add `word256Array{LE,BE}` and `word256{LE,BE}`
|
2020-02-06 13:58:55 -05:00
|
|
|
* Add `word{128,256}Padded{Lower,Upper}Hex`
|
|
|
|
|
2020-01-20 18:54:43 -05:00
|
|
|
## 0.3.2.0 -- 2020-01-20
|
2019-11-22 16:24:48 -05:00
|
|
|
|
|
|
|
* Add `putMany`, which allows pasting into the same mutable byte
|
|
|
|
array over and over.
|
|
|
|
* Add `consLength`.
|
2019-11-23 08:56:52 -05:00
|
|
|
* Add `putManyConsLength`, useful for chunked HTTP encoding.
|
2019-12-09 13:25:51 -05:00
|
|
|
* Add `runOnto`
|
2019-12-09 19:35:51 -05:00
|
|
|
* Add `Data.Bytes.Chunks.length`
|
2019-12-30 20:43:36 -05:00
|
|
|
* Add `wordPaddedDec2` and `wordPaddedDec9`.
|
2020-01-03 06:42:32 -05:00
|
|
|
* Add `word8PaddedLowerHex`.
|
2019-11-22 16:24:48 -05:00
|
|
|
|
2019-11-20 14:35:49 -05:00
|
|
|
## 0.3.1.0 -- 2019-11-20
|
2019-10-17 11:26:14 -04:00
|
|
|
|
|
|
|
* Add big-endian and little-endian parsers for `Word128`. This includes
|
|
|
|
both the single and multiple element variants.
|
2019-10-18 10:42:49 -04:00
|
|
|
* Export `reverseCommitsOntoChunks` from the `Unsafe` module.
|
2019-10-18 10:59:03 -04:00
|
|
|
* Add `Semigroup` and `Monoid` instances for `Chunks`.
|
2019-10-25 12:57:56 -04:00
|
|
|
* Add `consLengthLE32`.
|
2019-11-20 14:30:51 -05:00
|
|
|
* Add `fromEffect` to the unsafe interface.
|
2019-10-17 11:26:14 -04:00
|
|
|
|
2019-10-17 09:45:08 -04:00
|
|
|
## 0.3.0.0 -- 2019-10-17
|
2019-09-18 11:45:02 -04:00
|
|
|
|
2019-10-17 09:45:08 -04:00
|
|
|
* 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.
|
2019-10-10 10:28:01 -04:00
|
|
|
* Add `int{16,32,64}BE` and `int{16,32,64LE}` as conveniences.
|
2019-10-09 09:48:28 -04:00
|
|
|
* Add little-endian encoding functions for `Word16`, `Word32`, and `Word64`.
|
2019-10-10 09:40:39 -04:00
|
|
|
* Add big-endian and little-endian functions for copying a
|
2019-10-10 10:28:01 -04:00
|
|
|
`PrimArray` of numbers (both signed and unsigned) into a builder.
|
2019-10-10 09:10:44 -04:00
|
|
|
* Add `flush`, `copy`, and `insert` for better control when
|
|
|
|
converting byte sequences to builders.
|
2019-10-17 09:45:08 -04:00
|
|
|
* Add `shortByteString` to improve interoperability with the
|
|
|
|
`bytestring` library.
|
2019-09-18 11:45:02 -04:00
|
|
|
|
2019-09-05 09:25:26 -04:00
|
|
|
## 0.2.1.0 -- 2019-09-05
|
2019-09-05 09:18:14 -04:00
|
|
|
|
|
|
|
* 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`.
|
|
|
|
|
2019-09-04 11:15:18 -04:00
|
|
|
## 0.2.0.0 -- 2019-09-04
|
2019-08-02 16:28:25 -04:00
|
|
|
|
2019-09-04 11:15:18 -04:00
|
|
|
* 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.
|
2019-08-02 16:28:25 -04:00
|
|
|
* Correct a serious error in the implementation of `bytes`.
|
|
|
|
* Make `pasteGrowST` accept an initial offset.
|
|
|
|
* Add a `pasteGrowST` for length-indexed builders.
|
2019-08-05 12:07:02 -04:00
|
|
|
* Add function for rendering floating-point numbers in a slightly
|
|
|
|
inaccurate way.
|
2019-08-07 15:23:02 -04:00
|
|
|
* Add functions for encoding `ShortText` as UTF-8 and as a JSON string.
|
2019-08-02 16:28:25 -04:00
|
|
|
|
2019-07-30 08:43:09 -04:00
|
|
|
## 0.1.1.0 -- 2019-07-30
|
2019-06-17 13:24:24 -04:00
|
|
|
|
2019-07-30 08:43:09 -04:00
|
|
|
* Add several additional functions for encoding numbers.
|
|
|
|
|
|
|
|
## 0.1.0.0 -- 2019-06-25
|
|
|
|
|
|
|
|
* First version
|