From ab89635c14b76e4765b27415eb34b398e8c194a6 Mon Sep 17 00:00:00 2001 From: raiseCatError <315733358+raiseCatError@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:18:17 +0530 Subject: [PATCH] Website: sync to v0.23.0 --- .../src/content/reference/accessibility.md | 2 +- website/src/content/reference/architecture.md | 2 +- .../src/content/reference/background-tasks.md | 2 +- website/src/content/reference/changelog.md | 44 ++++++++++++++- .../reference/configured-completion.md | 2 +- .../src/content/reference/context-modules.md | 2 +- website/src/content/reference/contributing.md | 4 +- website/src/content/reference/copy-actions.md | 2 +- .../src/content/reference/github-workspace.md | 2 +- website/src/content/reference/onboarding.md | 2 +- .../src/content/reference/optional-tools.md | 2 +- website/src/content/reference/physical-qa.md | 2 +- website/src/content/reference/platforms.md | 2 +- website/src/content/reference/privacy.md | 2 +- .../content/reference/prompt-customization.md | 2 +- website/src/content/reference/security.md | 4 +- .../content/reference/session-interaction.md | 2 +- .../src/content/reference/shell-adapter.md | 2 +- .../content/reference/terminal-workflow.md | 2 +- website/src/content/reference/theme-bridge.md | 2 +- website/src/content/reference/verification.md | 2 +- .../src/content/reference/workspace-keymap.md | 2 +- website/src/content/releases/v0.23.0.md | 18 +++++++ website/src/data/launch.json | 8 +-- website/src/data/release.json | 16 ++++-- website/src/data/upstream.json | 54 +++++++++---------- 26 files changed, 125 insertions(+), 61 deletions(-) create mode 100644 website/src/content/releases/v0.23.0.md diff --git a/website/src/content/reference/accessibility.md b/website/src/content/reference/accessibility.md index b7183b0f..dabb2312 100644 --- a/website/src/content/reference/accessibility.md +++ b/website/src/content/reference/accessibility.md @@ -1,6 +1,6 @@ --- title: "Accessibility baseline" -description: "Canonical accessibility baseline from the v0.22.0 published source." +description: "Canonical accessibility baseline from the v0.23.0 published source." group: Technical reference order: 110 source: "docs/accessibility/baseline.md" diff --git a/website/src/content/reference/architecture.md b/website/src/content/reference/architecture.md index 136a3626..ee10a4e3 100644 --- a/website/src/content/reference/architecture.md +++ b/website/src/content/reference/architecture.md @@ -1,6 +1,6 @@ --- title: "Runtime architecture" -description: "Canonical runtime architecture from the v0.22.0 published source." +description: "Canonical runtime architecture from the v0.23.0 published source." group: Technical reference order: 100 source: "ARCHITECTURE.md" diff --git a/website/src/content/reference/background-tasks.md b/website/src/content/reference/background-tasks.md index 3ec772c9..bf453a96 100644 --- a/website/src/content/reference/background-tasks.md +++ b/website/src/content/reference/background-tasks.md @@ -1,6 +1,6 @@ --- title: "Background task architecture" -description: "Canonical background task architecture from the v0.22.0 published source." +description: "Canonical background task architecture from the v0.23.0 published source." group: Technical reference order: 117 source: "docs/design/background-tasks.md" diff --git a/website/src/content/reference/changelog.md b/website/src/content/reference/changelog.md index 9bbb8c42..9966658d 100644 --- a/website/src/content/reference/changelog.md +++ b/website/src/content/reference/changelog.md @@ -1,6 +1,6 @@ --- title: "Canonical changelog" -description: "Canonical canonical changelog from the v0.22.0 published source." +description: "Canonical canonical changelog from the v0.23.0 published source." group: Technical reference order: 115 source: "CHANGELOG.md" @@ -12,6 +12,45 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [0.23.0] - 2026-10-21 — Vespyr Arcade + +The Arcade grows from five games to 33, and it can now be played while a command keeps running. + +### Added + +- **The Vespyr Arcade grows to 33 games** ([#481](https://github.com/raiseCatError/notMyShell/issues/481); trackers [#474](https://github.com/raiseCatError/notMyShell/issues/474)-[#480](https://github.com/raiseCatError/notMyShell/issues/480)). This is the unreleased v0.23.0 work: nothing here is released, and it has no date. `/game ` opens any game by id or alias (102 names, all unique): + - **Runners:** Vespyr Run, Flight, Dash, **Vespyr Leap** (bounce from platform to platform; sliding and crumbling platforms, springs), **Alley Sprint** (three lanes), **Kitten Parade** (grow a crowd through five levels with battles and bosses) and **Vespyr Rover** (a physics hill-climb with fuel, tilt and flips). + - **Arcade and reflex:** **Tail Chase** (Snake with three modes), **Purr Pong**, **Brickfall**, **Maze Prowler**, **Cat Tower**, **Vespyr Bullseye**, **Color Orbit** and **Glass Rush**. + - **Physics and falling:** **Vespyr Pinball** (drop targets, spinner, ramp), **Catapult Cats**, **Yarn Drop**, **Sandfall** and **Merge 2048**, **Treat Match**. + - **Logic:** Classic Sudoku, Vespyr Queens, **Minefield** (classic and **Hex Minefield**), **Tile Slide**, **Box Escape**, **Ice Paws**, **Moonjars**, **Yarn Lines**, **Circuit** and **Cat Fleet** (Battleship). + - **Words and typing:** **Purrword** (a five-letter word in six, daily and practice) and **Driftkeys** (type drifting phrases; the keys never reach the shell). + Every game is offline, deterministic where it has a seed, and keeps its own local records. The per-game list with controls is in [the status ledger](docs/development/arcade-expansion-status.md). +- **Play while a command runs** ([design](docs/design/arcade-background-work.md)). Ctrl+T (NMSh's own key, never sent to a program), or typing `/games` (`/arcade`, `/game`, `/game `) and accepting the inline offer `Open Arcade while the command runs? Enter Open · Esc Cancel`, opens the Arcade over a running command that is not waiting for input. The command, its session and its output are untouched and keep being recorded; Ctrl+C leaves the Arcade, never the command. Nothing typed in a game reaches the shell, the composer or the queue, and a command held for approval stays held. Opening is refused unless NMSh's own evidence says the command is not reading the keyboard; a question from the program pauses the game and says so, and a program that takes the terminal closes the Arcade at once. +- **A shared Arcade header**: the shell-side work at the top-left (the foreground command, the queue, `/bg` and Ask tasks, `/track` watchers with their schedule, and commands that just finished; up to three rows and `+ N more activities`) and a persistent notification banner at the top-right with an accent bar in your theme's color (`✓ Command completed`, `npm run build · 42.0s · exit 0`; failures, queue finished / waiting for approval / paused, input needed). The banner stays until something newer replaces it; a failure is not hidden by later successes; `n` (or Notifications in the pause menu) shows the last 24 events. Labels are program words only, never arguments or output. Reduced Motion, NO_COLOR and Safe Glyphs keep every meaning in words and glyphs. +- **Boards that are square on screen.** Sudoku, Merge 2048, Minefield, Ice Paws, Yarn Lines, Moonjars and Treat Match size their cells from the terminal's cell aspect (assumed 2:1), with mouse hit-testing on the same layout. +- **Hex Minefield**: Minefield on a six-neighbour hexagonal board with its own best times. It is drawn as nesting hexagons where they fit (Large at 80x24); where they cannot be drawn the title says "staggered tiles", and NO_COLOR and Safe Glyphs always use staggered tiles. Classic stays the default. + +### Changed + +- **Vespyr Arcade is a full-screen application** ([design](docs/design/arcade-expansion.md), [#474](https://github.com/raiseCatError/notMyShell/issues/474)). `/games` now takes the whole terminal: no banner, Status Strip, sidebar, transcript or composer around it, the shell's size unchanged, and the ordinary screen back exactly on exit. It rises in and recedes (none under Reduced Motion, Effects Off or without color). The hub is a library grouped by category with Favorites (`f`), Recently played, search (`/`), Tab between groups, the mouse wheel and clicks, and a live preview of the highlighted game; it remembers the game you played last. Narrow terminals show one game at a time. A game fills the screen with one row of controls; Esc opens a pause sheet with How to play, and finishing plays the game's own celebration before a results card that counts the score up. +- **Vespyr Doku is now Vespyr Queens** (`/game queens`; `vespyr-doku` and `doku` still work). Scores and a puzzle in progress move with it. The arcade's data file becomes version 2 (up to 64 games); the first write keeps the old file as `arcade.json.v1-backup`, and an older NMSh shows a version 2 file read-only instead of rewriting it. +- **Classic Sudoku redesign**: boxes on raised plates separated by dark channels, cells as tiles that never merge, givens and your digits in different colors and weights, distinct highlights for the cursor, its row, column and box, matching digits and clashes, positional notes, a remaining-digit counter, a light sweeping along each finished row, column and box, and a wave across the solved board. +- **Vespyr Queens redesign**: regions as solid shapes in clearly different colors with dark channels between them, the region letter once per region instead of in every cell, cats on dark badges, a pixel exclusion mark, finished regions checked, and a hop wave across the cats when solved. +- **Vespyr Run, Flight and Dash have their own worlds**: a dusk meadow with a setting sun and rising moon, a moonlit city of libraries with lit windows, and a neon stage with a striped sun that pulses on the beat. Obstacles use colors that never match Vespyr, and Dash's spikes keep one hazard color in every phase. + +### Fixed + +- **Color Orbit is playable.** A tap is now a classic fixed hop (about a quarter of a ring) that never stacks, with steady gravity; prisms are spaced so a larger ring can no longer recolor the ball mid-crossing. Seeded tests with human tap intervals pass; mashing and idling still lose. +- **Arcade fixes found in review** (unreleased work only; nothing in v0.22.0 changes): Moonjars' "proven" target was one pour too long for 21 of 400 decks and its startup search could stall; Treat Match's hint key was dead, tiles drew over the progress row at small sizes and a reshuffle was silent; Merge 2048's +N popup covered the title row; Pinball's ready text was unreadable; Rover's tilt response was too weak for a 6-8 taps/s driver to flip off real jumps and its HUD clipped at 28 columns; Kitten Parade's gates drew `?` in Safe Glyphs and a full crowd overflowed its lane; Vespyr Leap's fall limit tied to screen height made deaths unavoidable on short terminals (8% of late bounces at 34 rows, 64% at 12). + +### How the Arcade work was verified + +- **Automated, on the branch tip before commit:** 559 arcade tests (558 pass, 1 todo), `tsc` clean, the fast suite 68/68, and a smoke render of all 33 games at 100x34, at 40x16 with Reduced Motion and at 28x12 with NO_COLOR and Safe Glyphs. `tests/arcadeAll.test.ts` checks every game for metadata, garbage records, resize, dispose, pause, key ownership, previews, v0.22 save migration and that games use no network, child process, filesystem or timers. +- **Performance** (Node v26.12.0, Apple M2 with 8 GiB, machine busy with other jobs, so upper bounds): about 0.6-6 ms per frame for the hub and the games measured at 100x34 and 160x50 against a 33 ms tick, flat heap over 300 simulated seconds, and no leaked timers after 200 open/dispose cycles. Moonjars is the slowest (about 7-8 ms mean at 100x34, a few frames over 33 ms). No arcade performance thresholds exist in the repository. +- **Physical play:** the maintainer played the 33-game Arcade and confirmed the background-command behavior (Ctrl+T, the `/games` offer, the banner, the activity list, the exit slide, Color Orbit's retuned hop) in a real terminal. Results were not recorded per terminal (Ghostty or Zed separately), and not every game was played to its end; most games have otherwise been looked at as deterministic captures. +- **Background work:** 47 tests in `tests/backgroundActivity`, `arcadeCompanion` and `arcadeBackground`, plus four real-PTY tests (`tests/arcadeBackgroundLive.test.ts`: same session and shell, no shell frame reaches the host while the Arcade is open, the offer, the banner after 5 s; 0.08 CPU s per 3 s over a chatty command). An independent review's findings were fixed. A flicker the maintainer saw (the shell's own animation clocks painting between Arcade frames) was reproduced by a failing test and fixed at the cause. +- **Not performed:** Known limits (Pinball scale and bot cradling, Rover backflips, Kitten Parade difficulty, Moonjars hard decks, truncated top rows at 28 columns and more) are listed in [the status ledger](docs/development/arcade-expansion-status.md). + ## [0.22.0] - 2026-10-21 **Native viewing and editing, Semantic Output, `/track` and input you can trust.** NMSh still runs your real zsh, Bash or Fish in one persistent session. This release reads files and completed output without leaving it (`/view`), makes a quick edit to a small text file (`/edit`) or opens it in your own editor, puts a test run's or a build's counts and failures in one row above its raw output (Semantic Output), and keeps one live, refreshed result of a command in the transcript (`/track`). Typing while a command runs now goes where it belongs on evidence only: a password is never shown, queued or run as a command because NMSh could not yet tell who reads it, and a slow prompt hook no longer eats the next command. Up and Down step through history one command at a time with the position shown, Ask can suggest a command from your local model (never run for you), and there are Bun, Nix shell and container modules, `/modules explain` and five more theme families. @@ -726,7 +765,8 @@ Session & Interaction UX, plus the appearance and customization system. ### Fixed - Process cleanup teardown to safely kill detached helper shells and delete temporary configuration directories during testing. -[Unreleased]: https://github.com/raiseCatError/notMyShell/compare/v0.22.0...HEAD +[Unreleased]: https://github.com/raiseCatError/notMyShell/compare/v0.23.0...HEAD +[0.23.0]: https://github.com/raiseCatError/notMyShell/compare/v0.22.0...v0.23.0 [0.22.0]: https://github.com/raiseCatError/notMyShell/compare/v0.20.0...v0.22.0 [0.20.0]: https://github.com/raiseCatError/notMyShell/compare/v0.18.0...v0.20.0 [0.18.0]: https://github.com/raiseCatError/notMyShell/compare/v0.17.0...v0.18.0 diff --git a/website/src/content/reference/configured-completion.md b/website/src/content/reference/configured-completion.md index 2fd6e7cb..c275ecaa 100644 --- a/website/src/content/reference/configured-completion.md +++ b/website/src/content/reference/configured-completion.md @@ -1,6 +1,6 @@ --- title: "Configured completion" -description: "Canonical configured completion from the v0.22.0 published source." +description: "Canonical configured completion from the v0.23.0 published source." group: Technical reference order: 107 source: "docs/design/configured-completion.md" diff --git a/website/src/content/reference/context-modules.md b/website/src/content/reference/context-modules.md index c157e66c..e4ded255 100644 --- a/website/src/content/reference/context-modules.md +++ b/website/src/content/reference/context-modules.md @@ -1,6 +1,6 @@ --- title: "Context modules and packs" -description: "Canonical context modules and packs from the v0.22.0 published source." +description: "Canonical context modules and packs from the v0.23.0 published source." group: Technical reference order: 103 source: "docs/architecture/context-modules.md" diff --git a/website/src/content/reference/contributing.md b/website/src/content/reference/contributing.md index ceee08c7..a04c6084 100644 --- a/website/src/content/reference/contributing.md +++ b/website/src/content/reference/contributing.md @@ -1,6 +1,6 @@ --- title: "Contributing to NMSh" -description: "Canonical contributing to nmsh from the v0.22.0 published source." +description: "Canonical contributing to nmsh from the v0.23.0 published source." group: Technical reference order: 114 source: "CONTRIBUTING.md" @@ -26,7 +26,7 @@ Before starting work, check: - **[ARCHITECTURE.md](ARCHITECTURE.md)** — how the pieces fit together; start here before changing a subsystem - **[ROADMAP.md](ROADMAP.md)** — product direction and what is planned - **[GitHub Issues](https://github.com/raiseCatError/notMyShell/issues)** — concrete actionable work; acceptance criteria in each issue are authoritative -- **[v0.22.0 Release](https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0)** — current stable release, merged through [PR #444](https://github.com/raiseCatError/notMyShell/pull/444) (see [ROADMAP.md](ROADMAP.md)) +- **[v0.23.0 Release](https://github.com/raiseCatError/notMyShell/releases/tag/v0.23.0)** — current stable release (v0.22.0 is the previous one), merged through [PR #444](https://github.com/raiseCatError/notMyShell/pull/444) (see [ROADMAP.md](ROADMAP.md)) - **[CHANGELOG.md](CHANGELOG.md)** — the authoritative record of notable changes; see [Changelog](#changelog) below - **GitHub Issues** — [raiseCatError/notMyShell issues](https://github.com/raiseCatError/notMyShell/issues) — public bug reports, proposals and development status diff --git a/website/src/content/reference/copy-actions.md b/website/src/content/reference/copy-actions.md index 66697fb3..859c4638 100644 --- a/website/src/content/reference/copy-actions.md +++ b/website/src/content/reference/copy-actions.md @@ -1,6 +1,6 @@ --- title: "Output selection and Copy Actions" -description: "Canonical output selection and copy actions from the v0.22.0 published source." +description: "Canonical output selection and copy actions from the v0.23.0 published source." group: Technical reference order: 120 source: "docs/development/copy-actions-slice-3.md" diff --git a/website/src/content/reference/github-workspace.md b/website/src/content/reference/github-workspace.md index c7c86f49..1d028731 100644 --- a/website/src/content/reference/github-workspace.md +++ b/website/src/content/reference/github-workspace.md @@ -1,6 +1,6 @@ --- title: "Read-only GitHub workspace" -description: "Canonical read-only github workspace from the v0.22.0 published source." +description: "Canonical read-only github workspace from the v0.23.0 published source." group: Technical reference order: 119 source: "docs/architecture/github-workspace.md" diff --git a/website/src/content/reference/onboarding.md b/website/src/content/reference/onboarding.md index ad1c1f42..65747e35 100644 --- a/website/src/content/reference/onboarding.md +++ b/website/src/content/reference/onboarding.md @@ -1,6 +1,6 @@ --- title: "First-run behavior and validation" -description: "Canonical first-run behavior and validation from the v0.22.0 published source." +description: "Canonical first-run behavior and validation from the v0.23.0 published source." group: Technical reference order: 121 source: "docs/testing/post-v020-preferences-onboarding.md" diff --git a/website/src/content/reference/optional-tools.md b/website/src/content/reference/optional-tools.md index a1b66dbc..9f61d0f6 100644 --- a/website/src/content/reference/optional-tools.md +++ b/website/src/content/reference/optional-tools.md @@ -1,6 +1,6 @@ --- title: "Optional tools and providers" -description: "Canonical optional tools and providers from the v0.22.0 published source." +description: "Canonical optional tools and providers from the v0.23.0 published source." group: Technical reference order: 105 source: "docs/architecture/optional-tools.md" diff --git a/website/src/content/reference/physical-qa.md b/website/src/content/reference/physical-qa.md index cf7e83b2..ac136e61 100644 --- a/website/src/content/reference/physical-qa.md +++ b/website/src/content/reference/physical-qa.md @@ -1,6 +1,6 @@ --- title: "v0.20 physical QA checklist" -description: "Canonical v0.20 physical qa checklist from the v0.22.0 published source." +description: "Canonical v0.20 physical qa checklist from the v0.23.0 published source." group: Technical reference order: 111 source: "docs/testing/v020-physical-qa.md" diff --git a/website/src/content/reference/platforms.md b/website/src/content/reference/platforms.md index ac8941f5..929a0ff8 100644 --- a/website/src/content/reference/platforms.md +++ b/website/src/content/reference/platforms.md @@ -1,6 +1,6 @@ --- title: "Platform evidence and limitations" -description: "Canonical platform evidence and limitations from the v0.22.0 published source." +description: "Canonical platform evidence and limitations from the v0.23.0 published source." group: Technical reference order: 102 source: "docs/architecture/platforms.md" diff --git a/website/src/content/reference/privacy.md b/website/src/content/reference/privacy.md index e01d80ae..56833d08 100644 --- a/website/src/content/reference/privacy.md +++ b/website/src/content/reference/privacy.md @@ -1,6 +1,6 @@ --- title: "Privacy and local data" -description: "Canonical privacy and local data from the v0.22.0 published source." +description: "Canonical privacy and local data from the v0.23.0 published source." group: Technical reference order: 109 source: "docs/privacy.md" diff --git a/website/src/content/reference/prompt-customization.md b/website/src/content/reference/prompt-customization.md index 8d78b69f..e61950f6 100644 --- a/website/src/content/reference/prompt-customization.md +++ b/website/src/content/reference/prompt-customization.md @@ -1,6 +1,6 @@ --- title: "Native prompt customization" -description: "Canonical native prompt customization from the v0.22.0 published source." +description: "Canonical native prompt customization from the v0.23.0 published source." group: Technical reference order: 104 source: "docs/architecture/prompt-customization.md" diff --git a/website/src/content/reference/security.md b/website/src/content/reference/security.md index 8fe3f707..bb8171cd 100644 --- a/website/src/content/reference/security.md +++ b/website/src/content/reference/security.md @@ -1,6 +1,6 @@ --- title: "Security policy" -description: "Canonical security policy from the v0.22.0 published source." +description: "Canonical security policy from the v0.23.0 published source." group: Technical reference order: 113 source: "SECURITY.md" @@ -10,7 +10,7 @@ Security is critical for NMSh, as it executes and presents shell commands and ha ## Supported Versions -Security fixes target the latest stable release (currently v0.22.0, the `master` branch) and the active development branch. Older releases are not patched separately; update with `/update`. +Security fixes target the latest stable release (currently v0.23.0, the `master` branch) and the active development branch. Older releases are not patched separately; update with `/update`. ## Scope diff --git a/website/src/content/reference/session-interaction.md b/website/src/content/reference/session-interaction.md index fd0d1d44..3032da1c 100644 --- a/website/src/content/reference/session-interaction.md +++ b/website/src/content/reference/session-interaction.md @@ -1,6 +1,6 @@ --- title: "Session interaction design" -description: "Canonical session interaction design from the v0.22.0 published source." +description: "Canonical session interaction design from the v0.23.0 published source." group: Technical reference order: 108 source: "docs/design/session-interaction-ux.md" diff --git a/website/src/content/reference/shell-adapter.md b/website/src/content/reference/shell-adapter.md index 41eaccec..96837c5b 100644 --- a/website/src/content/reference/shell-adapter.md +++ b/website/src/content/reference/shell-adapter.md @@ -1,6 +1,6 @@ --- title: "ShellAdapter contract" -description: "Canonical shelladapter contract from the v0.22.0 published source." +description: "Canonical shelladapter contract from the v0.23.0 published source." group: Technical reference order: 101 source: "docs/architecture/shell-adapter.md" diff --git a/website/src/content/reference/terminal-workflow.md b/website/src/content/reference/terminal-workflow.md index d99ba6a2..68d47121 100644 --- a/website/src/content/reference/terminal-workflow.md +++ b/website/src/content/reference/terminal-workflow.md @@ -1,6 +1,6 @@ --- title: "Terminal workflow design" -description: "Canonical terminal workflow design from the v0.22.0 published source." +description: "Canonical terminal workflow design from the v0.23.0 published source." group: Technical reference order: 116 source: "docs/design/terminal-workflow.md" diff --git a/website/src/content/reference/theme-bridge.md b/website/src/content/reference/theme-bridge.md index d6771dcf..6964ce39 100644 --- a/website/src/content/reference/theme-bridge.md +++ b/website/src/content/reference/theme-bridge.md @@ -1,6 +1,6 @@ --- title: "Theme Bridge design and ownership" -description: "Canonical theme bridge design and ownership from the v0.22.0 published source." +description: "Canonical theme bridge design and ownership from the v0.23.0 published source." group: Technical reference order: 106 source: "docs/design/theme-bridge.md" diff --git a/website/src/content/reference/verification.md b/website/src/content/reference/verification.md index 3b5389e2..11675ce4 100644 --- a/website/src/content/reference/verification.md +++ b/website/src/content/reference/verification.md @@ -1,6 +1,6 @@ --- title: "Development verification" -description: "Canonical development verification from the v0.22.0 published source." +description: "Canonical development verification from the v0.23.0 published source." group: Technical reference order: 112 source: "docs/development-verification.md" diff --git a/website/src/content/reference/workspace-keymap.md b/website/src/content/reference/workspace-keymap.md index b00a583e..64895ec6 100644 --- a/website/src/content/reference/workspace-keymap.md +++ b/website/src/content/reference/workspace-keymap.md @@ -1,6 +1,6 @@ --- title: "Workspace keymap" -description: "Canonical workspace keymap from the v0.22.0 published source." +description: "Canonical workspace keymap from the v0.23.0 published source." group: Technical reference order: 118 source: "docs/design/workspace-keymap.md" diff --git a/website/src/content/releases/v0.23.0.md b/website/src/content/releases/v0.23.0.md new file mode 100644 index 00000000..bbe9015a --- /dev/null +++ b/website/src/content/releases/v0.23.0.md @@ -0,0 +1,18 @@ +--- +title: "v0.23.0 — Vespyr Arcade" +tag: v0.23.0 +date: 2026-10-21 +url: https://github.com/raiseCatError/notMyShell/releases/tag/v0.23.0 +--- +## Vespyr Arcade + +The Arcade grows from five games to **33 offline games**, and you can now play them **while a command keeps running**. + +- **33 games**: runners and platformers (Run, Flight, Dash, Leap, Alley Sprint, Kitten Parade, Rover), arcade classics and reflex (Tail Chase, Purr Pong, Brickfall, Maze Prowler, Cat Tower, Bullseye, Color Orbit, Glass Rush), physics and falling (Pinball, Catapult Cats, Yarn Drop, Sandfall, Merge 2048, Treat Match), logic (Sudoku, Queens, Minefield and Hex Minefield, Tile Slide, Box Escape, Ice Paws, Moonjars, Yarn Lines, Circuit, Cat Fleet) and words (Purrword, Driftkeys). A full-screen Horizon hub and Stage gameplay; scores and saved puzzles from v0.22 carry over. +- **Play while a command runs**: press **Ctrl+T**, or type `/games` and accept the inline offer. The command, session and output are untouched; Ctrl+C leaves the Arcade, never the command. No game key reaches the shell or the queue, and a command held for approval stays held. It will not open over a program that may be reading input, and a question or full-screen program pauses or closes it. +- **Shared header**: shell-side work at the top-left (foreground command, queue, `/bg` and `/track`, recently finished) and a persistent notification banner at the top-right, with `n` for the last 24 events. Only program names, statuses and durations are shown, never arguments or output. +- **Color Orbit** is now a classic hop per tap; the Arcade exit recedes over the live shell. + +Full details, compatibility notes and known limits: [CHANGELOG](https://github.com/raiseCatError/notMyShell/blob/master/CHANGELOG.md#0230---2026-10-21--vespyr-arcade). Physical QA: [record](https://github.com/raiseCatError/notMyShell/blob/master/docs/testing/v023-physical-qa.md); NO_COLOR, Safe Glyphs, Reduced Motion and narrow terminals are automated-only. + +Install: `brew install raiseCatError/tap/nmsh` (the formula is updated right after this release) or from source. diff --git a/website/src/data/launch.json b/website/src/data/launch.json index 38088346..bed9c25a 100644 --- a/website/src/data/launch.json +++ b/website/src/data/launch.json @@ -1,9 +1,9 @@ { "state": "published", - "version": "0.22.0", - "ref": "v0.22.0", - "commit": "ef57ff4394b7e960730aafbad0c4fa07780ab311", + "version": "0.23.0", + "ref": "v0.23.0", + "commit": "58f2abb3dab2f214cdf8116c9a0ed2cc92e6ff11", "verifiedAt": "2026-10-21", "date": "2026-10-21", - "url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0" + "url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.23.0" } diff --git a/website/src/data/release.json b/website/src/data/release.json index e8a8c82d..8ea1f5f2 100644 --- a/website/src/data/release.json +++ b/website/src/data/release.json @@ -1,12 +1,12 @@ { "verifiedAt": "2026-10-21", - "sourceCommit": "ef57ff4394b7e960730aafbad0c4fa07780ab311", - "tapVersion": "v0.22.0", + "sourceCommit": "58f2abb3dab2f214cdf8116c9a0ed2cc92e6ff11", + "tapVersion": "v0.23.0", "latest": { - "tag": "v0.22.0", - "version": "0.22.0", + "tag": "v0.23.0", + "version": "0.23.0", "date": "2026-10-21", - "url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0" + "url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.23.0" }, "requirements": { "node": "22+", @@ -17,6 +17,12 @@ ] }, "history": [ + { + "tag": "v0.23.0", + "date": "2026-10-21", + "url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.23.0", + "generatedSha256": "30a8bee4f831691eeafd933e941d080459417ffbfa956211899c251513514da9" + }, { "tag": "v0.22.0", "date": "2026-10-21", diff --git a/website/src/data/upstream.json b/website/src/data/upstream.json index 7c3fe704..060d2327 100644 --- a/website/src/data/upstream.json +++ b/website/src/data/upstream.json @@ -1,6 +1,6 @@ { - "commit": "ef57ff4394b7e960730aafbad0c4fa07780ab311", - "version": "0.22.0", + "commit": "58f2abb3dab2f214cdf8116c9a0ed2cc92e6ff11", + "version": "0.23.0", "state": "published", "routes": { "ARCHITECTURE.md": "architecture", @@ -32,154 +32,154 @@ "slug": "architecture", "title": "Runtime architecture", "sourceSha256": "e5248f1111405e612cc0bda3c12ff88d1af1d5323ff52c9f5967ad3f829320ee", - "generatedSha256": "9b2663309257e2101992e4ea03082c2ed2460a57c8f7a15282259daed88d510d" + "generatedSha256": "1c36e9ba9b624b62355df49ef97b9ee34fa408145a2770b255d6d492cb8656d5" }, { "path": "docs/architecture/shell-adapter.md", "slug": "shell-adapter", "title": "ShellAdapter contract", "sourceSha256": "6e32125e770f92ec561034364213b95817a2d024e788ada243dd6fafed5099e7", - "generatedSha256": "4fd00501cfcb650ad236cd2a53e709a4cfdc8c012e64d094fbced72f45927d9b" + "generatedSha256": "34b671cf2cc4ba2c2bb870aab949849fcf1a14bc0776c51ffd30b618041cb87d" }, { "path": "docs/architecture/platforms.md", "slug": "platforms", "title": "Platform evidence and limitations", "sourceSha256": "0973407ce888bf58b226880861fc285657e8f6016267171a12a0464814fa3de4", - "generatedSha256": "12d9a2d9da71dd9c8d692f1deeb15f342179df6c6fe6062040fe02d09726cc0e" + "generatedSha256": "b32c3c024f6602f6f9465fee542ac4b00f9445446a17257b95f978badf36cc92" }, { "path": "docs/architecture/context-modules.md", "slug": "context-modules", "title": "Context modules and packs", "sourceSha256": "5dd120e995ed3dd2e9fac0448523ca8da4b6887b5b70f6a06f06bde5d855ee30", - "generatedSha256": "5419d2425c85e190186b5dd78573b6277d2f69e6412e3223973c9192c619ae9a" + "generatedSha256": "e19449ce687ce26dd0b4cfb71a8b696c969cb525e614f08387e56482aebaa395" }, { "path": "docs/architecture/prompt-customization.md", "slug": "prompt-customization", "title": "Native prompt customization", "sourceSha256": "60d115e99e6d60aca96f626bd7c91dea16145d9cdffc85dd2994b715b93f6ae9", - "generatedSha256": "38748da9655a921d533c8086ad8cffc1e0ee0d643d3fed0776d8ead26b9d7bbe" + "generatedSha256": "b4fbdfa68bb4b7593f981d6fdaf809c62e22c4ce7fa5965d422d3e70a2b86d0d" }, { "path": "docs/architecture/optional-tools.md", "slug": "optional-tools", "title": "Optional tools and providers", "sourceSha256": "ea3e3d3ee4ba5f7b359eff1fcf2f2164eb8688ed43eab120bb85d251c502c792", - "generatedSha256": "2d1c6cc2285e9182b041b8f4fc776ab2d3c6f69b61923d68c6e5f4c13dede5af" + "generatedSha256": "f5a334f1acb7891c42061b88cce5fcc84b2017a5a77c6f8b84630fe3f8434f08" }, { "path": "docs/design/theme-bridge.md", "slug": "theme-bridge", "title": "Theme Bridge design and ownership", "sourceSha256": "dce83c87b7bfeaaeace9135780eaddeaa682c28de7d4a1f3905a54c09a7e1b94", - "generatedSha256": "085844289d874fc96df8963aa94a44e7d18ecac77cf3702e5890a472134f50da" + "generatedSha256": "7162d8163b71a918bce49c1671df68288135d053109163d6ebe1598d9dd2f41b" }, { "path": "docs/design/configured-completion.md", "slug": "configured-completion", "title": "Configured completion", "sourceSha256": "c52b36be63d645658ee29343f1e72a68cc0fbafc547d98a119d84b58473a7d63", - "generatedSha256": "e2a16402fc1cefbbbba2e9140a8218b2a03a7f5d66f37ccbac9be1e6e3524b7c" + "generatedSha256": "2fec33f6c0e647e3463c27409ad8f104212e660349a1db9d4c89a09221b2afe7" }, { "path": "docs/design/session-interaction-ux.md", "slug": "session-interaction", "title": "Session interaction design", "sourceSha256": "abfeed3680ebeebf77abf2b2e614fe4f9d1cc220d4e23284f7d6cf29c42bcc9b", - "generatedSha256": "9a2a599a579b7eba27d0376e67079e2151726c8a79868ab36aac9f0a0ae83e12" + "generatedSha256": "c58365f36efe1ace785d2464db18ca83c4db95445369f3242884b5a53f913b1d" }, { "path": "docs/privacy.md", "slug": "privacy", "title": "Privacy and local data", "sourceSha256": "9be31812270caa5b33e2a1cc57a6a3ac96eac3f4e7efc539a1db242f1363891f", - "generatedSha256": "6cdac55561ec799268034c1738c42c0c3737eb3b199fe27c713bf31d4c45f42b" + "generatedSha256": "708d0fa58ef8b4eb1565a40f4d614b124761c1a95b53f4a626435c0958fab57e" }, { "path": "docs/accessibility/baseline.md", "slug": "accessibility", "title": "Accessibility baseline", "sourceSha256": "3992eaac2c2680eeb6c55e021bed7682a1ed2598d235ff29b76be385b2b1bb61", - "generatedSha256": "3b7f5df0d5d1b8e47bc99ba288bc5410e85d0e9a6e3f1d8f2686c3f217a3b666" + "generatedSha256": "9609ffeb4a327309daa34c3e8e77432014f61a5adbf9f381bf25cb7be3af6608" }, { "path": "docs/testing/v020-physical-qa.md", "slug": "physical-qa", "title": "v0.20 physical QA checklist", "sourceSha256": "f8d5934ffb4ecaeafb80743adeb40363cb7f3841f72cf3c3db98eae9db858ae7", - "generatedSha256": "815201fd76aedf2b18ce7c4d2f5f82ea2aefcf096d61c28fcdb1441d51fff955" + "generatedSha256": "052ce97df64ea89b25656279dfc2ea49a48a8e72aca17965e37c16948bf960ce" }, { "path": "docs/development-verification.md", "slug": "verification", "title": "Development verification", "sourceSha256": "5809936f97421a81c1335d3276993e0b42455b365bfc392d40aa7fa6f3f66521", - "generatedSha256": "f26ebc1a3069b47d93f52ee2711936fd6a17638e3e905fd1b4e1e27e9bd7445c" + "generatedSha256": "e787ba497332d87b03e21216b1f14c0f3f33101fc31f98bd162afc9029851fda" }, { "path": "SECURITY.md", "slug": "security", "title": "Security policy", - "sourceSha256": "53db1acf1505838ae6ad54ef76d5d81b8a0b4af537be94fcc8059aaa8f92b7b2", - "generatedSha256": "5a96fdaf5019ce688a0a8fe3d27ec913ec49fcb2f176c61354c24d8f2c6dd60e" + "sourceSha256": "90f7f6c43c76fd7d0235c0690db5c891d2d3ff146f44addb8a27dc569401483a", + "generatedSha256": "87354f4cba0c069d1ed5dba0cddf827027efad8f03b73bbbeb930711ee38c7c1" }, { "path": "CONTRIBUTING.md", "slug": "contributing", "title": "Contributing to NMSh", - "sourceSha256": "8f98c973703782b22d9014111ab2d7b7fa3270fb5d783a2437f6308f677254c2", - "generatedSha256": "08b0731bf7975961f6a07f94c544c7d3804ff8780542424e2ffa1cfc7d77c389" + "sourceSha256": "fe877c34e9655e4efb060a356456a42c8d44d712195affb76262def3fe1ea066", + "generatedSha256": "970a2fb01822a612a462506b41ae58bbc8a73befd916f13cfc081e6b0818ab0f" }, { "path": "CHANGELOG.md", "slug": "changelog", "title": "Canonical changelog", - "sourceSha256": "f7968b90077332de85b0c7ca5550d3742d9436b5a25bad7f87df89fefbb7a075", - "generatedSha256": "ee2c57d0896decfa78ae9bbcbe7b87256c6568d6fdaf5ee7b7ff36e4b3cc2474" + "sourceSha256": "e04335d7358a82288aab4144684761ae533733ac58ac2a2c2a1b35dbc868330a", + "generatedSha256": "8aef8c35e82cc0c266bb161d33500e80ced2b03e721bf4b273b49d3bb10c397c" }, { "path": "docs/design/terminal-workflow.md", "slug": "terminal-workflow", "title": "Terminal workflow design", "sourceSha256": "755cf1b18ebfd3766f0135b658fbdb93729f6600f5f5638ff21e407e5d2c1fcf", - "generatedSha256": "756002877a64116fa1ad69ceef3ae70473e69f4de15b8e2ae1e0ea04ace41c03" + "generatedSha256": "78bd203d81048417078138c6cf8ea426eeb8fb514884bfde4f21ea26336890a9" }, { "path": "docs/design/background-tasks.md", "slug": "background-tasks", "title": "Background task architecture", "sourceSha256": "f2a208586c4b1e8b9c27372f2de43d5e59e03c0643861c12da9ab80299c7eb7c", - "generatedSha256": "377b6252a69911ed33e45af2c6612590845d4ec754bd53531df515f464eece29" + "generatedSha256": "d241ba99c922c3055c701895495f59829b3e908445541b0bfc2e43242e0a81fb" }, { "path": "docs/design/workspace-keymap.md", "slug": "workspace-keymap", "title": "Workspace keymap", "sourceSha256": "30b8c3abb9fcdee3faeca9a4fe90f20512b9aab34d3f22794e2a7f657bca7286", - "generatedSha256": "59497e82fd11f4e4ec7eeafbc744cff4952c0d6c05f82dcd43ab92410c165131" + "generatedSha256": "2849c6d3b78e32abd1497ce0c9407a8913792ac855e14eed3cf23be58c923863" }, { "path": "docs/architecture/github-workspace.md", "slug": "github-workspace", "title": "Read-only GitHub workspace", "sourceSha256": "f63d9ef38e3dc660576b31db27d8f6e3eb972d437dae3b9d0cff404f07d5f9b9", - "generatedSha256": "72b4f8c1172d5aec0ced35f434bf5a3755b98cf0ee0add2f45b563ed802eb471" + "generatedSha256": "309897dfb83cff944a05bb6b7723457e4bfdc1dd0ab9c65b0f4d3862ff8f44a8" }, { "path": "docs/development/copy-actions-slice-3.md", "slug": "copy-actions", "title": "Output selection and Copy Actions", "sourceSha256": "2c013683ce91dfefd32e556919a6904c74e04c616ba14b55f98da5f698cef5d8", - "generatedSha256": "5fb59b223fbe2acd288cb76de41b7f9fa7683b0beb23789afe82d6d309b42a33" + "generatedSha256": "9961d8a460bb57256b8cd3185db4d903279b250c0e77c6a17d17ec484aa08882" }, { "path": "docs/testing/post-v020-preferences-onboarding.md", "slug": "onboarding", "title": "First-run behavior and validation", "sourceSha256": "af32af6bd85a2d184f0fa1d754d718fc2d63dc6aed0232a0248c18be30580ddf", - "generatedSha256": "98dae76ee7f1188c6d2393c26f4cd0e06578e5cc190379750d2201c8269b57e2" + "generatedSha256": "6bce8da538adab6bd2d9ed246e762f1acb3efda15e0ed96ffea4e1daa8bfb198" } ] }