Skip to content

Releases: JeremiahM37/lectern

v2.10.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 07:37

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.10.1
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.10.1

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • 2afb471 Make the installed web app a share target for screenshots
  • 36b4a93 Release 2.10.1

v2.10.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 07:25

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.10.0
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.10.0

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • c7e9718 Apply the new violet and magenta desk brand across the app, PWA icons, Android launcher and README
  • 0652b1a Make the X11 client library a direct dependency
  • 64102a1 Merge pull request #10 from JeremiahM37/feat/clipboard-bridge
  • 5f3943d Merge pull request #8 from JeremiahM37/fix/quick-shell-tui-host-env
  • 25e3ba1 Merge pull request #9 from JeremiahM37/brand-refresh
  • 48e9eb2 Paste screenshots into agent sessions from any device
  • af22e6f Rebuild the web bundle for the clipboard bridge
  • 0cd2a90 Release 2.10.0
  • e4a239f Wait for machines to load before the console's blank-shell action decides there are none

v2.9.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 23:49
31215f0

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.9.0
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.9.0

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • 79b3da2 Android app: Back leaves the app instead of replaying #view history
  • ae16095 Android app: use the phone's own speech for dictation and voice mode
  • dd70010 Make the phone Sessions page a calm list
  • 03dc307 Merge branch 'mobile-sessions-declutter' into mobile-voice-terminal
  • 06dac25 Merge branch 'mobile-terminal-menus' into mobile-voice-terminal
  • 31215f0 Merge pull request #7 from JeremiahM37/mobile-voice-terminal
  • d6397da Open the terminal's menus as bottom sheets on a phone
  • b5b1b63 Phone scratch cards: path and Copy on one line, meta on its own
  • bca1365 Rebuild the web bundle for the phone voice, Sessions and terminal menu changes
  • 3872e2a Release 2.9.0

v2.8.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 02:03
2292c93

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.8.1
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.8.1

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • 2292c93 Merge pull request #6 from JeremiahM37/mobile-polish
  • a8c1be2 Phone polish: no overlapping words, calmer cards, one-row chat controls

v2.8.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 08:24
8007ff4

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.8.0
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.8.0

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • 187ef27 Add mods: plugin JavaScript that hooks and draws in the web app and the console
  • 793bbfe Android app 2.8.0: clear of the camera and gesture bar, a calmer phone Sessions page, and updates from inside the app
  • 273c941 Don't revive an eval cell cancelled while it was being dispatched
  • 3f96b74 Expect every page in the desktop sidebar in the navigation walkthrough
  • 0bf52d0 List every page in the desktop sidebar instead of hiding most under More
  • cd47722 Mention the Android app in the README
  • 8007ff4 Merge pull request #5 from JeremiahM37/connect-ui
  • 98a1930 Merge remote-tracking branch 'origin/main' into connect-ui
  • 43d7e80 Scroll Claude's fullscreen view with its page keys when its mouse is off

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:45

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh   # Linux, macOS
brew install JeremiahM37/tap/lectern                                                   # Homebrew
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern   # Windows
docker run -p 127.0.0.1:9110:9110 -e LECTERN_INSECURE_LISTEN=1 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.7.0
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.7.0

Windows PowerShell one-liner: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex.
Archives, .deb and .rpm packages and checksums.txt are attached below.

