Ricochet v0.1.19-rc.4
Pre-release
Pre-release
Ricochet v0.1.19-rc.4 Release Candidate Notes
Date: 2026-07-03
Ricochet v0.1.19-rc.4 is a language-surface cleanup release candidate on the
v0.1.19 train. It supersedes v0.1.19-rc.3 without replacing that immutable
candidate tag, and carries forward the native app UI, packaging, and security
hardening work from earlier v0.1.19 candidates.
Breaking Language Cleanup
- Collection mutators now use ordinary public word names:
push,put,insert_at,remove,remove_at, andclear_items. - The old public bang-suffixed mutators are intentionally removed. The previous
spellings were the six collection names with a trailing exclamation mark, and
they no longer exist as compatibility aliases. - Leading-bang syntax, such as an exclamation mark before
push, is rejected
during lexing with an explicit diagnostic instead of being parsed as a special
bang-word AST node. insert_atavoids conflicting with Active Recordinsert, and
clear_itemsavoids conflicting with the stackclearword.- Existing non-collection words such as stack
clear, Active Recordinsert,
fs_write_text,fs_delete, andtui_clearkeep their public names.
Runtime, Compiler, And Tooling Updates
- VM collection dispatch, built-in method existence checks, bytecode emission,
formatter behavior, lint traversal, AST JSON output, LSP token handling, and
compiler tests all use the new collection mutator names. - The old dedicated bang-word syntax node was removed from the lexer token
model, AST, parser, formatter, compiler handling, lint traversal, LSP token
handling, and AST JSON output. - Private capability method dispatch names were normalized where practical while
preserving existing public global capability words. - CLI smoke tests now prove the new mutator names work and the old public bang
names fail rather than silently aliasing. - The syntax test suite now covers rejection of leading-bang collection syntax.
Docs, Examples, And Editor Assets
- Public reference docs, generated reference data, validation scripts, Learn
manual chapters, wiki pages, examples, packages, scaffold templates,
benchmark labels, and embedded Rust test strings were swept to the new names. - VS Code TextMate grammar and LSP completions now surface the non-bang
collection mutators. - Word coverage data and
rco words --checkinventory expectations were
updated so documentation, editor assets, and the embedded LSP inventory stay
aligned.
Current Boundaries
- This is an intentional pre-public-language breaking cleanup. Code using the
old collection bang names must be updated before running on rc.4. - WinUI live rendering is Windows-only and depends on the WinUI host being built
or supplied with--winui-host/RICOCHET_WINUI_HOST. - The Slint renderer remains a v1 native projection. Richer retained-control
parity can continue behind the existing backend contract. - Data-grid and rich-text helpers remain useful v1 app contracts, not
spreadsheet or full word-processor implementations.