Changelog

What has shipped, newest first.

30 September 2026

New

  • Dictate into the coding agent composer with the microphone, as in the Assistant and Agents; its bars turn purple when the microphone picks up sound, with a warning when there is no clear input signal.
  • Breaking A new agent session names itself after what it is working on once its first run finishes, unless you or the agent that opened it gave it a name; renaming a session always keeps your name. To keep opening sessions, open Plugins, Agents and apply the pending upgrade.
  • Breaking Daily Notes can write monthly notes, and Focus has a picker for switching between the daily, weekly, monthly, quarterly, and yearly notes you have turned on. To turn on monthly notes, or to save Daily Notes settings again, first open Plugins, Daily Notes and apply the pending upgrade.
  • In the 3D knowledge graph, new items appear where they belong and stars drift smoothly into place as the map fills in, keeping their colours and orientation.
  • In Agents, messages between agents start folded, context summaries show their first lines with Show more, and tools are named in Title Case.
  • Creating a task asks only for a title and a description, ready to type, then opens the task so you can set its schedule, project, priority, objectives, and labels.
  • New agent in Agents settings offers ready-made Assistant, Research Agent, and Workflow Builder roles, each with its own instructions and tools, beside a blank agent.
  • An agent can select a tool group that is also among the shared tools, and its own settings for that group apply to it.
  • The Relay Shell workflow node runs a command on your Verdalia Relay with your default shell, in a folder inside a mount, and hands back its output and exit code. The shell plugin stays off until you run `verdalia-relay config enable shell`.
  • Pickers for tables, workflows, workflow nodes, templates, memory namespaces, projects, tasks, tool groups, and models can be searched by typing once opened.
  • The icon picker for pages, documents, and nav routes shows each icon once, in its regular style, instead of every weight.
  • Page, document, and project icons, icons inserted into a document, and Data View card icons all pick from the full Phosphor set, and projects and Data View cards can use an emoji instead.
  • Editable Data View cards keep their look, and save an edit when you press Enter or click away.
  • Breaking A calendar block can carry a formatted description, edited inline in the block editor or set by the assistant and workflows. Run the pending Calendar data migration to add descriptions to your existing blocks.
  • Run `verdalia-relay config` to change Verdalia Relay settings in an editor in your terminal, or use `config set`, `config enable`, and `config mount add` from a script. A setting Relay would refuse to start with is refused before it is saved.
  • Breaking Every Verdalia Relay plugin is now on by default, including on relays set up earlier: OpenCode ACP and audio work without editing the config, and OpenCode ACP starts once a filesystem mount exists. To keep one off, run `verdalia-relay config disable opencode_acp` or `verdalia-relay config disable audio`.
  • The Knowledge Graph now opens as a 3D star map that arranges memories and documents by meaning, with links, clusters, and a details panel showing a memory's relevance and properties. The flat 2D graph is still one click away.
  • Turn on Document Embeddings in Assistant preferences to place documents on the knowledge map by meaning; a document that cannot be embedded with the chosen model is not saved.
  • Breaking Agent Coding lists the coding-agent sessions running on each Relay, opens any earlier session from a searchable list, and shows a session's whole history with its messages, tool calls, and plan while you answer its permission requests and switch its model or mode; in workflows, Relay ACP starts, opens, reads, prompts, and steers sessions, and the On ACP Event trigger starts a workflow from what a session reports. Choose the operation again on existing Relay ACP steps.
  • Verdalia Relay can run Agent Coding sessions with Oh My Pi instead of OpenCode: run `verdalia-relay config set opencode_acp.agent omp`. Each new session is named after your first message.
  • Board widgets come in four heights suited to each kind, with chart groups, Day Flow, and Jobs the tallest: widgets side by side line up to the tallest of them, each keeps its height while loading or empty, Capture stays compact, and anything longer scrolls inside its widget.

Fixed

  • Moving one occurrence of a repeating calendar event to a later time keeps its reminders, start, and end notifications at the new time.
  • A link to a page or guide that does not exist opens a Page not found page with a way back, instead of a blank screen or the guide list.
  • A dictation that cannot be transcribed says why, such as no credit left with the provider, a rejected API key, a recording that is too long, or no transcription connection, and keeps the recording so you can retry, download, or discard it.
  • Breaking A failed agent run always says why, in Agents, the assistant, and to workflows, which receive it as `run_failed` with its error. Workflows that checked `run_finished` for a `failed` outcome need to listen for `run_failed` instead.
  • The Documents sidebar shows every folder's contents and keeps an open document in place, and renaming or moving a folder keeps trashed documents inside it restorable.
  • Data View settings warn when Can edit is on but no Title or Description is set to Column, which is what leaves the cards read-only.
  • Opening a session or item on a page you reached from All pages, without pinning it, stays on that page instead of jumping to an address that may not exist.
  • Agents and AI workflow steps on Gemini models run with top-k set, and honour temperature, output length, and reasoning effort.
  • Connecting an MCP client to Verdalia completes sign-in instead of stopping on a "missing field resource" error.
  • MCP clients can list and call tools again in workspaces where the Tables tools were selected twice, and MCP settings say when the selected tools cannot load instead of showing Saved.

24 September 2026