Changelog

  • 67e028e A simpler web app: Sessions home, four-page navigation, one status and approval component, Start an agent with a folder picker, Settings Basics, commit on a new branch, Connect your phone, Enter sends
  • 4d7c6f5 API for a simpler web app: one session status, folder browser, phone addresses, commit on a new branch, demo agent, ask by default on new installs
  • af367b2 Accept a git name and email with a commit instead of sending people to git config
  • db41479 Accept older Python wording for trailing-comma JSON errors in the parity test
  • a3bed15 Add Python-compatible JSON, path and process helpers for helper ports
  • 41478de Add lectern demo and point there when no agent is installed
  • 182699f Add lectern ptyhost, a PTY keeper that outlives the server
  • 23dec17 Add lectern update: install a GitHub release in place, checksum-verified
  • f475bab Add target environments and the lectern helper subcommand
  • 867f7c2 Add the pty session backend and serve web terminals without ttyd
  • 8d65dce Ask for a git name and email in the terminal commit form
  • 8208cab Attach bar in plain words: Ctrl+] shows the keys that follow it, Ctrl+] d leaves, Ctrl+] ? lists every attach key
  • e13e858 Attach through the target's backend from every terminal endpoint
  • 26c7672 Attach without tmux: Lectern draws the session with the same key bar, Ctrl+] keys, needs-you note, links, panes and clipboard
  • 9c4693f Browser tests for the simpler desktop sidebar, chat ⋯, commit result, inline git identity and the terminal approval strip
  • 418e4f0 Browser tests for the simpler web app: the audit's seven walkthroughs at 1440 and 390 px, first run, light/dark sweep of the new screens, updated navigation and wording
  • b262942 Build the helper parity tests only on Unix
  • ab3e664 Chat: keep the header to name, status and close; put usage, tests, agent switching and text size behind ⋯ in plainer words
  • 5b98a4b Check the README's version badge only when it has one
  • 9270d85 Check the agent is installed before Revive closes the old terminal
  • 2410309 Check the socket guard in child processes without /bin/sh, so it runs on Windows
  • 1dbdab1 Close disposable capture shells after recording
  • 0d0535e Commit tab: ask for a git name and email inline, draft a message only when asked, and say where the commit went
  • a368b46 Commit tab: show a refused name or email under the fields, credit fallback drafts plainly, tuck push, amend and PR under Options, and say when there is nothing to commit
  • 1775a1e Dashboard e2e reads the described project, not its record
  • 1e87ecf Deny with n on an asking session and offer tmux discovery only where tmux exists
  • a6977ad Design a session backend seam and a built-in PTY host
  • e966625 Design doc: the shared status words and what was built
  • 561cc66 Design for a simpler web app: navigation, first run, status words, approvals, settings, commit, phone
  • 3990f0d Design: simpler terminal dashboard and attach bar
  • ded8ff1 Docs for the simpler web app; the start sheet asks while the default loads; tests follow Sessions as home and the new words
  • 2f35bb4 Docs: browser sign-in for the local runtime, where serve listens, ttyd, help and update
  • eb5c66a Document the PTY host, term-server and what agent machines need now
  • 86d4bb7 Don't toast the 401s the access-token dialog already explains, and check the current first run in the Docker release test
  • 4438a20 Drop the ttyd prompts now that the web terminal is built in, and stop asking for tmux and python3
  • e22c4bc Exercise portable attachment controls on native Windows and macOS
  • 03ca735 Fall back to the suggested commit message when a draft is not one
  • 814c5b5 Follow the device's light or dark setting by default
  • 3fe00c3 Format the demo command and the synonym table
  • 8aa5732 Give Go and Git Bash the same file for /tmp paths on Windows
  • 3c2e1ab Give terminal programs the environment ttyd and tmux gave them
  • c7d5483 Give the desktop sidebar the phone's three items and a More group
  • deba06a Have the attach-test popup report through a file, not the screen
  • 4956a09 Help and guide name Ctrl+] d as the way to leave
  • 125eddc Hints for terminal links, and feedback when one opens
  • fc68c6d Keep a server's database in the state directory, and make local status and controls readable without a terminal
  • 3916550 Keep a session's secrets off its command line and off a dead agent's screen; the plain pty attach never sends Ctrl+\
  • 72fd2be Keep chat anchored, follow renames, and fit the calmer Sessions page to the suite
  • 2aa9461 Keep keys pressed while the attach client takes the Windows console back
  • ece6193 Keep the full suite steady at 24 CPUs
  • d3524f0 Keep the smoke test's lectern.exe out of the test's temp directory
  • 040e22f Keep the two Python-compatibility shims in helpers apart
  • 2467966 Lead the README with a quick start for each OS
  • c9e9ea8 Let a phone on this Wi-Fi connect in one click, and add lectern phone
  • d5e52e0 Let helpers ask the target's session backend about a pane
  • 47ab82a List n deny and the attached approval keys in the terminal help
  • de68b85 Lock the local runtime to its own browser, keep serve off the network without sign-in, and give every command its own help
  • da57108 Make first sessions, terminal controls and phone pairing work by default
  • 063011d Make the socket guard and plugin tests independent of drive paths, dialog timing and the device theme
  • a7f5586 Merge branch 'connect-ui' into ptyhost
  • 1e7243f Merge branch 'connect-ui' into ptyhost-win
  • 919703c Merge branch 'connect-ui' into simple-tui
  • 27b37d8 Merge branch 'ptyhost' into connect-ui
  • 390c8c8 Merge branch 'ptyhost-helpers-hooks' into ptyhost
  • d1d402e Merge branch 'ptyhost-helpers-native' into ptyhost
  • 53daa8e Merge branch 'ptyhost-helpers-workspace' into ptyhost
  • 88ff1e6 Merge branch 'ptyhost-win' into connect-ui
  • 7ed44cc Merge branch 'simple-core-3' into connect-ui
  • 696c238 Merge branch 'simple-docs' into connect-ui
  • 99b5234 Merge branch 'simple-fe' into connect-ui
  • cd00012 Merge branch 'simple-tui' into connect-ui
  • 482aa11 Merge branch 'simple-tui-2' into connect-ui
  • 162602a Merge branch 'simple-web' into connect-ui
  • 22c298b Merge branch 'simple-web-2' into connect-ui
  • 2dab27b Merge connect-ui into simple-web; Start an agent opens on the lectern up project
  • 39bc5d3 Merge origin/main into connect-ui: one first-session, phone and navigation story
  • d97f91e Move internal process records under docs/internal
  • 7fdd670 Name either relay when a bridged dial ends early
  • 292fbda Name lectern with forward slashes on Windows
  • d4d18bb Narrow the Windows worktree gap in the PTY host d...
