v0.7.0latest
Aug 15, 2026
Release notes
v0.7.0
Styled documents across every format, research that stays on topic and finishes the job, and a smoother chat surface — with desktop installers for macOS, Windows, and Linux.
Highlights
- Styled documents, every format. The docstyle theme kit is now ported into the app (
documents/theme/): four themes (professional, academic, vibrant, informal) with palette, font pair, type scale, and margins, auto-selected from the content's tone. Applies to docx, pptx, and xlsx alike — pptx also gets a real layout engine (cover/section/content/closing slides, with card/bullet/prose/table bodies) in place of the old one-title-box-plus-one-body-box output. - Tool arguments get coerced, not rejected.
generate_documentnow normalizes whatever shape a local model sends: format aliases ("Presentation" → pptx, "Word" → docx, "Excel" → xlsx), JSON-string content, and arrays of slide objects are all handled before the content guard runs. A model that used to fail four times and tell you to paste markdown into PowerPoint by hand now just produces the file. - Research no longer bleeds into a new chat. Fixed a Chroma recall bug where unrelated history always scored above zero and got injected as "reference" context — a fresh chat could silently inherit the previous chat's topic and even its output format. Recall now enforces a similarity floor, and naming a format explicitly ("make a PPT") pins the file type so the model can't swap it mid-turn.
- No more silent stalls on deep research. A hard tool-round cap used to end long research turns with an empty "(stopped before any reply)" bubble. A tool-free final-answer pass now forces a written reply once the cap is hit. Repeated searches, duplicate fetches, and DuckDuckGo rate-limit responses are recognized and deflected instead of retried forever.
- Clickable sources. Links in chat and the activity trail now render as real anchors and open in your default browser — previously any
target="_blank"link, including chat markdown links, opened inside a bare, chrome-less Electron window. - Smoother chat surface. The composer grows with what you type instead of scrolling inside two fixed lines, and the message log now tracks new content through markdown swaps, image loads, and file cards resolving — not just snapping to bottom on append.
- Preview generated files from any chat. Files created in a standalone (non-project) chat can now be opened in-app — PDF, Markdown, DOCX, and PPTX preview — instead of only offering "Show in folder."
Fixes
- External links from chat, the activity trail, and OAuth callback pages now open in the system browser; the app window itself can no longer be navigated away from its own UI.
- "(stopped before any reply)" no longer occurs after a long research turn that hit the tool-round cap.
- Repeated web searches and re-fetches of the same URL within a turn are recognized and short-circuited instead of silently repeating.
- "No results found." from DuckDuckGo rate-limiting is now identified as throttling (with a fallback endpoint and backoff) rather than reported as a real empty result.
What's new and internals
documents/theme/{tokens,detect,index}.ts,pptx-layout.ts,pptx-render.ts,docx-style.ts,xlsx-style.ts.documents/normalize.ts(normalizeFormat,toMarkdown) called ahead ofassertDocumentContentOrThrowindocuments/index.ts.memory.ts/context.ts:MIN_SCOREfloors (0.45 / 0.4) on Chroma recall, reworded reference-only header.intent.detectExplicit()+wantedFormatthreaded throughipc.ts,agents/workers.ts, andtools/exec.tsto pin an explicitly-named format.final-answer.ts(MAX_TOOL_ROUNDS,needsFinalAnswer,finalAnswerPrompt);tools/search-budget.ts(query fingerprinting,MAX_SEARCHES_PER_TURN);tools/exec.tsURL dedupe viacontext.fetchedUrls;web-search.tsmulti-endpoint DDG fallback with backoff.renderer/js/linkify.ts, rendered throughrail/progress.tsandactivity-trail.ts;main.tsgainedsetWindowOpenHandler+will-navigatehandling.renderer/js/autoscroll.ts(MutationObserver + ResizeObserver, follow/pin state) andcomposer-autogrow.ts(measured height floor/ceiling, frame-deferred first measurement).project-files.ts:readGenerated/previewGeneratedFile;file-cards.ts: preview gated on file type rather than project membership, viaopenGeneratedViewer.
Downloads
| Platform | Asset |
|---|---|
| macOS (Apple Silicon) | AnyLM-0.7.0-arm64.dmg |
| macOS (Intel) | AnyLM-0.7.0.dmg |
| Windows (x64) | AnyLM-0.7.0-x64-setup.exe |
| Windows (ia32) | AnyLM-0.7.0-ia32-setup.exe |
| Linux (x64) | AnyLM-0.7.0.AppImage |
Also on the site: anylm.app/download — it reads this release's assets via the GitHub API.
Upgrade notes
- No migration required. Existing chats, projects, and settings are read as-is.
- Document theme is auto-detected from content tone; it is not exposed as a model-facing parameter, so behavior for existing
generate_documentcallers is unchanged unless the model previously sent malformedformat/content(which now succeeds instead of failing). - If you lean on cross-chat memory recall, the new similarity floor means unrelated topics should no longer surface — a very sparse project may recall less than it did before.
- Existing installs that use electron-updater will pick up
latest*.ymlfrom this release when auto-update is enabled. - Builds are unsigned unless Apple/Windows code-signing secrets are configured; macOS may need a one-time System Settings → Privacy & Security → Open Anyway approval on first launch.
Full Changelog: https://github.com/workvar/AnyLM/compare/v0.6.0...v0.7.0
macOS
Windows