1.5.0
- As a breaking change, modify `Repeated` and `ToRepeated` to use `foldMap`-style
folds and thereby avoid allocation of `BuildR` functions on the heap. Use
of `FoldR` seemed to force such allocation, even when using `oneShot`.
- Use `oneShot` in `BuildR` and `FixedPrim` to discourage allocation
of such function newtypes on the heap in other scenarios.
- Add `BuildM` and associated features for monadic building.
- Add `PackedField` to support packed fields in a uniform fashion,
and directly implement omission of such a field when it is empty.
- Add `embeddedIfNonempty` as a way to omit empty length-delimited fields.
- Deprecate `FoldR` and `unsafeReverseFoldMapFixedPrim` because
we have stopped using them and plan to remove them in future.
1.4.6
- Add a decoder combinator named `optional` for optional fields of primitive type.
1.4.5
- Add encoders for packed repeated fields that can iterate in
reverse order for speed when practical and will predict size
when it is inexpensive to do so.
- Add `bytesIfNonempty`, `etaMessageBuilder`, `unsafeFromByteString`,
`unsafeFromShortByteString`, `repeatedMessageBuilder`.
1.4.4
- Support GHC 9.10
1.4.3
- Support GHC 9.8
- Support GHC 9.6
1.4.2
- Support GHC 9.4
1.4.1
- Support ShortByteString and ShortText
1.4.0
- Improve decoding performance
- Remove internal toMap function
1.3.0
- Support GHC 9.2
- Prevent inlining for GHCJS
1.2.2
- Add new `zigZag{Encode,Decode}` utilities
1.2.1
- Build against GHC 9.0
- Build against `tasty` 1.3 and 1.4
1.2.0
- Encode protobuf wire messages in reverse order to improve perfomance
- Miscellaneous maintenance changes