Skip to content

Luke 0.23.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 22:50
· 546 commits to main since this release
2defb77

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 start stages 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