Repository navigation
Luke 0.23.0
What's Changed
- fix(voice): tell the voice the agent's own tools and word its role by standing by @dastratakos in #5537
- feat(panel): a channel's own hover card by @dastratakos in #5556
- feat(agents): serve the call's tools to native agents over Luke's MCP server by @dastratakos in #5544
- fix(agent-runner): offer the tools the Claude Code and Codex prompts name by @dastratakos in #5533
- fix(service): one Steward policy in the operator's words, its tools, and code by @dastratakos in #5545
- fix(service): say the developer watches Claude Code's to-dos by @dastratakos in #5563
- fix(agents): correct misstated eve tool descriptions and prompt words by @dastratakos in #5541
- refactor: Mac devices become devices by @dastratakos in #5558
- refactor(host): the platform launcher takes the agent by @dastratakos in #5567
- fix(panel): stop fading every element's scrollbar, which froze opening a task by @charleslpan in #5564
- feat(sandbox): an OCI image from the sandbox setup script by @dastratakos in #5568
- chore(release): bump the workspace to 0.23.0 and write its changelog by @charleslpan in #5573
- feat(panel): drop the task toolbar's Start and its Run on by @charleslpan in #5566
- ci(host): publish the host daemon's release on host-v tags by @dastratakos in #5575
- feat(service): host enrollment and device-secret auth by @dastratakos in #5561
- feat(panel): Settings › Agents › Hosts by @dastratakos in #5574
- fix(service): removing a host settles its agents' running turns by @dastratakos in #5577
- feat: decide where a task's agents run by @charleslpan in #5560
- fix(service,panel): refuse a message to an agent on a removed host by name by @dastratakos in #5578
- feat(service): a GitHub token for a host's agents by @dastratakos in #5562
- feat(devices): discard a device agent by @dastratakos in #5576
- feat(devices): a device's isolation mode by @dastratakos in #5569
- fix(ui): a press in a submenu opened after another chooses its item by @charleslpan in #5580
- feat(desktop): This Mac takes a discard line and keeps a worktree holding unsaved work by @dastratakos in #5581
- fix(panel,ui): View options without cards, and a page's source edge to edge by @dastratakos in #5579
- feat(host): sign each host agent's gh in from Luke by @dastratakos in #5572
- fix(copy): cut the slop copy that landed since the ninth sweep by @luke-agent[bot] in #5583
- feat(host): the headless Linux daemon by @dastratakos in #5570
- feat(host): install.sh and the daemon's release by @dastratakos in #5571
- feat(host): run every host agent in a smolvm VM of its own by @dastratakos in #5584
- refactor(host): stop fetching gh on hosts by @dastratakos in #5589
- feat(host): install a pinned smolvm on hosts and refuse a box without /dev/kvm by @dastratakos in #5590
- fix(ui): a task box no one can tick draws the shared read-only Checkbox by @luke-agent[bot] in #5585
- fix(panel): a pull request section's cut title fades and keeps its count by @luke-agent[bot] in #5586
- perf(panel): draw an agent's transcript without waiting on its pull request by @charleslpan in #5588
- fix(host): rewrite the unit before recovering a refused re-enrollment, and check the service user's KVM access first by @dastratakos in #5591
- feat(service,host,panel): the Inbox number and the Dock badge count only questions waiting on you by @dastratakos in #5602
- feat(panel): a task's plan lists its agents at the top by @dastratakos in #5603
- feat(panel): Copy setup prompt in Add hosts, and install many servers in parallel by @dastratakos in #5604
- feat(panel): list a channel's threads by latest activity and show a teammate's face under Everyone by @dastratakos in #5606
- feat(service,features): the task list counts failed agents and questions waiting on you by @dastratakos in #5601
- fix(panel): a notice addressed to nobody settles when whoever it waits on opens it by @dastratakos in #5608
- fix(panel): a channel's thread opens in the side panel before its item is read by @dastratakos in #5599
- fix(service): an operator's untagged lines no longer refuse run_on_mac by @dastratakos in #5597
- feat(ui,panel,features): every task row shows one icon for how its agents stand by @dastratakos in #5605
- feat(desktop): run This Mac's agents in smolvm by @dastratakos in #5596
- fix(panel): a channel's thread tab wears the channel glyph by @dastratakos in #5543
- fix(host): claim the Mac commands a stalled follow missed on the next beat by @dastratakos in #5598
- fix(panel): quiet history failures and give two dead ends a way out by @dastratakos in #5593
- fix(panel): keep the folded pull request title from scrolling to its pencil by @dastratakos in #5592
- feat(panel): fold a phone's Conversation filters into one menu chip by @dastratakos in #5594
- fix(ui): name every folded choice bar option in its hint by @dastratakos in #5595
- feat(panel): a task's agents' activity makes its sidebar row unread by @dastratakos in #5612
- fix(panel): New task with an agent opens no draft tab beside it by @charleslpan in #5613
- feat(database): inbox items settle when their task is done or canceled or their agent is archived by @dastratakos in #5609
- feat(desktop): This Mac always runs its agents in smolvm by @dastratakos in #5616
- docs(privacy): say which Inbox items the sidebar and Dock count by @dastratakos in #5610
- feat(panel): the Inbox and your task rows stay in the sidebar with Channels on by @dastratakos in #5607
- fix(service): read an operator's quiet turn by its one row, not every message by @dastratakos in #5619
- refactor(desktop): remove the direct-on-Mac agent path by @dastratakos in #5622
- feat(panel): a thread's chip wears what it asks, not its agent's tile by @dastratakos in #5626
- fix(panel): the Tasks page counts only questions waiting on you by @dastratakos in #5624
- feat(panel): an open question's card offers × to resolve it without answering by @charleslpan in #5615
- fix(ui): let a breadcrumb pill take presses on the desktop's drag strip by @dastratakos in #5627
- fix(panel): New task's agent opens alone, with no plan beside it by @dastratakos in #5628
- fix(desktop): name This Mac by its Computer Name by @dastratakos in #5629
- fix(panel): a channel's Mine view keys threads by their task's assignee, not its creator by @dastratakos in #5623
- fix(ui,panel): toasts stay in the window's bottom-right corner by @dastratakos in #5630
- perf(panel): ⌘K stays quick with thousands of tasks and a long Inbox by @charleslpan in #5625
- fix(panel): New task keeps an offline device picked, never falling back to Cloud by @dastratakos in #5631
- feat(service): lock a task's Runs on at creation by @dastratakos in #5632
- fix(database): archive no automation run's agent while its pull request is open by @dastratakos in #5635
- feat(panel): an automation's finished runs leave the sidebar's Tasks by @dastratakos in #5637
- feat(panel): name who made an automation by @dastratakos in #5639
- perf(panel): ⌘K ranks tasks and Inbox items before it draws any by @charleslpan in #5633
- fix(host): a task's start carries its Runs on to the service by @dastratakos in #5643
- feat(service,panel): refuse a Start on another member's device by name, never in the cloud by @dastratakos in #5642
- fix(host): an agent's Start carries blank and call to the service by @dastratakos in #5644
- feat(service): a coding agent is told which teammate sent a message by @charleslpan in #5611
- perf(ui,panel): ⌘K stays drawn, hidden, between openings by @charleslpan in #5640
- fix(desktop): stop reporting a blurred panel window as frozen by @luke-agent[bot] in #5565
- fix(panel): an agent's device label names the device without "On" by @dastratakos in #5645
- fix(host): poll a live read whose first rows never arrive by @charleslpan in #5621
- fix(agent-runner): a device agent's Claude Code runs in bypassPermissions as in the cloud by @dastratakos in #5648
- feat(devices): list a Mac setting up local agents as "Getting ready…" by @dastratakos in #5638
- fix(panel,features,service): a task row's waiting-on-you icon follows the Inbox's live count by @dastratakos in #5634
- fix(panel): the sidebar's tasks sort anew once the pointer leaves it by @dastratakos in #5646
- fix(ui): undraw a kept dialog's room while it is shut by @charleslpan in #5651
- fix(features): count a run of calls as "tool calls" while it runs too by @luke-agent[bot] in #5085
- fix(ui): group a length counter's figures as every count is by @luke-agent[bot] in #5086
- fix(agents): let Claude Code agents save pictures and pages where Luke reads them by @luke-agent[bot] in #5641
- chore: remove Neon Realtime by @charleslpan in #5655
- fix(service): an agent replies on a thread once it answers a question or does a request by @dastratakos in #5653
- feat(service,panel): a task's pull request card names who opened it by @dastratakos in #5652
- fix(panel): a device that keeps beating never reads offline by @dastratakos in #5649
- fix(panel): a stranded task's row wears how its agents stand, like any task by @dastratakos in #5636
- feat(service): a task an agent makes runs where its member last ran one by @dastratakos in #5647
- feat(panel): an agent's message box always says where it runs by @dastratakos in #5658
- feat(database): sync capture by @charleslpan in #5650
- fix(ui): keep a popover inside the scrolling box it hangs in by @dastratakos in #5656
- feat(panel,ui): walk the file viewer with arrows and previews outside its card by @dastratakos in #5600
- fix(service,host): a device agent's checkout gets the cloud's commit identity by @dastratakos in #5661
- fix(panel): New task waits for the member's devices before it starts by @dastratakos in #5654
- fix(sandbox): Playwright and its Chromium where every agent reaches them by @dastratakos in #5662
- fix(service,host): a device agent saves pages where its device reads them by @dastratakos in #5664
- fix(panel): every narrow Inbox opens on its list, with its way back by @dastratakos in #5657
- fix(service): answer an auth outage as unavailable, never as signed out by @dastratakos in #5663
- feat(service): sync hub and watch by @charleslpan in #5666
- chore(host): pin the sandbox image that keeps Playwright where every agent reaches it by @dastratakos in #5668
- refactor(host): one luke-host core for every OS by @dastratakos in #5669
- feat(service,host): live reads woken by Luke Sync by @charleslpan in #5672
- perf(database): migrate one test PGlite per run, not per file by @charleslpan in #5660
- fix(ui): the viewer's previews are darkened, not see-through by @dastratakos in #5667
- feat(service): one way a machine joins Luke by @dastratakos in #5670
- feat(panel,ui): channels are filters of the Inbox by @dastratakos in #5659
- fix(panel): trim Machines' copy and make the agent prompt one button by @dastratakos in #5674
- fix(panel): New task waits on an explicit, bounded read of the devices by @dastratakos in #5677
- ci: cut each test shard to an equal share of the time, not of the files by @charleslpan in #5675
- chore(web): delete production Sentry source maps by @charleslpan in #5676
- feat(desktop): ship luke-host in the app and run it as a login item by @dastratakos in #5673
- feat(database,service,panel): an agent's post keeps whom it was addressed to, and threads say so by @dastratakos in #5665
- refactor(features): delete the dead brain turn vocabulary by @dastratakos in #5681
- test(panel): split the inbox tests and cap a test file at 90 s by @charleslpan in #5678
- feat(wire,service): every steered line's metadata says what carried it by @dastratakos in #5682
- refactor(voice,service,ui): retire "brain" as the name for what answers a call by @dastratakos in #5684
- feat(desktop): This Mac runs its agents through luke-host by @dastratakos in #5680
- feat(wire): stored-row reads accept metadata that names its kind, not an author by @dastratakos in #5683
- fix(copy): cut the slop copy that landed since the tenth sweep by @luke-agent[bot] in #5689
- refactor(desktop): delete the app's own agent follower by @dastratakos in #5688
- feat(panel): the transcript draws a thread line's chip and a GitHub card from its metadata by @dastratakos in #5685
- refactor(service): retire the OAuth device routes by @dastratakos in #5690
- fix(desktop):
pnpm startstages luke-host, as This Mac needs it by @dastratakos in #5693 - ci: re-record the test durations after the inbox split by @charleslpan in #5687
- perf(service): a held live read looks every 3 s, every second only where someone watches it move by @charleslpan in #5694
- refactor(service): retire show_code, board tools, and issue links from agents by @charleslpan in #5701
- refactor(panel): remove the Code review automation experiment by @charleslpan in #5697
- refactor(wire,database): the stored metadata vocabulary says only what is true by @dastratakos in #5691
- refactor(service): retire queue_question, withdraw_question, and end_call by @charleslpan in #5704
- refactor(service): remove voice from the admin views by @charleslpan in #5706
- test(panel): load the diff highlighter before the diff-list tests draw by @charleslpan in #5707
- refactor(desktop): remove video calls from the clients by @charleslpan in #5702
- fix(agent-runner): keep sending events while the run is held by @dastratakos in #5708
- fix(devices): a claim can be retried by @dastratakos in #5711
- feat(service): a device's lease by @dastratakos in #5715
- refactor(panel): remove the Code tab and shown code by @charleslpan in #5703
- feat: sidebar on Luke Sync, the first view end to end by @charleslpan in #5686
- fix(settings): drop the detail under Let agents run commands on this Mac by @charleslpan in #5710
- refactor(voice): move what other features share out of the voice packages by @charleslpan in #5721
- fix(service): a device's lease takes only what the device lost by @dastratakos in #5722
- feat: Mac commands and plan comments on Luke Sync by @charleslpan in #5725
- refactor: remove the plan template by @charleslpan in #5723
- refactor(panel): remove the task whiteboard by @charleslpan in #5700
- feat(host): match what a device runs to the service on every beat by @dastratakos in #5719
- fix(service): an eve agent's opening line says it is the Start's brief by @dastratakos in #5718
- fix: recover runners that stop taking messages or Stop by @charleslpan in #5716
- fix(service): an operator keeps its threads with its member by @dastratakos in #5733
- fix(service): an operator archived by hand keeps one heartbeat, and goes untitled and counted by kind by @dastratakos in #5732
- feat: inbox and channels on Luke Sync by @charleslpan in #5724
- fix(panel): know Luke by his kind alone and draw him with his face by @dastratakos in #5734
- refactor(panel): remove task issue links from the task page and New task by @charleslpan in #5698
- refactor: read whether an automation started an agent one way by @dastratakos in #5729
- fix(panel): the agent box's place chip draws its glyph alone when narrow by @dastratakos in #5739
- refactor(desktop): remove the Run agents on this Mac setting by @dastratakos in #5738
- refactor(wire,database): stored-row reads hold rows to exactly the new metadata vocabulary by @dastratakos in #5713
- feat(panel): fold the task summary's sections as the sidebar's groups fold by @dastratakos in #5741
- fix(host): retry a failed sandbox setup on its own by @dastratakos in #5740
- test(host): wait on the discard's settle in local-agent-lines by @charleslpan in #5744
- fix(panel): open a phone's Inbox with no row drawn open by @dastratakos in #5748
- fix(panel): keep the agent's recommendation on a yes/no ask by @dastratakos in #5749
- refactor(service): retire shown code's read side by @charleslpan in #5735
- fix(panel): draw a to-do step's Markdown in its label by @dastratakos in #5743
- refactor(panel): remove calling from the panel and @luke/ui by @charleslpan in #5736
- fix(database): keep a steered line eve may still take, marked withdrawn by @dastratakos in #5752
- fix(settings): single-action menus become buttons by @dastratakos in #5756
- fix(panel): one meaning and one place for Copy link by @dastratakos in #5758
- refactor(features): retire "brain" as the name of the turn run stream by @dastratakos in #5751
- fix(panel): every word of an Inbox ask and answer selects and quotes by @dastratakos in #5760
- refactor(service): retire task issue links' service side by @charleslpan in #5759
- feat: workspace members and invitations on Luke Sync by @charleslpan in #5727
- fix(panel): tidy the remaining menus' order, items and words by @dastratakos in #5763
- refactor(desktop): remove the voice and call windows by @charleslpan in #5764
- feat(panel): start a new thread from an Inbox item's reply box by @dastratakos in #5757
- refactor(service): remove the voice service by @charleslpan in #5712
- feat(plan): copy-link buttons on the plan title and sections by @dastratakos in #5754
- docs(changelog): add screenshots for 0.20.0, 0.21.0, and 0.22.0 by @dastratakos in #5717
- fix(ui): centre a button's trailing glyph on its words by @dastratakos in #5769
- refactor(service): retire the whiteboard's service side by @charleslpan in #5742
- refactor(service): remove the workspace Linear connection by @charleslpan in #5771
- fix(panel): say why Send refuses an unfinished answer by @dastratakos in #5745
- feat(panel): one agent menu on every surface by @dastratakos in #5766
- feat(panel): words selected in a plan's read view raise the format toolbar by @dastratakos in #5720
- fix(panel): give Luke his own Inbox group and count channel badges from the Inbox's list by @dastratakos in #5679
- refactor(ui): drop the toast and focus variants only calls used by @charleslpan in #5778
- fix(service): run_on_mac treats words an automation's firing hands on as foreign by @dastratakos in #5737
- feat: task record, pages, history, and browser tabs on Luke Sync by @charleslpan in #5726
- refactor(host): hold every agent's turn end on one rule by @dastratakos in #5774
- fix(panel): an update stays under For you while its task is under way by @dastratakos in #5767
- feat(ui,panel): choose tasks by a box and X, on the board and in the sidebar too by @dastratakos in #5761
- feat(agents): record the agent that started a coding agent by @charleslpan in #5779
- feat(service): read a repository's file by workspace and repository by @dastratakos in #5780
- fix(panel): a phone thread names its title once by @dastratakos in #5746
- refactor(service): stop reaching agents through their task by @dastratakos in #5775
- feat: agent transcript on Luke Sync in cursor mode by @charleslpan in #5731
- fix(panel): a link chip drawn again keeps its title rather than flickering to its address by @dastratakos in #5705
- fix(panel): draw the new-thread checkbox's agent chip with its tile by @dastratakos in #5791
- refactor(database,service): automations stop reading their task column by @dastratakos in #5787
- feat(agents): start an agent without a task by @dastratakos in #5783
- perf(service): held reads look at a digest computed in Postgres by @charleslpan in #5755
- feat(inbox): agent ⋯ beside a thread, Open in task, Inbox menus in order by @dastratakos in #5772
- refactor(panel): remove call history and spoken lines from transcripts by @charleslpan in #5750
- fix(panel): This Mac's row in Machines says only its name and status by @dastratakos in #5795
- refactor(service): retire "brain" as the name of the eve host by @dastratakos in #5768
- feat(settings,panel): graduate the Browser tab out of Experimental by @dastratakos in #5695
- fix(panel): an Inbox ask's presses wear their glyphs before they are answered by @dastratakos in #5786
- feat(host,panel): the sidebar on TanStack DB collections in the host by @charleslpan in #5785
- feat(ui,panel): drop the needs-you mark from a task's icon by @dastratakos in #5799
- feat(panel): read a taskless agent's files by its workspace and repository by @dastratakos in #5788
- feat: task list and workspaces on Luke Sync by @charleslpan in #5796
- fix(panel): draw a Mermaid flowchart whose label breaks a line by @dastratakos in #5801
- fix(panel): the Inbox chooses no thread until one is opened by @dastratakos in #5765
- feat(agents): a line store and held read cloud runners pull from by @charleslpan in #5781
- docs: say agent for Luke's coding agents, and stop calling things brain by @dastratakos in #5808
- feat: automations on Luke Sync by @charleslpan in #5798
- feat(agents): tell an agent's starter when the agent it started ends by @charleslpan in #5792
- feat(service): measure a transcript's write-to-answer time and bytes by @charleslpan in #5806
- feat(panel): the task's ⋯ moves to the Plan tab by @dastratakos in #5789
- refactor(host): remove the host's voice code and delete packages/voice by @charleslpan in #5803
- feat(panel): hold the Inbox's items for the window's session by @dastratakos in #5807
- fix(panel): an edit never rewinds to a line that is still sending or already gone by @charleslpan in #5730
- docs(skills): changelog screenshots without file sync, and phone pictures by @dastratakos in #5770
- feat(service): server-side waits on Luke Sync by @charleslpan in #5802
- feat(service,features): an account-wide live read of whole inbox items by @dastratakos in #5809
- fix(ui): name a list row's acts by the row they act on by @luke-agent[bot] in #5692
- fix(host): the package script takes its flags after pnpm's
--by @dastratakos in #5817 - feat(agents): every line of a cloud launch rides the read, a message delivered on ACCEPTED by @charleslpan in #5813
- refactor(database): drop the automation's task column by @dastratakos in #5790
- docs: describe Luke without voice calls by @charleslpan in #5805
- feat(shortcuts): consistent chords for menu actions by @dastratakos in #5762
- fix(service): stop warning about unconnected integrations and ToolSearch calls by @charleslpan in #5800
- fix(service): name database spans by statement, and run live reads under named spans by @charleslpan in #5804
- feat(host): serve install.sh for the first host release, 0.1.0 by @dastratakos in #5823
- fix(panel): drop the New task card's device-reading caption by @dastratakos in #5824
- feat(host,panel): the task list on TanStack DB collections in the host by @charleslpan in #5814
- fix(service): run_on_mac treats a GitHub review or comment by a person other than the owner as foreign by @dastratakos in #5793
- refactor: delete packages/live and retire the voice storage by @charleslpan in #5822
- feat(host): follow every inbox item the account reaches, told by scope by @dastratakos in #5818
- feat(panel): drop New task's title and stand Runs on after the composer's "+" by @dastratakos in #5826
- feat(panel): draw a Mermaid file as its diagram in the file viewer by @dastratakos in #5829
- fix(service): read an agent's activity from its last turn to end, not a turn's start by @dastratakos in #5830
- refactor(panel): an Inbox item's holder is its task or its agent, read through one path by @dastratakos in #5819
- fix(host): install.sh refuses a computer it doesn't run on, by name, first by @dastratakos in #5832
- feat(panel): Status, Priority and Assignee submenus on task rows by @dastratakos in #5797
- fix(ui): float the selection bar on a menu's opaque ground by @dastratakos in #5833
- fix(panel): For you lists the threads waiting on you, as many as the sidebar counts by @dastratakos in #5825
- fix(service): a send that meets its sandbox stopping resumes it and runs there by @charleslpan in #5816
- feat(host,panel): automations on TanStack DB collections in the host by @charleslpan in #5835
- fix(service): offer reviewers from the repository's assignees by @dastratakos in #5773
- feat(features,panel): links address what an agent owns by the agent by @dastratakos in #5782
- fix(ui,panel): a thread line's chip takes its line, cut only where the line runs out by @dastratakos in #5834
- refactor(database): drop the retired tables and columns by @charleslpan in #5831
- fix(panel): S opens the selection's Status and leaves no stale ask behind by @dastratakos in #5841
- feat(host): package luke-host for Apple silicon Macs by @dastratakos in #5839
- feat(panel): offer "Send as a new thread" under an open question too by @dastratakos in #5842
- feat(panel): move hosts to their own Settings page by @dastratakos in #5821
- fix(service): queue a message sent while a launch holds the runner lease by @dastratakos in #5728
- feat(host): install.sh supports WSL2, and proves a VM boots by @dastratakos in #5843
- fix(ui,panel): a board card's box and key line up with its status mark by @dastratakos in #5845
- feat(host): install.sh installs luke-host on an Apple silicon Mac by @dastratakos in #5844
- refactor(service): key an agent's cloud browser tabs by the agent by @dastratakos in #5794
- feat(panel): draw the Inbox's and channels' counts in the unread blue, said "for you" by @dastratakos in #5784
- fix(ui,panel): menus stand over resize edges, and the tree's search is spaced evenly by @dastratakos in #5848
- fix(service): reap a paused instance's sync listener by @charleslpan in #5847
- feat(panel): Settings › Memory finds, reads, and forgets memories in bulk by @dastratakos in #5840
- feat(panel): draw the Inbox's tasks from the account's feed of every item by @dastratakos in #5827
- ci(host): build and publish a darwin-arm64 host release by @charleslpan in #5851
- chore(host): version 0.2.0 by @dastratakos in #5852
- refactor: write what an agent owns under the agent by @dastratakos in #5815
- feat(panel): a setting to stay on the page when New task starts a task by @dastratakos in #5850
- refactor(agents): write no line to a cloud runner's stdin by @charleslpan in #5828
- feat(host,panel): the inbox's pending state in TanStack DB collections in the host by @charleslpan in #5836
- feat(host): serve install.sh for host 0.2.0 by @dastratakos in #5853
- fix(service): the sweep stops a native sandbox only under its runner lease by @dastratakos in #5838
- fix(ui,panel): Runs on says a device is online with a dot, and wears the flask as a badge by @dastratakos in #5849
- chore(release): write 0.23.0's changelog for everything since 0.22.0 by @charleslpan in #5855
Full Changelog: v0.22.0...v0.23.0