diff --git a/_data/roadmap.yml b/_data/roadmap.yml new file mode 100644 index 00000000..6cb0c53d --- /dev/null +++ b/_data/roadmap.yml @@ -0,0 +1,107 @@ +--- +in-progress: + - Custom CA certificate support + - Custom message syntax for `let assert` + - Custom type construction codegen monomorphisation + - Custom type constructor deprecation + - Custom type update type re-specialisation + - Debug keyword `echo` + - External file subdirectory support + - Hex search integration + - Improved dependency versions conflict error messages + - JavaScript sourcemaps + - Language server `let` to `case` code action + - Language server convert to/from `use` code action + - Local Hex API key encryption + - Unaligned bit array support on JavaScript +planned: + - Dead code detection improvements + - Hex private package support + - Language server constant expression completion + - Language server extract const code action + - Language server extract variable code action + - Language server inline variable code action + - Language server label completion + - Language server renaming + - Mutual tail call optimisation on JavaScript + - OTP named process support + - Test keyword `assert` + - API key generation when Hex rate limits reached +research: + - OTP release building + - Erlang stack trace line numbers + - Inter-module inlining + - Test discovery functionality + - Build tool watch mode +done: + - version: v1.6 + date: 2024-11-19 + items: + - BEAM bytecode compilation daemon + - Bit array construction optimisation on JavaScript + - Context aware type error printing + - Custom type variant inference + - JavaScript `gleam new` template + - Language server add missing function annotations code action + - Language server context aware type hover display + - Language server quality and unqualify code actions + - Monorepo support for HTML documentation + - Optional Hex dependency support + - Specific packages `gleam update` + - Unsafe JavaScript number warnings + - version: v1.5 + date: 2024-09-19 + items: + - Bit array UTF-8 segment inference + - Compilation flag `--no-print-progress` + - Context aware anonymous function inference + - Context aware inexhaustive case expression errors + - Gleam version requirement detection + - Improved panic printing on Erlang + - Language server add missing case patterns code action + - Language server local variable autocompletion + - Language server missing import fix code action + - version: v1.4 + date: 2024-08-02 + items: + - Bit array options `little`, `big`, `signed`, and `unsigned` JavaScript support. + - Compilation warning persistence + - Constant expression concat operator support + - Further fault tolerant compilation + - Label shorthand syntax + - Language server add labels code action + - Language server assert to case code action + - Language server case correction code action + - Language server document symbols + - Language server field access completion + - Language server lable shorthand conversion code action + - Language server signature help + - version: v1.3 + date: 2024-07-05 + items: + - "`gleam add` and `gleam remove`" + - Arithmetic guards + - Erlang/OTP 27 support + - Fault tolerant expression compilation + - Language server automatic import insertion + - Language server unused field hovering + - Purity hints for JavaScript bundlers + - version: v1.2 + date: 2024-05-27 + items: + - "`gleam hex revert`" + - Erlang module collision prevention + - Fault tolerant compilation + - Language server import autocompletion and hover + - Redundant `let assert` detection + - Unreachable code detection + - version: v1.1 + date: 2024-04-16 + items: + - Bun JavaScript runtime support + - Internal types and values + - Language server compilation batching + - Language server go-to definition + - Language server import autocompletion + - Nested tuple indexing + - Target related dead code elimination diff --git a/roadmap.html b/roadmap.html new file mode 100644 index 00000000..43bc4b6b --- /dev/null +++ b/roadmap.html @@ -0,0 +1,65 @@ +--- +title: Gleam's Development Roadmap +subtitle: What's coming next? +layout: page +--- + +

+ The highlights of what's been released, what's being worked on, and what's + coming in future! To see all the details please see: +

+ + + +

In progress

+ + + +

Planned

+ + + +

Research

+ + + +

Done

+ +
    + {% for release in site.data.roadmap.done %} +
  1. +

    {{ release.version }} - {{ release.date | date: "%d %b, %Y" }}

    + +
  2. + {% endfor %} +
diff --git a/styles/main.css b/styles/main.css index 2e0ea13d..74fc0f9e 100644 --- a/styles/main.css +++ b/styles/main.css @@ -972,3 +972,17 @@ main.content { flex-direction: row; } } + +.roadmap-release-list { + list-style: none; + padding: 0; +} + +.roadmap-release-list { + padding-left: 0; +} + +.roadmap-list li { + margin: var(--gap-1) 0; + line-height: var(--gap-3); +}