Skip to content

v0.36.0

Latest

Choose a tag to compare

@ivicac ivicac released this 27 Oct 13:58
· 472 commits to master since this release

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.dimensions property 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

  • Stripe: Get Payment Intent, List Refunds and Create Refund actions #6571 by @ivicac

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>_NaN when 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