Skip to content

Commit 45b0d53

Browse files
ShadowCode 1.0.1
Version 1.0.1 in Cargo, Tauri, the UI package, the desktop entry, the AppStream release list and the GitHub Action defaults; public trust now covers 0.33.0-1.0.1 (same key and epoch) and the release docs name the v1.0.1 tag rule. Changelog, release notes, README and the flagship ledger describe the two window fixes: the window no longer grows on every Wayland launch, and it fits small screens such as 1366x768. The AppStream entry is dated 2026-10-01 (its expected UTC release day), after 1.0.0, so the Debian changelog built from it stays in order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 2cf0c35 commit 45b0d53

19 files changed

Lines changed: 106 additions & 45 deletions

‎CHANGELOG.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,23 @@
11
# Changelog
22

3+
## 1.0.1: A window that fits
4+
5+
- **The window no longer grows each time it opens.** On Wayland desktops
6+
such as KDE Plasma, every launch opened the window about 52 px wider and
7+
99 px taller, until it no longer fit on the screen. The window draws its
8+
own title bar there, and the saved size included that title bar and the
9+
window's shadow, so restoring it added them again. ShadowCode still
10+
remembers where the window was and whether it was maximized or full
11+
screen, but no longer its size. A window that already grew opens at its
12+
normal size again.
13+
- **The window fits small screens.** The window opened at 1380x920 even on a
14+
1366x768 screen, so the composer and status bar sat under the panel. It
15+
now opens at no more than 90% of the screen it opens on, less room for the
16+
title bar (1229x643 on a 1366x768 screen), and still at 1380x920 on larger
17+
screens. On a screen too small for the smallest window (520x640) it opens
18+
maximized. A window that was maximized when you closed it opens maximized
19+
again.
20+
321
## 1.0.0: Easy to start, ready for real work
422

523
For people starting out:

‎Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ exclude = ["vendor/glib-0.18.5"]
55
resolver = "2"
66

77
[workspace.package]
8-
version = "1.0.0"
8+
version = "1.0.1"
99
edition = "2021"
1010
rust-version = "1.95"
1111
license = "Apache-2.0"

‎README.md‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,18 +57,18 @@ your computer. You don't need Ollama, LM Studio or any other model server.
5757
own terminal, go from commit to pull request, preview the app you're
5858
building, dictate with your voice, and follow along from your phone.
5959

