Skip to content

Commit 7894b71

Browse files
committed
fluent.syntax 0.14.0
1 parent 9598701 commit 7894b71

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

fluent.syntax/CHANGELOG.md

+43
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
# Changelog
22

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+
346
## fluent.syntax 0.13.0 (March 25, 2019)
447

548
- Make `BaseNode.equals` stricter when comparing lists.

fluent.syntax/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from setuptools import setup
33

44
setup(name='fluent.syntax',
5-
version='0.13.0',
5+
version='0.14.0',
66
description='Localization library for expressive translations.',
77
long_description='See https://github.com/projectfluent/python-fluent/ for more info.',
88
author='Mozilla',

0 commit comments

Comments
 (0)