Skip to content

v2.7.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:45
· 91 commits to main since this release

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 doc
  • 23ab1ee Never end a session because a different backend cannot see it
  • 973c9cf Offer to find tmux sessions only where tmux is installed
  • bc87936 One Getting Started page, and docs that match the product
  • 4ae6fc6 Open commit Options before checking push, and check the quickbar in dark mode now the theme follows the device
  • c8a6c40 Open the saved-conversation picker straight from lectern restore
  • 5e72e6e Paths in chat messages open like terminal links; docs for hints and feedback
  • 8ac562c Plain words left over from the re-audit: no project, work in progress here, the chat's status; docs for attaching without tmux
  • 69dc2e5 Point verify's UI checks at the simpler layout: Sessions home, Tasks board, Settings tab
  • 96140b5 Port the MCP runtime install and Gemini workspace helpers to Go
  • daf1df4 Port the cookies-file import to Go
  • 90fdd3e Port the native identity, conversation and search helpers to Go
  • 35f9c17 Port the owned-worktree scripts to Go helpers
  • ff2efea Port the realpath, ports and loopback relay helpers to Go
  • cdf4cdf Port the review, review-git and workspace-files helpers to Go
  • d2f521c Port the workflow staging and skills helpers to Go
  • 28a7406 Present Lectern as a control plane with current workflow demos
  • 08fd3ac Put every tmux interaction behind a session Backend
  • a9a7c49 Quick-shell test finds the action through the palette
  • ca0f1b6 Read the process table only for formats that need it
  • 3a0b307 Rebuild the web bundle after merging the round-two simplicity, terminal and Windows branches
  • e04df56 Rebuild the web bundle after merging the simpler sidebar, commit and terminal-approval changes
  • 945738f Record deployment and native Windows/macOS verification
  • 81bac74 Record the before/after walkthrough numbers in the design
  • c465418 Refuse agents that aren't installed, expire approvals with their session, and let the demo ask once
  • 83a5a96 Release 2.7.0
  • 67f77d3 Replace homelab specifics in user docs with generic examples
  • 1fef17d Round two of the simpler web app: installed agents only with the demo standing in, own-folder commit warning and a real message, chat keeps its last line, sessions named by project and topic with inline rename, a calm Sessions page, three-item navigation
  • e125d38 Run agent hooks, drivers' pump and trust helpers in Go on targets with lectern
  • bb62446 Run the Lectern server natively on Windows
  • bd5ca2c Run the native PTY tests from one workflow and gate releases on them
  • d279dac Run the native helpers in Go on targets that have lectern
  • 2547864 Run the real file, review and git API tests against the Go helpers
  • 1cbf0c2 Run the real session tests against both backends
  • ef49ce2 Say a missing git name and email before the folder moves, not after
  • 2e4714e Say how to install the terminal viewer, make up truthful, and make doctor pass a working setup
  • ae94a13 Say python3 is optional, and list the workspace helpers
  • b4d63b5 Send a local runtime's agent hooks to its own port, and have doctor prove it
  • 4c13e2a Settings: quiet the advanced section tabs so Basics leads
  • 3817062 Show a pending approval above the web terminal, with Y, A and N keys
  • bf174ed Show all desktop navigation directly in the sidebar
  • 2fa0671 Show an approval's command once, under a plain heading
  • f8d3ab5 Skip the real-terminal attach test in plain go test on Linux; the isolated runner runs it
  • 2416ffc Suggest the command people mean by pair, resume and similar words, and name the Windows startup entry
  • 9dbfce9 Terminal dashboard: a key bar that shows what works here, short menus and a palette, one-key approvals, end and restore keys, a one-screen New session
  • 5759a32 Terminal status words from the shared vocabulary; commit from review offers a new branch on main
  • a52a115 Terminal walkthroughs as e2e tests, the existing terminal tests on the new keys, and the terminal guide rewritten for them
  • 21aba23 The attach bar says when the session needs you; Ctrl+] m answers the approval and returns to the agent
  • 28814dd Use the server's tmux_installed to decide whether to offer finding tmux sessions
  • b857877 Wait for the requeued hold in the account fallback test, and describe the shorter sidebar in verify
  • c214184 Walk a new user through a whole first session in Getting started
  • ec9c5d0 gofmt
  • a7b5b86 gofmt
  • 2253afd lectern claude/codex add the folder's repository as a project, and refuse an agent that isn't installed