Changelog for binrep-1.1.0
1.1.0 (2025-03-11)
- remove strongweak integration
- to be released in separate package binrep-instances
- update rerefined
1.0.0 (2024-10-03)
- fix
NullTerminatecheck being inverted (OOPS LOL) - fix
Get [a]instance (list backwards xd) - add type-level constructor parsing for generics (!!)
- rewrite
AsciiNat - switch from refined to rerefined (my refined rewrite)
- add missing
BLen (GenericallyNonSum a)instance - other various cleanup
0.8.0 (2024-04-13)
- add missing
Andpredicate combinators instances (PutC,GetC) - add
Type.Derived.NullTermPadded(type synonym overAnd) - add
Genericallyinstances forPutCandGetC, where only non-sums are permitted - add
GenericallyNonSumnewtype wrapper Magic (a :: Symbol)now supports UTF-8 symbols instead of just ASCII. All work is still done on the type-level.
0.7.0 (2024-04-10)
- provide "C struct" parser (from bytezap)
- fill out some missing C struct instances
- speed up magic parsing (sped up serializing in v0.6.0)
- add special binrep instances for
Andpredicate combinator which re-associate to wrap the left predicate in the right- this gives a clean solution to the null-padded null-terminated bytestring, and appears to be generally sound! felt great to discover
- add Generically instances for C struct parser/serializers
- can't for regular parser/serializer because of sum/non-sum choice
0.6.0 (2024-04-05)
- many updates to parsing/serializing internals, including generics
- provide "C struct" serializer
0.5.0 (2023-08-17)
- support GHC 9.2 - 9.6
- extract generic serializing & parsing into separate library. yes, I wrote generic generics. what are you going to do about it
- allow using different libraries for parsing and serializing (since I can't decide)
- count-prefixed types use
Refined1, currently in my refined fork - refactor
Binrep.Type.Text: users can now add extend to add their own encodings
0.3.1 (2022-08-28)
- fix
Get [a]instance
0.3.0 (2022-08-27)
- useful parsing errors in
Get- e.g. if parsing fails at "any Word64", emits "ran out, needed 8 bytes"
- generic deriver places tons of data type info in highly structured errors
- move
CBLenintoBLenas an associated type family - clean up magics (another open type family to associated)
- add initial varint definitions at
Binrep.Type.Varint
0.2.0 (2022-07-07)
Multiple rewrites (unable to push to Hackage for a while due to dependencies).
- BinaryCodec split into Get and Put
- fast serializing via fumieval's mason
- fast parsing via András Kovács' flatparse
- integration with my strongweak library
- generics
- tests
- CBLen for constant length types
- plenty more
0.1.0 (2022-04-22)
Initial release.
- extracted from gtvm-hs