Read more

v2.6.2

Choose a tag to compare

@github-actions github-actions released this 28 Sep 06:34

Lectern 2.6.2 fixes two things in the terminal client:

  • Double-click and right-click on file paths and links now work with tmux 3.7. Lectern read tmux's default mouse bindings in a way tmux 3.7 no longer answers, so its own bindings were silently skipped.
  • Copying in an agent session reaches your system clipboard. Selections made in Claude Code (and tmux copy-mode) are passed through as OSC 52 to your terminal.

v2.6.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 05:54

Lectern 2.6.1 is a follow-up to 2.6.0 for the terminal client.

  • Split into a project shell. In lectern attach, Ctrl+] | (side by side) or Ctrl+] - (stacked), or right-click → "Split: shell in project", opens a shell on the session's machine in the agent's current directory. lectern split does the same from your own terminal's split key (kitty and WezTerm examples in docs/terminal-client.md).
  • Links win over agents that grab the mouse. Double-click or right-click on a detected file path or link reaches Lectern first, in lectern attach and in the web terminal; everything else still goes to the agent.
  • Claude Code leaves the mouse to your terminal. Lectern starts Claude with CLAUDE_CODE_DISABLE_MOUSE=1 (a setting, on by default), so selecting, copying and clicking links work in Claude sessions.
  • The CLI finds the Lectern service on the same machine before falling back to a private local runtime.
  • Revive no longer appears on sessions whose agent was restarted from the shell.

v2.6.0

Choose a tag to compare

@github-actions github-actions released this 27 Sep 23:15

Lectern 2.6.0 turns the terminal-and-phone control plane into a full workspace: edit, review, browse, track and merge without leaving Lectern, on desktop and phone, in six languages.

