Skip to content

Commit ff8af44

Browse files
committed
fluent 0.9.0
1 parent 2079882 commit ff8af44

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

fluent/CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# Changelog
22

3+
## fluent 0.9.0 (October 23, 2018)
4+
5+
This release of `fluent` brings support for version 0.7 of the Fluent Syntax
6+
spec. The `FluentBundle` API remains unchanged. Files written in valid Syntax
7+
0.6 may parse differently in this release. See the compatibility note below.
8+
9+
- Implement Fluent Syntax 0.7. (#287)
10+
11+
The major new feature of Syntax 0.7 is the relaxation of the indentation
12+
requirement for all non-text elements of patterns. It's finally possible
13+
to leave the closing brace of select expressions unindented:
14+
15+
emails = { $unread_email_count ->
16+
[one] You have one unread email.
17+
*[other] You have { $unread_email_count } unread emails.
18+
}
19+
20+
Consult the [changelog](https://github.com/projectfluent/fluent/releases/tag/v0.7.0)
21+
to learn about other changes in Syntax 0.7.
22+
23+
- Re-write the runtime parser. (#289)
24+
25+
Syntax 0.7 was an opportunity to completely re-write the runtime parser,
26+
which was originally created in the pre-0.1 era of Fluent. It's now less
27+
than a half of the code size of the old parser and also slightly faster.
28+
29+
The parser takes an optimistic approach to parsing. It focuses on
30+
minimizing the number of false negatives at the expense of increasing the
31+
risk of false positives. In other words, it aims at parsing valid Fluent
32+
messages with a success rate of 100%, but it may also parse a few invalid
33+
messages which the reference parser would reject. The parser doesn't
34+
perform strict validation of the all productions of the Fluent grammar.
35+
It may thus produce entries which wouldn't make sense in the real world.
36+
For best results users are advised to validate translations with the
37+
`fluent-syntax` parser pre-runtime (e.g. by using Pontoon or
38+
`compare-locales`).
39+
40+
### Backward-incompatible changes
41+
42+
- Variant keys can now be either numbers (as previously) or identifiers.
43+
Variant keys with spaces in them produce syntax errors, e.g. `[New York]`.
44+
- `CR` is not a valid EOL character anymore. Please use `LF` or `CRLF`.
45+
- `Tab` is not recognized as syntax whitespace. It can only be used in
46+
translation content.
47+
48+
349
## fluent 0.8.1 (September 27, 2018)
450

551
- Expose `FluentResource` as an export. (#286)

fluent/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "fluent",
33
"description": "Localization library for expressive translations.",
4-
"version": "0.8.1",
4+
"version": "0.9.0",
55
"homepage": "http://projectfluent.org",
66
"author": "Mozilla <[email protected]>",
77
"license": "Apache-2.0",

0 commit comments

Comments
 (0)