Skip to content

Releases

Lemma 3.6.0

Choose a tag to compare

@fus3r fus3r released this 06 Nov 23:00

PDF annotations, workspace editing, and shared-window reliability.

  • Annotate PDFs with the shared toolbox: pen, boxes, ellipses, lines, arrows and eraser; custom colors, widths, dashed outlines and translucent fills; move and resize shapes, Undo/Redo, and export a separate annotated PDF. Saved notes open in Preview, with Edit explicit.
  • Highlight geometry follows individual text lines, including mathematical scripts, adjacent lines, columns and rotated pages. Drawing, hit testing, resizing and PDF export use the same bounds.
  • A compact, named highlight palette with configurable shortcuts for each color and separate highlight/underline defaults. Existing marks retain their saved colors.
  • A native workspace text editor with line numbers, Markdown syntax colors, word wrap, Find/Replace, and math preview beside the file. Shared file buffers stay synchronized, and failed saves keep unsaved work open when closing a file, window or the app.
  • Search results, statement references, symbol definitions, breakpoints, the first “?” and active proof-debugger actions reveal their PDF when a text file or another editor is in front. Files retain their tabs and text; session restoration preserves the chosen foreground editor.
  • Undo for annotations and note links retains the originating book across windows and closed tabs. Shared text synchronization clears stale native Undo positions; library and PDF-rename Undo preserve newer changes from another window. Erasing respects the Original edition's hidden ink.
  • Review follows deleted cards, newly due cards and cloze-mask edits in other windows. Shared derivation edits invalidate obsolete check results and refresh open views and exports. The page inspector follows viewport and foreground-editor changes.
  • Python output and variables remain available when another window still uses the book. Clearing console output keeps queued commands, and a notebook opened explicitly is brought into view. Closing another question window preserves pending answers and retries.

Download: open Lemma.dmg and drag Lemma into Applications. macOS 15 or later; Apple silicon and Intel.

This release is signed with Lemma's existing signing identity and includes signed in-app updates. It is not yet notarized by Apple; the first launch may require System Settings › Privacy & Security › Open Anyway.

Lemma 3.5.0

Choose a tag to compare

@fus3r fus3r released this 03 Nov 10:26

Open separate workbenches and keep text or Markdown files beside your books.

  • New Window (⇧⌘N) opens an empty workbench with independent tabs, layout, reading positions and Find queries. Windows restore on relaunch and share your library and annotation edits. Thanks to Songlan Nie for the multi-window approach.
  • Add New File… creates text and Markdown files without a PDF. Files save automatically, support ⌘S and Markdown/math preview, and remain in Workspace Files when their tabs close.
  • Undo and Redo restore notes, highlights, underlines and handwriting.
  • Remove highlights from their menu, or Shift-drag their ends to resize them. Choose custom colors, edit your palette and set separate highlight/underline defaults. Deleting a palette color no longer crashes, and saved marks keep their colors.
  • Remove Library shows its confirmation immediately above Library Sources.

Update through Lemma → Check for Updates…, or download Lemma.dmg below. Supports Apple silicon and Intel Macs running macOS 15 or later.

This build uses the existing Lemma signing identity and signed Sparkle updates. It is not notarized by Apple; first-time installation instructions are in the README.

Lemma 3.4.1

Choose a tag to compare

@fus3r fus3r released this 29 Oct 12:38

Find keeps each book’s query without searching or moving its page when you switch tabs. Classic Find now shows clear previous/next chevrons. Thanks to Songlan Nie for these improvements.

Also fixed:

  • Tabs keep their width when the Explorer is resized.
  • Dragging a tab right moves it into the target position, including the last slot, adapted from Songlan’s fork.
  • Parenthesized links to numbered statements use the correct name when the analysis and destination agree, including Result 3.21 in Axler.
  • Check for Updates can set aside an older waiting download and offer the newest release.

Update through Lemma → Check for Updates…, or download Lemma.dmg below. The app supports Apple silicon and Intel Macs running macOS 15 or later.

This build uses the existing Lemma signing identity and signed Sparkle updates. It is not notarized by Apple; first-time installation instructions are in the README.

Lemma 3.4.0

Choose a tag to compare

@fus3r fus3r released this 24 Oct 18:46

What's new

Peeks you can keep in sight.

  • Move a peek by dragging its title bar: it then stays open while you read on, scroll and click elsewhere, until you close it. In the Classic window, drag the popover away from its reference.
  • ⇧-click another reference to open its peek beside the ones already open, so that a figure and the theorem that uses it stay in sight together. ⇧-clicking a reference whose peek is open brings that peek forward; with text selected, ⇧-click still extends the selection.
  • Peeks open with the page at a little less than your reading zoom, as wide as the page and within 70% of the window, instead of 556 points whatever the zoom. Drag a peek's right edge, its bottom edge or the corner between them to resize it, and the page refits to the new width. By @SonglanNie.