60-
ShadowCode **1.0.0** is available in [GitHub releases](https://github.com/Shadowfetchapps/ShadowCode/releases/tag/v1.0.0).
61-
See the [1.0.0 release notes](docs/RELEASE_NOTES.md) for changes and qualification
60+
ShadowCode **1.0.1** is available in [GitHub releases](https://github.com/Shadowfetchapps/ShadowCode/releases/tag/v1.0.1).
61+
See the [1.0.1 release notes](docs/RELEASE_NOTES.md) for changes and qualification
6262
limits, and the [release history](CHANGELOG.md).
6363

6464
## Install
6565

6666
Releases target x86_64 Linux with glibc 2.39 or newer (Ubuntu 24.04 or later).
6767
Check [GitHub releases](https://github.com/Shadowfetchapps/ShadowCode/releases)
68-
for published versions. The 1.0.0 packages and checksums are:
68+
for published versions. The 1.0.1 packages and checksums are:
6969

70-
- `ShadowCode_1.0.0_amd64.AppImage`
71-
- `ShadowCode_1.0.0_amd64.deb`
70+
- `ShadowCode_1.0.1_amd64.AppImage`
71+
- `ShadowCode_1.0.1_amd64.deb`
7272
- `SHA256SUMS`, `RELEASE-MANIFEST.json`, `RELEASE-AUTH` and
7373
`RELEASE-AUTH.sig` (download these beside the package; the installer checks
7474
the publisher's signature before running anything)
@@ -80,7 +80,7 @@ assets are checksum-only and cannot be installed by this new entry point; use
8080
the instructions shipped with that released version for those existing assets.
8181
The 0.33.0 release attempt failed before signing and publication. Its tag stays
8282
unchanged. Version 0.33.1 was the first signed release; the public trust policy
83-
in `release/trust` now authorizes 0.33.0 through 1.0.0.
83+
in `release/trust` now authorizes 0.33.0 through 1.0.1.
8484
For development, use [Build from source](#build-from-source).
8585

8686
Obtain an independently authenticated installer bundle as described below,
@@ -94,7 +94,7 @@ bundle and bootstrap requirements.
9494
From that independently authenticated installer bundle, run:
9595

9696
```bash
97-
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_1.0.0_amd64.AppImage
97+
bash /path/to/trusted-bundle/scripts/install-appimage.sh /path/to/downloads/ShadowCode_1.0.1_amd64.AppImage
9898
```
9999

100100
The installer takes the AppImage path (or `--recover`), resolves its own trusted
@@ -128,22 +128,22 @@ as `--trust-dir` are not installer options.
128128
not yet qualified.
129129

130130
After obtaining and verifying the intended package, run the AppImage without installing it:
131-
`./ShadowCode_1.0.0_amd64.AppImage --appimage-extract-and-run`. FUSE is not
131+
`./ShadowCode_1.0.1_amd64.AppImage --appimage-extract-and-run`. FUSE is not
132132
required.
133133

134134
### Debian package
135135

136136
Verify the Debian artifact using the independently trusted verifier bundle.
137-
`verified-deb-1.0.0` must not already exist; install the verified snapshot:
137+
`verified-deb-1.0.1` must not already exist; install the verified snapshot:
138138

139139
```bash
140140
bash /path/to/trusted-bundle/scripts/verify-native-release.sh \
141141
--bundle-dir /path/to/downloads \
142142
--trust-dir /path/to/trusted-bundle/release/trust \
143-
--artifact ShadowCode_1.0.0_amd64.deb \
144-
--stage-dir ./verified-deb-1.0.0 \
145-
--expect-version 1.0.0
146-
sudo apt install ./verified-deb-1.0.0/ShadowCode_1.0.0_amd64.deb
143+
--artifact ShadowCode_1.0.1_amd64.deb \
144+
--stage-dir ./verified-deb-1.0.1 \
145+
--expect-version 1.0.1
146+
sudo apt install ./verified-deb-1.0.1/ShadowCode_1.0.1_amd64.deb
147147
```
148148

149149
This manual Debian verification does not provide the AppImage installer's durable

‎docs/FLAGSHIP_IMPLEMENTATION.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ Baseline: `e371baaa4c690527173a322f7e0e1cfae4db329a`. Implementation branch: `fl
66

77
Current release checkpoint (September 30, 2026): **1.0.0 is published and installed** ([run 36677001772](https://github.com/Shadowfetchapps/ShadowCode/actions/runs/36677001772), attempt 2: all 15 gates, signing and publication passed from `e0ab265`; installed here with the authenticated installer over 0.34.2, settings and history kept; see [the 1.0 program](#10-program)). Earlier pending statements below describe their historical checkpoints. Broader physical desktop, GPU endurance and live provider lifecycle acceptance remain open.
88

9+
## 1.0.1 window fix
10+
11+
Checkpoint (September 30, 2026). Shadowfetch Linux 5.0 QA found two window defects in the installed 1.0.0 (KDE Plasma on Wayland, in a VM):
12+
13+
- **The window grew on every launch**, by about 52 px in width and 99 px in height (1380 px wide at the first launch, 1484 px at the third, then pinned to the top of the screen). On Wayland tao gives the window a GTK header bar (client-side decorations). `tauri-plugin-window-state` 2.4.1 saved the inner size from GTK's configure event, which includes the header bar and the shadow margins, and restoring it through `gtk_window_resize` added them again. The plugin now keeps every flag but `SIZE` (`window_size::REMEMBERED`): position, maximized, visibility, decorations and full screen are still restored. A size saved by 1.0.0 is ignored, so a window that already grew recovers at the next launch.
14+
- **The default window (1380x920) was larger than a 1366x768 screen**, so the composer and status bar sat under the panel. The main window (`create: false`, built in code) now takes its first size from the screen it opens on: at most 90% of the screen, never more than its work area, less 48 px for the title bar (on Plasma the panel and the header bar are 46 px each). That gives 1229x643 on 1366x768 and leaves 1380x920 unchanged on 1920x1080. A screen that cannot hold the 520x640 minimum opens the window maximized. GTK on Wayland names no primary monitor (`gdk_display_get_primary_monitor` returned none on this host) and lets the compositor place the window, so there the smallest screen counts. The size is set before the window exists and the plugin restores a saved maximized state afterwards, so the fit never undoes it.
15+
16+
Verification before tagging 1.0.1: `cargo test --workspace --locked` (as the `native-source` gate runs it) 1469 passed / 0 failed / 14 ignored, including 10 new `window_size` tests; clippy clean except vendored glib; UI 715 unit and 111 Playwright tests; release, publisher, signing, release-auth, installer and packaging script suites 300 tests (299 passed; one packaging-environment test skipped: no cached linuxdeploy) plus `test-install-appimage.sh`; `appstreamcli validate --strict` passes, and the widened trust policy parses with the verifier's own parser (same key and epoch, range 0.33.0–1.0.1). The debug binary under Xvfb, with private home, XDG directories and D-Bus so the window-state plugin was active, opened at 1229x643 centered on a 1366x768 screen in three launches in a row, with the position kept and no size saved; on 1920x1080 it opened at 1380x920 although a saved 1.0.0 state said 1484x1019. Not checked here: a Wayland launch (this host has no Weston or WebKitWebDriver), so the growth fix itself is to be confirmed on KDE Plasma (Wayland) in the Shadowfetch Linux 5.0 VM with the packaged 1.0.1.
17+
918
## 1.0 program
1019

1120
Checkpoint (September 29, 2026). The owner asked for 1.0.0: research the pain points people have with coding agents and fix them, "easy for anyone to use but advanced for real work". A survey of 32 pain points (8 already solved, 21 partly, 3 missing) set the scope. Work ran in two waves on `flagship/reliability-foundation`, each change with tests:

‎docs/RELEASE_AUTHENTICATION.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Publisher authentication contract
22

3-
The helpers in `scripts/native-release-auth.mjs` and `scripts/verify-native-release.sh` verify offline publisher signatures. They do not install, execute, download or publish an application, update trusted keys, or generate production keys. CI tests their behavior with disposable fixture keys. Public trust for 0.33.0–1.0.0 is tracked and the protected signing environment is configured. The installer uses these helpers before executing a candidate and explicitly refuses `--unverified`. [Version 0.33.1](https://github.com/Shadowfetchapps/ShadowCode/releases/tag/v0.33.1), published on September 28, 2026, is the first signed release.
3+
The helpers in `scripts/native-release-auth.mjs` and `scripts/verify-native-release.sh` verify offline publisher signatures. They do not install, execute, download or publish an application, update trusted keys, or generate production keys. CI tests their behavior with disposable fixture keys. Public trust for 0.33.0–1.0.1 is tracked and the protected signing environment is configured. The installer uses these helpers before executing a candidate and explicitly refuses `--unverified`. [Version 0.33.1](https://github.com/Shadowfetchapps/ShadowCode/releases/tag/v0.33.1), published on September 28, 2026, is the first signed release.
44

55
The Bash verifier loads `scripts/native-release-auth-lib.sh` from its own script directory. Keep both reviewed code files together in the trusted tooling bundle; do not obtain the library from the candidate download or source metadata as shell code. The installer uses the same reviewed routines for current candidates and signed historical receipts; it never sources release metadata as code.
66

@@ -85,7 +85,7 @@ Each key has an inclusive version range and exactly one epoch. Unknown keys, dif
8585

8686
For a reviewed rotation, distribute a new authenticated trust bundle with the new public key and higher minimum epoch/version. Retain the old public key with its historical version range only when needed to verify an existing accepted-state receipt. The internal history check may ignore current minimum floors, but it still verifies the old signature, identity, key epoch and historical key range. This exception is not exposed as an install-verification API. Deleting an old key outright can make old state unverifiable; the installer must then fail pending explicit migration, not erase the state or assume a fresh install.
8787

88-
The tracked `release/trust` bundle contains the public Ed25519 key with ID `f0c60ff8228314616985712f8918c9798c0ecf72b7271e19343a041c25663b7f`. Its epoch is 1, minimum version is 0.33.0, and its inclusive key range is 0.33.0–1.0.0. It authorizes no later version without a reviewed policy update. The private key is not distributed in the repository or installer bundle. Fixture keys remain temporary and separate. Public fingerprint distribution, custody and future rotation/revocation remain owner responsibilities.
88+
The tracked `release/trust` bundle contains the public Ed25519 key with ID `f0c60ff8228314616985712f8918c9798c0ecf72b7271e19343a041c25663b7f`. Its epoch is 1, minimum version is 0.33.0, and its inclusive key range is 0.33.0–1.0.1. It authorizes no later version without a reviewed policy update. The private key is not distributed in the repository or installer bundle. Fixture keys remain temporary and separate. Public fingerprint distribution, custody and future rotation/revocation remain owner responsibilities.
8989

9090
## Downgrade, replay and accepted state
9191

@@ -132,8 +132,8 @@ A separate publisher runner receives the signing job's immutable artifact ID and
132132
The workflow deliberately refuses missing owner configuration. The following records the 0.33.1 setup; recheck it before dispatching a release:
133133

134134
- The tracked `release/trust` public policy and key bundle must be included in the reviewed tooling commit and distributed through an authenticated channel. It contains public material only; no default fixture key is trusted.
135-
- Repository variable `NATIVE_RELEASE_TOOLING_COMMIT` must pin the exact 40-character reviewed and pushed commit containing the current gate definitions, signing/publisher code, public trust and release-appropriate notes. The reviewed pin for 0.33.1 was `e15c4480e65db5650af012bb2a9773dbe89acf84`; for 1.0.0 it is the tagged `v1.0.0` release commit (`v0.34.2` for 0.34.2). Never infer this pin from an unreviewed tag.
136-
- Repository variable `NATIVE_RELEASE_SIGNING_ENVIRONMENT` is set to `release-signing`. Its verified configuration requires the `Shadowfetchapps` User reviewer (ID `209457103`), allows self-review and retains GitHub's default administrator override. Its sole deployment rule allows the tag being released (`v1.0.0` for 1.0.0; `v0.34.2` and `v0.33.1` before). This is an owner-reviewed gate, not a two-person approval guarantee; a later release needs an explicit rule/policy update.
135+
- Repository variable `NATIVE_RELEASE_TOOLING_COMMIT` must pin the exact 40-character reviewed and pushed commit containing the current gate definitions, signing/publisher code, public trust and release-appropriate notes. The reviewed pin for 0.33.1 was `e15c4480e65db5650af012bb2a9773dbe89acf84`; for 1.0.1 it is the tagged `v1.0.1` release commit (`v1.0.0` for 1.0.0, `v0.34.2` for 0.34.2). Never infer this pin from an unreviewed tag.
136+
- Repository variable `NATIVE_RELEASE_SIGNING_ENVIRONMENT` is set to `release-signing`. Its verified configuration requires the `Shadowfetchapps` User reviewer (ID `209457103`), allows self-review and retains GitHub's default administrator override. Its sole deployment rule allows the tag being released (`v1.0.1` for 1.0.1; `v1.0.0`, `v0.34.2` and `v0.33.1` before). This is an owner-reviewed gate, not a two-person approval guarantee; a later release needs an explicit rule/policy update.
137137
- Environment secret `NATIVE_RELEASE_SIGNING_KEY_PEM` has been uploaded to `release-signing`. It is scoped to the signing environment, not repository-wide secrets or the build job. Its presence does not prove that a candidate has been signed.
138138

139139
Owner review of the release workflow/source and repository protections remains necessary: another authorized workflow could request the same environment secret. Local gate receipts are validated assertions, not independent attestations that an adversarial producer executed the commands. Workflow dependencies and exact artifact IDs bind the proposed job flow; local fixtures do not prove GitHub control-plane behavior. Remote checks are observations, not atomic compare-and-swap against independently authorized concurrent changes.

‎docs/RELEASE_NOTES.md‎

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,42 @@
1-
# ShadowCode 1.0.0
1+
# ShadowCode 1.0.1
22

3-
ShadowCode 1.0 is easy to start and ready for real work. New users get free
3+
ShadowCode 1.0.1 fixes the size of the window: it no longer grows each time
4+
it opens on Wayland, and it fits small screens. The 1.0.0 notes follow below.
5+
6+
## Fixed
7+
8+
- **The window keeps its size.** On Wayland desktops such as KDE Plasma, the
9+
window opened a little bigger every time (about 50 pixels wider and 100
10+
taller) until it no longer fit on the screen. ShadowCode now remembers
11+
where the window was and whether it was maximized, but not its size. If
12+
your window already grew, it opens at its normal size again.
13+
- **The window fits small screens.** On a 1366x768 screen the window used to
14+
be taller than the screen, so the composer and the status bar were hidden
15+
under the panel. The window now opens at a size that fits the screen, with
16+
room for the title bar and the panel. Larger screens still get the full
17+
size, a very small screen gets a maximized window, and a window you left
18+
maximized opens maximized.
19+
20+
## Download
21+
22+
`ShadowCode_1.0.1_amd64.AppImage`, `ShadowCode_1.0.1_amd64.deb` and
23+
`ShadowCode_1.0.1_appimage-runtime-sources.tar.gz`, with `SHA256SUMS`,
24+
`RELEASE-MANIFEST.json`, `RELEASE-AUTH` and `RELEASE-AUTH.sig`. Install the
25+
AppImage with the authenticated installer described in the
26+
[README](../README.md#install); the signature is checked before anything
27+
runs.
28+
29+
## Published 1.0.0
30+
31+
[ShadowCode 1.0.0](https://github.com/Shadowfetchapps/ShadowCode/releases/tag/v1.0.0)
32+
made ShadowCode easy to start and ready for real work. New users get free
433
models first, plain explanations when something fails and a glossary of the
534
words the app uses. Everyone gets approvals that explain themselves, secret
635
checks before anything leaves the computer, one rulebook for every agent,
736
second opinions from another model, spending limits, and tools for big
8-
projects. The 0.34.2 notes follow below.
37+
projects.
938

10-
## Easy to start
39+
### Easy to start
1140

1241
- **Free models first.** Until you connect a subscription, the model picker
1342
lists the free models on this computer first. Your code stays on your
@@ -24,7 +53,7 @@ projects. The 0.34.2 notes follow below.
2453
even for long shell commands and for Codex, Claude Code and the other
2554
subscriptions.
2655

27-
## Safe by default
56+
### Safe by default
2857

2958
- **No secrets by accident.** Commits, pushes and pull requests from
3059
ShadowCode are checked for keys, passwords and `.env` files first; you
@@ -40,7 +69,7 @@ projects. The 0.34.2 notes follow below.
4069
- **Always allow here** for the exact test and build commands you run all
4170
day, per project, and easy to take back.
4271

43-
## Ready for real work
72+
### Ready for real work
4473

4574
- **One rulebook for every agent.** Write your rules and skills once; they
4675
reach ShadowCode's own agent and every subscription CLI.
@@ -62,7 +91,7 @@ projects. The 0.34.2 notes follow below.
6291
from any branch, runs your setup commands, gets your `.env` and its own
6392
port.
6493

65-
## Reliable
94+
### Reliable
6695

6796
- **Your data is safe.** Back up, restore, repair or start over from
6897
Settings › Your data. Upgrades from every release since 0.28 are tested.
@@ -71,7 +100,7 @@ projects. The 0.34.2 notes follow below.
71100
turn fails; Rewind keeps files you saved during a subscription turn.
72101
- A stable, documented API for version 1.
73102

74-
## Download
103+
### Download
75104

76105
`ShadowCode_1.0.0_amd64.AppImage`, `ShadowCode_1.0.0_amd64.deb` and
77106
`ShadowCode_1.0.0_appimage-runtime-sources.tar.gz`, with `SHA256SUMS`,

0 commit comments

Comments
 (0)