New

  • Web search tools come as two groups, Exa search, which needs no connection, and Tavily search, which uses your Tavily connection. The built-in Reddit tool is gone; add a custom tool to read Reddit.
  • The assistant and connected MCP clients can create, edit, and delete webhooks and read their public URL and accepted method, from the tool group now called Workspace Utils.
  • The assistant can add, change, or remove a single tool or memory source on an agent, or in the shared agent settings, without restating the rest.
  • Installing a plugin is one step that also installs the plugins it depends on, and a plugin can be disabled and enabled again without losing its tables or settings.
  • New agents get a readable two-word name like "Tidy Comet".
  • Remove a column from a table in its Edit column dialog, with a separate confirmation when the column still holds values.
  • Resize the table value editor by dragging the handle in its bottom-left corner.
  • The Agents rail says how long ago each session was last active.
  • Connect an Ollama server and pick from the models it has. Give it an address; the API key is optional, for a hosted one that wants it.
  • The sidebar keeps your pages together beneath the workspace picker, with account actions in the footer menu.
  • Editing your routes now arranges the whole sidebar: drag a page into a space, out of one, or into a new order among its siblings, and add a page inside a space from the space row itself.
  • An Alpaca connection can authenticate an HTTP Request step, so any Alpaca endpoint is reachable from a workflow.
  • A workflow can play audio on the machine running Verdalia Relay — spoken text, a notification sound, anything up to five minutes. Clips that overlap are heard together, and a step can wait until its clip finishes.
  • Verdalia Relay now runs on Windows. The Downloads page has a Windows build beside the Linux one, and it needs nothing else installed.
  • Hue brightness, colour, and fade can be driven by values from earlier steps in a workflow.
  • Open a job's workflow run or agent session straight from the Jobs list.
  • Read what a Hue scene contains and which one a room is showing, recall a scene at a chosen brightness and fade, and dim a room by a step without switching it.
  • Sort an agent's sessions by when they started, when they last ran, or by name.
  • Fold an agent's sessions away in the Team list, and they stay folded.
  • The Agent workflow node can branch a session from a message and compact a session.
  • An agent or assistant at work says what it is doing and names the tool it is running.
  • Rewrite a message you sent to an agent session: the conversation rewinds to that message and runs again from it.
  • Every agent answer names the model and the connection that produced it.
  • A message one agent sends another names the session it went to and opens it in a click, in both conversations.
  • Right-click a row for Copy value, Copy row as JSON, Edit text or Edit JSON in a side drawer with room for it, Duplicate row, and Delete row, and right-click a column heading to sort it or change its declaration.
  • The Tables list has a search box and a sort order, and a table's own page searches and orders rows by the columns you choose.
  • Breaking Unified Feather tables and Collections into one surface. Tables can now hold low-level mechanical data as well as higher-level, user-facing data with rich types: a column can be a fixed set of choices with colours, prose, rich text, a whole number, a date, a link to a document or workflow, a list, or a named shape with its own keys — declared on the table and enforced on every write. The former Collections system has been removed, and all data has been safely migrated into the unified table surface, keeping its names, columns and rows; Data Views, charts and board widgets read tables directly. This leaves a cleaner and more consistent workspace.
  • A new table can be created from just a name — its handle is derived for you — and its columns are declared in the same form, with the options, sub-columns, or element type each kind needs. Changing a column between kinds that store alike, say text to a fixed set of choices, is instant and touches no data; one that would not fit the values already there is refused and names the row that disagrees.
  • Breaking Creating, editing, and retiring agent roles, and changing the shared Agents model and tools, moved into their own Verdalia Agent Config tool group. Add it under Additional tools on the one agent you want running your team; no agent gets it by default.
  • Jobs is a scrolling list you can filter to Active, Success, Warning, or Error, on its own page or as a board widget, and a job you pick opens with its result, its error, and a way to stop it while it is still running.
  • Agent settings open as a wider sheet: your team on the left, and the agent you pick on the right with its instructions, model, tools, and limits. The Tools list folds away when you are done with it.
  • Breaking The Hue step now does everything the bridge can: list your lights, rooms, zones, and scenes, read one light, switch or dim or colour a light or a whole room, recall a scene, and check the bridge. Pick what it does from one Operation list, and name the light or room you mean instead of hunting for its id. Colour can be set by hue and saturation, by RGB, or by warmth in Kelvin, and changing only brightness no longer switches a light on. The old Hue Light Control step is replaced: rebuild those steps with Hue Action.
  • A table query can return up to 1000 rows in one step, from workflows, scripts, and the assistant.
  • Breaking Setting up a relay is now done from its command line: `verdalia-relay hue pair` finds your Hue bridge, waits while you press its link button, and stores the key, and `verdalia-relay status` shows what the relay is configured for, whether it is listening, and what it is paired with. Lights, rooms, and scenes can be checked and switched the same way, so a fresh pairing can be confirmed before Verdalia is involved. The local web page on port 8085 is gone; `dashboard_port` in the config file is ignored, and relay logs are read from the terminal or the system journal.
  • Breaking A workflow used as a tool now starts at a Tool Input node, which states the arguments an agent must supply and hands them over separately from the data you pass in alongside them — ids, tenants, or secrets the agent never sees. Existing tool workflows need that node added and the caller repointed at it; the arguments schema now lives on the workflow itself instead of on every caller, and an agent session calling a workflow tool tells it which session called.
  • Breaking A task keeps a record of what happened to it — created, state changes, schedule and deadline moves — shown as Activity in the task dialog; Start work and Stop work are gone, and time on an objective is read from that record instead.
  • The Agents page works on a phone: your team of agents on one screen, a session opens as a full conversation, and the back arrow returns to the list.
  • Play a track from the Library and keep listening while you browse, search, and scroll the files.
  • A track from the Library keeps playing anywhere in Verdalia and on your phone's lock screen, with its name, length, and a scrubber you can drag, and it stays where it is when you leave the browser and come back.
  • A minimized video keeps playing in a small player at the bottom of the Library, and reopens at the point it reached.
  • The Library loads more files as you scroll, and fills the screen on a phone.
  • Gather related nodes into a named frame, so a large workflow shows what each part of it does.
  • Attach images and documents to an agent session by picker, paste, or drag, and send them with or without a message.
  • Workflows can send an uploaded image or document to an agent session with Agent Send Message.
  • Breaking Alpaca orders that wait for a fill hold for a max wait you set, one minute by default; raise it on any order that needs longer.
  • Place extended-hours Alpaca limit orders that are good til canceled.
  • An AI node can use tools and return a structured schema in the same run, on models that support both.
  • Agents can read a single calendar block by id.
  • Calendar tools state every time in a timezone you choose, with the local date, weekday, and offset.
  • Fetch weekly and monthly Alpaca bars for long-horizon charts and indicators.
  • Exclude the current, still-forming candle from an Alpaca bar fetch, so indicators read completed candles only.
  • Turn on Errors as Values on an Alpaca node to route failures down an error branch, keeping the symbols that did come back.
  • Read your Alpaca equity curve and account ledger — fills, dividends, fees and cash movements — from a workflow.
  • Speak text with the Inworld TTS node, choosing Inworld's delivery mode, speaking direction, word timestamps, and audio format.
  • An agent can read a GitHub issue or pull request by its number, and list issues and pull requests together or one kind at a time.
  • Break a task into subitems by linking other tasks to it, searched and added from the task editor.
  • Applying the Tasks upgrade moves subitems you had typed out into a checklist at the end of that task's notes.
  • Keep named timers of your own — Email at 30 minutes, Deep work at an hour — and start them from the Timers widget.
  • A timer that reaches zero chimes once and keeps counting, so you can see how far over you ran before stopping it.
  • Every timer session is recorded in a table of your own, to sort, filter, and chart in a Data View.
  • The pomodoro sits with the rest of your timers, sharing their settings and their history.

