language-thrift v0.5.0.0 Release Notes

Release Date: 2015-12-27 // over 8 years ago
  • The AST representation has been overhauled to be more consistent and 🚀 accessible. As a result, this release contains a number of breaking changes:

    • 🚚 Moved Header records into Include and Namespace types.
    • 🚚 Moved ConstDefinition record into separate type, Const.
    • 🚚 Moved ServiceDefinition record into separate type, Service.
    • 🚚 Moved Type records into separate types: Typedef, Enum, Struct, Union, Exception, Senum.
    • Renamed FieldType to TypeReference.
    • 🖨 Renamed parser and pretty printer for TypeReference to typeReference.
    • Renamed the following record fields: constType to constValueType, typedefType to typedefTargetType, fieldType to fieldValueType, and fieldDefault to fieldDefaultValue.
    • 🖨 Hide function parser 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 i8 as an alias for byte.
    • 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.