From 10a234e811596b0b4e3a12c4596022c7ccfc2065 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Tue, 20 Oct 2026 15:59:10 -0700 Subject: [PATCH 1/4] Refresh website snapshots for the next release Co-Authored-By: Claude Opus 5.5 --- website/src/data/canary-recall.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/website/src/data/canary-recall.json b/website/src/data/canary-recall.json index 45602e803..3bcb23c65 100644 --- a/website/src/data/canary-recall.json +++ b/website/src/data/canary-recall.json @@ -1,10 +1,17 @@ { - "asOf": "2026-10-18", + "asOf": "2026-10-20", "windowDays": 30, "runsUrl": "https://github.com/diffplug/dormouse/actions/workflows/security-audit.yaml?query=branch%3Amain", - "seeded": 60, - "caught": 45, + "seeded": 68, + "caught": 52, "runs": [ + { + "at": "2026-10-20T03:12:17Z", + "url": "https://github.com/diffplug/dormouse/actions/runs/39363050489", + "seeded": 8, + "caught": 7, + "unfinished": 0 + }, { "at": "2026-10-17T03:16:31Z", "url": "https://github.com/diffplug/dormouse/actions/runs/38998152990", From 6356c976d6c0049c94194a9ce6c333d9a6c6e4b1 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Tue, 20 Oct 2026 16:03:26 -0700 Subject: [PATCH 2/4] Start every release on its own branch and merge it with a merge commit Co-Authored-By: Claude Opus 5.5 --- .claude/commands/release-notes.md | 2 +- docs/specs/deploy.md | 17 +++++++++-------- scripts/spec-word-budgets.json | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.claude/commands/release-notes.md b/.claude/commands/release-notes.md index d69777631..16431b0ec 100644 --- a/.claude/commands/release-notes.md +++ b/.claude/commands/release-notes.md @@ -1,6 +1,6 @@ --- name: release-notes -description: Draft release notes, recommend and apply a version bump, and update CHANGELOG.md for the next dormouse release by analyzing all merge commits and squash-merged PRs since the last release tag. Used as step 2 of the release checklist in docs/specs/deploy.md. +description: Draft release notes, recommend and apply a version bump, and update CHANGELOG.md for the next dormouse release by analyzing all merge commits and squash-merged PRs since the last release tag. Used as step 3 of the release checklist in docs/specs/deploy.md. user-invocable: true --- diff --git a/docs/specs/deploy.md b/docs/specs/deploy.md index 6b37b0f8a..4f7f63938 100644 --- a/docs/specs/deploy.md +++ b/docs/specs/deploy.md @@ -23,13 +23,14 @@ Source of truth: `create_release` in `scripts/sign-and-deploy.sh`; `publish-vsco Human-driven, in order: -1. **Update website snapshots** — run `node website/scripts/generate-deps.js` and `node website/scripts/generate-canary-recall.js` (on your `gh` login), review the diffs in `website/src/data/dependencies-{npm,cargo,runtime}.json` and `website/src/data/canary-recall.json`, commit if changed. -2. **Draft release notes and bump version** — run `/release-notes` at the repo root ([.claude/commands/release-notes.md](../../.claude/commands/release-notes.md)), which owns the steps. Review the diff. -3. **Commit and tag** — `git commit -am "Release vX.Y.Z"` then `git tag vX.Y.Z`. -4. **Push** — `git push && git push origin vX.Y.Z`, which triggers CI (Stage 1). -5. **Run local signing** — plug in the PIV USB key, then `./scripts/sign-and-deploy.sh all X.Y.Z`: it waits for CI, verifies and signs artifacts, writes the website update manifest, and creates the GitHub Release. Secrets follow [Environment / secrets](#environment--secrets). **Must reject a dirty tree, untracked files, or commits ahead of the configured upstream**; without an upstream the script warns that push status is unknown. -6. **Deploy website** — commit `website/public/standalone-latest.json`. Cloudflare Pages project `mouseterm` deploys `release` to `dormouse.sh`; `main` produces previews. Promote reviewed `main` with `git fetch origin` then `git push origin origin/main:release`, without force. -7. **Verify the release** +1. **Start a release branch** — from the main checkout, `wt switch --create release-next --base main`, then `pnpm install` in the new worktree; every later step runs there. **A release reaches `main` through one PR, never a direct push.** +2. **Update website snapshots** — run `node website/scripts/generate-deps.js` and `node website/scripts/generate-canary-recall.js` (on your `gh` login), review the diffs in `website/src/data/dependencies-{npm,cargo,runtime}.json` and `website/src/data/canary-recall.json`, commit if changed. +3. **Draft release notes and bump version** — run `/release-notes` at the repo root ([.claude/commands/release-notes.md](../../.claude/commands/release-notes.md)), which owns the steps. Review the diff. +4. **Commit and tag** — `git commit -am "Release vX.Y.Z"` then `git tag vX.Y.Z`. +5. **Push** — `git push -u origin HEAD && git push origin vX.Y.Z`, which triggers CI (Stage 1). +6. **Run local signing** — plug in the PIV USB key, then `./scripts/sign-and-deploy.sh all X.Y.Z`: it waits for CI, verifies and signs artifacts, writes the website update manifest, and creates the GitHub Release. Secrets follow [Environment / secrets](#environment--secrets). **Must reject a dirty tree, untracked files, or commits ahead of the configured upstream**; without an upstream the script warns that push status is unknown. +7. **Deploy website** — commit `website/public/standalone-latest.json`, push, and open the release PR. **Must merge it with a merge commit, never a squash**, so the tag stays in `main`'s history for the [build stamp](#build-stamp). Cloudflare Pages project `mouseterm` deploys `release` to `dormouse.sh`; `main` produces previews. Promote the merged `main` with `git fetch origin` then `git push origin origin/main:release`, without force. +8. **Verify the release** - GitHub Release assets are correct - On a Mac: extract the `.tar.gz`, open the `.app`, no Gatekeeper warning - On Windows: run the `.exe` installer, no SmartScreen warning @@ -172,7 +173,7 @@ Config lives in [tauri.conf.json](../../standalone/src-tauri/tauri.conf.json) (` Shape: `version`, `notes`, `pub_date`, and a `platforms` map keyed `darwin-aarch64` / `windows-x86_64` / `linux-x86_64`, each with `url` and `signature` (that bundle's `.sig`, verbatim). **The script fails rather than emit a platform with an empty signature.** -Manifest URLs carry the version in the *path* (`/v0.1.0/`) while the *filenames* stay stable. **The homepage's download buttons read their URLs from this same committed manifest**, so a release is only downloadable once step 6 has deployed it (`website/src/pages/Home.tsx`). +Manifest URLs carry the version in the *path* (`/v0.1.0/`) while the *filenames* stay stable. **The homepage's download buttons read their URLs from this same committed manifest**, so a release is only downloadable once step 7 has deployed it (`website/src/pages/Home.tsx`). Source of truth: `sign_updates` in `scripts/sign-and-deploy.sh`; `plugins.updater` in `standalone/src-tauri/tauri.conf.json`. diff --git a/scripts/spec-word-budgets.json b/scripts/spec-word-budgets.json index a863fdb0a..374a9d0cc 100644 --- a/scripts/spec-word-budgets.json +++ b/scripts/spec-word-budgets.json @@ -5,7 +5,7 @@ "docs/compatible-agents.md": 1800, "docs/specs/alert.md": 7100, "docs/specs/auto-update.md": 1000, - "docs/specs/deploy.md": 2200, + "docs/specs/deploy.md": 2300, "docs/specs/dor-browser.md": 5800, "docs/specs/dor-cli.md": 5150, "docs/specs/dor-tool.md": 6550, From 21be333ea0d9ea1eaddcae7cfb0c0b497b91203e Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Tue, 20 Oct 2026 16:31:57 -0700 Subject: [PATCH 3/4] Release v1.3.0 --- CHANGELOG.md | 53 ++++++++++++++++++++++++++++ lib/package.json | 2 +- standalone/src-tauri/Cargo.lock | 2 +- standalone/src-tauri/Cargo.toml | 2 +- standalone/src-tauri/tauri.conf.json | 2 +- vscode-ext/package.json | 2 +- 6 files changed, 58 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba875d47b..59f3a24b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,59 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). Release ## [Unreleased] +## [1.3.0] - 2026-10-20 +### Added +- **Built-in editors** + - `.md` and `.markdown` files open in a rich Markdown editor — tables, task lists, front matter, Mermaid, source mode, image paste and drop — whose relative links open in place, with `#heading` links and per-pane Back/Forward ([#929](https://github.com/diffplug/dormouse/pull/929), [#975](https://github.com/diffplug/dormouse/pull/975), [#1172](https://github.com/diffplug/dormouse/pull/1172)). + - A built-in PNG/JPEG image editor (markup, redact, crop, pixel tools) saves in place; Markdown images render at the size the document states, as on GitHub, with resize handles ([#1148](https://github.com/diffplug/dormouse/pull/1148), [#1174](https://github.com/diffplug/dormouse/pull/1174)). + - `dor o` is short for `dor open`, and a bare `dor open` opens a fuzzy file picker that shows each file's handler; `builtin:code` opens any text file in Monaco ([#930](https://github.com/diffplug/dormouse/pull/930), [#965](https://github.com/diffplug/dormouse/pull/965), [#1092](https://github.com/diffplug/dormouse/pull/1092)). Confirmed terminal file links such as `[Image #2]` open in a Dor viewer ([#953](https://github.com/diffplug/dormouse/pull/953)). +- **Reopen** — command-mode `u` or `dor reopen` brings back closed Surfaces and Workspaces; clean viewers and untouched shells now close without a confirmation ([#967](https://github.com/diffplug/dormouse/pull/967)). +- **Tools** — a Break button turns a Tool back into a plain terminal and moves its page into a browser pane; Tools hidden and idle for 30 minutes stop and restart when shown, restoring their state when they opt in ([#980](https://github.com/diffplug/dormouse/pull/980), [#961](https://github.com/diffplug/dormouse/pull/961)). +- `dor` commands work from helper terminals without promoting them ([#952](https://github.com/diffplug/dormouse/pull/952)). +- Pi agent sessions resume across app restart ([#898](https://github.com/diffplug/dormouse/pull/898)). +- Settings → About names the exact build (official, development, or self-host) with a Copy details button; Activity settings moved under Notifications ([#1106](https://github.com/diffplug/dormouse/pull/1106)). +- A "Copy failed" dialog appears when a clipboard write fails every way, with diagnostics to share ([#1091](https://github.com/diffplug/dormouse/pull/1091)). +- Pocket: "Sign out and forget this phone" removes every paired computer and its push registrations ([#1251](https://github.com/diffplug/dormouse/pull/1251)). +- 🖥️ **Workspaces** — right-click a tab to Rename, Pin right, Copy ref, Move to new window, or Close, with `dor workspace pin` / `unpin`; tabs size to their names and animate reorders; Pocket groups its session list by Workspace ([#1009](https://github.com/diffplug/dormouse/pull/1009), [#1045](https://github.com/diffplug/dormouse/pull/1045), [#956](https://github.com/diffplug/dormouse/pull/956)). +- 🖥️ ⌘⇧T / File → Reopen Closed on macOS, including closed windows ([#967](https://github.com/diffplug/dormouse/pull/967)). +- 🖥️ On macOS, a frozen window is sampled and restarted onto the still-running terminals ([#993](https://github.com/diffplug/dormouse/pull/993)). +- 🖥️ Labs: "No-confirm delayed kill" replaces close confirmations with a 10-second restore window ([#969](https://github.com/diffplug/dormouse/pull/969)). + +### Changed +- Surface and Workspace ids are `surface:` / `workspace:`: unique across the app, never reused, and unchanged when a pane moves. `DORMOUSE_SURFACE_ID` carries the same string. `dor list --id-format` and the `surface_ref` / `workspace_ref` JSON keys are removed, and old forms like `3` or `pane-…` are refused. Layouts saved by older builds are discarded on the first launch after upgrading; settings, pairings, and Tool trust are kept ([#1085](https://github.com/diffplug/dormouse/pull/1085)). +- A Tool lasts one run: when its command quits, crashes, or fails to boot, the pane becomes a plain terminal, and only the run Dormouse launched may open files ([#979](https://github.com/diffplug/dormouse/pull/979), [#1061](https://github.com/diffplug/dormouse/pull/1061)). +- Pane drag and drop: drop on a pane's middle to swap, on its outer thirds to split, or on gutters and window edges; pause on an edge and slide along it to drop beside a group of panes (replacing scroll-wheel scope cycling); Escape cancels; Tool and browser panes drag and resize like terminals ([#1177](https://github.com/diffplug/dormouse/pull/1177), [#905](https://github.com/diffplug/dormouse/pull/905), [#1168](https://github.com/diffplug/dormouse/pull/1168)). +- Alerts are never silently dropped: a task finishing while you watch becomes a TODO, deferral waits only while a program is confirmed busy, only output that changes the screen counts as working, and "pause" is now "defer" ([#1080](https://github.com/diffplug/dormouse/pull/1080), [#1083](https://github.com/diffplug/dormouse/pull/1083), [#1171](https://github.com/diffplug/dormouse/pull/1171), [#1107](https://github.com/diffplug/dormouse/pull/1107)). +- The terminal context panel is denser and torn from its source pane, with the other panes dimmed behind it ([#1010](https://github.com/diffplug/dormouse/pull/1010)). +- Browser panes nobody can see stop streaming; iframe pages keep their origin and data across Reload ([#958](https://github.com/diffplug/dormouse/pull/958)). +- Settings → Network levels are renamed "Nowhere", "Local networks only", "Anywhere", and "Anywhere, through \" ([#1039](https://github.com/diffplug/dormouse/pull/1039)). +- Pocket asks for a passkey far less often: it stays signed in across launches, and reconnects to a recently used computer within that computer's presence window ([#1044](https://github.com/diffplug/dormouse/pull/1044)). +- Only a paired phone can register for push notifications. Phones paired before this release keep their registrations, but must pair again to re-enable push ([#1226](https://github.com/diffplug/dormouse/pull/1226)). +- Natural Voice (formerly managed voice, still a Hosted preview) enrolls separately from remote control, offers a curated set of voices, works in VS Code, and deletes its token at Hosted when turned off ([#999](https://github.com/diffplug/dormouse/pull/999), [#1000](https://github.com/diffplug/dormouse/pull/1000), [#1191](https://github.com/diffplug/dormouse/pull/1191), [#1207](https://github.com/diffplug/dormouse/pull/1207)). +- A terminal link that opens another app names it in a confirmation, a document link to an HTML or SVG page asks first, and dangerous Windows protocol handlers are blocked ([#1101](https://github.com/diffplug/dormouse/pull/1101), [#1201](https://github.com/diffplug/dormouse/pull/1201)). +- The pairing approval dialog shows only the device names Pocket itself sends ([#1163](https://github.com/diffplug/dormouse/pull/1163)). + +### Fixed +- Security hardening: safe path quoting for PowerShell and fish, control and bidi characters refused in Tool definitions and links, a tighter webview CSP, no repo-configured git fsmonitor, planted Windows executables and network-share browser paths refused, Playwright loaded only from its own install, owner-only logs, and stricter Local networks and passkey checks ([#1033](https://github.com/diffplug/dormouse/pull/1033), [#1065](https://github.com/diffplug/dormouse/pull/1065), [#1060](https://github.com/diffplug/dormouse/pull/1060), [#1040](https://github.com/diffplug/dormouse/pull/1040), [#1197](https://github.com/diffplug/dormouse/pull/1197), [#1162](https://github.com/diffplug/dormouse/pull/1162), [#1034](https://github.com/diffplug/dormouse/pull/1034), [#988](https://github.com/diffplug/dormouse/pull/988), [#1031](https://github.com/diffplug/dormouse/pull/1031), [#1224](https://github.com/diffplug/dormouse/pull/1224), [#1240](https://github.com/diffplug/dormouse/pull/1240), [#1223](https://github.com/diffplug/dormouse/pull/1223), [#1243](https://github.com/diffplug/dormouse/pull/1243), [#1237](https://github.com/diffplug/dormouse/pull/1237), [#1242](https://github.com/diffplug/dormouse/pull/1242)). +- Copying goes through the host's native clipboard, so copies no longer fail intermittently ([#1198](https://github.com/diffplug/dormouse/pull/1198)). +- On Windows, WSL and Git Bash terminals start correctly again, shells stop promptly on close, typing no longer lags while ports are probed, and copy-editor keys no longer leak to the terminal ([#1253](https://github.com/diffplug/dormouse/pull/1253), [#985](https://github.com/diffplug/dormouse/pull/985), [#928](https://github.com/diffplug/dormouse/pull/928), [#951](https://github.com/diffplug/dormouse/pull/951)). +- Agent-browser panes no longer freeze on a stale tab, hover and wheel reach unselected browser panes, and narrow viewports render cleanly and survive a provider swap; `dor agent-browser dor-diagnostics` reports on a frozen stream ([#1176](https://github.com/diffplug/dormouse/pull/1176), [#1175](https://github.com/diffplug/dormouse/pull/1175), [#1100](https://github.com/diffplug/dormouse/pull/1100), [#1124](https://github.com/diffplug/dormouse/pull/1124)). +- App restart resumes every supported agent, including Codex 0.160, agents interrupted mid-reply, and narrow or hidden panes ([#960](https://github.com/diffplug/dormouse/pull/960)). +- A crashed full-screen program no longer leaves mouse modes stuck, and starting Dormouse from Claude Code no longer turns off transcript saving in its panes ([#1157](https://github.com/diffplug/dormouse/pull/1157)). +- Restarting a command in place no longer rings a spurious exit alert, and a serving Tool shows its TODO pill ([#976](https://github.com/diffplug/dormouse/pull/976)). +- A shell displaced by session restore stops instead of streaming into the pane ([#1050](https://github.com/diffplug/dormouse/pull/1050), [#1070](https://github.com/diffplug/dormouse/pull/1070)). +- Pane resizing follows the pointer when minimum sizes clamp the layout ([#901](https://github.com/diffplug/dormouse/pull/901)). +- `dor ensure` and `dor tool` accept `--flag=value` before `--`, and `dor kill` / `dor reopen` help shows valid JSON ([#1116](https://github.com/diffplug/dormouse/pull/1116), [#1184](https://github.com/diffplug/dormouse/pull/1184)). +- Enabling Pocket push no longer fails on removed or other-account computers, and a removed computer's push registration is retired ([#1095](https://github.com/diffplug/dormouse/pull/1095), [#1238](https://github.com/diffplug/dormouse/pull/1238), [#1239](https://github.com/diffplug/dormouse/pull/1239)). +- One-time connection: a stalled attempt can be retried, and the phone page shows expiry at the deadline ([#918](https://github.com/diffplug/dormouse/pull/918), [#916](https://github.com/diffplug/dormouse/pull/916)). +- Fixed update approval during the launch check, `dor` request routing across windows, VS Code terminal adoption on reload, and lost pairing outcomes ([#959](https://github.com/diffplug/dormouse/pull/959)). +- 🔌 Closing VS Code shuts terminals down gracefully, and a malformed theme push no longer half-applies ([#983](https://github.com/diffplug/dormouse/pull/983)). +- 🔌 On Windows, remote control between VS Code windows uses an unpredictable pipe name ([#1252](https://github.com/diffplug/dormouse/pull/1252)). +- 🖥️ macOS logout or restart with Dormouse open no longer aborts ([#990](https://github.com/diffplug/dormouse/pull/990)). +- 🖥️ On macOS, Cmd+C/X/V and undo work inside Tool editors through a native Edit menu ([#943](https://github.com/diffplug/dormouse/pull/943)). +- 🖥️ Windows have a minimum size and reopen on screen ([#1058](https://github.com/diffplug/dormouse/pull/1058)). +- 🖥️ Updated rustls for GHSA-2mjx-qc3c-rqvc ([#1073](https://github.com/diffplug/dormouse/pull/1073)). + ## [1.2.0] - 2026-10-01 ### Added - **Pairing improvements and phone connections** diff --git a/lib/package.json b/lib/package.json index 491f8a4bd..7145d672d 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "dormouse-lib", - "version": "1.2.0", + "version": "1.3.0", "license": "FSL-1.1-MIT", "private": true, "type": "module", diff --git a/standalone/src-tauri/Cargo.lock b/standalone/src-tauri/Cargo.lock index 637cf1642..9bde465d1 100644 --- a/standalone/src-tauri/Cargo.lock +++ b/standalone/src-tauri/Cargo.lock @@ -666,7 +666,7 @@ dependencies = [ [[package]] name = "dormouse" -version = "1.2.0" +version = "1.3.0" dependencies = [ "getrandom 0.4.3", "libc", diff --git a/standalone/src-tauri/Cargo.toml b/standalone/src-tauri/Cargo.toml index b282f147d..35da9b004 100644 --- a/standalone/src-tauri/Cargo.toml +++ b/standalone/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dormouse" -version = "1.2.0" +version = "1.3.0" description = "Persistent multitasking terminal for mice (and hotkey wizards too)" authors = ["DiffPlug"] license = "FSL-1.1-MIT" diff --git a/standalone/src-tauri/tauri.conf.json b/standalone/src-tauri/tauri.conf.json index b87ca43e1..de3badf09 100644 --- a/standalone/src-tauri/tauri.conf.json +++ b/standalone/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://schema.tauri.app/config/2", "productName": "Dormouse Terminal", "mainBinaryName": "dormouse", - "version": "1.2.0", + "version": "1.3.0", "identifier": "sh.dormouse.standalone", "build": { "beforeDevCommand": "pnpm dev", diff --git a/vscode-ext/package.json b/vscode-ext/package.json index f8712626e..f3f24aa85 100644 --- a/vscode-ext/package.json +++ b/vscode-ext/package.json @@ -2,7 +2,7 @@ "name": "dormouse", "displayName": "Dormouse — Terminal Multiplexer", "description": "A persistent multitasking terminal — a real tiling layout, tmux keybindings, mouse support, browser panes your agents can drive, and alerts when a task needs you.", - "version": "1.2.0", + "version": "1.3.0", "publisher": "diffplug", "license": "FSL-1.1-MIT", "icon": "icon.png", From f383565fb5963e69d4496fe27f6e8b3ce500f5f5 Mon Sep 17 00:00:00 2001 From: Ned Twigg Date: Tue, 20 Oct 2026 17:41:18 -0700 Subject: [PATCH 4/4] Publish v1.3.0 desktop update manifest Co-Authored-By: Claude Opus 5.5 --- website/public/standalone-latest.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/public/standalone-latest.json b/website/public/standalone-latest.json index 89aac913a..af22fe25d 100644 --- a/website/public/standalone-latest.json +++ b/website/public/standalone-latest.json @@ -1,19 +1,19 @@ { - "version": "1.2.0", - "notes": "See https://github.com/diffplug/dormouse/releases/tag/v1.2.0", - "pub_date": "2026-10-02T05:06:46Z", + "version": "1.3.0", + "notes": "See https://github.com/diffplug/dormouse/releases/tag/v1.3.0", + "pub_date": "2026-10-21T00:39:22Z", "platforms": { "darwin-aarch64": { - "url": "https://github.com/diffplug/dormouse/releases/download/v1.2.0/Dormouse-macos-aarch64.tar.gz", - "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhckJQTUZDbmxJVUhhaVZMOGFDTElLV1BTSi9MTHZCN2Yyb2Q0ZENPSFR6MUFZTHhtalhReEpTQ1I4MzZ2dWVlbjgxaU1mZjBhc2d4bWZ3Ulg5elBLeWdjPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkwOTE3NjA1CWZpbGU6RG9ybW91c2UtbWFjb3MtYWFyY2g2NC50YXIuZ3oKNWR6aVYxb2t3S25yblRHUUthVmtSUDhGelpLNUdhaVpDTGs2Q3VEU05Uc2FFdmZ4RytqUkFpcVZaa3l5OVNwN0RERFhTbXpqejVFYUNIa1FnVmRGQ2c9PQo=" + "url": "https://github.com/diffplug/dormouse/releases/download/v1.3.0/Dormouse-macos-aarch64.tar.gz", + "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhclAxZUVLWEtPY2xCMlJRS21KWmpPQ2E2T0dNRWlkRDJSdjJTd2JrYzNsODB1ZzBFK3F3VjlHZUJmV3paSjBzbVhYWW1wNG85ZGJXWm9xSGx5ZHNVa2dBPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkyNTQzMTYxCWZpbGU6RG9ybW91c2UtbWFjb3MtYWFyY2g2NC50YXIuZ3oKRDFlMzZrcVJPZ3JtZ3Q3L0NwUmQ0QlVtdVhHYmJMMjJzemxFUGlvTUhpUm5HMnlNT0pkeE1nT3pxN0IxVWRTc3VJdHp0SXRraHJXR2tyY1Yza0tEQVE9PQo=" }, "windows-x86_64": { - "url": "https://github.com/diffplug/dormouse/releases/download/v1.2.0/Dormouse-windows-x64-setup.exe", - "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhcklmNXYzU2FpZi93aWhuUUlHNU5vZEhmYmpTNFl4ckptUDEycktBNE1qejhZb0FWUVAzU01aMVZhZC9wOHd2ODRwYTI3U0Z1anVkdkpJQmRuU2FBcHdRPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkwOTE3NjA1CWZpbGU6RG9ybW91c2Utd2luZG93cy14NjQtc2V0dXAuZXhlCjJDMXlINGR2bmRKRE95dUVjNGdHZ0lDa2tKb0V2RFdQZXZFVW43QXFEZlNHUDhENlhrN3YxaVMxRkx0TUsxNmJuSmRwM1ZHTkYremozcXV3d2l1MEJnPT0K" + "url": "https://github.com/diffplug/dormouse/releases/download/v1.3.0/Dormouse-windows-x64-setup.exe", + "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhckNYSHk5WnJNOEU1bEY2eTVwRkcydVF4TmdVRTkxU3VDR2M4cHA5aWU3dW5PQm95bVo0aVlkRHZ5YjIyS2ZFU2lGZGlqN3NyeHA2Y0J1STFwOXg5RHdjPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkyNTQzMTYyCWZpbGU6RG9ybW91c2Utd2luZG93cy14NjQtc2V0dXAuZXhlCmRJSERYMXJNNVAyK3cvc29PUjBLV2J5bHRHY3lZa0lYQWFERGVza05tdGlYZlV2V1FQTnVPWmFJdzd2TzJQSUNER2dPeDRrWXVZeHlhaUk4TWZBSENnPT0K" }, "linux-x86_64": { - "url": "https://github.com/diffplug/dormouse/releases/download/v1.2.0/Dormouse-linux-x86_64.AppImage", - "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhck9YU1VMNEYwbEdrd0NvK0xNLzZyd3hUVUpvUWdEQmN4Mzc3aCsrcUZUdlN1QTZ5M1VORHFhaXhGUlNQL3AxL0h1L0w1azZ6OGFPSVlEcGt4ZVRqNHdvPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkwOTE3NjA1CWZpbGU6RG9ybW91c2UtbGludXgteDg2XzY0LkFwcEltYWdlCnJSR1B2VzBIeTFUSXc3TTRkTnRPNVpta25DY3hGb0F4SmJHemxTSUpmWExyN0p5QzhsbG9kZmhIbzFVOE01RnVqZ2prMXZoT0p4THFadkdra0VBUkFRPT0K" + "url": "https://github.com/diffplug/dormouse/releases/download/v1.3.0/Dormouse-linux-x86_64.AppImage", + "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUYlpCcFVqWDVhcktPQ1hMMi8zczZQczRqbWpxT3hlT0VTUGR2aFhnWFpqKytnUWxNWjBTNmtXUDc2K0IyTkNhUThzdWw4c29Eb2dYYWZNOTJuUm11eCtoeVhxVVdIVWdRPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzkyNTQzMTYyCWZpbGU6RG9ybW91c2UtbGludXgteDg2XzY0LkFwcEltYWdlCmd2a05ueW9oUU5tUUFvUnRQL08xV3BRdzNjbXowcWxDTEpEWTRtbHJZZ3ZDNVgrcDBBYWlhYlh3N1IvSDFXVHdvcjR6Nnl0ZjVyWjNTb0Q5eElSZUNRPT0K" } } }