Fixed

  • A plugin's settings show the tables it just created instead of "Unavailable table".
  • A failed agent run says what went wrong — such as a provider rate limit, exhausted credit, rejected key, or a conversation too long for the model — instead of a generic failure notice.
  • Switching workspace leaves the one you came from behind, so pages, boards and saved preferences belong to the workspace you are in — including with two tabs open on different workspaces.
  • A workflow step or agent set to a newer Claude model runs instead of failing on a sampling setting the model does not accept.
  • Opening a node after a run says whether it failed or was never reached, and a failed node always states why.
  • Save unfinished agent tool setups and keep unsaved changes protected when leaving the Agents editor.
  • A compaction that fails states what stopped it, in the words of whatever refused, and the session is free to try again.
  • Choosing a model, voice, or timezone opens the whole list at the current choice, with a search box to narrow it.
  • Focus gives the daily note more room: one header line now carries the day, the paging between notes, and opening the note in full.
  • Retrying an earlier message in an agent session asks first, naming how much of the conversation it discards.
  • A workflow run with thousands of steps finishes and shows its results faster.
  • A message you were typing to an agent is still there when you come back to it.
  • An agent session that fails to answer can be asked to try again from the failure.
  • A session an agent opens on its own appears in the Team list.
  • Branching an agent session from a message opens a new session carrying the conversation up to that point, and the session it was taken from keeps its own history whatever happens to the branch.
  • Stopping a workflow run keeps what it already did. The nodes that finished are still there to read, the node you stopped says it was cancelled, and the run is listed as cancelled rather than failed.
  • A workflow run shows the nodes it never reached as grey rather than green, and the reason for an ended branch is shown on the edge that ended it instead of on every node behind it.
  • A table's rows read as a table of values: every column of one kind is the same width, nothing spills out of a cell or a heading, and clicking a value edits it where it sits.
  • A failed change to a table is reported above the rows instead of replacing them, so the value that caused it is still there to fix. A column that cannot take a new type says so plainly and names the stored value it could not convert.
  • A column of a named shape shows its fields as you declare them, and calls them fields — a table has columns, an object has fields.
  • Listing tables and deleting, updating, or inserting many rows at once are fast on large workspaces.
  • A row that does not match its table's columns is shown in place, with what is wrong with it, instead of vanishing from the list — so counts and totals stay honest while you repair it.
  • A workflow's Runs list tracks a run while it is still going and states how it ended — finished, failed, cancelled, timed out, or interrupted — and opening any run shows what each of its steps produced, including the step a failure stopped on.
  • Breaking An agent's contact with the rest of your team is now stated as Team reach: No contact, Message peers, or Manage the team. Message peers is the default and gives one power — writing to a session it has been told about or heard from. Until now, allowing communication also let any agent list every role and every live conversation in the workspace and open more of them, so a specialist you gave one errand could reach anything. Roles that had it allowed are now on Message peers; give Manage the team to the one role that hands out work.
  • Verdalia leaves your phone's audio alone until it plays something: music in another app keeps running when you open it, and connected speakers stay asleep.
  • Hue lights work again: listing or reading a light no longer fails outright, switching a whole room now reaches the room instead of quietly doing nothing, setting a warmth in Kelvin actually takes effect, and a light in white mode reports its warmth rather than a stale colour. Your bridge is also named properly instead of showing as Unknown.
  • Compacting a conversation no longer waits on the request and no longer reports a failure for a summary that worked: the Compact button is answered at once and the summary appears when the session reaches it. You can ask for one while the agent is working, and a message you send in the meantime is answered rather than held up.
  • When your Hue bridge cannot be reached, the lights and scenes pages say so instead of showing an empty list, an unknown light reads as not found, and setting a light reports the state the bridge actually ended up in rather than what was asked for.
  • Breaking Creating, updating, and commenting on Linear issues works from workflows and agents, and every Linear reference is now an id you take from a list or query step: an issue id or key like ENG-123, and team, project, assignee, and state ids. Linear steps and agent tool selections that looked a team up by key, a person by email, a project by name, or a state by name need those ids filled in, and the separate Query Teams step is gone — list teams instead.
  • Breaking A workflow whose last step fails now reports the run as failed instead of finishing with a warning. Runs that ended on a step allowed to fail will now show up as failures; set that step to ignore failures if it is meant to be optional.
  • Opening an agent session no longer puts the cursor in its name or raises the keyboard, and the recording waveform keeps its shape at any width.
  • Smart order keeps a task you started at the top, weighs importance and urgency together so a critical one is never buried by a merely important one, and sinks tasks with neither set to the bottom.
  • Opening an agent session while it is working shows the reasoning, tool results, and replies it has already produced, and an interrupted run keeps them.
  • Attachments in a conversation render after a reload instead of showing an unreadable message.
  • Browse the calendar across year boundaries without a window error.
  • The assistant can take as long as one step needs, so writing a whole document or a large file in a single step reaches the end.
  • Tables, Data Views, and charts display rows from any table carrying a State column, including Tasks, Projects, and Objectives.
  • Editing a row in a table or Data View shows the saved row in place.
  • An agent reads a full page of GitHub issues or pull requests in one step.
  • Workflow settings scroll within the dialog, keeping Save in reach.

9 September 2026

New

  • Technical Indicators offers full price-history readings, ADX, Bollinger Bands, Donchian Channels, and relative volume.
  • Workflows can detect confirmed swings, market-structure breaks, support and resistance zones, and fair value gap creation, touches, and fills.
  • Reply to Gmail messages in their existing conversations from workflows and the assistant.
  • Charts offer smooth lines and candlesticks with Open, High, Low, Close, and optional Volume.
  • Color lines, areas, and bars by value sign or change from the previous point.
  • Candlestick charts can ignore session gaps, with dashed purple lines marking collapsed intervals.
  • Split a collection into a Chart group with one independently scaled chart per ticker, product, or other field value.
  • Define agent roles with their own instructions, then open separate conversation sessions that you and your workflows can message.
  • Give each agent its own model, additional tools, and memory sources, and let its sessions exchange messages.
  • Agents know when messages from you, workflows, and other sessions were sent.
  • Compact an agent session from its composer, or read, append, and delete its history with Agent Transcript workflows.
  • Collection fields can hold freeform JSON and configured tool groups.
  • MCP clients can inspect tool-group settings and change shared or per-agent configurations.
  • Give Agents document and table editing tools, skills, workflows, and configured connection tools. The workflow Tool Provider now lets you choose tool groups and their individual operations.
  • Breaking Scripting a workspace from an MCP client is now `execute_script`, renamed from `js_execute`, and takes only the script. A saved prompt naming the old tool, or passing `language` or `timeout_secs`, needs updating. Every script runs under the same five-minute ceiling.
  • Breaking The `verdalia.*` scripting API returns plainer results. `workflows.create` hands back the workflow itself rather than wrapping it, `workflows.execute` returns the run id and status, and `workflows.executionResults` keys each node's runs by node id. `tables.create` names the new table with `table_id`. A saved script reading the older shapes, or branching on a thrown error's `code`, needs updating: a failure now carries its message alone. Load the `verdalia-scripting` skill for the current signatures.
  • The Library is a list you can scan, with the file you pick shown alongside it.
  • The Library sorts by newest, oldest, or name, and filters by kind, from the control beside the search box.
  • Audio and video play in the Library itself, with a scrub bar, ten-second skips, and the running time. A long recording plays all the way through.
  • Every file in the Library has its own link, so you can send someone straight to a clip or an image.
  • Opening a node shows the most recent result it has, labelled with the run that produced it. A result carried over from an earlier run is marked as carried over, and a node the selected execution never reached says which of the two it was.
  • Stepping through the results of a node inside a loop names the loop and the iteration each result came from, including a loop nested inside another.
  • Upload Media can now store a file as public, so you get a link that works without logging in — paste it into Discord and the image renders, or hand it to a service that fetches by URL. Private is still the default and still the right choice for anything you would not put on a billboard. Public is decided when the file is stored and cannot be switched later, and the expiry still applies: a file set to vanish after a day takes its link with it, so turn expiry off for a link that has to keep working.
  • Breaking Media travelling between workflow nodes now has one name for each thing it carries. The identifier is `object_id`; the old `media_id` and `media_object_id` spellings are gone, as are `byte_count` alongside `size_bytes`, the `download_url` that nothing outside Verdalia could open, and two fields that were always empty. Sizes and dimensions moved into `metadata`, which now also carries audio and video duration and PDF page counts for the first time. A workflow referring to an old name will stop with an error naming the field to use instead.
  • A task planned for a day but not yet for an hour sits above the calendar grid. Drag it down onto the timeline to give it a time, and it takes the length of its estimate. Dropping it shows the block you are about to get before you let go, rather than a fixed sliver that turned into something else.
  • The hours the calendar shows and the hours you work are now two separate settings. Your working day is where free time is looked for, when Tomorrow morning lands, and when an untimed deadline falls due; the calendar window is simply what is drawn, and it still widens on its own for anything scheduled outside it. Your existing hours became the calendar window, so nothing on screen moved.

