This release adds the native Knowledge Library (Memory App), introduces duplicate candidate detection during plan creation, updates Ivy framework dependencies to version 1.3.17, adds diff viewer total line count indicators in a single right-aligned row, and enhances process execution and UTF-8 stream decoding on Windows.
Features & Improvements
- Knowledge Library & Memory App - Introduced native Memory App with file explorer, interactive node-based graph view, and AI-assisted memory updates (\�w status, \�w read, \�w update).
- Diff Viewer Total Line Counts - Formatted total additions (+) and deletions (-) as a single, non-wrapping row in the diff viewer toolbar right-aligned alongside the Agent Review button.
- Duplicate Plan Candidate Detection - Added \DuplicateCandidateFinder\ to surface plan title overlap during plan creation and revision writing, preventing duplicate plan creation.
- Ivy Framework Upgrade (1.3.17) - Updated core Ivy framework package dependencies to version 1.3.17 across all Tendril projects.
- UTF-8 Output & Mojibake Prevention - Forced UTF-8 encoding on process streams and piped stdin to prevent text corruption and Windows mojibake.
- Verification & Partial Delivery Guards - Added runtime verification checks and partial delivery detection before completing plans.
- Job Timeout & Config Safety - Added \ConfigFileLock\ serializing concurrent configuration writes and dynamic job timeout watchdogs.
Bug Fixes
- Diff Header Background - Added solid backing to sticky diff headers to prevent scrolling diff content from bleeding through.
- Secondary Instance Job Duplication - Fixed secondary instance master checks to avoid duplicating running jobs.
- Audio & Microphone Detection - Added feature detection for desktop audio/microphone permissions and stubbed jsdom AudioContext in test runners.
What's Changed
- feat(memory): implement native memory feature and Knowledge Library app by @rorychatt in #1855
- feat(plans): surface DuplicateCandidates at plan create and plan write-revision by @rorychatt in #1859
- fix(plans): block Review to Completed when a verification failed by @rorychatt in #1861
- fix(config): serialize config writes with ConfigFileLock by @rorychatt in #1862
- fix(process): decode agent stdout as UTF-8 to prevent mojibake by @rorychatt in #1868
- fix(cli): restore redirected std handles after AttachConsole by @rorychatt in #1869
- feat(diff): render markdown in diff comment preview tab by @rorychatt in #1870
- feat(desktop): feature detect microphone support and grant it in desktop bundle by @rorychatt in #1871
- fix(diff): fix Add Comment in diff view using eventHandler prop by @rorychatt in #1872
- feat(diff): show total added and removed line counts in one row in diff viewer by @rorychatt in #1873
- fix(health): fix false Not Authenticated reports for OpenCode and Gemini by @rorychatt in #1874
- feat(chat): collapse command output into one group in chat viewer by @rorychatt in #1875
- feat(dialogs): add ContentInput with file attachments to UpdatePlan dialog by @rorychatt in #1876
- fix(jobs): apply job timeout changes to already running jobs by @rorychatt in #1877
- Release: Merge development into main for v1.1.26 by @rorychatt in #1913
Full Changelog: v1.1.25...v1.1.26