Features
- feat: templates, usage indicator, wand, approval, logs, help, settings, deploy template, error UI (#1931)
- feat: place all styles in global vars (#1923)
- feat(studio): added 'studio' blog (#1927)
- feat(tag-dropdown): added start block to tag dropdown by default (#1922)
- improvement(docs): updated with new ss, docs script updated to copy items from main app into docs for tools (#1918)
- feat(registry): renaming workspace and folders shortcut (#1912)
- fix(workspace-popover): added duplicate, import, export workspace; added export multiple workflows (#1911)
- fix(variables): fixed floating variables, added autcomplete off to prevent suggested values (#1908)
- feat(workflow): workflow overhaul (#1906)
- fix(credentials): remove special scopes from additional scopes required hook, remove additionalScopes arg from tool definition (#1905)
- improvement(popover): added keyboard nav to tag dropdown popover to iterate over parent & child items (#1903)
- feat(duplicate): added folder duplication, add duplicate to sidebar context menu (#1902)
- feat(notes): add notes (#1898)
- feat(registry): support multi-workflow delete (#1897)
- fix(local): add missing deps, fix access patterns, update dockerfiles, updated turborepo (#1895)
- improvement(docs): simplify docs and add examples/pictures of v5 (#1887)
- fix(dropdown): add dependsOn to dropdown component to dynamically fetch options predicated on another subblock (#1886)
- feat(subflows): editor, block;
- fix(copilot): stop, mr (#1877)
- feat(crms): added hubspot, asana, trello, salesforce, pipedrive tools and triggers (#1871)
- feat(workflow-block): added redeploy action to workflow header for workflow block (#1875)
- improvement(performance): added revalidation caches on ollama and openrouter models (#1872)
- feat(permissions): extend hook to detect missing scopes to return those scopes for upgrade, update credential selector subblock (#1869)
- feat: toolbar, terminal, tool-input, emcn updates, chat, deploy (#1864)
- feat(helm): add copilot (#1833)
- improvement(code): add wand config and system prompt for python code generation, strip \n from stdout in JS/Python (#1862)
- feat/platform-v3 (#1698)
- feat(blogs): added blogs scaffolding (#1857)
- feat(scopes): add scopes warning hook (#1842)
- feat(tools): added 200+ new tools across confluence, discord, exa, firecrawl, jina, jira, linear, linkup, MS suite, parallel, reddit, supabase, & tavily (#1824)
- feat(tools): added 50+ stripe tools and trigger and docs (#1816)
- feat(hitl): add human in the loop block (#1832)
- feat(tools): added 48 new github tools, 12 triggers (#1821)
- feat(tools): added typeform form submission trigger, added 4 new tools to complete CRUD typeform tools (#1818)
- feat(tools): added download file tool for onedrive, google drive, and slack; added move email tool for gmail and outlook (#1785)
- feat(tools): added additional youtube search params, get channel playlists videos and related videos tools (#1814)
- feat(tools): added perplexity search endpoint, updated models list for perplexity block (#1812)
- feat(twilio-voice): added twilio voice webhook + tool (#1776)
- improvement(reply-gmail): added reply to gmail (#1809)
- feat(schedules): move schedule configuration out of modals into subblocks (#1805)
- feat(mcp): surface better errors for MCP connection failures (#1796)
- feat(import-export): improvements to export workspace, maintain file structure, include workflow variables (#1799)
- fix(legacy-start): fix legacy start block execution in new executor
- improvement(executor): redesign executor + add start block (#1790)
- improvement(variables): add error context for duplicate variable names, only check for collision when focus is lost (#1791)
- feat(docs): added page nav buttons, static search, TOC footer (#1787)
- feat(triggers): modify triggers to use existing subblock system, webhook order of operations improvements (#1774)
- feat(live-cursor): live cursor during collaboration (#1775)
- feat(cost): added hidden cost breakdown component to settings > subscription, start collecting current period copilot cost and last period copilot cost (#1770)
- feat(envvars): use cache for envvar dropdown key names, prevent autofill & suggestions in the settings (#1769)
- feat(files): added file manager table, enforce permissions for viewing files (#1766)
- fix(variables): added the same input vars mapping from workflow block, added type validation to variables block, updated UI (#1761)
Improvements
- improvement(trigger-subflow): reuse helper code (#1885)
- improvement(display-names): move display name mapping to central store + access pattern via hook (#1881)
- improvement(ci): migrate to blacksmith runners (#1879)
- improvement(execution): trigger manual execution using mock payloads (#1863)
- improvement(templates): make it top-level route and change management/editing process (#1834)
- improvement(routes): type all untyped routes (#1848)
- chore(deps): upgrade turbopack (#1803)
- improvement(cleanup): remove useWorkflowDiff hook (#1781)
- improvement(mcp): ditch custom mcp client in favor of mcp sdk (#1780)
- improvement(custom-tools): make them workspace scoped + ux to manage them (#1772)
- improvement(api-keys): move to workspace level (#1765)
- improvement(ms-teams): resolve mentions accurately (#1762)
- improvement(chat): increase max files to 15 and resolve workflow variables in webhook execution (#1764
Bug Fixes
- fix(comment): fixed comment (#1933)
- fix(billing): should allow restoring subscription (#1728) (#1728)
- fix(conflict): resolve merge conflict
- fix(executor): duplicate error, cmd+enter (#1920)
- fix(executor): surface pre-execution errors (#1917)
- fix(copilot): show subblocks in diff mode (#1916)
- fix(variables): display name rendering (#1915)
- fix(invites): remove uuid validation from inv api (#1910)
- Fix start block numbering (#1909)
- fix(selectors-hydration): confluence, jira, teams (#1907)
- fix(copilot): fix sent message width (#1904)
- fix(google-drive-picker): hydration issues with drive picker + dependsOn for trigger subblocks (#1901)
- fix(trace-spans): fixed small styling bugs (#1900)
- fix(copilot): fix execute workflow from diff store (#1894)
- fix(deployed-chat): prevent multiple simultaneous messages (#1893)
- fix(deployed-chat): fix page crash on chat stream completion (#1892)
- fix(deployed-chat): fix deployed chat page crash (#1891)
- fix(agent): tool credential dropdown (#1884)
- fix(triggers): fix triggers in subflows (#1883)
- fix(start): fix start drag from toolbar (#1882)
- fix(copilot): fix triggers unsave on edit (#1874)
- fixed payload error (#1873)
- fix build
- improvement(subblocks): fixed trigger save, schedule save, time inp, text subblocks and schedule/workflow badges, can now deploy from the badge itself (#1868)
- improvement(ux): optimistic updates for envvars, custom tools, folder operations, workflow deletions. shared hook for connection tags & tag dropdown, fix for triggers not re-rendering on trigger selected (#1861)
- fix(build): remove mdx from transpilation (#1860)
- fix(triggers): update filtering logic for edges (#1856)
- fix(hitl): rename uiurl to url (#1855)
- fix(schedules): locking schedules to prevent double runs (#1854)
- fix(files): fix json uploads, disable storage metering when billing is disabled, exclude kb uploads from storage metering, simplify serve path route (#1850)
- fix(deployed-chat): fix duplication and file uploads (#1853)
- fix(file-upload): workspace/chat context not being passed in some forms (#1852)
- fix(variables, webhook): fix variable tag dropdown for escaped < and allow empty webhook payload (#1851)
- fix(deploy-modal): remove deleted blocks from example curl (#1849)
- fix(variables): fix variable resolution error and start block outputs (#1847)
- fix(streaming-api): fix streaming api (#1846)
- fix(copilot): fix image auth (#1841)
- improvement(block-outputs): fix chat fields being hidden even if in inputFormat, cleanup code (#1819)
- improvement(async): improve error capturing for asynchronous workflow executions (#1808)
- fix(schedules): restore enabling/disabling of schedules, fix premature cron validation (#1807)
- fix(i18n): fix translation pipeline (#1804)
- fix(external-triggers): not passing payload through + incorrect server-side resolver logic (#1801)
- fix(conn-status): remove unused connection status inside user avatar stack (#1800)
- fix(evaluator): fix evaluator to handle temperature gracefully like router (#1792)
- fix(trigger-dup): on duplicate trigger should not point at old webhook row (#1784)
- fix(triggers-persistence): triggers persistence, deletion, updating configs + state management simplifcation (#1783)
- fix(presence): remove presence for a solo user (#1779)
- fix(client-directive): fix build error (#1778)
- fix(triggers): incoming edges should be filtered from execution and UI graph (#1777)
- fix(webhook-notif): modal positioning (#1771)
- fix(kb): fix mistral parse and kb uploads, include userId in internal auth (#1767)
- fix(copilot): consolidate usage limit validation (#1763)