Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion website/src/content/reference/accessibility.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Accessibility baseline"
description: "Canonical accessibility baseline from the v0.20.0 published source."
description: "Canonical accessibility baseline from the v0.22.0 published source."
group: Technical reference
order: 110
source: "docs/accessibility/baseline.md"
Expand Down
4 changes: 3 additions & 1 deletion website/src/content/reference/architecture.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Runtime architecture"
description: "Canonical runtime architecture from the v0.20.0 published source."
description: "Canonical runtime architecture from the v0.22.0 published source."
group: Technical reference
order: 100
source: "ARCHITECTURE.md"
Expand Down Expand Up @@ -301,6 +301,8 @@ Optional **local understanding** can help interpret requests when enabled. Auto

Model text is not directly executed as a shell command or filesystem operation. Configuration, mutation, and installation require confirmation of the exact action in Ask; destructive suggestions are Copy/Insert only. Copying or inserting a suggested command does not execute it. File plans and supported configuration still use their normal path, hash, and ownership checks.

**Command suggestions** are optional and Off by default. When the person turns them on (Settings → Ask → Command suggestions → Local model), a request Ask's own resolver cannot place (never one it refused) may get one shell command from the local model. The model receives only the request text, the shell and the OS family; its answer is validated strictly (one plain line, no control or escape sequences), labelled by NMSh's own command classifier rather than the model, and offered for Copy or Insert only. Inserting places it in the composer unsent; only the person's Enter runs it.

## 20. Configuration and persistence

Let `<NMSh config>` mean the directory selected by the shared path resolver:
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/background-tasks.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Background task architecture"
description: "Canonical background task architecture from the v0.20.0 published source."
description: "Canonical background task architecture from the v0.22.0 published source."
group: Technical reference
order: 117
source: "docs/design/background-tasks.md"
Expand Down
117 changes: 115 additions & 2 deletions website/src/content/reference/changelog.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion website/src/content/reference/configured-completion.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Configured completion"
description: "Canonical configured completion from the v0.20.0 published source."
description: "Canonical configured completion from the v0.22.0 published source."
group: Technical reference
order: 107
source: "docs/design/configured-completion.md"
Expand Down
3 changes: 1 addition & 2 deletions website/src/content/reference/context-modules.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
title: "Context modules and packs"
description: "Canonical context modules and packs from the v0.20.0 published source."
description: "Canonical context modules and packs from the v0.22.0 published source."
group: Technical reference
order: 103
source: "docs/architecture/context-modules.md"
editorial: ["The release-status paragraph said the module platform was still pending acceptance. It shipped in v0.18.0 and is part of v0.20.0."]
---

NMSh runs around a real persistent zsh, Bash or Fish session. Its native modules
Expand Down
5 changes: 2 additions & 3 deletions website/src/content/reference/contributing.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
title: "Contributing to NMSh"
description: "Canonical contributing to nmsh from the v0.20.0 published source."
description: "Canonical contributing to nmsh from the v0.22.0 published source."
group: Technical reference
order: 114
source: "CONTRIBUTING.md"
editorial: ["The tagged document linked to a private GitHub Project. The link now points to the public issue tracker."]
---

Thank you for your interest in contributing to notMyShell (NMSh)!
Expand All @@ -27,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.20.0 Release](https://github.com/raiseCatError/notMyShell/releases/tag/v0.20.0)** — current stable release, merged through [PR #392](https://github.com/raiseCatError/notMyShell/pull/392) (see [ROADMAP.md](ROADMAP.md))
- **[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))
- **[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

Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/copy-actions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Output selection and Copy Actions"
description: "Canonical output selection and copy actions from the v0.20.0 published source."
description: "Canonical output selection and copy actions from the v0.22.0 published source."
group: Technical reference
order: 120
source: "docs/development/copy-actions-slice-3.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/github-workspace.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Read-only GitHub workspace"
description: "Canonical read-only github workspace from the v0.20.0 published source."
description: "Canonical read-only github workspace from the v0.22.0 published source."
group: Technical reference
order: 119
source: "docs/architecture/github-workspace.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/onboarding.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "First-run behavior and validation"
description: "Canonical first-run behavior and validation from the v0.20.0 published source."
description: "Canonical first-run behavior and validation from the v0.22.0 published source."
group: Technical reference
order: 121
source: "docs/testing/post-v020-preferences-onboarding.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/optional-tools.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Optional tools and providers"
description: "Canonical optional tools and providers from the v0.20.0 published source."
description: "Canonical optional tools and providers from the v0.22.0 published source."
group: Technical reference
order: 105
source: "docs/architecture/optional-tools.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/physical-qa.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "v0.20 physical QA checklist"
description: "Canonical v0.20 physical qa checklist from the v0.20.0 published source."
description: "Canonical v0.20 physical qa checklist from the v0.22.0 published source."
group: Technical reference
order: 111
source: "docs/testing/v020-physical-qa.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/platforms.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Platform evidence and limitations"
description: "Canonical platform evidence and limitations from the v0.20.0 published source."
description: "Canonical platform evidence and limitations from the v0.22.0 published source."
group: Technical reference
order: 102
source: "docs/architecture/platforms.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/privacy.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Privacy and local data"
description: "Canonical privacy and local data from the v0.20.0 published source."
description: "Canonical privacy and local data from the v0.22.0 published source."
group: Technical reference
order: 109
source: "docs/privacy.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/prompt-customization.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Native prompt customization"
description: "Canonical native prompt customization from the v0.20.0 published source."
description: "Canonical native prompt customization from the v0.22.0 published source."
group: Technical reference
order: 104
source: "docs/architecture/prompt-customization.md"
Expand Down
7 changes: 5 additions & 2 deletions website/src/content/reference/security.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Security policy"
description: "Canonical security policy from the v0.20.0 published source."
description: "Canonical security policy from the v0.22.0 published source."
group: Technical reference
order: 113
source: "SECURITY.md"
Expand All @@ -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.20.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.22.0, the `master` branch) and the active development branch. Older releases are not patched separately; update with `/update`.

