Repository navigation
Releases
Lattice v0.15.5
Highlights since 0.15.4
- Every Overleaf project you can open. The import list shows all your Overleaf projects in Overleaf's own order with each owner, plus invitations you have not accepted yet, with Open invitation. You can also paste an Overleaf project or share link to open it, and you are told clearly when it needs joining, an accepted invitation or access.
- The AI assistant says what went wrong. When Claude Code cannot start, the card says why and what to do, such as updating a Claude Code older than 2.0.63 or signing in. A model your account cannot use is greyed out with the reason, and the composer switches to the default model with a notice. An Anthropic 403 refusal gets its own message, and warnings show next to the composer.
- No more repeated login keychain prompts. Lattice no longer asks for the login keychain over and over. A denied or unanswered prompt is remembered, and Settings > Agent > Usage & limits has a Refresh button to try again.
Notable fixes
- The Overleaf sign-in window has a Back to Overleaf sign-in button on Google, ORCID, IEEE and SSO pages.
- Check references proposes references and field names in English in any interface language, no longer sticks the tag to the next word, no longer proposes braces around a whole title, and no longer names an undated paper NIPS. A note says that closing the window does not stop the check.
- Annotation pins on the PDF match the size of the source gutter's pins and scale with the zoom.
- The editor runs on Tiptap 3.33.0, and presentations on the latest Open Slide.
- Developer builds give the performance lab its own test keychain.
Changes in v0.15.5
- Size the PDF's annotation pins like the gutter's, and with the zoom (#641) (
5bd1794a) - Adopt Open Slide main 327dd09 ahead of its next release (#642) (
6c894b1c) - Give the lab account a fresh unlocked keychain before every perf-lab launch (#643) (
36abc57d) - Let the Overleaf sign-in window return from an SSO page to the login page (#644) (
6f7cf1c7) - Check references: English references, no whole-title braces, a background-check note (#645) (
0a9d8f59) - fix(editor): adopt Tiptap 3.33.0 with the @tiptap/react patch carried forward (#646) (
dc053a48) - feat(overleaf): list shared projects and invitations, open projects from a pasted link (#647) (
2862b991) - fix(agent): show why Claude Code exited and flag a Claude Code too old to run (#648) (
fe7c3d99) - fix(agent): grey out Claude models the account refused and report Anthropic 403 refusals on their own (#649) (
30f18c24) - fix(agent): stop repeated macOS Keychain prompts from Synara usage refreshes (#651) (
c2a9dd36)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.15.4...v0.15.5
Lattice v0.15.4
Highlights since 0.15.3
- Notes from the .tex on the PDF. Annotations made in a .tex file now also show on the PDF, on the words they belong to, with the same marks, pins and cards as notes made on the PDF.
Notable fixes
- Marks on the PDF follow their words after a rebuild that changes only some pages.
- Choosing Select All from the menu and then typing now always replaces everything.
- The in-browser demo opens PNG figures as images, loads images in Markdown notes, shows a placeholder while it starts, and explains that Source control runs in the Mac app instead of showing an error.
- The README links the browser demo and the release notes, and the project now has a code of conduct.
Changes in v0.15.4
- Show annotations made in the .tex on the PDF too (#637) (
fd212c76) - fix(flakes): the last two #342 entries — menu Select All lost to a redraw, synara-pin was never a flake (#638) (
24d4bd9c) - Launch polish: web-demo fixes, cold-load placeholder, public docs (#639) (
184a673e)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.15.3...v0.15.4
Lattice v0.15.3
Highlights since 0.15.2
- Code files in your project. Python and common code and configuration files (JavaScript, Rust, Go, C and C++, Java, Ruby, R, shell scripts, JSON, YAML, TOML, XML, CSS, SQL and more) can be created, dropped in, searched and attached to the agent, and their editors offer autocompletion.
- Switch Overleaf accounts. After signing out you can sign in with a different account. Sign out and Cancel now really end a sign-in in progress, and ⌘Z and ⇧⌘Z work in the sign-in window.
- The agent panel remembers your setup. Your default provider, model, effort, hidden providers, provider order and drafts are kept across launches, and Settings → Agent providers has a Default provider row.
Notable fixes
- Hovering a command inside a formula no longer opens its description over the live math preview.
- Versions shows the right timeline and restores correctly for a project inside a larger Git repository, and a refused restore no longer leaves a stray auto-saved version.
- Zoomed panels stay on screen in narrow windows.
- The terminal no longer freezes on heavy output when it opens.
- A pipe or other special file ending in .pdf no longer stalls PDF reading.
- Literature search no longer answers from an out-of-date index after two searches clash.
- The app starts with a little less code to load.
Thanks
Thanks to @knightnemo for Overleaf account switching (#588), Python and code file support (#595, #630) and autocompletion in code editors (#597).
Changes in v0.15.3
- fix(overleaf): allow switching accounts after sign-out (#588) (
5474e160) - Allow Python files in project source workflows (#595) (
3f08fd0c) - Enable language completions in code source editors (#597) (
995fd889) - fix(editor): no command description hover inside math (#629) (
46d90d97) - feat(project): support common code and configuration sources (#630) (
31f7373e) - fix(trellis): resync navigation after header relayout (#631) (
4bbff144) - fix(history): Versions for a project inside a larger repo, and no stray auto-save on a refused restore (#632) (
049fa942) - fix(flakes): the #342 flakes — search-index lock, Open Slide requests, parked PDF drag, WebKit tab-drag ceilings (#634) (
61db75f6) - fix: close Overleaf sign-in races and terminal/PDF stalls, lazy-load the browser relay (#633) (
fba96346) - Keep the agent panel's settings across launches, and show its Default provider (#635) (
799ed7df)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.15.2...v0.15.3
Lattice v0.15.2
Highlights since 0.15.1
- Math preview above the formula. The live preview of the formula you are editing now appears just above it, so it no longer covers the lines below.
- Annotations land on the right words. A note's mark on the PDF now covers the same words as its source, its pin sits in the margin, the empty list is a centred drawing, and the toolbar shows the note count beside its icon.
- Nothing covers your work. The Proofread card scrolls into view, after a successful build the Build panel docks under the PDF instead of floating over it, Overleaf collaborators' names show briefly instead of always, and actions that need a selection say so.
Notable fixes
- "Save and revise now" revises only the note it saves.
- Opening a sheet no longer rewrites the file or adds an edit to History.
- ⇧-click Build cleans the project before building again.
- Jumping between the PDF and the source keeps working after the project folder moves.
- Borders and focus rings are no longer cut off at the edge of a scrolling list, the titlebar starts at the edge when the window lights are hidden, and the Build button is centred.
- Tabs, setup, the command palette, Check references, History, Annotations and dialogs are tidier, and lists use quieter punctuation that follows your language.
- The browser demo shows Overleaf, Add papers, History, Versions and Rewrite honestly, and its narrow dark page is fixed.
- The app starts with less code to load.
Changes in v0.15.2
- docs(readme): fresh section shots and copy in the site's voice (#582) (
4f0ad5f1) - fix(annotations): Save and revise now revises only the note it saves (#583) (
a6d97d4a) - feat(editor): show the live math preview just above the formula (#585) (
94a886ab) - fix(ui): whole borders and focus rings at scroll edges, a titlebar without traffic lights starts at the edge, and a centred Build button (#587) (
3667aeb4) - fix(annotations): PDF marks cover the source's words, margin pins, centred empty state, inline toolbar count (#586) (
b69bcf54) - fix(ui): stop overlays covering the work and say what quiet actions need (#598) (
691904eb) - fix(web-demo): honest Overleaf, Add papers, History/Versions and Rewrite; dark narrow page (#593) (
11519f5e) - fix: sheets open without rewriting, ⇧-click Build cleans, SyncTeX survives a moved folder, perf-lab fixes (#603) (
1c18bf94) - fix(ui): sweep polish — tabs, setup, palette, references, history, annotations, dialogs (#606) (
8b1ada81) - fix(ui): replace " · " separators with quieter, locale-aware punctuation (#611) (
03f018fc) - chore: codebase cleanup before release — dead CSS, shared helpers, ~25 KB eager-JS headroom (#621) (
6772fb76)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.15.1...v0.15.2
Lattice v0.15.1
Highlights since 0.15.0
- A new app icon. Lattice's icon is now olive on cream.
- Try Lattice in your browser. The website now has a live demo of the real Lattice workspace at https://leo1oel.github.io/lattice/demo/, so you can try it before you download.
Changes in v0.15.1
- refactor(bench): move the mock backend the website demo will share into tools/mock-backend (#576) (
5f68243b) - feat(icon): recolour the app icon olive on cream (#578) (
2fe612c6) - feat(web-demo): run the real Lattice workspace in the browser for the website's /demo/ (#577) (
e1bff5eb) - docs(readme): olive badges, a film link and fresh light and dark hero shots (#579) (
3ae85897)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.15.0...v0.15.1
Lattice v0.15.0
Highlights since 0.14.0
- Synara 1.1.0 in the Agent panel. The Agent panel is updated to Synara 1.1.0 and follows Lattice's language, with its Chinese now drawn from Synara's own translations. A new "Resume after usage limits" setting is off by default, and quitting Lattice mid-reply no longer makes the agent carry on by itself on the next launch.
- The app moves more fluidly. Menus and popups spring in, the Polish card unrolls and its edits arrive in turn, Accept strikes the old words and settles the new ones, lines the agent writes into an open file briefly wash green, new Overleaf comment threads ring as they arrive, switching files and views fades, and paper counts roll. Everything settles at once with Reduce Motion on.
Notable fixes
- Pasting an
arXiv:<id>such asarXiv:1706.03762into Add papers, or importing one, now finds the paper instead of failing after a long title search.
Changes in v0.15.0
- Pin Synara 1.1.0 and translate the Agent panel with Synara's own catalogs (#568) (
ea221e31) - feat(design-system): export the Paper design system and check it against the app (#567) (
b2887c24) - feat(design-system): draw the app's main screens in Paper from the running app (#569) (
aeb5ee8c) - fix(papers): read arXiv: pastes, and keep a bad lookup answer from crashing Add papers (#571) (
cd6eb952) - docs(design-system): Paper draws the closest faces to the app's own fonts (#570) (
be1ae061) - feat(motion): popups spring, Polish unrolls, accepted edits fold in, and landed changes linger (#572) (
7d62cb1b) - docs(design-system): Paper takes the pop tier, linger and stagger from the app's motion (#573) (
9caf6655) - build(size): raise the installed app budget to 333 MiB for Synara 1.1.0 (#575) (
7e330301)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.14.3...v0.15.0
Lattice v0.14.3
Notable fixes
- An open file that is deleted or renamed outside Lattice no longer becomes a tab that never saves: the tab follows a renamed file, closes when nothing is unsaved, or keeps your edits and offers to recreate or save them elsewhere. Restoring an older version of the file now reloads it.
- ⌘Z in the source editor undoes only your own typing, not an Overleaf collaborator's or the agent's edits.
- A project's or your own
.latexmkrccan no longer move the PDF out of the preview or keep a build from finishing. \inputand\includepaths now resolve from the root document's folder, so a root in a subfolder finds its files.- Building a
standalonefigure or asubfileschapter compiles it once and no longer makes it the project's main document. - A
.bibfile linked from outside the project, such as a Zotero export, now works with citations, search and replace. - Enter and Escape in the symbol palette, find and replace, and file rename are left to your input method while it is composing.
- Settings stay in sync across open windows, and the "Your name" setting keeps the spaces you type.
- A hidden agent panel no longer keeps Claude running or warms up new chats.
- Claude in the agent panel can now pick Lattice's enabled bundled skills, such as making slides, on its own.
- The remaining error messages from the app now show in Chinese in the Chinese interface.
- The PDF viewer is updated to pdf.js 6.5.438.
Changes in v0.14.3
- fix(pdf): upgrade bundled pdf.js to 6.5.438 with Lattice patch re-derived (#555) (
4d73b650) - fix(build): keep a latexmkrc from hiding the PDF or never finishing (#556) (
8b485bb2) - fix(agent): tell the agent panel when it is shown or hidden (#557) (
c3df27e2) - fix(agent): give Claude the bundled skills natively (#562) (
2c030bd8) - fix(project): read a linked .bib and guard the last IME inputs (#559) (
15667836) - fix(editor): keep collaborators' and agents' edits out of the writer's undo (#560) (
1e658bf3) - fix(i18n): translate the remaining host errors for the Chinese interface (#563) (
611845ec) - fix(latex): read \input paths from the root's folder; build standalone figures once (#558) (
db8f74bb) - fix(settings): keep shared settings in sync across windows (#561) (
574b191e) - fix(i18n): match the moved Root document not found sources in the host-error catalog (#565) (
dcd8f841) - fix(app): follow, close or hold an open file deleted or renamed outside Lattice (#564) (
eadeccb8)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.14.2...v0.14.3
Lattice v0.14.2
Highlights since 0.14.0
- A faster agent panel. The agent panel now starts Claude before you send your first message, keeps open threads running while they sit idle, and no longer waits for Overleaf comments to refresh before sending. A new thread answers about 2 seconds sooner, and a reply after a pause comes in about half the time. Claude is now the panel's default agent.
- Your own MCP servers are off in the panel by default. The agent panel now loads only Lattice's own tools, which is part of what makes it start faster. If you use your own MCP servers with Claude, turn on Load my MCP servers in Claude in Settings to bring them back.
Notable fixes
- A new chat can use Lattice's tools, such as showing a visual, from its first message.
- The effort level shown in the agent panel is now the one actually sent to the agent.
Changes in v0.14.2
- fix(agent): make the agent panel start as fast as Claude Code (#551) (
55502a0a) - fix(agent): give a pre-warmed new chat the lattice tools (#553) (
dbd40ed8)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.14.0...v0.14.2
Lattice v0.14.0
Highlights since 0.13.0
- Chinese papers typeset and checked. A new Chinese article template starts a ctex paper ready to compile, and when Chinese, Japanese or Korean text is missing from the PDF, the build says so and names the fix instead of leaving blank space. New templates also cover ACL/ARR, CVPR 2027, AAAI-27, ThuThesis and ustcthesis.
- Rewrite a selection your own way. Besides the built-in rewrites, you can now type any instruction for the selected text, such as "translate into academic English" or "shorten to about 100 words", and review the result before it replaces your text.
- The agent uses your proxy. The agent now starts with the proxy and model-provider settings from your login shell, so it works on networks that need a proxy without extra setup. When the system proxy changes, Lattice offers to restart the agent with the new one.
- Grammar rules and errors in Chinese. With the interface in Chinese, every grammar rule is named and explained in Chinese, and errors from the app itself are shown in Chinese too.
Notable fixes
- Every way out of Lattice saves your work first, and an update never restarts the app on its own.
- Lattice's shortcuts work in the Agent panel and Git drawer, and ⌘W closes a tab.
- Pressing Enter or Escape to finish an input-method composition no longer submits, picks or cancels.
- Appearance, theme and build settings changed in one window apply to every open window right away.
- Each window is named for its project, and a large text file is called too large rather than binary.
- Double-clicking the title bar follows your macOS setting, and full screen keeps the window buttons in place.
- Updated the zip and KaTeX libraries past published security advisories.
Changes in v0.14.0
- chore(live-preview): pin upstream rtex 0.0.6 in place of the fork build (#538) (
2f28e904) - fix(window): title-bar double-click follows the macOS setting, and full screen keeps the traffic lights in place (#537) (
ee7f0bd7) - feat(grammar): name and explain every Harper rule in Chinese (#536) (
00a92795) - fix(app): every way out of Lattice saves first, and an update never restarts on its own (#540) (
1d129fc8) - feat(templates): add ACL/ARR, CVPR 2027, AAAI-27, ThuThesis and ustcthesis project templates (#543) (
9fabc145) - feat(editor): rewrite a selection by your own instruction, translation included (#545) (
59edbff5) - fix(shortcuts): keep Lattice's keys working in the Agent panel and Git drawer, and make ⌘W close a tab (#542) (
3cbd9084) - fix(deps): move zip to 9.0.5 and KaTeX to 0.19.0 past their advisories (#548) (
2a207627) - fix(ui): an Enter or Escape that ends an input method's composition no longer submits, picks or cancels (#547) (
843e1f6c) - fix(settings): share appearance, theme and build settings live across windows (#539) (
c35ed7eb) - fix: name each window for its project, and call a big text file too large, not binary (#549) (
a6e7771f) - feat(agent): hand the agent the login shell's proxy and provider settings, and offer a restart when the system proxy changes (#541) (
abf5672d) - fix(build): say when CJK text is missing from the PDF, and add a Chinese article template (#546) (
c6eec459) - fix(i18n): show the host's errors in Chinese when the interface is Chinese (#544) (
4bc1de6b)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.13.0...v0.14.0
Lattice v0.13.0
Highlights since 0.12.1
- The agent looks at a figure before inserting it. When the agent draws a TikZ or PGFPlots figure, it now typesets it with your paper's preamble at column width and checks the picture, so labels over curves, legends over data and plots wider than the column are fixed before the figure reaches your paper. Your build, PDF and SyncTeX are left alone, and the insertion can be reviewed and undone like any agent edit.
- Smoother LaTeX input. Enter on an
\itemline starts the next item, and on an empty item leaves the list. Typing\left(or\bigl[writes the matching\right)or\bigr]. Hovering a\refor\eqrefshows the equation with its number and page.%novalidatelines and regions get no LaTeX diagnostics, and ⌥⌘M opens a searchable math symbol palette. - Submission checks for double-blind venues. The submission checklist flags what reviewers would catch: a template option that prints the authors, acknowledgements or
\thanksleft in, links to your own code accounts, author names in the PDF's metadata, and Type 3 or unembedded fonts. - Grammar checks tuned for papers. LaTeX is checked with an academic profile that accepts common paper usage and abbreviations. Choose American or British English and switch single rules in Settings, and ignore a sentence or a rule for the whole project from a suggestion.
Notable fixes
- A double-click in the PDF lands on the word you clicked, not just its line.
- Your last edits are saved before a window closes, Lattice quits, or the page reloads, and an error in one panel stays in that panel instead of taking down the window.
- The outline reads headings the way TeX does, skipping comments, verbatim and macro bodies.
- Label and citation checks keep working when a project has unreadable files, and citations update when a .bib changes outside the editor.
- A compile error opens the exact file it names, and a path whose letter case differs from the file on disk is reported as such, including before arXiv export.
- Files with Windows (CRLF) line breaks keep them when saved.
- Edit › Select All selects the whole document.
- Typing
"or'in LaTeX inserts one character instead of an auto-closed pair. - Words with TeX accents, such as
na\"ive, are no longer flagged as misspellings. - Overleaf: files whose paths differ only in letter case are set aside instead of one being silently dropped.
- The PDF redraws sharply after the window moves to a display with a different pixel density.
- Background git reads no longer run programs named in a project's .git/config.
Changes in v0.13.0
- fix(editor): adopt Tiptap 3.32.1 with the @tiptap/react patch carried forward (#511) (
2ebdcdae) - fix(perf-bench): wait for Chrome's helpers to exit before removing its profile (#512) (
aba26a44) - lint: forbid new useState, allowlisting the files that use it today (#510) (
882ebf94) - Hold open documents in a Zustand store (#513) (
41bc9196) - Hold the Overleaf connection state in a Zustand store (#514) (
9519e5c6) - feat(grammar): academic Harper profile, English variant, rule switches and project ignores (#515) (
15f7ab0b) - feat(checklist): double-blind and PDF font checks before submission (#516) (
34b6df77) - Land a PDF double-click on the clicked word, not just its line (#517) (
5002881c) - LaTeX input details: list Enter, sized delimiters, equation ref cards, %novalidate, symbol palette (#519) (
fb2fe4bc) - feat(agent): let the agent look at a LaTeX figure before inserting it (#518) (
b25822cc) - chore(deps): adopt @tiptap/* 3.32.2, carrying the node-view caret patch forward (#520) (
2d74a4cd) - fix(outline): read headings as TeX does: skip comments, verbatim and macro bodies, balance braces, take [short] titles (#521) (
85afb368) - Save the last edits before a window closes, Lattice quits, or the page reloads (#522) (
9c569bf1) - fix(citations): re-read the citation index when a .bib changes outside the editor (#523) (
2c11c7be) - fix(index): skip unreadable files instead of silently disabling label and citation checks (#524) (
4da9bd60) - fix(diagnostics): open and mark the exact file a compile diagnostic names, not a same-named copy (#525) (
c7cadc97) - fix(git): stop a project's .git/config from running programs on background git reads (#527) (
b0ce693a) - fix(editor): Edit › Select All selects the whole document, not just the drawn lines (#529) (
0518423e) - fix(diagnostics): tell a path whose case differs from the file on disk from a missing one, and check it before arXiv export (#531) (
6ddf6ed4) - fix(overleaf): set aside paths that differ only in case instead of silently dropping one (#532) (
dd62a488) - fix(pdf): redraw the PDF at the new pixel density after the window moves between displays (#534) (
0b35a7ef) - fix(save): keep a CRLF file's line breaks when the editor saves it (#526) (
97db377e) - fix(spellcheck): keep TeX-accented words whole so their pieces are not flagged as misspellings (#528) (
94ff3841) - fix(editor): type " and ' as one character in LaTeX instead of an auto-closed pair (#530) (
45d3b633) - fix(ui): keep a panel's render error in that panel, and write the open edits when anything crashes (#533) (
e8f2a616)
Install (Apple Silicon Mac)
Download the .dmg below, open it, and drag Lattice to Applications.
Lattice is signed with an Apple Developer ID and notarized by Apple.
Already running Lattice? It updates itself automatically — no need to
re-download.
Full Changelog: v0.12.1...v0.13.0