Google Protocol Buffers via GHC.Generics

LTS Haskell 8.6:
Stackage Nightly 2017-03-28:
Latest on Hackage:
BSD3 licensed by Steve Severance, Nathan Howell

Google Protocol Buffers via GHC.Generics.

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.

This library supports a useful subset of Google Protocol Buffers message specifications in a Haskell. No preprocessor or additional build steps are required for message encoding and decoding.

Record specifications are built by defining records with specially defined fields that capture most of the Protocol Buffers specification language.

- Fix #26: Import orphan Foldable Last instance from base-orphans
- Fix #27: Fix failure when decoding empty [packed] fields
- Fix #17: Repeated n (Enumeration a) difficulty
- Fix #13: Getting the error "Always is not a Monoid
- Fix #11: Missing optional enum in incoming message causes decodeMessage to fail
- Export {get,put}Varint* from Data.ProtocolBuffers.Internal
- Dropped ghc-prim dependency, what we need is now exported from base
- Added this CHANGELOG

- Transitioned to the compiler supported GHC.TypeLits, requiring GHC 7.8+
- Stopped building the protoc-gen-hs plugin, which is not functional
- Migrated tests from test-framework to tasty

- Decoding performance has been improved for Repeated fields
- A Foldable instance for Last has been added to Data.ProtocolBuffers.Orphans

- Enumerations can now be encoded

- Support empty messages, messages with no fields
- Packed field support has been improved
comments powered byDisqus