Fixed

  • Breaking Alpaca quotes report absent bid/ask prices as null and omit `last`; workflows reading `last` must choose Latest Trade `price` or a bar's `close` according to intent.
  • Alpaca price alerts compare thresholds with the latest eligible IEX trade rather than the quote midpoint.
  • Chart editors put the collection and grouping before plot fields, with descriptive axis labels.
  • Charts accept up to 1,000 items and show an error for excessive limits instead of changing the entered number.
  • Chart widgets give plots more height while keeping additional groups inside a scrollable area.
  • Time-based charts keep the latest observations by default, with a Truncate choice to keep the earliest history instead.
  • Agents keeps connection progress beside its heading without shifting the roster.
  • Agents are listed A–Z, with distinct headings, dividers, and grey or blue session activity dots.
  • Agent setup and migration errors link to Plugins from both the page and agent settings.
  • Agent and plugin settings retain your latest edits while saves are pending or fail.
  • Choose a starter node when configuring Tool Workflow in settings.
  • Breaking System bug reports are sent only by the built-in assistant; connected AI clients no longer have `submit_system_bug_report`.
  • RSI and ATR readings in workflows use Wilder smoothing across the supplied price history.
  • A long script or workflow run from an MCP client leaves every other tool in that workspace free to run alongside it, and a run that takes minutes returns its result.
  • Two changes that arrive at once both stick: editing a workflow's settings while its graph changes, renaming a task while its state changes, moving one widget while another is added, or editing a document from two places.
  • Usage recorded by a workflow's AI steps is listed against the workflow that ran them, and usage from an MCP client against that client, so the timeline shows where a workspace's activity came from.
  • Add multiple instances of a tool group with separate settings, including Collection Items and Tool Workflow.
  • Agent sessions show configuration and execution failures in their conversation history.
  • An AI node used without a structured output schema leaves the rest of its branch running. Its `structured`, `structured_error` and `intermediate` outputs carry an empty value, so a node reading `response`, `artifacts` or `metrics` alongside them runs.
  • A skipped value reads as skipped, naming the node that ended the branch and why, everywhere node inputs and outputs are shown.
  • Opening a past execution draws the path it took. The connections it followed stand apart from the ones a branch ended, and a node it skipped is marked as skipped instead of as completed.
  • A workflow moving something large — an hour of audio, a video you are pulling an audio track out of — no longer has to keep it in memory the whole way through. Anything past about 50MB is written aside and fetched again only when a node actually needs the bytes, so passing one big file down a long chain of nodes costs what one copy costs rather than one per node. Workflows that used to fail partway through on large media should now finish.
  • Execution history no longer stores multi-megabyte values. Anything over about 256KB is recorded as a placeholder saying what it was and how big, which is what a value that size was already showing you if you tried to read it. The workflow still receives the real value; only what is written down changes.
  • Images stored in your workspace now actually reach the model when a workflow sends them. The AI nodes were handing the provider an address only Verdalia could open, so the image silently never arrived. Long assistant runs were affected too: the link was minted once at the start and had expired by the time a later turn used it. Both now get a fresh link at the moment the model is asked.
  • Deadlines now show on the calendar. They are drawn as a wavy rule across the day rather than as a block, because a deadline is a moment you must be done by, not time set aside — and a deadline with no time of day is marked at the end of your working day rather than being left off the calendar entirely, which is what used to happen to nearly all of them. Click a deadline to open the task behind it, wherever that task is scheduled. A deadline you have already missed is drawn in red.
  • Compacting a long conversation can no longer come back empty. Compacting summarises what has been said and sets the original turns aside, and when the model returned nothing the summary was blank — leaving the assistant with no memory of the conversation and no way to get it back. Compaction now fails outright rather than keeping an empty summary, and conversations this already happened to have their history again.
  • Chart settings use a chart-type dropdown and full-width controls, with a bounded preview below them.
  • Logarithmic charts can plot zero values while keeping their original values in tooltips.
  • Line charts fit their automatic range to the displayed values, including after filtering.

1 September 2026

New

  • The new Audio Join node joins a list of audio clips into one file, so a script longer than a speech provider will take in one request can be spoken in sections and delivered as a single track. Clips must share a format, mismatched ones are refused rather than joined into a broken file, and an optional gap sets silence between them.
  • Breaking The Technical Indicators golden cross now reports its state as a type — golden, death, or none — instead of a separate active flag beside it. A script that checked gc.active must check gc.type === "golden" instead; the old field is gone, and a script still reading it will quietly see no cross even during one.
  • Press Ctrl+P anywhere to open the command palette: jump to any of your pages, create a task, or start a daily, weekly, quarterly, or yearly note and land straight in it.
  • Choose your own key combination for the command palette in Settings → Preferences.
  • Print a document, or download it as a Markdown file, from its toolbar.
  • Breaking A calendar block can say where it happens, and the assistant and workflows can set it. Run the pending Calendar data migration to add a location to your existing blocks.
  • Breaking Cancel a calendar block from its right-click menu — one occurrence of a repeating block, or the whole series — and it stays on the calendar, dimmed and struck through, while freeing the time it held and no longer reminding you. Run the pending Calendar data migrations to use it on your existing blocks.
  • Workflows can trade through Alpaca. The new Alpaca Trading node places an order and, if you ask it to, waits for the fill before carrying on — then reads positions, amends or cancels resting orders, closes a position, and reports buying power. Paper is the default, and switching a node to real money takes a separate deliberate confirmation.
  • A stop-loss and take-profit can be attached to the order that opens a position, and Alpaca holds them at the exchange. They stay live whether or not the workflow is still running, so protection does not depend on Verdalia connectivity. Note that they inherit the order duration: a day order leaves an overnight position unprotected, so use good til canceled for anything held past the close.
  • An order can be given your own id, which makes running the same step twice safe — the second run reports the order already placed instead of opening a second position.
  • The new Alpaca Event Trigger starts a workflow when an order fills, cancels, or is rejected — so a strategy can act on a fill without sitting open waiting for one. Filter by event and by symbol.
  • A price alert can be set on an Alpaca Trading node and picked up by an Alpaca Event Trigger, which wakes a workflow when the price crosses. Alerts survive a restart. They are checked on a short interval rather than continuously, so treat one as a cue to look rather than as protection for a position.
  • Alpaca Trading can read the market clock and calendar, so a workflow deciding something "before the close" lands on the right side of it on a half day, and "tomorrow morning" means the next trading session rather than the next weekday.
  • Ask the assistant to change how long a workflow may run before it is cut off, anywhere up to 24 hours.
  • Filter a Data View, a Table node, or an assistant query by a value held inside a list field.
  • Match any of several values in a single filter.

