diff --git a/CHANGELOG.md b/CHANGELOG.md index fd43aa6..77b0bb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,33 +2,41 @@ All notable changes to this project are documented here. -## Unreleased +## 0.2.5 — 2026-10-08 + +### Fixed + +- Agent Status and the native helper no longer show or try to resume Codex + Guardian reviewer / subagent sub-sessions, which could fill recent-task + slots and fail with "cannot resume a live Guardian reviewer" (reported by + Paweł Lipkowski). Internal threads are excluded in SQL from structured + metadata (`thread_source`, JSON `source.subagent`, `agent_path`, and + spawn-edge children) before the 12-row limit. A user chat titled + "Guardian" still appears. New Chat targeting uses the same user-facing + filter. +- Map a missing, locked, or incompatible Codex SQLite database to the + existing `UNSUPPORTED` availability state instead of throwing and blanking + keys. Health and `npm run doctor` report the store when it is unreadable. ### Changed -- Depend on `@elgato/streamdeck` 3.0.1. - Derive Model dial families from `models_cache.json` with the existing slug and reasoning allow-list, falling back to Luna, Terra, Sol, and Astra when the cache is missing. - Prefer `state_5.sqlite` and fall back to the highest-numbered `state_*.sqlite` when that default file is absent. +- Depend on `@elgato/streamdeck` 3.0.1. Pin `brace-expansion` to a patched + override and update `fast-uri` so `npm run audit:full` and production High + audits pass. - Keep `test:fast` free of native helper spawns, including the Astra picker fixtures. -### Fixed +### Validation -- Pin `brace-expansion` to a patched override and update `fast-uri` so - `npm run audit:full` and production High audits pass. -- Map a missing, locked, or incompatible Codex SQLite database to the - existing `UNSUPPORTED` availability state instead of throwing and blanking - keys. Health and `npm run doctor` report the store when it is unreadable. -- Agent Status no longer lists Codex Guardian / Guardian2 reviewer - sub-sessions, which could fill the recent-task slots and fail with - "cannot resume a live Guardian reviewer". Internal threads are excluded - in SQL from structured metadata (`thread_source`, JSON `source.subagent`, - `agent_path`, and spawn-edge children) before the 12-row limit. A user - chat titled "Guardian" still appears. New Chat targeting uses the same - user-facing filter. +- Added regression fixtures for Guardian sub-session exclusion, SQLite + fail-closed reads, and cache-derived model families. +- Audited all five bundled device profiles; generated sources match their + canonical layouts without changes. ## 0.2.4 — 2026-09-05 diff --git a/com.todd.streamdeckcodex.sdPlugin/manifest.json b/com.todd.streamdeckcodex.sdPlugin/manifest.json index d68db98..d9d6551 100644 --- a/com.todd.streamdeckcodex.sdPlugin/manifest.json +++ b/com.todd.streamdeckcodex.sdPlugin/manifest.json @@ -258,5 +258,5 @@ "SupportURL": "https://github.com/twidtwid/streamdeckcodex/issues", "URL": "https://github.com/twidtwid/streamdeckcodex", "UUID": "com.todd.streamdeckcodex", - "Version": "0.2.4.0" + "Version": "0.2.5.0" } diff --git a/package-lock.json b/package-lock.json index 0bebc04..49b3279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "streamdeck-codex-companion", - "version": "0.2.4", + "version": "0.2.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "streamdeck-codex-companion", - "version": "0.2.4", + "version": "0.2.5", "license": "MIT", "dependencies": { "@elgato/streamdeck": "3.0.1" diff --git a/package.json b/package.json index 4e1b40d..9b6cef9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "streamdeck-codex-companion", - "version": "0.2.4", + "version": "0.2.5", "private": true, "type": "module", "description": "Independent Stream Deck companion for the Codex desktop app.",