Skip to content

Ricochet v0.1.19-rc.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Jul 21:11

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, and clear_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_at avoids conflicting with Active Record insert, and
    clear_items avoids conflicting with the stack clear word.
  • Existing non-collection words such as stack clear, Active Record insert,
    fs_write_text, fs_delete, and tui_clear keep 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 --check inventory 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.