Fixed

  • GPT-5.6 has been removed from the model picker. It was never a model — OpenAI publishes it as another name for GPT-5.6 Sol, and calls made with it failed. It was also being preselected for new OpenAI connections, so conversations and workflows could land on it without anyone choosing it. Pick GPT-5.6 Sol, Terra, or Luna instead; anything still set to GPT-5.6 now moves to a working model on its own.
  • When a model fails, the assistant now says which model and which provider failed, instead of only that the provider failed.
  • Breaking When an agent calls a tool that hands control back to the workflow, the other tools it asked for in the same breath now run instead of being dropped, and the handed-back call is recorded in the transcript with its answer left blank for you to fill. Resuming means filling that blank rather than appending a new entry, and forgetting to fill it now fails loudly instead of the call quietly never having happened. Workflows that resume a yielded agent need their resume step changed from appending an entry to filling the open one.
  • When a workflow runs out of time while waiting for an order to fill, the order is reported as it stands, with however much has filled so far, and is left running at the broker. It is never cancelled and never reported as though nothing happened, so a partly filled position cannot go unnoticed.
  • A Memory, Prepare Memory, Embed Document, or Memory Tools node can be added to a workflow and saved before its namespace is picked.
  • Capture sits in the board as a titled widget like the ones beside it, and opening a page leaves the keyboard focus where you put it.
  • The header fits itself to the window and to how many pages you keep. When room runs short the page names give way to their icons alone, and only on a genuinely narrow window do the pages move into the side menu. Page names no longer disappear behind the account badge.
  • Breaking A Table node Query whose filters cannot be applied now fails instead of returning every row. Send an empty filters list to match everything.
  • A Data View scrolls inside its widget, so every card, row, and checklist item past the fold is reachable without the board stretching to fit them.

30 August 2026

New

  • A workflow agent can pause partway through to ask a question or wait for approval — on Discord, Telegram, or wherever else you build it — and carry on from where it stopped once the answer arrives.
  • Breaking Each indicator on the Technical Indicators node is given a name, and the result is an object under those names — so a script reads result.rsi or result.fast_sma directly. Naming also means the same indicator can be configured twice, a 50 and a 200 period average side by side, which the old fixed keys could not express. Existing indicator nodes need a name added to each entry.
  • Breaking Technical Indicators stops the run when an indicator has too few bars, saying what it needed and what it got — for example RSI(14) needs 15 bars but only 9 were provided. It no longer reports success with the indicator quietly missing.
  • Alpaca Market Data lets you pick the data feed. IEX, the default, covers one venue; SIP is the full consolidated tape and needs an Alpaca subscription.
  • A calendar block can remind you several times before it starts — a month out, a week out, and the morning of — with each reminder set in minutes, hours, days, or weeks, up to twelve months ahead.
  • Breaking Calendar blocks keep their reminders in one list. Run the pending Calendar data migration to carry each block’s existing reminder across.
  • The Calendar Block Trigger says how many minutes before the block a reminder fired, so a workflow can tell a fifteen-minute warning from a day-out one.
  • A Card or Checklist icon can be an emoji, typed straight in or stored in a field, so a shopping list can show 🥛 and 🍌 where the icon sets have nothing to offer.
  • Breaking Charts are now their own widget, built by saying what to plot and what to plot it over, with a live preview beside the settings and one click to compare a line against a bar or a pie. Existing charts inside a Data View no longer render and need adding again as Chart widgets.
  • A workflow can delete a document, sending it and anything inside it to the trash.
  • The assistant and connected MCP clients can delete a workflow, a table, or a single table row. These stay switched off until you turn them on.
  • The assistant works with your collections and pages: it can shape a collection, fill it, and put it on a page for you.
  • A connected MCP client reaches your collections, pages, and guides alongside your documents, tables, and workflows.
  • Create, rename, and delete memory namespaces from the Memory page, each showing how many memories it holds. A namespace can be called anything, and renaming one leaves the memories in it alone.
  • The assistant can set up its own memory namespaces, so it can build something that remembers without you creating the namespace for it first.
  • Breaking Workflow steps that read or write memory pick a namespace from a list instead of a typed name. A step pointing at a namespace that never held a memory needs one selected before it runs again.
  • Breaking A memory step that stores memories picks its namespace once, in the step itself, instead of repeating it on every memory handed to it. Existing store steps need a namespace selected before they run again.
  • Breaking Transcribing audio picks a provider and model the way every other AI step does, with OpenAI, Groq and ElevenLabs to choose from. Open any workflow that transcribes speech and select a connection and model on the Transcribe Audio node before it runs again.
  • Set the agent, model, transcription and voice that new conversations start with, under Settings, Assistant Preferences.
  • Breaking The microphone in the assistant needs a provider that transcribes. Add an OpenAI, Groq or ElevenLabs connection under Connections and voice input works; with exactly one, it is chosen for you.
  • Breaking Web search runs on a Tavily connection you choose. Add one under Connections and select it on any workflow step or assistant tool that searches the web.
  • A Collection field can link to a document, workflow, table, or memory, and shows the target's name wherever the item appears.
  • Breaking Daily, weekly, quarterly and yearly notes are created when you ask for one, and are not created on a schedule. Open Plugins, Daily Notes and apply the pending upgrade to bring the notes you already have into your calendar and history.
  • The calendar marks every day that has a note.
  • Step back and forth through the notes you have written, from the note itself.
  • Your notes are kept as a Daily Notes collection, so you can browse them, build views over them, and drive workflows from them.
  • A Daily Note workflow node creates or looks up the note for a day, week, quarter, or year.
  • Invite someone into your personal workspace, from Settings, Members.
  • Hand your personal workspace to someone else, so you can move it to another account or pass it on.
  • Leave a personal workspace you were invited into.
  • A personal workspace carries its owner's name, so the ones you belong to read apart.
  • End a branch on purpose from a JavaScript node with skip("reason"), and give the reason it stopped.
  • A connection a skip stopped is drawn fading out in the workflow editor, and hovering it names the node that stopped and the reason it gave.
  • A run lists the nodes it skipped, so a workflow that did nothing says which branch ended and why.
  • A loop body that skips an item leaves that item out of the collected results.
  • Send null down a connection like any other value, and let the node after it decide what to make of it.
  • Pick an hour or a quarter hour from a short list beside any time field.

