Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
ec4797d
fix(launcher): pilot rehearsal findings F1, F3, F4, F8, F9
Oct 16, 2026
a66f7eb
fix(memory): public installs keep Space Memory in space_memory*.md (p…
Oct 16, 2026
dfbfb91
feat(cli-image): python3-minimal in the CLI image (pilot F18)
Oct 16, 2026
1f87a6d
chore(claude): pin Claude Code 2.1.301 (pilot F11)
Oct 16, 2026
81b7da4
release: prepare 1.1.6 (re-cut with the session revocation fixes: two…
Oct 17, 2026
50f2116
fix(launcher): restore hints quote workspace paths plainly (Windows p…
Oct 17, 2026
d70f8d2
feat(cli): the CLI container allows user namespaces so Codex sandboxe…
Oct 17, 2026
3deed57
fix(launcher): staged installs and updates write the CLI seccomp prof…
Oct 17, 2026
3f1f528
release: prepare 1.1.6 (re-cut on stable 732e9f3a78 with the session …
Oct 17, 2026
1a61216
docs: the CLI container's user-namespace profile and its Ubuntu limit…
Oct 17, 2026
ca0128a
fix(cli): the user-namespace profile only where the host allows user …
Oct 17, 2026
36ba101
feat(launcher): one CLI container per SpaceApp user (multi-user step …
Oct 17, 2026
66b79c9
fix(launcher): each user's CLI container gets its own network
Oct 17, 2026
c824823
feat(launcher): a restore names the users and their workspaces to add…
Oct 17, 2026
87a399e
fix(launcher): users' restore hints quote workspace paths plainly
Oct 17, 2026
d315fcc
feat(launcher): users' CLI containers get the user-namespace profile …
Oct 17, 2026
b9889f0
fix(launcher): users' CLI containers get the user-namespace profile o…
Oct 17, 2026
0fb9462
feat(launcher): backups keep each user's CLI settings and Space Memor…
Oct 17, 2026
3b94ae9
feat(launcher): user add waits until the user's CLI host answers; pro…
Oct 18, 2026
8f5542a
fix(launcher): user restore takes the newest backup that has the user…
Oct 18, 2026
478eb86
docs(launcher): team accounts in operations.md (user commands, --user…
Oct 18, 2026
d536d42
docs(launcher): team account commands in the README's common commands…
Oct 18, 2026
ebe8ff5
Merge Cody's 1.1.6 launcher work: pilot fixes F1/F3/F4/F8/F9/F11/F13/…
Oct 18, 2026
3ccad66
release: prepare 1.1.6 (re-cut on stable d2aa8e824d with Cody's launc…
Oct 18, 2026
2f1f2b4
fix(tests): three public-suite tests that need private host files sta…
Oct 18, 2026
23b96cf
fix(tests): the Design pane contracts test imports the Media Studio e…
Oct 18, 2026
b44a4eb
fix(export): the optional-modules test counts optionalModuleIds (the …
Oct 18, 2026
e2be6ab
release: prepare 1.1.6 (re-cut on stable f8803d5d96: Cody's launcher …
Oct 18, 2026
bd3ffdc
test(release): record 1.1.6 acceptance for e2be6ab (source f8803d5d96…
Oct 18, 2026
b088389
release: 1.1.6-only Zen exception in the release evidence check (oper…
Oct 19, 2026
14117da
test(release): record 1.1.6 acceptance for b088389 (all results execu…
Oct 19, 2026
73237e2
Merge upstream main into SpaceApp #181 validation candidate (preserve…
1932819331hy-debug Oct 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ jobs:
working-directory: ${{ runner.temp }}/spaceapp-public-export
run: npm ci

- name: Install ripgrep (the file search tests run the real rg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep
- name: Install ripgrep and ffmpeg (the file search tests run the real rg, the Nous attachment tests make media with ffmpeg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep ffmpeg

- name: Public release tests
working-directory: ${{ runner.temp }}/spaceapp-public-export
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ jobs:
working-directory: ${{ runner.temp }}/spaceapp-public-export
run: npm audit --audit-level=high

- name: Install ripgrep (the file search tests run the real rg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep
- name: Install ripgrep and ffmpeg (the file search tests run the real rg, the Nous attachment tests make media with ffmpeg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep ffmpeg

- name: Test candidate
working-directory: ${{ runner.temp }}/spaceapp-public-export
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ jobs:

- run: npm ci
- run: npm audit --audit-level=high
- name: Install ripgrep (the file search tests run the real rg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep
- name: Install ripgrep and ffmpeg (the file search tests run the real rg, the Nous attachment tests make media with ffmpeg)
run: sudo apt-get update -qq && sudo apt-get install -y -qq ripgrep ffmpeg

- run: npm run test:public
- run: npm run public:export:verify
Expand Down
27 changes: 24 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,27 @@ Semantic Versioning.

## [Unreleased]

## [1.1.6] - 2026-10-16
## [1.1.6] - 2026-10-18

Source: sanitized Space app @ eebf761963 (4362 files). Adds install telemetry
Source: sanitized Space app @ f8803d5d96 (4595 files). Adds install telemetry
for owners who opt in and the remaining fixes from the independent reviews of
1.1.5; open items are listed in `docs/quality/KNOWN_LIMITATIONS.md`.

### Pilot rehearsal fixes and team accounts

- Codex sandboxes each command in the CLI container (Docker's default seccomp
profile plus user namespaces, no AppArmor profile) on Docker Desktop and on
Linux hosts that allow unprivileged user namespaces. Ubuntu 23.10 and later
restrict them, so there the container keeps Docker's defaults and Codex still
asks before each command.
- `restore` prints workspace paths in plain quotes (Windows paths no longer show
doubled backslashes).
- Team accounts, off until the owner runs `user enable`: each invited user gets
a CLI container of their own (own keys, logins, Space Memory and workspaces),
`credentials set`, `workspace add` and `provider install` take `--user`, and
backups keep each user's CLI settings and Space Memory. See "Team accounts" in
`docs/operations.md`.

### Telemetry (only after the owner answers Yes)

- The install wizard lists what telemetry sends before it asks; the default is
Expand All @@ -28,7 +43,13 @@ for owners who opt in and the remaining fixes from the independent reviews of

### Security

- WebSocket handshakes (VNC stream, shared chat) check the Origin.
- A signed-out session token can no longer be reused: session tokens must have
exactly two segments, so a revoked token with an extra segment is refused.
- Session revocations fail closed until the saved ones are loaded after a
restart, and sign-out reports an error when the revocation could not be saved.
- WebSocket handshakes (VNC stream, shared chat, harness) check the Origin.
- Stored database passwords need a full 16-byte authentication tag, and the
Admin Mode delete guard also compares real paths.
- The app is sent with `frame-ancestors 'self'`, `object-src 'none'` and
`X-Frame-Options: SAMEORIGIN`.
- Every API child process, including the Space screenshot engine, starts
Expand Down
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,11 @@ COPY --chown=root:root starter-memory/AGENTS.md /etc/AGENTS.md
COPY --chown=root:root starter-memory/installation-guide.md /etc/spaceapp-installation-guide.md
RUN chmod 0644 /etc/AGENTS.md
ARG TARGETARCH
RUN npm install --global --no-audit --no-fund opencode-ai@1.18.4 \
# python3-minimal (about 13 MB): agents often check their work with a short python3 script (pilot F18).
RUN apt-get update \
&& apt-get install -y --no-install-recommends python3-minimal \
&& rm -rf /var/lib/apt/lists/* \
&& npm install --global --no-audit --no-fund opencode-ai@1.18.4 \
&& install -d -o spaceapp -g spaceapp -m 0700 /var/lib/spaceapp-cli/vendor \
&& npm cache clean --force \
&& install -d -o spaceapp -g spaceapp -m 0700 \
Expand Down
Loading
Loading