Fixed.

  • The Classic peek no longer grows off the screen's edge away from its reference, and resizing a peek dragged away from its reference no longer makes Lemma quit. By @SonglanNie.
  • The Library shows it is scanning from the moment a PDF is dropped on it, instead of reading as up to date until the PDF appears. By @SonglanNie.

Install or update

  • From Lemma 3.1 or later: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.4.0 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.4.0.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.4.0.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: d1eb565fb5c86d628a58cf956223eb410e60b59b27ec7816ee777ad84b333130

Everything earlier releases brought is in the changelog.

Lemma 3.3.1

Choose a tag to compare

@fus3r fus3r released this 24 Oct 14:32

What's new

Fixed.

  • Single Page, Two Pages and Two Pages Continuous, chosen in the page's context menu, lasted a moment before Lemma put Continuous back. The book now keeps the layout chosen there and opens in it next time, as with Page Layout in the editor's … menu. Reported by @Sudhenduahir in #12.
  • Two Pages Continuous is one of Lemma's own page layouts too, beside Single Page, Continuous and Two Pages: in Page Layout, and as "Reading: Two Pages Continuous" in the command palette.

Install or update

  • From Lemma 3.1 or later: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.3.1 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.3.1.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.3.1.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: a71f26dac68193b1d56decf7c3199958b9f4b3084a6151b712810374f8581b50

Everything earlier releases brought is in the changelog.

Lemma 3.3.0

Choose a tag to compare

@fus3r fus3r released this 19 Oct 13:07

What's new

Reading, refined by Lemma's first contributor. Six changes by @SonglanNie, who made them while reading with Lemma:

  • Gap between pages. Pages are 8 pt apart instead of 32, and Settings › Reading › Gap between pages sets the gap from 0 to 32 pt. The reader, the side view and reference previews follow at once, keeping your place.
  • Reference previews can be dragged off into a window of their own. They open at the page's width, and neither they nor the side view select the referenced label any more: on a PDF whose text layer is misaligned, the selection covered the wrong glyphs.
  • Go to keeps your zoom and horizontal position, and scrolls sideways only when the item would be off screen. The box flashed around an equation fits the equation and its label, and a link to (15) goes to (15a)–(15c) together.
  • Citations written right after a word, as in "and(24a)" when a PDF's text layer lost the space, are counted. "f(2)" and "exp(1)" still are not.
  • The notebook panel has a close button, in the VS Code-style and the Classic window.
  • ⌘F puts the cursor in the find field even when the page-number field had it, and Return in the page-number field gives the keyboard back to the page.

Books are read again once after the update, since equation regions and citation counts are computed differently.

Install or update

  • From Lemma 3.1 or later: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.3.0 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.3.0.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.3.0.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: d67af73d9b58d36f69c0e4b995b814ec979e445546ac47d891dc53f2bafa4b58

Everything earlier releases brought is in the changelog.

Lemma 3.2.2

Choose a tag to compare

@fus3r fus3r released this 18 Oct 22:42

What's new

Fixed.

  • The Dock showed another Lemma icon among its recent apps for each new or changed PDF Lemma read, and after Lemma was quit and opened again: the helper that reads books took on Lemma's identity. It now runs from a background-only bundle of its own. Thanks to @SonglanNie, who found and fixed it first in a fork of Lemma.

Install or update

  • From Lemma 3.1 or 3.2: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.2.2 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.2.2.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.2.2.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: f9846bad5303fcfc749cc7c79ea68468649011d8bd95aee7a86d9c553e5c9d16

Everything earlier releases brought is in the changelog.

Lemma 3.2.1

Choose a tag to compare

@fus3r fus3r released this 14 Oct 13:21

What's new

Report how Lemma read your book. Help › Report How Lemma Read This Book… (also in the command palette) opens GitHub's book report form with the book's title and what Lemma found in it (equations, figures, tables, statements, proofs, bibliography and index entries) already filled in: say what went wrong and submit it from your browser. Nothing is sent before you do.

Fixed.

  • When macOS asked whether Lemma may read a library folder (in Documents, Desktop or Downloads), or a library folder sat on a disk that was waking up, Lemma stopped responding until it had an answer. Library folders are now followed in the background.

Install or update

  • From Lemma 3.1 or 3.2: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.2.1 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.2.1.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.2.1.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: 09fbe5a363fe8dc0974a3c7efcca4320335897b0b798e2c9616d854d730c2842

Everything earlier releases brought is in the changelog.

Lemma 3.2.0

Choose a tag to compare

@fus3r fus3r released this 11 Oct 21:27

What's new