## Scope

Expand All @@ -37,6 +37,9 @@ Reports that break any of these are in scope:
- **External prompt providers** (Starship, Oh My Posh, Powerlevel10k) run as bounded, non-interactive helpers with argv only; their output is treated as untrusted display text.
- **Context discovery is not execution.** Entering a directory never runs repository-controlled code, sources `.envrc`, runs kubeconfig `exec` plugins, calls the network or reads credential values. Versions come from install layouts and metadata; executables on PATH are never run for context, and one inside the current workspace is not even inspected.
- **Context Packs are data.** A pack names capabilities NMSh core implements and describes presentation; it cannot contain commands, code, paths, templates, includes or hooks, gains no authority by being installed, and is never installed or enabled because a repository was opened.
- **Documents and images are data.** Opening a Markdown, HTML or image file never runs it: remote and `data:` image references are never fetched, image paths must stay inside the document's folder or project (checked before any file is opened and again on the real path), images are decoded with size, pixel and inflation limits, SVG is never rendered, and a converter for WebP runs without a shell in a private directory.
- **A real browser is a different trust class from a document.** `/browser` runs ordinary web pages in a sandboxed Chrome or Chromium of yours with no debugging port, no extensions, denied downloads and permissions, and only `http`, `https`, `file` and `about:blank` addresses; a document preview is served from memory on a loopback-only server behind an unguessable path with scripts off unless you trust the file, a restrictive CSP and no access beyond its own origin. NMSh never downloads a browser.
- **Nothing takes the keyboard of a running command.** The arcade and the browser panel do not open while a command runs and close if one starts.
- **Terminal text is hostile.** Directory names, Git metadata, pack metadata and agent reports pass one display boundary before reaching the screen or a terminal title: no control characters, escape sequences or bidi formatting.

## Reporting a Vulnerability
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/session-interaction.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Session interaction design"
description: "Canonical session interaction design from the v0.20.0 published source."
description: "Canonical session interaction design from the v0.22.0 published source."
group: Technical reference
order: 108
source: "docs/design/session-interaction-ux.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/shell-adapter.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ShellAdapter contract"
description: "Canonical shelladapter contract from the v0.20.0 published source."
description: "Canonical shelladapter contract from the v0.22.0 published source."
group: Technical reference
order: 101
source: "docs/architecture/shell-adapter.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/terminal-workflow.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Terminal workflow design"
description: "Canonical terminal workflow design from the v0.20.0 published source."
description: "Canonical terminal workflow design from the v0.22.0 published source."
group: Technical reference
order: 116
source: "docs/design/terminal-workflow.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/theme-bridge.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Theme Bridge design and ownership"
description: "Canonical theme bridge design and ownership from the v0.20.0 published source."
description: "Canonical theme bridge design and ownership from the v0.22.0 published source."
group: Technical reference
order: 106
source: "docs/design/theme-bridge.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/verification.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Development verification"
description: "Canonical development verification from the v0.20.0 published source."
description: "Canonical development verification from the v0.22.0 published source."
group: Technical reference
order: 112
source: "docs/development-verification.md"
Expand Down
2 changes: 1 addition & 1 deletion website/src/content/reference/workspace-keymap.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Workspace keymap"
description: "Canonical workspace keymap from the v0.20.0 published source."
description: "Canonical workspace keymap from the v0.22.0 published source."
group: Technical reference
order: 118
source: "docs/design/workspace-keymap.md"
Expand Down
31 changes: 31 additions & 0 deletions website/src/content/releases/v0.22.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: "v0.22.0 — Native viewing, images, a real browser and Vespyr Arcade"
tag: v0.22.0
date: 2026-10-21
url: https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0
---
**Native viewing, images, a real browser and Vespyr Arcade.** NMSh still runs your real zsh, Bash or Fish in one persistent session. v0.22.0 is the next stable release after v0.20.0; it includes the v0.21.0 candidate, which was never published separately.

## What's new

