Skip to content

Commit e3ff82d

Browse files
committed
release: v0.31.0 notes and announcement
1 parent a91f87d commit e3ff82d

2 files changed

Lines changed: 45 additions & 4 deletions

File tree

.alfonso/release-notes/v0.31.0.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# v0.31.0
2+
3+
Feature release: a new `/ctx-wrapup` command for compacting history on demand, notes in `ctx_search`, sturdier project identity on flaky git setups, and a simplified reduction configuration.
4+
5+
## New
6+
7+
### /ctx-wrapup: compact older history on demand
8+
`/ctx-wrapup [messages_to_keep]` runs the historian forward over your live history right away, keeping only the newest N raw messages (default 20, counting every message: yours, the assistant's, and tool results). Everything older is summarized into compartments. The cut never splits an in-flight tool exchange and prefers to land on one of your messages.
9+
10+
Use it before switching from a large-context model to a smaller one: the compacted history is queued and materializes on your next message, and a model switch applies it at no extra cost. If you want it applied immediately instead, run `/ctx-flush` first.
11+
12+
While it runs, OpenCode's TUI shows a live Wrapup progress bar in the sidebar; OpenCode Desktop posts a start notice and the result in the chat; Pi reports per-chunk status messages. `/ctx-recomp` and `/ctx-session-upgrade` wait their turn while a wrapup is active (and the other way around), including across multiple processes sharing the same database.
13+
14+
### ctx_search now covers your notes
15+
Notes taken with `ctx_note` (including smart notes) are now a search source alongside memories, message history, git commits, and compartments. Results show the note's status and age; notes from the current session carry a `@msg N` anchor the agent can expand for surrounding context.
16+
17+
## Improved
18+
19+
### Project identity survives flaky git
20+
Project-scoped memory is keyed by a git-derived project identity. Several failure modes could previously split or flip that identity:
21+
22+
- A git timeout on a slow disk, or a `dubious ownership` refusal, disabled Magic Context for the session or split memory under a directory-based fallback identity. Both now fall back gracefully, and once a session has resolved its real git identity, transient git failures keep using it instead of flipping.
23+
- Working in a subdirectory during a transient failure now reuses the repository's identity rather than minting a separate one.
24+
- Symlinked checkouts are now detected as git repositories.
25+
- `dubious ownership` produces a one-time warning with the exact `git config --global --add safe.directory` fix.
26+
27+
### Doctor checks the local embedding runtime more safely
28+
The CLI doctor now probes whether `onnxruntime-node` actually loads (not just whether its files exist), and runs that probe in a separate process so a broken native binding cannot crash the doctor itself.
29+
30+
## Changed
31+
32+
### ctx_reduce_enabled removed
33+
Agent-controlled reduction is now always on; the `ctx_reduce_enabled` setting is gone. If your config still contains it, the key is ignored harmlessly. Caveman text compression, which was previously tied to that flag, is now controlled solely by `caveman_text_compression.enabled` (still off by default, and never applied to subagents).
34+
35+
## Fixes
36+
37+
- The TUI sidebar no longer shows a Facts row (facts were folded into project memories in v2; the row was always 0).
38+
- Pi: disabling `caveman_text_compression` now also stops replaying compression persisted by earlier passes.
39+
- Pi: a transient search timeout no longer suppresses automatic search hints for the rest of the turn.
40+
- A number of internal hardening fixes around the new wrapup command's concurrency (durable run marker with self-expiry, crash recovery on restart, and safe interleaving with the automatic historian), prompt-cache stability under multi-process contention, and the compaction-marker advance on Pi.

packages/plugin/src/shared/announcement.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,17 @@ import { getMagicContextStorageDir } from "./data-path";
2424
* Bump only when there are user-visible changes worth a startup dialog.
2525
* Does NOT need to match the published package version.
2626
*/
27-
export const ANNOUNCEMENT_VERSION = "0.30.4";
27+
export const ANNOUNCEMENT_VERSION = "0.31.0";
2828

2929
/**
3030
* Short, user-facing bullet strings. Keep each line ~80 chars or shorter so the
3131
* TUI dialog renders cleanly without horizontal scroll on a typical terminal.
3232
*/
3333
export const ANNOUNCEMENT_FEATURES: ReadonlyArray<string> = [
34-
"Pi: fixed historian and dreamer failing when your model comes from a provider extension (Antigravity, Anthropic OAuth, etc.). Subagents now load your extensions.",
35-
"Pi: fixed the retrospective and refresh-primers dreamer tasks reading sessions through the wrong API.",
36-
"OpenCode: the plugin no longer re-adds its TUI sidebar entry on startup, so removing it from tui.jsonc now sticks.",
34+
"New /ctx-wrapup command: compact older history on demand, keeping the newest N messages raw. Run it before switching to a smaller-context model.",
35+
"ctx_search now also searches your session notes and smart notes.",
36+
"Project identity now survives transient git failures (slow disks, dubious ownership) without splitting your project memory.",
37+
"Removed the ctx_reduce_enabled setting; agent-controlled reduction is always on. Caveman text compression is now independent (caveman_text_compression.enabled).",
3738
];
3839

3940
/**

0 commit comments

Comments
 (0)