- Support GHC 9.2, 9.4.
- Support proto files without a package declaration.
- Modify "Eq (Enumerated a)" to identify "Enumerated (Right e)" with "Enumerated (Left (fromProtoEnum e))" because those two values encode to the same octet sequence. They are already equivalent as arguments to "isDefault @(Enumerated e)".
- Derive Data and Generic instances for Protobuf AST types.
- Support use of ShortText as the Haskell type of a protobuf string.
- Replace OverrideToSchema with String and Bytes in order to clarify which instances of various type classes are selected, expecially ToSchema.
- To disambiguate "String" in generated code, rename the qualified import of AST-related identifiers.
- Improve test coverage.
- Support numeric enumerator codes in JSONPB, as required by the protobuf standard.
- Handle unrecognized enumerator codes within packed repeated enumeration fields in the same way as in other enumeration fields.
- Avoid compilation errors in code generated for messages having BytesValue fields. The errors would trigger only when the "swagger-wrapper-format" Cabal flag of this package was False.
- Code generated from a .proto file that imports the google.protobuf package no longer depends upon any Haskell module generated from "wrappers.proto". Instead the proto3-suite library provides the necessary functionality.
- Support newer versions of proto3-wire, bytestring, and turtle
- Increase minimum version of base for canonicalize-proto-file from 4.8 to 4.11
- BREAKING CHANGE: Proto3 standard compatibility improvements
- This is a breaking change due to adding a new
DotProtoMessageOption
constructor toDotProtoMessagePart
, which requires updating any exhaustive pattern matches
- This is a breaking change due to adding a new
- BREAKING CHANGE: Don't capitalize first character of prefixed service method names
- This is a breaking change because the generated Haskell code will have slightly different field names for service methods
- BREAKING CHANGE: Remove
Optional
from Protobuf AST- This is a technically breaking change because we no longer support the
optional
keyword, but this wasn't supported by proto3 anyway
- This is a technically breaking change because we no longer support the
- Support GHC 9.0.2
- Fix dashes in Haskell module names
- This prevents the code generator from generating invalid Haskell module names with dashes in them
- Add
Message
instance for wrapped types- This adds
Message
instances for several scalar Haskell types that correspond to the standard*Wrapper
protobuf types
- This adds
- Use Swagger schema
format
to distinguish wrapper types from primitives - Update codegen to add the
serverMaxMetadataSize
field to generatedServiceOptions
- Fix module renaming in
compile-proto-file