Repository navigation
Highlights
- New AI agent tools. HTTP Client, Script, VectorStore Search, MCP Client, Call Workflow, Ask User Question, Auto Memory and a Task Tool with builder-defined subagents.
- A2A servers. Expose project workflows to other agents over the Agent2Agent protocol.
- Embedded, rebuilt. Integration Marketplace, Automation Hub, shared connections, field mapping, workflow permissions and a custom workflow builder for your own app.
- Disable nodes. Switch individual workflow nodes off and on without deleting them.
- Cluster elements on the canvas. AI Agent tools, models and memory are drawn inline in the workflow editor.
- Ollama, done properly. Optional API key, real model list from your server, and a long list of Ollama fixes.
- Project Deployments panel. See and manage a project's deployments right from the project editor.
New features and improvements
AI agents and AI tools
- [component] HTTP Client tool #4461 by @ivicac
- [component] Script tool #4460 by @ivicac
- [component] VectorStore Search Tool #4459 by @ivicac
- [component] MCP Client tool #2447 by @ivicac, @matijapetanjek
- [feature] Call workflow tool #2745 by @ivicac, @matijapetanjek
- [component] AI Agent Utils: server-side Ask User Question tool #5795 by @ivicac
- [component] AI Agent Utils: Auto Memory tool #5805 by @ivicac
- [component] AI Agent Utils: Task Tool with builder-defined subagents #6161 by @ivicac
- [component] Session-based chat memory on the Spring AI session family #5797 by @ivicac
- Harden the in-memory and vector store chat memory components #5798 by @ivicac
- Reuse and close database clients in the Cassandra, MongoDB and Neo4j chat memory components #5804 by @ivicac
- Place the chat-memory advisor inside the tool loop when the memory type supports persisting tool messages #5349 by @ivicac
- Streaming actions now store their task output #6171 by @ivicac
- Make the AI Agent / DataStream simple-advanced editor switch global #6181 by @ivicac
- Info tooltip on the provider property of the AI Text task #6538 by @kresimir-coko
- Optional API key for Ollama on the AI Providers page #6627 by @ivicac
- New
bytechef.ai.vectorstore.pgvector.dimensionsproperty for non-1536 embedding models #6625 by @ivicac
MCP, A2A and security
- A2A servers: expose project workflows to other agents over the Agent2Agent protocol #6140 by @ivicac
- Harden the automation MCP server and add per-tool switches #6136 by @ivicac
- Workspace-scoped automation AI tools and search #6137 by @ivicac
- Signed approval tokens for approval form links and resume tokens #6138 by @ivicac
- Group MCP Servers and A2A Servers under a Servers group in the automation sidebar #6554 by @ivicac
Embedded (EE)
- Embedded Integration Marketplace #6114 by @ivicac
- Embedded Automation Hub with catalog workflow references #6113 by @ivicac
- Embedded Custom Workflow Builder #2907 by @ivicac
- Embedded workflow builder: own entry page and allowed parent origins #6111 by @ivicac
- Field mapping #1331 by @ivicac
- Workflow Permissions #2364 by @ivicac
- Shared connections, connection status lifecycle and owner-only edits #6112 by @ivicac
- Embedded MCP security: tenant-admin facades, connected-user ownership and per-tool toggles #6115 by @ivicac
- Activate automation templates from the host app with an SDK activation dialog #6260 by @ivicac
- Embedded workflow executions: pinned Actions column with View and Stop #6433 by @ivicac
- Identify connected user reference deployments by a relation, not by name suffix #6266 by @ivicac
- Move embedded automation workflow settings off the CE project tables #6134 by @ivicac
- Move MCP Servers below Automations in the embedded sidebar #6308 by @ivicac
Workflow editor
- Disable and enable individual workflow nodes #6243 by @ivicac
- Draw cluster elements inline on the workflow canvas #6245 by @ivicac
- Upload a sample document for actions with FileEntry output #2231 by @ivicac
- Search the entries of the execution Logs tab #6215 by @ivicac
concat()accepts any number of arguments #6414 by @ivicac- JDBC query action returns output columns even when the query returns no rows #6425 by @ivicac
- Clearer hints for user-entered values in tag-style inputs #6282 by @ivicac
- Better empty states on projects, deployments, executions and connections pages #6387 by @kresimir-coko
- Move the workspace selector into the app sidebar header #6174 by @ivicac
- Collapse the second column on every page that has one #6314 by @ivicac
- One panel icon for all right-hand panel toggles #6556 by @ivicac
- Top-align the node details Output tab empty state #6522 by @ivicac
- Do not persist the projects left sidebar open state #6520 by @ivicac
Projects and deployments
- Project Deployments panel in the project editor and projects list #6511 by @ivicac
- Export a specific project version from the version history #6508 by @ivicac
- Link deployments to their project in Staging and Production #6468 by @ivicac
- Refresh button on the Deployments page #6503 by @ivicac
- Hide auto-provisioned system projects from project, deployment and search lists #6177 by @ivicac
Components
Housekeeping
- Keep EE client code out of CE files #6547 by @ivicac
- Regenerate the committed REST sources with the catalog's openapi-generator #6318 by @ivicac
- Batch of small client fixes: list rendering, dialog colours, agent instructions, test reliability #6339 by @ivicac
- Fix SEO audit issues on docs.bytechef.io #6247 by @ivicac
Bug fixes
AI agents and AI providers
- AI agent: suspending tools (Request Approval, Ask User Question) don't suspend the agent or resume the LLM #5056 by @ivicac
- AI Agent stream chat glues text around chat-memory tool calls such as conversation_search #6212 by @ivicac
- AI Agent stream chat shows "The response ended unexpectedly." when the model refuses #6211 by @ivicac
- Workflow test chat won't parse numbers #5973 by @marko-kriskovic
- Workflow test chat shows an empty reply when the run fails #6634 by @ivicac
- Copilot hides an out-of-credits AI provider behind a generic error #6643 by @ivicac
- Editing an AI provider requires re-entering its saved API key #6637 by @ivicac
- AI Copilot panel header is 6px lower than the workflow editor toolbar #6216 by @ivicac
- Agent Playbook suggestions run into the composer #6551 by @ivicac
- Wires around a compact AI Agent card bend in the horizontal layout #6549 by @ivicac
- Test Tool is offered for tool-provider cluster elements that cannot be tested #6167 by @ivicac
- Validation errors on nested cluster elements are shown on their parent element #6165 by @ivicac
- Multi-tenant PgVector loader runs schema DDL for every tenant on each startup #6145 by @ivicac
- Ollama: AI model picker and default model now use the models installed on the server #6617 by @ivicac
- Ollama: toggling it in AI Providers does nothing because no settings row exists yet #6613 by @ivicac
- Ollama: Copilot docs embedding ignores the configured Ollama URL #6590 by @ivicac
- Ollama: AI Providers shows it as disabled when it is configured only in application properties #6589 by @ivicac
- Ollama: Model dropdown lists a fixed model set instead of the models on the server #6587 by @ivicac
- Ollama: connection has no token field and never sends the bearer token #6586 by @ivicac
- Ollama: Ask and Model think even when Thinking is off #6585 by @ivicac
- Ollama: Ask action shows no Prompt or System Prompt field #6584 by @ivicac
MCP and A2A
- MCP server save re-enables deployments on every save; MCP project creation does not check for a callable trigger #5789 by @ivicac
- MCP workflow tools advertise only fromAi mappings in their input schema, not the trigger's inputs #6355 by @ivicac
- Configure workflow connections and inputs when adding workflows to MCP and A2A servers #6232 by @ivicac
- Remove unused Spring AI MCP client starter from server-app #6224 by @ivicac
Embedded
- Automation Hub lets a connected user enable an automation whose workflow has validation errors #6328 by @ivicac
- Automation Hub cards render every component icon #6326 by @ivicac
- Embedded workflow builder header: idle save dot, invisible hover and a bare Edit icon #6324 by @ivicac
- Activation dialog account select and Connect button have different heights #6322 by @ivicac
- A second account on the same integration gets the same connection name as the first #6319 by @ivicac
- Catalog templates leave out their trigger components, so activation does not ask for trigger connections #6316 by @ivicac
- SDK activation dialog: extra Done step, wrapping footer, and a Connect button that does nothing once connected #6310 by @ivicac
- SDK dialog selects draw their arrow against the right border #6297 by @ivicac
- Workflow Executions: automation executions cannot be filtered by workflow #6301 by @ivicac
- Workflow Executions: filtering automation executions by connected user finds nothing #6300 by @ivicac
- Workflow Executions: integration filters show component names, list no instance configurations or workflows, and cannot filter by connected user #6299 by @ivicac
- Workflow executions omit runs of activated catalog templates #6265 by @ivicac
- Calling an embedded workflow that has no request trigger fails with "'triggerName' must not be blank" #6294 by @ivicac
- Connected users see the instances of every integration on the same component #6293 by @ivicac
- Polling triggers of the integration's own component run without the connected user's connection #6273 by @ivicac
- Project Version History is unordered and never shows the version description #6254 by @ivicac
- Connect dialog drops connection property options and defaults; admins cannot choose the authorization type #6251 by @ivicac
- Runtime job app: report workflow outputs #6249 by @ivicac
- Duplicate integration instance configuration check compares the optimistic-lock version instead of the integration version #6199 by @ivicac
- Copying the same automation workflow template twice returns 500 #6196 by @ivicac
- API Platform responseToApiRequest returns swapped status codes for invalid input and internal error #6330 by @ivicac
Workflow editor
- Node details panel shows no title when a node has no label #6646 by @ivicac
- Node details panel stays open on a removed node after restoring a version #6500 by @ivicac
- Edit Input dialog says "Add a new workflow input definition." #6588 by @ivicac
- Cluster frame with empty element slots overlaps its neighbours in the ELK layout #6581 by @ivicac
- Cluster frame members drift out of place when a side panel opens or closes #6483 by @ivicac
- Replacing a selected cluster element hides the new element's slots on the cluster canvas #6180 by @ivicac
- ELK layout crowds the trigger fan-in add button #6565 by @ivicac
- Task counter counts the trigger and cluster elements but not cluster roots #6568 by @ivicac
- Connection dialog widens on the OAuth step #6563 by @ivicac
- Output tab shows a skeleton for seconds when required properties are missing #6530 by @ivicac
- Switching a node's action flickers the Actions dropdown and blanks the Output tab #6506 by @ivicac
- Sidebar cards cut their last component icon in half #6525 by @ivicac
- Left sidebar is misaligned with the header and the editor panel #6208 by @ivicac
- New node is named
<component>_NaNwhen an existing node name does not end in_<number>#6495 by @ivicac - Test Action is enabled when required properties are missing #6494 by @ivicac
- Disabled Test button does not say which connection or input is missing #6278 by @ivicac
- Workflow Test Configuration crashes when connections have not loaded yet #6271 by @ivicac
- Workflow Input test values are not saved to the workflow definition #6228 by @ivicac, @kresimir-coko
- Connection errors open the Properties tab and the node panel's error list is not clickable #6446 by @ivicac
- Data pill suggestion list does not scroll when navigating with the keyboard #6448 by @ivicac
- Data pill autocomplete offers no [index] pill for outputs that are arrays of primitives #6390 by @ivicac
- Array outputs (Java arrays) show only the first element in the output schema #6385 by @ivicac
- Task dispatcher boolean properties expose True and False options that both carry the value true #6439 by @ivicac
- Formula function called with wrong arguments crashes workflow editor previews #6186 by @ivicac
- Workflow run summary undercounts loop tasks and the loop item popup jumps to the top of the screen #6441 by @ivicac
- Execution history stuck on "Loading N more iterations..." for loops with more than 100 iterations #6429 by @ivicac
- Execution Logs tab jumps while JSON log entries load #6214 by @ivicac
- Create Data Table dialog keeps previous input after Cancel #6428 by @ivicac
- Changed component icons stay stale in browsers for up to 30 days #6472 by @ivicac
- Broken component icons for FTP and Query Expander #6461 by @ivicac
- Help menu lacks support links and floating launchers cover page content #6456 by @ivicac
- Page sidebar toggle opens nothing below the lg breakpoint #6408 by @ivicac
- Browser tab title shows only "ByteChef" on most pages #6213 by @ivicac
Deployments
- Expand the deployment's workflows when redirected from the workflow editor #6464 by @ivicac
- Change Project Version fails with "Project workflow with workflowId=null not found" after selecting a deployment on the same version #6474 by @ivicac
- New Deployment dialog flags Version as missing while V1 is shown #6466 by @ivicac
- Deployment workflow rows start their icons at different positions when the list is narrow #6570 by @ivicac
Workflow engine and expressions
- Cancelling a task before it starts blocks TaskWorker forever #6648 by @ivicac
- Stopping a test run logs job-not-found and task-execution-not-found errors #6427 by @ivicac
- Loop with an empty body fails with NoSuchElementException when items is non-empty #6412 by @ivicac
- Loop with an invalid items expression breaks display conditions and outputs of the nodes after it #6423 by @ivicac
- Workflow validator rejects data pills used as formula operands and ignores malformed
${...}expressions #6415 by @ivicac - Workflow validator reports indexed task references like
${var_1[0]}as a missing task #6234 by @ivicac size()fails on arrays such as the Text Helper split output #6486 by @ivicac- WebHookTrigger overwrites received binary data (file) #6489 by @igorbeslic, @ivicac
- HTTP Client can't send a file received by a webhook in multi-tenant mode (NoSuchFileException) #6459 by @ivicac
- Data Storage Atomic Increment has no test for concurrent calls #6480 by @ivicac
Platform and infrastructure
- RabbitMQ (amqp) message broker rejects every message: class is not in the trusted packages #6597 by @ivicac
- Startup fails unless every bytechef.redis/rabbitmq/kafka connection property is set #6596 by @ivicac
- Redis cache provider and Redis message broker never enable Redis auto-configuration #6595 by @ivicac
- Redis message broker floods the log with errors when a node shuts down #6630 by @ivicac
- Concurrent starts race to create the filesystem encryption key file #6513, #6191 by @ivicac
- Invited users cannot sign in on multi-tenant installations #6334 by @ivicac
- Account activation cannot find users of a tenant on multi-tenant installations #6335 by @ivicac
- PostHog reset on /account-error unlinks signups from accounts #6499 by @ivicac, @katarina-cala
- Deployment enabled analytics event also fires when a deployment is disabled #6652 by @ivicac, @katarina-cala
- Integration instance configuration enabled analytics event also fires when a configuration is disabled #6656 by @ivicac
- QuartzIntTest fails intermittently when tearDown clears a trigger that is still firing #6650 by @ivicac
- Remove unused Prometheus config from EE apps #6535 by @ivicac
Contributors
@ivicac, @matijapetanjek, @igorbeslic, @kresimir-coko, @katarina-cala, @marko-kriskovic
Full Changelog: v0.35.1...v0.36.0