From 4e389127a992f5341651089260acb7f9fc17cc5b Mon Sep 17 00:00:00 2001
From: tannevaled
Date: Wed, 23 Sep 2026 19:16:57 +0200
Subject: [PATCH] landing: name v0.2.0, and state the CI claim the way ci.yml
does
The page named no parser version and no release date anywhere. The parser
shipped v0.2.0 on 2026-09-21 with fourteen grammar fixes, three months after
this page's prose was last touched.
* a version pill, and the lead now names v0.2.0 with what it closed -- every
one of the 68 files in the pinned ruby/spec language corpus parses, thirteen
of which had not parsed at all before
* "100% coverage enforced in CI across the six 64-bit targets" conflated two
different gates. Per the parser's ci.yml the coverage gate is on the three OS
lanes; the six 64-bit targets (amd64/arm64 native, riscv64/loong64/ppc64le/
s390x under QEMU) and the js/wasm and wasip1/wasm lanes run the suite without
it. Both are now stated, each attributed to the lane that does it.
* the same claim in hugo.toml's repo blurb
Linked to the tag tree rather than /releases/tag/v0.2.0: the repo publishes no
GitHub Releases, so that page renders empty.
Co-Authored-By: Claude Opus 5
---
hugo.toml | 2 +-
layouts/index.html | 11 +++++++++--
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/hugo.toml b/hugo.toml
index 566c4b0..12098fa 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -9,4 +9,4 @@ disableKinds = ["taxonomy", "term", "RSS", "sitemap", "404"]
name = "parser"
url = "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/go-ruby-parser/parser"
status = "ready"
- blurb = "The front-end: `parser.Parse(src) (*ast.Program, error)`, with sub-packages `token`, `ast` and `lexer`. A stateful lexer (MRI `spaceSeen` semantics), a recursive-descent + Pratt expression parser with a scope stack, and a typed AST for a broad, practical subset of **Ruby 4.0** — literals, operators, control flow, `case`/`in` **pattern matching**, methods/blocks, classes/modules/metaprogramming. 100% covered, differential-tested against MRI Ruby 4.0.5."
+ blurb = "The front-end: `parser.Parse(src) (*ast.Program, error)`, with sub-packages `token`, `ast` and `lexer`. A stateful lexer (MRI `spaceSeen` semantics), a recursive-descent + Pratt expression parser with a scope stack, and a typed AST for a broad, practical subset of **Ruby 4.0** — literals, operators, control flow, `case`/`in` **pattern matching**, methods/blocks, classes/modules/metaprogramming. 100% covered (the gate runs on all three OS lanes; the suite also runs on all six 64-bit targets and on js/wasm and wasip1/wasm), differential-tested against MRI Ruby 4.0.5. Current release **v0.2.0** (2026-09-21): fourteen grammar gaps closed, and every one of the 68 files in the pinned ruby/spec `language/` corpus now parses."
diff --git a/layouts/index.html b/layouts/index.html
index 0584509..8ccc59e 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -88,6 +88,7 @@ go-ruby-parser
stateful lexer
recursive-descent + Pratt
typed AST
+ v0.2.0 · 2026-09-21
Ruby 4.0 subset
pattern matching
heredocs
@@ -114,8 +115,14 @@ go-ruby-parser
shelling out to Ruby: the front-end the Go ecosystem lacked for building Ruby tooling
(linters, formatters, analysers, doc generators, LSP servers, transpilers) in pure Go.
It was extracted from go-embedded-ruby —
- which now consumes it — and is grown test-first against MRI Ruby 4.0.5, with
- 100% coverage enforced in CI across the six 64-bit targets.
+ which now consumes it — and is grown test-first against MRI Ruby 4.0.5.
+ 100% coverage is enforced in CI on all three OS lanes, and the suite also runs
+ on all six 64-bit targets — amd64 and arm64 natively, riscv64 / loong64 /
+ ppc64le / s390x under QEMU — plus js/wasm and wasip1/wasm.
+ The current release is v0.2.0
+ (2026-09-21), which closed fourteen grammar gaps: every one of the 68 files in the pinned
+ ruby/spec language/ corpus now parses, thirteen of which had not parsed at all
+ before.
{{ range .Site.Params.repos }}