- **Reviewed multiline pastes run three ways:** One at a time (the default), Queue all (shell and NMSh commands, stopping on a failure) or Run as block (shell commands only, with a warning). Quotes, loops and heredocs stay whole.
- **Real images:** `/view image.png` (PNG, JPEG, GIF first frame, WebP through a converter already installed) and images in Markdown and HTML, drawn with the Kitty graphics protocol where the terminal confirms it, otherwise as character art. Nothing is assumed from the terminal's name; Zed and multiplexers get character art.
- **Larger headings** where the terminal scales text (OSC 66, detected rather than assumed). Saved documents, the clipboard and transcripts never contain the sequences.
- **One workspace for Markdown and HTML:** `/view` opens the source, `h` previews, `e` edits the same buffer, `Ctrl+S` saves. The preview shows unsaved text. With Chrome, Chromium or Edge installed the preview is a real Chromium page (scripts off unless you trust the file); otherwise NMSh's own renderer.
- **`/browser`:** a real browser in the terminal, started only when you open it, in an isolated throwaway profile, with tabs, address bar, find, zoom, forms and mouse.
- **Vespyr Arcade:** `/games` (`/game`, `/arcade`): Vespyr Run, Flight and Dash, Classic Sudoku and Vespyr Doku, with local scores and no accounts. Only the open game reads the keyboard; it never starts over a running command.
- **Native `/view` and `/edit`**, Semantic Output (first phase), `/track`, safer typing while a command runs (passwords are never shown, queued or run as commands), history browsing with its position, Ask command suggestions from your local model, Bun, Nix shell and container modules, `/modules explain` and `timings`, and five more theme families.

Full details, upgrade notes and compatibility are in the [changelog](https://github.com/raiseCatError/notMyShell/blob/master/CHANGELOG.md#0220---2026-10-21).

## How this release was verified, and what was not

- **Automated:** hosted CI on the exact release commit (unit and real-PTY suites on macOS and Ubuntu, Node 22 and 26, a Fedora portability subset and the timing smokes), in a pull-request run and a dispatched run. The maintainer accepted hosted CI in place of a local `npm run verify:release` on an 8 GB machine. The one local full run made had 3,730 of 3,741 tests passing; the 11 other tests are load-sensitive live-terminal tests that passed when rerun alone.
- **Physical terminals: not performed** for the nine required passes and for the final additions (multiline modes, images, text sizing, the document workspace, `/browser`, the arcade). The maintainer decided to release without them and accepted that risk; that is an acceptance, not a test result. Kitty graphics, OSC 66 and Chromium frames have not been seen in a real Ghostty or Kitty.

## Known limitations

- Hosted macOS live-terminal tests are intermittent (about 4 in 10 hosted CI runs passed first time over the two days before release). Two causes were found and fixed; the rest are unexplained and not shown to be harmless.
- A line entered in the few milliseconds around a queued command's approval can be attributed to the wrong command in the transcript (nothing is lost, repeated or run unapproved).
- Ghostty accepts text sizing sequences but is not known to draw scaled glyphs, so Auto leaves it off there. Images are never fetched from the network, animated images show their first frame, and WebP needs a converter that is already installed.
- The package is private; nothing is published to npm. Install with Homebrew (`brew upgrade raiseCatError/tap/nmsh`) or from source.
12 changes: 6 additions & 6 deletions website/src/data/launch.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"state": "published",
"version": "0.20.0",
"ref": "v0.20.0",
"commit": "65e4de55b2d8f1ad3a734a9d415a353b56b81e2c",
"verifiedAt": "2026-10-18",
"date": "2026-10-18",
"url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.20.0"
"version": "0.22.0",
"ref": "v0.22.0",
"commit": "ef57ff4394b7e960730aafbad0c4fa07780ab311",
"verifiedAt": "2026-10-21",
"date": "2026-10-21",
"url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0"
}
20 changes: 13 additions & 7 deletions website/src/data/release.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"verifiedAt": "2026-10-18",
"sourceCommit": "65e4de55b2d8f1ad3a734a9d415a353b56b81e2c",
"tapVersion": "v0.20.0",
"verifiedAt": "2026-10-21",
"sourceCommit": "ef57ff4394b7e960730aafbad0c4fa07780ab311",
"tapVersion": "v0.22.0",
"latest": {
"tag": "v0.20.0",
"version": "0.20.0",
"date": "2026-10-18",
"url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.20.0"
"tag": "v0.22.0",
"version": "0.22.0",
"date": "2026-10-21",
"url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0"
},
"requirements": {
"node": "22+",
Expand All @@ -17,6 +17,12 @@
]
},
"history": [
{
"tag": "v0.22.0",
"date": "2026-10-21",
"url": "https://github.com/raiseCatError/notMyShell/releases/tag/v0.22.0",
"generatedSha256": "5cd1498d29bb71a243f513d7355e7a04669ce318cdb4534c401f9dd103fb4340"
},
{
"tag": "v0.20.0",
"date": "2026-10-18",
Expand Down
Loading
Loading