Google Protocol Buffers via GHC.Generics

Version on this page:
LTS Haskell 13.21:
Stackage Nightly 2019-05-18:
Latest on Hackage:

See all snapshots protobuf appears in

BSD-3-Clause licensed by Steve Severance, Nathan Howell
Maintained by,

Module documentation for

There are no documented modules for this package.

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 #36: Compile on GHC >= 8.0
- 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