Changelog for language-thrift-0.13.0.0
0.13.0.0 (2024-04-05)
- (#18)
Migrate pretty printer to
prettyprinter.
0.12.0.1 (2021-12-04)
- Allow semigroups 0.20
0.12.0.0 (2020-12-31)
- Port to Megaparsec 9.
0.11.0.0 (2019-10-01)
- Port to Megaparsec 7.
0.10.0.0 (2016-09-25)
- Breaking: Consolidate struct, union, and exception AST types into a single
data type:
Struct. Whether the object is a struct, union, or exception is now determined by theStructKindattribute. - Breaking: Deprecated module
Language.Thrift.Typeshas now been removed.
0.9.0.2 (2016-08-31)
- Disallow reserved keywords from being used as identifier names.
0.9.0.1 (2016-05-26)
- Build with GHC 8.
0.9.0.0 (2016-05-15)
- Deprecate the
Language.Thrift.Typesin favor ofLanguage.Thrift.AST. - Upgrade to
megaparsec5.0.
0.8.0.2 (2016-08-31)
- Disallow reserved keywords from being used as identifier names.
0.8.0.1 (2016-05-24)
- Build with GHC 8.
0.8.0.0 (2016-02-09)
This release contains breaking changes. The number of transitive dependencies has been reduced significantly.
- Switched parser to
megaparsec.trifectaandparsersbring too many dependencies with them. - Drop support for
wl-pprint. Onlyansi-wl-pprintis supported now. - Drop dependency on
lens. Lenses for fields of the AST elements are still provided but prisms are not. UseControl.Lens.makePrismsto derive your own if needed.
0.7.0.1 (2016-01-27)
- Drop use of
TemplateHaskell.
0.7.0.0 (2016-01-15)
- Added source annotations to all
TypeReferenceandConstValueconstructors. - Added
nameandsrcAnnotlenses forTypeandDefinition.
0.6.2.0 (2016-01-05)
- Use more concrete types for lenses which don't need overloading.
0.6.1.0 (2016-01-03)
- Output generated by the
ansi-wl-pprintpretty printer will be colored using ANSI escape codes.
0.6.0.1 (2016-01-02)
- Export
Prettyinstances fromLanguage.Thrift.Typesinstead of requiring a separate import of the correspondingPrettymodule.
0.6.0.0 (2016-01-02)
- Added a pretty printer based on
ansi-wl-pprint. - Both pretty printing modules now export instances of
Prettyfor relevant elements of the AST. These instances usedefaultConfigfor printing.
0.5.0.0 (2015-12-27)
The AST representation has been overhauled to be more consistent and accessible. As a result, this release contains a number of breaking changes:
- Moved
Headerrecords intoIncludeandNamespacetypes. - Moved
ConstDefinitionrecord into separate type,Const. - Moved
ServiceDefinitionrecord into separate type,Service. - Moved
Typerecords into separate types:Typedef,Enum,Struct,Union,Exception,Senum. - Renamed
FieldTypetoTypeReference. - Renamed parser and pretty printer for
TypeReferencetotypeReference. - Renamed the following record fields:
constTypetoconstValueType,typedefTypetotypedefTargetType,fieldTypetofieldValueType, andfieldDefaulttofieldDefaultValue. - Hide
functionparser and pretty printer. - Moved type annotations for defined types into the records for the types themselves.
Other changes:
- Added lenses and prisms for AST types where appropriate.
- Parsing will fail if the end of the document is not reached when the parser stops. This fixes the bug where the parser would stop half way through a file when it saw a recoverable error.
- Added source annotations to headers, type references (
DefinedType) and constant value references (ConstIdentifer). - Added
i8as an alias forbyte. - Type annotations are now allowed to have no associated value.
- Expose parsers and pretty printers for different headers and definitions.
- Fixed a bug which would cause parsing to fail if a definition ended with a semicolon or a comma.
- Drop dependency on mtl.
0.4.0.0 (2015-08-02)
- Add pretty printing module.
- Parsers of different constructors are no longer exported by the parsing module; instead only the parsers for their corresponding types are exported.
- Rename record for field requiredness from
fieldRequiredNesstofieldRequiredness.
0.3.0.0 (2015-07-31)
- Allow changing the underlying parser to any parser that implements the
TokenParsingclass fromparsers. - Add
thriftIDLParserfor standard use cases. - Add
Language.Thrift.Parser.Trifectawith a standard Trifecta-based parser.
0.2.0.0 (2015-06-12)
- Track starting positions in source annotations.
- Move docs to a separate field.
0.1.0.1 (2015-06-02)
- Allow
base4.9.
0.1.0.0 (2015-04-05)
- Initial release.