Skip to content

Roadmap (Outdated)

Staś Małolepszy edited this page Apr 17, 2019 · 1 revision

Roadmap

2017

2017 Q1

Main goals

  • Establish Fluent as a separate project

Objectives

  • Update the FTL syntax
  • Create a project hub (www, github, wiki)
  • Release a standalone fluent.js implementation
  • Publish parsers in JS and Python for tools' use
  • Reach out to a small number of industry experts
  • Reach out to a small number of framework authors
  • Publish an updated version of l20n.js which uses fluent.js
  • Publish an early version of the Rust implementation

2017 Q2

Main goals

  • Improve localizers' experience
  • Design the HTML integration

Objectives

  • Design UI for localization authoring tools (e.g. Pontoon)
  • Improve the syntax guide and create more demo-able examples
  • Add a layer on top of fluent.js which handles language negotiation and resource fallback
  • Integrate with DOM via MutationObservers
  • Implement DOM overlays
  • Integrate with React
  • Reach out to more external parties

2017 Q3

Main goals

  • Improve the syntax for edge cases
  • Integrate Fluent into Gecko

2017 Q4

Main goals

  • Simplify Syntax.
  • Release beta versions of Rust for JS and Rust
2018 Q1

2018 Q1

  • Fluent Syntax
    • Release 0.5 in January (the last major version before the stable 1.0)
  • fluent (JS)
    • Release fluent 0.6 which supports both Syntax 0.4 and 0.5.
  • fluent-dom
    • DOM overlays v2
  • fluent-react
    • DOM Overlays for fluent-react
    • attrs prop
  • fluent (Rust)
    • Release fluent-rs 0.2 which supports Fluent Syntax 0.5

2018 Q2

  • Fluent Syntax
    • Release 0.7 (skip 0.6) with:
      • Whitespace relaxation
      • Newlines normalizatin
    • Release 0.8 with:
      • Dynamic references to messages
    • Release 1.0 by the end of June.
  • fluent (JS)
    • Optimistic runtime parser
    • Report MessageContext resolution errors
  • fluent-dom
    • Experiment with mapContextAsync
  • fluent-react
    • Fix follow-ups to DOM overlays
    • Allow async generateMessages
  • Deprecate and archive L20n repos
    • Release l20n.js 6.0 which uses fluent 0.6.
  • Linting:
    • Proper linter implementations are scheduled for Q3-Q4
    • We'll add compare-locales checks to enable some linting features in mozilla-central/try
    • Those checks will operate on Fluent AST and can be used as a base for the proper linter later on

2018 Q3

  • Fluent Syntax 1.x
    • Semantic comments
    • Use tree-sitter's parser instead of EBNF
  • Fluent (JS)
    • Experiment with parser combinators
    • Fix the autogeneration of Fluent docs
    • Add test coverage
    • Pseudolocales
    • Linter
  • fluent-react
    • Write a tutorial for fluent-react
  • python-fluent
    • Linter
  • fluent (Rust)
    • Share test fixtures for parser with fluent.js and python-fluent
    • Error handling

2018 Q4

  • Fluent Syntax
    • List data type and list formatting
    • Flattened nested variants
  • Linter
    • --autofix