Fixed

  • Technical Indicators results now reach the nodes wired after them when several symbols are computed at once. Previously a batch produced its results but nothing downstream received them.
  • Alpaca Market Data delivers the number of bars asked for, following the provider through however many pages that takes, and says so plainly when a symbol has less history than requested. It used to return a shorter series without mentioning it, quietly skewing every indicator built on it.
  • Asking Alpaca Market Data for several quotes at once now costs a single request instead of one per symbol, so a long watchlist is far less likely to hit the rate limit.
  • Alpaca Market Data rejects a symbol list containing something that is not a ticker, rather than silently dropping it and returning fewer results than symbols asked for.
  • A Data View that cannot be read says which setting is wrong and what belongs there, instead of only that something is unsupported.
  • A chart whose items have no value to plot says so, rather than drawing an empty frame.
  • The neutral series colour can be chosen for a chart and saved.
  • A Data View keeps a steady height on a page, scrolling its own items when there are more than fit, and scrolling sideways when a table is wider than the space it has.
  • Every Checklist card carries a checkbox you can see and tick. Finished items keep the same background as the rest, so the list no longer reads as banded stripes.
  • The quick menu shows your documents, tables, and workflows, so what you are reaching for is not buried under individual memories.
  • Uploading an image or file works again, whether you add it to your library, drop it into a document, or attach it to a message to the assistant.
  • The assistant schedules calendar blocks, including repeating ones, when you have it on an OpenAI model.
  • The assistant creates Collections and changes their fields when you have it on an OpenAI model.
  • Charts fit the widget they are in. Long names are shortened instead of squeezing the plot into a sliver, crowded dates turn on their side rather than disappearing, and a chart with one series no longer carries a legend that just says "Value".
  • Charts no longer print a line of leftover text such as "bar graph with 4 series and 124 data points" across the widget.
  • Dates on a chart stay readable as the range grows, and hovering names the exact day or hour you are pointing at.
  • Charts over time now leave a gap on a day nothing ran, instead of closing it up and reporting activity that never happened. Stacked charts line up correctly again, so Workflow Spread no longer shows bands crossing through each other.
  • Ranked lists such as Popular Workflows and Model Usage read from the top down, busiest first.
  • Chart widgets start taller, so the plot gets the room instead of the labels around it.
  • Chart colours mean something again: red and amber are kept for failures and warnings, so an ordinary workflow is no longer drawn as though it had failed.
  • A workflow tooltip lists its runs, failures and timings on separate lines again, instead of one run-on sentence.
  • The hatching over chart bars is gone. Turn on more contrast in your browser or system and it comes back, for telling series apart without relying on colour.
  • Breaking Only skip("reason") ends a branch now. A JavaScript node that returned null to stop one passes null on instead, so rewrite those nodes to return skip("reason") before the thing they were suppressing goes out.
  • A trigger or input placed inside a loop body starts that body on its own, so what you send it runs there without the rest of the workflow around it.
  • A workflow whose separate parts call one another runs, instead of stopping with a recursion error. A chain of nested workflow calls is still cut off at eight deep.
  • A task keeps the title and notes you typed when you click away from it, and its editor stays up until the change is saved.
  • Switching to another project in Tasks leaves the task you were reading closed.
  • Setting a task's status while its title is empty keeps the status, and the title goes back to what it was.
  • Typing over an hour or a minute takes both digits, and a time field can be cleared while you retype it.
  • Escape in a task title puts the stored title back instead of closing the task.
  • A number field — a repeat interval, a workflow node setting — can be emptied and retyped without the old value coming back under the cursor.
  • The editor toolbar holds still while your notes are being saved.
  • A calendar node can work out whether a block is available or locked from the workflow's own data, instead of needing a separate branch of the workflow for each answer.
  • The desktop app loads your views and saves everything you change in it.
  • Memory tools can be given to an MCP client or an agent, with the namespace and embedding model you choose.
  • Tool groups on the MCP and agent settings pages are listed shut, each showing how many of its tools are switched on.

26 August 2026

New

  • Every installed plugin is listed under Plugins in Settings, marked when an upgrade is waiting, and opens directly from there.
  • Settings is grouped into Personal, Assistant, Connections, and Workspace, and opens on Preferences.
  • Breaking Preferences holds your timezone, day bounds, notifications, and appearance, and its notification setting covers calendar blocks, task deadlines, and focus sessions together. Set your notification sound there if you had silenced Calendar or Tasks.
  • Slash commands open from the Discord bot that owns them.
  • Checklist is a new Data View: pick the field that means done, and tick items off from your board.
  • Breaking Everyone in a workspace now shares one set of pages, so a team can build a dashboard together. Where several people had their own, the workspace owner's is the one kept.
  • Ask the assistant to place or change a Data View on a page, and it can do it rather than telling you how.
  • The assistant can add pages, place widgets on them, and rename them, so a dashboard can be built by describing it.
  • A new Data View opens on cards rather than a table.
  • Bind a card slot to a field and edit it straight on the card, without opening the item.
  • Add an item to a collection from its Data View, filled in and ready to edit.
  • Sort any Data View from its corner, over the order it was set up with.
  • Dates and times read as how long ago they were.
  • A collection shows its items as cards. Click any value to edit it in place, nested lists and objects included.
  • Add an item to a collection from its own page.
  • A collection's fields are edited as one set, and every change is saved together.
  • Removing a field that still holds values is refused until you clear them.
  • Put a collection on any page as a widget, and add to it from there.
  • Create a collection in one step, naming its fields as an object.
  • Point a collection at a table you already have, with the fields you declare checked against it.
  • Edit a collection's fields from its menu.
  • Add an item from a form rather than an empty row.
  • Renaming a collection keeps every existing link to it working.
  • Choose which collection a plugin reads and writes, from its settings.
  • A plugin that needs attention says which it needs: a collection to choose, or a data migration to run.

Fixed

  • Usage charts and widgets load.
  • Model Usage shows the provider and model behind each bar.
  • Workflow charts rank by slowest, error rate, or average time across every workflow.
  • The usage ledger filters by category, source, and status.

24 August 2026

New

  • Introducing Collections. A collection allows you to create a meaningful mapping over a datatable, and display it with a rich type definition. They are the basis for items in your workspace.
  • A Collection can name a table you already have, and removing one leaves the table and every row in it.
  • Plugins lists the upgrades waiting for a plugin and what each one changes, and applies them when you press Upgrade.
  • A plugin with an upgrade waiting is marked on the plugin list.
  • Dashboard pages read as a single board, with each widget set into the surface.
  • Set a background image of your own behind Documents, from Settings › Theme.
  • Breaking The animated background themes are gone, replaced by a background image you choose. Pick one in Settings › Theme.
  • The document tree keeps the folders you had open, and holds its order while you scroll.
  • The document sidebar stays open where you leave it, and folders show as the one you are on.
  • A workflow node whose connection is missing, or is the wrong kind for that node, is marked on the canvas while you edit instead of failing when the workflow runs.
  • Workflow save, build, and run failures collect in the warning panel on the canvas, where each one expands to its full message.
  • Improve reliability and consistency of core workflow executor
  • Verdalia now comes as a desktop app, allowing you to always keep your workspace accessible, instead of losing it in a browser tab. Donwload it from the downloads page (Linux only)
  • Relay is available as a ready-to-run Linux download from the Downloads page.
  • Breaking Relay is now Verdalia Relay. Downloading the new version means pairing it again — it does not pick up the previous version's settings.
  • Task descriptions are a formatted editor with headings, lists, checklists, code, and links, edited in place without leaving the task.
  • Task and document workflow nodes can read and write bodies as document blocks instead of Markdown, keeping formatting Markdown cannot express.
  • New calendar blocks are named New Block 1, New Block 2, and so on, instead of arriving untitled.
  • Save and close sit at the top of the calendar block editor, reachable without scrolling.
  • Time picker arrows move the whole time in 15-minute steps and roll over the hour; click an hour or minute to type an exact value.

