6488 Commits
Author SHA1 Message Date
Armin Ronacher d5475a3ccd chore: merge main into codemode 2026-09-22 15:43:38 +02:00
Mario Zechner d201760ffe Merge remote-tracking branch 'origin/main' 2026-09-22 13:56:53 +02:00
Mario Zechner 8158b03213 feat(durable): add versioned document storage
Replace persisted inputs with strict input and passive-write submissions. Add atomic document bases, deltas, historical reads, reincarnation, reclamation, and indexed memory queries.
2026-09-22 13:54:50 +02:00
Ramiz Wachtler 95fbc04997 docs(coding-agent): update changelog with --mode validation fix (#9877) 2026-09-22 08:40:15 +02:00
Ramiz Wachtler e40126f578 fix(coding-agent): reject invalid --mode values
fixes #9045
2026-09-22 08:29:57 +02:00
Armin Ronacher 1a584a7a56 feat(ai,coding-agent): add Grok 4.7 support 2026-09-22 00:07:34 +02:00
David Brailovsky 1b6ddca87c fix(ai): omit empty text parts from multimodal user messages
Prevent OpenAI-compatible providers from rejecting image-only prompts.

Fixes #9797
2026-09-21 21:48:11 +02:00
Armin Ronacher 4c8eb393c7 Add [Unreleased] section for next cycle 2026-09-21 18:31:58 +02:00
Armin Ronacher 16787ad5b2 Release v0.87.0 v0.87.0 2026-09-21 18:31:52 +02:00
Armin Ronacher eaf72ed4d8 fix(coding-agent): update stale test expectations 2026-09-21 18:26:29 +02:00
Armin Ronacher 7f06f9cf16 docs(coding-agent): complete unreleased changelog 2026-09-21 17:22:53 +02:00
Ramiz Wachtler 8c72793785 fix(tui): prevent jump-to-end label from shifting when scrollbar hides (#9842)
- center the label independently of scrollbar visibility
- clip drawing and click bounds before the scrollbar
- fixes #9136
2026-09-21 17:16:06 +02:00
Armin Ronacher aef5fc429b fix(coding-agent): keep prompt and tool state across context handlers (#9846)
Since 0.86 the prompt and tool declarations live in transcript system
messages, so a context handler that filters or slices messages could drop
them. After extension-driven compaction this sent requests without built-in
tools and made Codex emit raw tool-call text.

context handlers now see the conversation only. An unchanged list keeps the
transcript as is; a changed list gets the replayed prompt sections and tool
declarations as one leading system message. Handler-added system messages
are kept after it.

Add context_with_system, which runs after every context handler on the full
transcript and sends its result verbatim, for extensions that need to edit
system messages per request. Dropping the leading system message is reported
as an extension error.

closes #9789, closes #9822
2026-09-21 17:14:22 +02:00
Mario Zechner 466db0fecd feat: add canonical session context boundaries
Make SessionManager projections authoritative for provider requests, add append-only context edits and actionable turn boundaries, and preserve existing queue scheduling during continuation and recovery.
2026-09-21 16:59:20 +02:00
Mario Zechner 10d1ad621f feat: add transactional replicated state 2026-09-21 16:07:59 +02:00
Armin Ronacher 9ac95c7151 docs(coding-agent): audit unreleased changelog 2026-09-21 16:03:40 +02:00
Christian KlotzandGeet Khosla b6419322e6 fix(coding-agent): report invalid prompt frontmatter (#9830)
Fixes #9354

Co-authored-by: Geet Khosla <geetkhosla@gmail.com>
2026-09-21 15:22:17 +02:00
Christian Klotz 1e0fe20497 fix(coding-agent): allow offline bug report exports (#9841) 2026-09-21 14:54:57 +02:00
Armin Ronacher c7cdb460aa fix(coding-agent): reject bug reports offline 2026-09-21 10:49:12 +02:00
David Brailovsky 47a18e37b1 fix: require complete GIF image signatures
Require GIF87a or GIF89a headers to avoid classifying text files beginning with GIF as images.

Fixes #9755
2026-09-21 10:30:42 +02:00
Armin Ronacher 8bfef4de88 fix(ai): update strict mode test expectations 2026-09-21 09:39:21 +02:00
Armin Ronacher 890f920884 fix(ai): default unknown providers to non-strict tools (closes #9816) 2026-09-21 01:14:53 +02:00
Armin Ronacher 63787ee6ba feat(coding-agent): identify extensions in crash stacks 2026-09-21 01:00:43 +02:00
Armin Ronacher f5c946480c feat(ai,coding-agent): add image input limits (closes #9631) 2026-09-20 22:59:16 +02:00
Armin Ronacher 3390bd9363 fix(coding-agent): skip late cache warming refreshes 2026-09-20 15:53:22 +02:00
Armin Ronacher 19451accde Add [Unreleased] section for next cycle 2026-09-20 13:04:18 +02:00
Armin Ronacher 13cbf77df2 Release v0.86.1 v0.86.1 2026-09-20 13:04:11 +02:00
Armin Ronacher 68f98022e3 docs: audit Cerebras fix changelog entries 2026-09-20 13:00:29 +02:00
Armin Ronacher 199160a6a8 docs(coding-agent): document inherited z.ai overflow fix 2026-09-20 13:00:00 +02:00
EdenGottlieb af7359b904 fix(ai): exclude Cerebras from supportsStrictMode (#9804)
Make strict mode as unsupported in cerebras, as mixed strict/unstrict tool usage doesn't work (400 from API), and extensions may define both strict and unstrict tools
2026-09-20 12:52:18 +02:00
Armin Ronacher 0e283203c7 fix(ai): detect z.ai prompt-too-long errors
closes #9805
2026-09-20 12:46:49 +02:00
Armin Ronacher 6dff740fab fix(coding-agent): restore OSC 52 clipboard fallback for headless sessions
3349e1db1 (#9618) limited OSC 52 to SSH/mosh so a desktop terminal that ignores
it no longer reports a false success. That also disabled the only clipboard
route for containers and WSL without WSLg, which have no display to gate on.

Emit OSC 52 again on display-less Linux. On WSL, write the Windows clipboard
through PowerShell (verified, no OSC 52 size cap), preferring OSC 52 in
Windows Terminal where it is known to work. Desktop sessions with a display
still report the failure.

closes #9688
2026-09-20 12:42:15 +02:00
Armin Ronacher ee2df312e5 docs: audit post-release changelog entries 2026-09-20 12:15:11 +02:00
Armin Ronacher d875512cc4 fix(coding-agent): suppress bug hints for expected failures 2026-09-20 12:06:14 +02:00
Armin Ronacher 60740991c0 feat(coding-agent): cache compiled Node CLI modules 2026-09-20 12:06:14 +02:00
Alexey Zaytsev b73412a378 feat(ai,coding-agent): add Meta provider with Muse subscription OAuth (#9096)
Device authorization flow against auth.meta.com mints a Model API key via the Muse Code key-mint endpoint. Identity token stored as refresh, minted key as access; daily re-mint via the standard OAuth scheduler. Identity is non-renewable (no refresh grant), so mint 401/403 directs to /login meta. Models sourced from models.dev; default muse-spark-1.3.
2026-09-20 11:13:43 +02:00
Armin Ronacher d1230ea200 fix(coding-agent): preserve multiline bug descriptions 2026-09-20 01:40:27 +02:00
Armin Ronacher 50d766cba2 Add [Unreleased] section for next cycle 2026-09-20 01:00:48 +02:00
Armin Ronacher ecac0a9c4e Release v0.86.0 v0.86.0 2026-09-20 01:00:41 +02:00
Armin Ronacher 12032deb70 docs: complete unreleased changelog audit 2026-09-20 00:55:19 +02:00
Armin Ronacher dd01f5b240 fix(coding-agent): speed up recent session discovery 2026-09-20 00:50:10 +02:00
Armin Ronacher dfbf793b78 feat(coding-agent): load session picker progressively 2026-09-20 00:48:26 +02:00
梧桐雨andArmin Ronacher 21b8cc1a4b fix(coding-agent): ignore stale tool image conversions (#8743)
Co-authored-by: Armin Ronacher <armin.ronacher@active-4.com>
2026-09-20 00:38:42 +02:00
Armin Ronacher 803f0e906d fix(tui): preserve fullscreen images in WezTerm
closes #9169
2026-09-20 00:25:51 +02:00
初心Yearth d7951ec362 fix(tui): rank skill autocomplete by bare name (#9120) 2026-09-20 00:25:43 +02:00
Armin Ronacher b7f7881949 fix(coding-agent): await terminal remote prompt event 2026-09-19 23:33:02 +02:00
Armin Ronacher fa0e1f48ac fix(tui): improve LaTeX compatibility and layouts
closes #8827
2026-09-19 23:28:04 +02:00
Armin Ronacher 40c256cccb feat(coding-agent): defer extension loader dependencies
Load ordinary jiti lazily on Node while retaining jiti/static for Bun and SEA binaries. This closes #9540.
2026-09-19 23:25:47 +02:00
xu0o0 bfa6862400 fix(tui): handle CJK punctuation in file autocomplete (#9746) 2026-09-19 21:53:26 +02:00
Armin Ronacher c596d09d9c feat(coding-agent): add prompt cache warming (#9668) 2026-09-19 21:18:15 +02:00