Repository navigation
Releases
Sirio 0.40.0-nightly.202611061028
Sirio 0.39.0
Sirio now asks for a project's name and icon when you add it, keeps your
saved prompts in the right panel, and lets the chats and terminals fold into
a narrow rail. In the chat, ↑ brings back what you sent and Shift+Tab moves
to the next permission mode.
A name and an icon for a new project
After you add a project, with Open folder, Clone, Create, the empty centre
or the prompt for a folder that is not a git repository, a Project added
dialog asks for the name the sidebar shows and for the project's icon.
- The folder on disk keeps its own name.
- Esc or Skip keeps the defaults.
- Projects added over the control socket never open it.
sirioctl project addtakes--display-nameinstead.
Saved prompts
The right panel has a Prompts section for the prompts you send again and
again.
- One click on a prompt's copy button puts its text on the clipboard.
- The pencil, or a click on the card, opens the prompt in a centre tab with
a title field. It saves itself 400 ms after you stop typing, and also on
Ctrl/Cmd+S, on a worktree switch, when you close its tab and when you quit. - New prompt adds one, and right-click › Delete removes one after asking.
- Each prompt is a Markdown file, holding exactly the text Copy copies, in
~/.local/share/Sirio/promptson Linux,
~/Library/Application Support/Sirio/promptson macOS and
%LOCALAPPDATA%\Sirio\promptson Windows. - When the last file in a tab closes and a terminal is split beside it,
the tab becomes a terminal tab, and comes back as one after a restart.
Fold the chats and terminals into a rail
The half that holds the chats and terminals has a new button to the right of
its +. It folds the half into a 40 px rail, and the editor, Changes and the
browser take the width.
- The rail has one icon per open chat or terminal, with its status dot, a
button on top that unfolds the half again, and a + at its foot. - A click on an icon shows that chat or terminal in a card over the editor,
as wide as the half was. A click outside the card closes it. Esc does not:
it still goes to the chat's Cancel or to the terminal. - Folding changes only what is drawn. Chats keep answering and terminals
keep running, and what they wrote while folded is there when you look. - Sirio remembers, per worktree, whether the half is folded.
Recall a prompt, cycle the mode
- In an empty composer, ↑ brings back the prompts sent in this chat, newest
first, with their@mentions, and ↓ walks forward again. The last 50
are kept with the chat and survive a restart. With text in the box, or
the caret off its first or last line, the arrows move the caret as before. - Shift+Tab in the composer moves to the agent's next permission mode. It
never lands on Bypass, which still asks first when you pick it.
Fixes
- Ctrl+Shift+P no longer opens the command palette over a close that is
waiting for an answer, the End All confirmation or the Set Title prompt. - A closed tab's pill no longer stays on its project's row in the sidebar.
sirioctl project listshows a project's new name right after it is
changed in Project Settings.- The name field in Project Settings no longer shrinks to a few pixels in a
short tab.
Sirio 0.39.1-nightly.202611041034
Sirio 0.39.0-nightly.202611032022
Sirio 0.39.0-nightly.202611031030
Sirio 0.38.1-nightly.202611011009
Sirio 0.38.0
The chat's composer is now a band across the bottom of the chat, as in Zed,
and its controls stay on one line however narrow the chat gets.
The composer is a band
- It runs the full width of the chat under the conversation, with a thin
rule above it, and its text lines up with the conversation's. With the
session panel docked beside the chat, it stops at the panel. - Attach (now a +), the session panel and ⋯ sit on the left. The agent's
controls and send sit on the right. - The permission mode is an icon: a hand for the default mode, a pen for
accepting edits, a clipboard for plan, sparkles for auto, and a red
struck-through shield for Bypass. The connection's dot sits on its
corner. In a wide chat the mode's name stays beside it, and the tooltip
always has it.
One line at every width
The controls no longer wrap onto a second line. As the chat narrows they
make room in steps, and what leaves the line becomes a row of ⋯:
- First Fast, Thinking and the session panel toggle move into ⋯, and the
mode shows only its icon. - Then the background-task count and the context ring.
- Then the model, or the agent's name, and attach, and the chips that stay
lose their arrows. Down to the narrowest pane Sirio allows, the mode, the
effort and send stay on the line. There Default shows as empty bars and
Ultracode as full ones, and the tooltip names the level.
A picker you open from ⋯ opens there, inside the chat. ⋯ marks the first
row you can choose, and the mark stays on its row when the rows change
under it, for example when a background task ends. Nothing covers send.
Sirio 0.38.0-nightly.202610311245
Sirio 0.37.0
The chat's effort is now a list and every chat starts on High, Java projects
that use Lombok stop showing errors that are not there, and Sirio's fields,
tooltips, menus, scrollbars and Settings pages are now drawn with Ely, like
the chat.
Effort is a list, and every chat starts on High
The chat's effort slider is now a list.
- Each level the agent offers has a row with a stepped bar. Ultracode notes
"+ workflow", and when the agent offers it, a muted Default row at the
bottom keeps the model's own level. - Every chat asks its agent for High, when the agent offers it: when it
connects, after a restart, on a new conversation and after a model
switch. A level you pick wins, and it survives a model switch that
offers it. - An agent that refuses a level no longer ends the chat. The chip goes back
to the last level the agent accepted.
Lombok in Java projects
When a project's pom.xml, build.gradle or version catalog mentions
Lombok, Sirio's built-in Java language server (jdtls) now starts with
Lombok's agent, so the getters, builders and constructors Lombok generates
are no longer errors.
- The jar is the newest Lombok in your Maven repository (including a
localRepositoryset in~/.m2/settings.xml) or Gradle cache. Sirio
ships no jar of its own: with none in the caches, nothing changes. - Once the server is up, the project is built once in full, so files you
never opened lose their stale errors too. - If the server does not start with the agent, Sirio starts it again
without it, and the project keeps its Java support. - A newer Lombok jar in the caches, or Lombok added to a build file while
Sirio runs, restarts the server once. - A
javaentry you wrote yourself inlanguages.tomlis left as it is.
Fields, menus and Settings drawn with Ely
- Framed fields are 28 px high, with Ely's radius and text. The composer's
caret is thinner. - Tooltips have a solid fill and a shadow and open below the pointer. The
sidebar's are the same size as the others. - Menus are a solid panel with a shadow and 28 px rows. A long label ends in
an ellipsis inside the menu, and the tab menus' text follows the interface
size. - The scrollbars of the Markdown preview, the CI log, the Trace tab and a
thought have a translucent thumb, a little further from the edge. - Settings buttons are smaller, and an error on a Settings page is a filled
alert whose text can be selected and copied. The status bar's usage meter
is a thin bar that glides between values.
The keys in a text field change too:
- The editing keys work in every field. On macOS: Cmd+Backspace,
Option+Delete, Ctrl+K, Ctrl+A/E/B/F/H/D, and Ctrl+N/P in a field of
several lines. On Linux and Windows: Ctrl+Delete. - Moving and deleting by word stop at the same places in every field: a
word is a run that holds a letter or a digit. - On macOS, Ctrl+K in a text field deletes to the end of the line.
Ctrl+Shift+P still opens the command palette. - Shift+Enter and Alt+Enter no longer submit a one-line form or the address
bar. Enter and Ctrl/Cmd+Enter still do. - Tab on a Settings page now stops on every button.
- Each deletion is its own undo step.
Fixes
- Ctrl/Cmd+C now copies text selected in a chat response.
- A reply no longer comes out garbled when a background agent finishes in
the middle of it. - A long background-task notice wraps inside the chat instead of running off
both sides. - A diagnostic message with line breaks, such as TypeScript's, no longer
draws a missing glyph or a two-line row in the Problems drawer. - A language server that fails its startup handshake is now stopped,
instead of being left running. - A project added or removed, or a label, icon or primary mark changed,
just as Sirio's window got the focus back is no longer undone by the
refresh that follows. Before, an added project could also disappear from
the saved list.