Fixed

  • The focus timer ring is coloured by mode.
  • Opening the plugin from a calendar widget's error message reaches the plugin's settings.
  • Adding a node from the canvas right-click menu places it where you clicked.
  • Copying selected text in the workflow editor copies the text, not the selected nodes.
  • Tables, workflows, and Collections chosen by an assistant show up by name in the node editor rather than as unavailable.
  • Opening a past workflow run shows that its results are loading before the canvas fills in.
  • Completing or discarding a task from the task editor keeps the editor open instead of closing it.

22 August 2026

New

  • New LLM models now become available automatically as soon as they are released.
  • The default catalog is extended to support mini, nano, and flash models, suited for jobs like cheap classification or summarization.
  • Model pickers show each model's context window and price per million tokens, and can be searched by name.
  • A changelog at /changelog, listing what shipped in each release.
  • A time block can be promoted into a task. Right-click a block on the calendar to convert it, and the block stays as the time reserved for it.
  • An AI node now reports each finished reply while it is still working, so a chat agent can answer turn by turn instead of staying silent until the whole run ends.
  • A guide on making your agent more advanced, covering voice notes, photos, progress updates while it works, and typing indicators.
  • A guide on giving your agent memory, covering what a memory is, a nightly job that distils conversations into durable facts, and wiring recall back into the agent.
  • Guides read like guides: bigger type, syntax-highlighted code, screenshots, and a table of contents that follows you down the page.

Fixed

  • Model pickers list the newest models first, instead of alphabetically.

20 August 2026

New

  • Task projections put your scheduled tasks straight onto the calendar, so planned work and booked time share one view.
  • Reserve time for a task from the calendar, turning a scheduled task into a block that stays linked to it.
  • Knowledge canvas: arrange notes, documents, and memory on a spatial board.
  • Link documents to each other and follow those links from the editor.
  • In-app guides, also readable by the assistant, so you can ask it how something works.
  • The calendar view was redesigned around a clearer day, week, and month layout.

Fixed

  • Recurring events handle exceptions, edited occurrences, and series edits correctly.
  • Timezone selection no longer stalls when changing your workspace timezone.
  • Search handles multi-word and partial terms more predictably.
  • Google connections created without explicit scopes now request the right ones.

30 July 2026

New

  • GitHub App connections with event triggers, so workflows can react to pushes, pull requests, and check runs.
  • New data view types for presenting table and query results.
  • Media and voice workflows are complete end to end: transcribe, generate, and route audio and video.
  • Multi-day events and tasks span properly across the calendar.
  • Personal productivity onboarding walks you through setting up your daily workspace.
  • Observability charts were rebuilt on a shared charting component.

Fixed

  • Document editing sessions survive reconnects instead of dropping your place.
  • Workflow executor error classification distinguishes retryable failures from permanent ones.
  • Assistant runtime reliability improved around long-running tool calls.
  • Node validation no longer rejects valid configurations.

30 June 2026

New

  • Verdalia item types: tasks, projects, objectives, and notes as first-class objects with their own views and actions.
  • GTD task system with focus view, planning UI, and project management surfaces.
  • Day flow shows your calendar, tasks, and time blocks as one timeline.
  • Calendar recurrence, ICS invites, and timezone-correct scheduling.
  • Workspace views are built on Pegboard, so pages are composed from widgets you can rearrange.
  • Customizable widget chrome, sizing, and drag handles across boards.
  • Daily notes capture the day alongside your tasks and calendar.
  • Marketplace for installing plugins and templates into a workspace.
  • Import tasks from Linear into your workspace.
  • Workspace account tiers and usage quotas, with an accounting view of what you have used.
  • Durable workflow storage and queues, so scheduled and long-running work survives restarts.
  • Workflow profiling gauges show where execution time goes.
  • A JavaScript Intl runtime is available in workflows for date, number, and locale formatting.
  • Plugins can be reconfigured after installation without being removed and re-added.
  • The landing pages and overall visual style were redesigned.

Fixed

  • Workspaces no longer hang on an infinite loading state.
  • Workflow execution uses far less memory on large runs.
  • The icon picker no longer exhausts memory when scrolling the full set.
  • Tool calls are normalized across providers, so the same tool behaves the same on any model.

31 May 2026

New

  • The Verdalia shell: a personal workspace built on the Canopy platform, with its own surfaces and setup.
  • Memory nodes and a graph layout for exploring what the assistant remembers.
  • Recurring events, with the job executor protected against exhaustion from dense schedules.
  • Breaking Model configuration moved from a static model list to a live catalog resolved from your connections. Provider and model selections may need to be reselected.
  • Breaking Tool access is granted by scopes and categories rather than tool packages. Existing agent tool selections need to be re-granted.
  • GitHub App OAuth, Google custom OAuth, and workspace-supplied OAuth credentials.
  • Connect an external MCP server and use its tools from the assistant and workflows.
  • Custom vault storage for credentials, with explicit key rotation.
  • Media generation nodes and explicit media storage for workflow attachments.
  • Document paging and bulk delete for large document trees.
  • Reasoning effort is configurable per model where the provider supports it.

Fixed

  • Polling integrations surface their errors as workflow errors instead of failing silently.
  • Workflow build errors are surfaced structurally, pointing at the node and field at fault.
  • The scheduler no longer drifts or double-fires when a run overlaps its next trigger.
  • Tool call timeouts are enforced, so a hung tool no longer stalls a conversation.

30 April 2026

New

  • A rebuilt assistant: new agent loop, new conversation model, and a new chat interface with clearer tool and reasoning display.
  • Google, Anthropic, and OpenAI are available as first-class model providers.
  • Prompt caching cuts cost and latency on long conversations.
  • Breaking Canopy Bridge is now Verdalia Relay. Existing bridge connections must be re-created as relay connections.
  • Breaking The knowledge system was replaced by an embedding-backed memory service with retrieval. Previously indexed knowledge does not carry over.
  • Connections were rebuilt around a single service, with typed credentials and connections referenced by ID.
  • Pin a workflow to a published version, so edits do not change what is running.
  • Pegboard: compose a page out of widgets.
  • Image and media support across the assistant and workflows.
  • Connect a GitHub account and use it from workflows.
  • Full-text document search.
  • Workspace grouping, usage statistics, and job retention maintenance.
  • Discord gained command access controls, attachments, webhook sending, and a typing indicator.
  • Tables can be schemaful, with the schema enforced on write.

Fixed

  • Switching workspaces works reliably again.
  • Assistant transcripts recover from interrupted streams instead of losing the turn.
  • Template interpolation resolves target values safely, including in external nodes.
  • Workspace invitations complete correctly.

31 March 2026

New

  • Sign in with a ChatGPT subscription to use OpenAI models without an API key.
  • Discord bot interactions: slash commands, and webhooks as workflow triggers.
  • A block-based document editor.
  • Move documents in bulk, and new document tools for the assistant.
  • Spotify integration for workflows.
  • The Canopy Bridge dashboard was rebuilt.