Highlights

  • 33 agents. Claude Code, Codex and Gemini built in; Settings → Agents adds 30 more from a searchable catalog (OpenCode, Cursor, Copilot CLI, Grok, Amp, Kiro, Droid, Qwen, Kimi, Goose, Cline, Crush, Pi and more), with launch, model, resume and auto-approve flags checked against the real CLIs. Twelve catalog agents now reopen their exact conversation. → docs/agents.md
  • Plugins. One package format for agents, MCP servers, skills, workflows, lifecycle hooks, sandbox providers, quick commands, themes and palette commands. Install from a folder, git or a marketplace; you approve exactly what a plugin can do, and it is pinned to what you approved. Claude Code plugins' skills and MCP servers install too. → docs/plugins.md
  • Browser and Design Mode. A real browser beside each session, on desktop, phone and over the relay. Click any element to send its HTML, CSS and a cropped screenshot to the agent. Agents get browser tools you can watch and take over, plus opt-in computer use. → docs/browser.md
  • Files and editor. Explorer with git colours and live updates, a full code editor, rich Markdown editing, viewers for PDF, CSV, notebooks, Mermaid and HTML, Go to file and project search, and clickable file:line links in terminal output. → docs/files.md
  • Review and git. Side-by-side and image diffs, a merge-conflict resolver, line comments sent to the agent as one prompt, marks for lines the agent wrote, and stage or discard by line or hunk. → docs/review.md
  • Tasks hub. Pull requests and issues from GitHub, GitLab, Bitbucket, Gitea/Forgejo and Azure DevOps, plus Linear and Jira: checks with failing logs, reviewers, confirmed merges, merge queues, and "resolve / fix checks with agent". → docs/trackers.md
  • Workspace. Nested split layouts of any pane, saved layouts, a floating terminal, find in terminal output, 115 remappable shortcuts, light and dark themes, and English, Chinese, Japanese, Korean, Spanish and French. → docs/workspace.md
  • Usage limits and accounts. Optional account swap moves a limited Claude or Codex conversation to your next signed-in account. Per-agent usage charts with an 80% warning. → docs/accounts.md
  • Remote machines. Import hosts from ~/.ssh/config, jump hosts and security keys, port forwarding, downloads, "Open in VS Code / Cursor / Zed", and bring-your-own sandboxes (Proxmox, Docker, or your own scripts). → docs/ssh.md · docs/sandboxes.md
  • Click any file path or link an agent prints, even wrapped across lines or outside the project: the web terminal opens it (read-only outside the workspace); in lectern attach, double-click opens PDFs in your PDF app and links in your browser on your own machine, and right-click downloads, copies or sends the path. → docs/terminal-client.md
  • Phone. Select text on the live terminal, a customizable key row, offline snapshot, swipe to approve or archive, notifications that clear on every device once decided, and optional dictation on your own server.

Also

  • Race N agents: one prompt to 2–4 agents, then Compare + Judge, in three clicks.
  • Kitty keyboard protocol: Shift+Enter inserts a new line in Claude Code in a Lectern terminal; through tmux this needs tmux 3.5 or newer.
  • With no LECTERN_API, the CLI now uses the Lectern service on the same machine before a private local runtime.
  • Sessions whose agent was restarted from the shell no longer show Revive by mistake.
  • Fixes: a git-archive deadlock under load, a browser click that could hang for 60 s when a page closed itself, and a lost browser login on stop.

Android: the signed prototype APK lectern-android-0.2.1.apk is attached below (SHA-256 11f2ee2f…3b7925). It replaces 0.1.0, which opened in-app terminals incorrectly, and upgrades an installed 0.1.0 in place. See docs/android.md.

v2.5.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:18

What changed

  • Adds guarded workshop recovery and private-review integrations, with runtime prerequisites checked before execution.
  • Adds an experimental fixed-target GPU research lifecycle with lease-fenced execution and cleanup. The fixed target passed scoped hardware and controller-fixture checks, but production workload selection remains unavailable and execution still requires current runtime qualification. There is no general GPU selector or hard per-process GPU-memory limit, and this is not a claim of full workshop autonomy.
  • Keeps release builds portable across Linux, macOS and Windows.

Android prototype

The signed Android prototype remains v0.1.0 and was built for v2.4.1; it was not rebuilt for this release. Download the APK · SHA-256 · Build from source.

Install

curl -fsSL https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.sh | sh
brew install JeremiahM37/tap/lectern
scoop bucket add jeremiahm37 https://github.com/JeremiahM37/scoop-bucket && scoop install lectern
docker run -p 127.0.0.1:9110:9110 -v lectern-data:/data ghcr.io/jeremiahm37/lectern:2.5.1
go install github.com/JeremiahM37/lectern/v2/cmd/lectern@v2.5.1

Windows PowerShell: irm https://raw.githubusercontent.com/JeremiahM37/lectern/main/install.ps1 | iex. Linux .deb and .rpm, archives and checksums.txt are attached above.