Skip to content

Commit 3835d2a

Browse files
committed
Finalize changelog for 0.3.19
1 parent 9c3ef6a commit 3835d2a

1 file changed

Lines changed: 25 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
1313

1414
## [Unreleased]
1515

16+
## [0.3.19] - 2026-09-10
17+
1618
### Security
1719

1820
- Reactor-gated tool middleware still blocks policy denials. A `decide()` deny
@@ -22,6 +24,12 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
2224
not a second copy of `env.authorize`: it consumes the prior verdict when the
2325
same call (id, name, and arguments) is cached, and decides on a cache miss.
2426

27+
### Added
28+
29+
- `run_shell` can return immediately with a `shell_id` when `background` is
30+
true, so long commands do not hold the parent turn. Collect or cancel later
31+
with `shell_collect`.
32+
2533
### Fixed
2634

2735
- The slash menu exposes `/mcp` only. `/mcps` is no longer an alias for
@@ -56,13 +64,24 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
5664
- Leftover exec dispose is reported as a failed run (stderr + status failed), and
5765
parent toolset dispose finishes remaining workers and posix teardown before
5866
surfacing leftover-child failure.
67+
- MCP OAuth tokens persist after browser auth across overlapping session
68+
writes. Sibling `resetAuthorization` does not wipe tokens another session
69+
just saved.
70+
- MCP authorization recovery no longer loops reconnects after a failed or
71+
timed-out browser re-auth.
72+
- OAuth callback servers bind ephemeral ports and re-read disk state across
73+
MCP sessions so stale ports and in-memory token copies cannot collide.
74+
- Rate-limit retries honor the Retry-After header and the terminal message
75+
names the wait.
76+
- Parked director questions wake the parent so `ask_director` does not stall
77+
behind an idle orchestrator.
78+
- Occupancy resumes the parent when the fleet goes dry with open tasks.
5979

6080
### Changed
6181

6282
- oxfmt formats the tree and oxlint is the lint gate. Prettier and ESLint are
6383
gone. Dummy CI job names `prettier` and `eslint` stay for protect-main.
6484
Empty functions and non-null assertions are errors.
65-
6685
- Skywalker may spawn one successor with a changed brief after a failed or
6786
incomplete-report fleet worker. A parent-initiated interrupt
6887
(`stop_reason: interrupted`) is a resumable pause — `resume_agent` or
@@ -71,6 +90,11 @@ parallel copies under `docs/` or `scripts/notes/`. At cut time: rename
7190
stay refused at the prompt / spawn-handoff layer. `wait_agents` JSON
7291
includes `stop_reason` so interrupt vs cancelled vs incomplete-report stay
7392
distinct. This reverses the 0.3.15 fail-path idle, not operator-cancel.
93+
- Session git and workflow lifecycle run outside the TUI. The shell renders
94+
state and forwards commands; the native workflow host owns child execution.
95+
- The test suite drops content-pin and cosmetic assertions, closes coverage
96+
gaps on load-bearing paths, and CI shards the same path union for faster
97+
feedback.
7498

7599
## [0.3.18] - 2026-09-08
76100

0 commit comments

Comments
 (0)