Fixed

  • OAuth callback and state handling was hardened against spoofed callbacks and malformed credential configs.
  • Assistant responses persist mid-stream, so a reload no longer loses the answer in progress.
  • Webhook node configuration saves correctly.
  • Telegram message sending and downloads handle attachments and formatting properly.
  • Max token limits are respected per model.

15 March 2026

New

  • Canopy Bridge connects cloud-hosted Canopy to devices on your local network over Ed25519-signed requests.
  • Philips Hue support via Canopy Bridge: lights, groups, and scenes, with discovery and pairing.
  • TickTick integration with OAuth, for creating and updating tasks from workflows.
  • A workflow status trigger node that fires when another workflow completes or fails.
  • Edit table rows inline, without opening a modal.
  • Create rows in schemaless tables through a form that adapts to the data.
  • OAuth2 was reworked across GitHub, Google, Linear, and TickTick, with more reliable token refresh.

Fixed

  • Telegram bot event handling and webhook processing are more reliable.
  • Better logging across workflow execution, authentication, and job processing.

14 March 2026

New

  • Google Workspace integration: OAuth plus Gmail, Drive, and Calendar workflow nodes.
  • A webhook system with API endpoints, trigger nodes, and a management UI.
  • Subworkflows dispatch as ordinary jobs instead of executing inline.
  • A multi-stage onboarding flow that walks new users through their first workflow.
  • A semaphore node for limiting concurrent access to a shared resource.
  • Tool results for documents, stocks, tables, web search, and workflows render as views rather than raw JSON.
  • Image support across the platform, backed by S3 storage.
  • Node errors follow a standard format with user-readable messages.
  • A floating assistant panel that stays available while you work.

Fixed

  • Workflow execution no longer hangs or fails unexpectedly on certain graphs.
  • The assistant handles reasoning content in tool calls correctly.
  • Spawn agent node configuration and validation were corrected.
  • Assistant streaming no longer buffers messages into delays.
  • A null value in the scripting node stops downstream execution as intended.
  • Slug-based connection resolution works reliably.

7 March 2026

New

  • Breaking Reports were replaced by a hierarchical document system with folders. Existing reports do not migrate.
  • Documents are addressed by path, so /folder/subfolder/document resolves directly.
  • Rename documents inline in the document tree.
  • A Whisper transcription node for turning audio into text.
  • Branch nodes: if/else and switch, for conditional workflow logic.
  • Conflict detection warns when two people edit the same workflow at once.
  • Per-workflow visual preferences, stored with the workflow.
  • Conversations compact automatically when they grow too long.
  • The icon set moved to Phosphor for a consistent look.

Fixed

  • The workflow editor no longer shows stale cached data.
  • The assistant can be stopped mid-response.
  • Schemaless Feather tables no longer drift their schema.
  • Smaller frontend bundles, so pages load faster.
  • The assistant sidebar no longer jitters while a message is sending.

28 February 2026

New

  • The codebase moved from submodules to a single monorepo workspace.
  • A dashboard with real statistics and upcoming scheduled workflows.
  • CLI commands for listing node types and retrieving their schemas.
  • Voice is fully enabled, with InWorld text-to-speech.
  • Using an invalid node type now produces a validation error with suggestions.
  • Workflows can be modified programmatically, with full validation.

Fixed

  • Frontend build scripts and dependency paths were corrected for the monorepo layout.
  • Docker and deployment scripts were updated for the new structure.

21 February 2026

New

  • The assistant shows its reasoning chain alongside tool calls.
  • Turn boundaries and thinking streams give conversations a clearer structure.
  • Each tool call carries a unique id, so results map unambiguously to calls.
  • Socket schemas support union types.
  • Alpaca trading integration with market data.
  • The assistant can create, read, update, and delete workflows.
  • Chart visualization for workflow and table data.
  • Keyboard navigation and shortcuts in the workflow editor.
  • Multi-select and box select on the workflow canvas.
  • Workflow versioning with JSON Patch validation.

Fixed

  • Text-to-speech reads responses only, not the assistant thinking.
  • Tool completion state and markdown rendering were corrected.

14 February 2026

New

  • The knowledge system was modernized end to end: embeddings, semantic search, scopes and metadata, hybrid retrieval, filtering, and document chunking.
  • Reddit can be read through RSS, without credentials.
  • Seven workflow nodes for building RSS-based news digests.
  • Embedding settings with retry and batching, configurable from the UI.
  • Workspace isolation was hardened against cross-workspace access.

Fixed

  • Cron-based workflow scheduling fires correctly.
  • Polygon requests retry with exponential backoff when rate limited.
  • Connection lookup refreshes expired OAuth tokens automatically.
  • Reddit requests work from datacenter IPs.
  • Execution data is preserved across WebSocket reconnects.
  • The invitation flow completes: routing, CORS, and response parsing.
  • The workflow enabled toggle saves.

7 February 2026

New

  • Breaking The database moved from SurrealDB to PostgreSQL. Existing SurrealDB data does not migrate.
  • Docker deployment with a multi-stage build and compose configuration.
  • Automated deployment to Cloudflare Pages and a VPS.
  • Documentation covering the API, the CLI, and every workflow node, with an in-app viewer.
  • An allowlist controls who can sign up, managed from the admin surface.
  • Shared public header and mobile navigation across the marketing and docs pages.

Fixed

  • CORS and SameSite are configured correctly for cross-origin cookies.
  • OAuth redirects use absolute URLs and complete reliably.
  • WebSocket connections are stable through authentication.

31 January 2026

New

  • A full AI assistant with streaming chat, voice, and tools.
  • Breaking Authentication moved to stateless JWT. Existing sessions are invalidated and everyone must sign in again.
  • One table node handles every table operation, with batch support.
  • Connect a Claude Pro or Max subscription for assistant use.
  • An MCP server exposing workflow tools to external AI clients.
  • MCP permissions are managed from settings.
  • List and inspect jobs from the CLI.

Fixed

  • A panicking workflow surfaces an error instead of breaking the page.
  • Nodes get human-readable semantic ids.
  • Multi-byte strings truncate safely.

24 January 2026

New

  • The first AI assistant, with streaming responses and voice.
  • A multi-turn agent loop with tool results and conversation compacting.
  • Node output caching with state tracking, so unchanged branches are not re-run.
  • REST endpoints for workspace operations.

Fixed

  • Starter node selection adds a trigger automatically.

17 January 2026

New

  • Partial execution: run a workflow up to a chosen node for debugging.
  • Node aliasing and fuzzy search in the workflow editor.
  • A unified table API with batch support.
  • Query parameters for filtering, sorting, and pagination.

Fixed

  • Reddit fetching takes a configurable sort order.

10 January 2026

New

  • Canopy was extracted into its own platform.
  • A report system for writing up work by hand.
  • A connections manager, starting with Discord.
  • Provider and model selection for AI nodes.
  • Job events surface execution data as a workflow runs.

Fixed

  • Workflow panics are handled in the frontend rather than blanking the page.