|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +## fluent.syntax 0.14.0 (March 26, 2019) |
| 4 | + |
| 5 | +This release of `fluent.syntax` brings support for version 0.9 of the Fluent |
| 6 | +Syntax spec. The API remains unchanged. Files written in valid Syntax 0.8 may |
| 7 | +parse differently in this release. See the compatibility note below. Consult |
| 8 | +the full Syntax 0.9 [changelog][chlog0.9] for details. |
| 9 | + |
| 10 | +[chlog0.9]: https://github.com/projectfluent/fluent/releases/tag/v0.9.0 |
| 11 | + |
| 12 | + - Flatten complex reference expressions. |
| 13 | + |
| 14 | + Reference expressions which may take complex forms, such as a reference |
| 15 | + to a message's attribute, or a parameterized reference to an attribute of |
| 16 | + a term, are now stored in a simplified manner. Instead of nesting |
| 17 | + multiple expression nodes (e.g. `CallExpression` of an |
| 18 | + `AttributeExpression` of a `TermReference`), all information is available |
| 19 | + directly in the reference expression. |
| 20 | + |
| 21 | + This change affects the following AST nodes: |
| 22 | + |
| 23 | + - `MessageReference` now has an optional `attribute` field, |
| 24 | + - `FunctionReference` now has a required `arguments` field, |
| 25 | + - `TermReference` now has an optional `attribute` field and an optional |
| 26 | + `arguments` field. |
| 27 | + |
| 28 | + - Remove `VariantLists`. |
| 29 | + |
| 30 | + The `VariantLists` and the `VariantExpression` syntax and AST nodes were |
| 31 | + deprecated in Syntax 0.9 and have now been removed. |
| 32 | + |
| 33 | + - Rename `StringLiteral.raw` to `value`. |
| 34 | + |
| 35 | + `StringLiteral.value` contains the exact contents of the string literal, |
| 36 | + character-for-character. Escape sequences are stored verbatim without |
| 37 | + processing. A new method, `Literal.parse`, can be used to process the raw |
| 38 | + value of the literal into an unescaped form. |
| 39 | + |
| 40 | + - Rename `args` to `arguments`. |
| 41 | + |
| 42 | + The `args` field of `MessageReference`, `TermReference`, |
| 43 | + `FunctionReference`, and `Annotation` has been renamed to `arguments`. |
| 44 | + |
| 45 | + |
3 | 46 | ## fluent.syntax 0.13.0 (March 25, 2019)
|
4 | 47 |
|
5 | 48 | - Make `BaseNode.equals` stricter when comparing lists.
|
|
0 commit comments