Asking, redone. Select a passage and press ⌘K: in the VS Code-style window, Ask now opens as an editor widget under the passage, in your theme's colours, the way VS Code's inline chat opens under a line. It shows the passage, your question and the kind of help, then everything sent with it, each item with its checkbox and the cited equations as thumbnails, and finally the assistant and how to send. In the Classic window the popover keeps its size: the passage and the context list are no longer squeezed out of sight.

  • Send now or Review first (ChatGPT Web) replace “Ask and save” and “Review in Lemma” in quick questions; Review first prepares the question in Lemma's ChatGPT page for you to check and send.
  • The Questions panel lists every question asked since Lemma opened. A failed or cancelled question can be asked again with one click (Ask Again), with the same text and images, to the same note.
  • The question names the printed page as well as the PDF's, the book's authors when the PDF knows them, and puts the passage and your notes before the question. Explain asks the assistant to fill in the steps the book leaves out (“it is not hard to show”), and the command-line tools and API keys no longer forbid ordinary mathematics that the pages don't show.

The Assistants window, redrawn to look like the rest of the workbench, in your theme's colours. A title bar holds the Questions and Connections tabs and Continue Reading; the questions are listed on the side bar's colour, each with a spinner, a check or a cross; the selected one shows its state on one line with the next action beside it, then ChatGPT's page from edge to edge, with VS Code's progress line along its top while it answers. Connections lists the six assistants with their icon and whether each is ready, and the Chrome companion's setup in two steps. Prepare your question (Full Draft…) takes the same look. The Classic window keeps its Mac controls.

Fixed.

  • A saved explanation scrolls with the trackpad and the mouse wheel: with the pointer over the explanation, the Notes inspector stopped scrolling.
  • Explanations and answers take the theme's colours for text, links, code and quotes, and a displayed equation too wide for the inspector is set smaller so that it fits beside its number, which used to cover the end of the equation.
  • In a theme whose focus colour is nearly invisible, such as SynthWave '84, the note's kind, its More Actions menu and the notes filter could not be seen: such controls now take the theme's button colour, made readable. The note editor's links and fields use the theme's link and input colours.
  • Switching the Assistants window to Connections while ChatGPT was answering showed an empty page.
  • ChatGPT Web: macOS's smart quotes changed the question while Lemma typed it (""" became “”"), so Lemma stopped with “The question could not be inserted intact”. The question stayed in ChatGPT, which shows unsent text again in every new chat, so every later question stopped with “The composer already contains a draft”. Lemma now types with substitutions off, replaces an unsent question it prepared itself, keeps any other draft and offers Replace Draft and Ask Again, and keeps the ChatGPT page in view after a failure.
  • ChatGPT Web follows ChatGPT's October page: the composer, Send and Stop are found by their structure in any interface language, images go through the multi-file picker rather than the camera's, and Cancel Question stops the answer being written.
  • Answers from ChatGPT Web keep their code blocks (one line per line, with the language, ready for the Lab), tables, bold and italic. A reply with code is no longer saved before it is finished.
  • An answer that takes more than an hour (a long review, a slow thinking model) is still saved.

Install or update

  • From Lemma 3.1: choose Lemma › Check for Updates…: Lemma shows what is new, installs 3.2.0 and relaunches. If you turned on the daily check, it offers the update by itself.
  • From Lemma 3.0: download Lemma-3.2.0.dmg below and drag Lemma into Applications, replacing the old one. From then on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.2.0.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: 527c7a6324982f6c148587a7067258810a0b06fa635e92fa2360d5fbb697db2f

Everything earlier releases brought is in the changelog.

Lemma 3.1.0

Choose a tag to compare

@fus3r fus3r released this 11 Oct 13:12

What's new

Updates inside Lemma. Lemma › Check for Updates… shows what is new in a release, installs it and relaunches Lemma: no more downloading a disk image. If you agree (Lemma asks once, at its second launch), it also checks once a day, and it can download and install an update on its own when you quit (Settings › Updates). Updates are signed with the project's key, so Lemma installs only versions its maintainers published.

  • The updating is done by Sparkle (MIT licence), listed in Help › Acknowledgements.
  • Your choice of a daily check in Lemma 3.0 carries over.

Install or update

  • From Lemma 3.0: choose Lemma › Check for Updates… (or open the notification), download Lemma-3.1.0.dmg below and drag Lemma into Applications, replacing the old one. This is the last time: from 3.1 on, Lemma installs its updates itself.
  • New to Lemma: download Lemma-3.1.0.dmg, open it and drag Lemma into Applications (macOS 15 or later, Apple silicon or Intel). This build is not notarized by Apple, so the first time macOS says it cannot verify Lemma: click Done, open System Settings › Privacy & Security and click Open Anyway next to Lemma. You only do this once.

SHA-256 of the disk image: 41178344aa1ee2598466054ec12c9661222679286e4b8fb93e3abcb666bafd9d

The full list of what 3.0 brought is in the changelog.