We are excited to announce the release of Fusio 7.0. This major version introduces a new Agent concept which allows you to build custom AI agents and expose them via a REST API. You can now define an agents response with a schema to ensure structured output. This same agent logic can also be used internally to develop and configure your Fusio platform. By default, we include internal agents to handle specific tasks such as building custom actions or schemas by describing your logic in natural language. This new Agent concept has evolved from the Intent idea which we have introduced in version 6.3. Additionally, we have added a new Agent connection that utilizes Symfony AI components to manage communication with LLM providers. These AI features are of course complete optional, and you can use Fusio without them.
Another major feature is the new taxonomy system, designed to help you categorize your entities. This is particularly
useful for organizing larger systems into features or custom groups. Alongside this, we have introduced a new backend
query language that allows you to filter lists by any column in a table. For example, in the action list, you can use
class: Fusio.Adapter.Worker.Action.WorkerPHP to list only actions using that specific class. This functions
similarly to query languages used in GitHub or Jira.
The third major addition is a commit log for actions and schemas. Every time you save an action or schema, the change is recorded in a dedicated commit table, allowing you to track history in a changelog. We utilize this system when an operation is moved to "Stable" status: Fusio fixes the action and schema configuration to the latest commit so that subsequent changes do not affect the live endpoint. This ensures you can continue evolving your system without breaking existing client integrations.
The following list covers the most important changes in this release:
-
Added a new taxonomy system #666
You can now assign taxonomies to main entities including Operations, Actions, Schemas, Events, Cronjobs, and Triggers to group them by feature or category.
-
Added action and schema commit log and freeze production config
A new commit table records every change, visible via a changelog in the backend.
When an operation is set to "Stable," Fusio pins the schema and action to a specific commit. This prevents development changes from accidentally impacting your production API.
-
Added new agent concept to allow users to build custom agents
Build custom AI agents tailored to your use case. Configure them in the backend by defining an initial prompt and selecting tools. Agents can use any available operation as a tool, allowing them to interact deeply with your business logic.
-
Added AgentCall action which helps to build an API endpoint for custom agents
The new
AgentCallaction allows you to invoke an agent directly, making it easy to expose agent logic through a REST endpoint. -
New backend filter query language
Filter any list by any available column. For example, searching
id: 1will instantly locate the specific record. -
Implemented four internal agents: architect, action, schema and database
New installations now include default agents to help you architect, build, and configure your Fusio environment using natural language.
-
Migrate connection intents to agent designer
Existing Intent logic has been migrated to the Agent concept. The Agent Designer remains available for sending direct, untracked messages to agents.
-
Migrated to Angular 21
The Backend and Developer applications have been updated to Angular 21.
-
Fix restore tenant handling
Fixed missing tenant context when restoring records.
-
Improved error response in case in invalid payload was provided #668
Improved handling for invalid JSON or XML payloads, Fusio now returns a proper 400 Bad Request response.
-
Add additional action response factory methods
We have added helper methods to
Response\Factoryto simplify returning standard responses. These use common error structures automatically. For example:$response->ok(['foo' => 'bar']); $response->created(['foo' => 'bar']); $response->accepted(['foo' => 'bar']); $response->noContent(); $response->badRequest('Message'); $response->forbidden('Message'); $response->notFound('Message'); $response->conflict('Message'); $response->gone('Message'); $response->internalServerError('Message'); $response->notImplemented('Message'); -
Add development specification panel
We have added new specification panel to the development section which allows you to preview and publish your current API specification to the typehub.cloud platform.
Alongside this major release, we have refreshed our website and documentation with a modern look to help new users get started. We are excited about the possibilities version 7.0 opens up and want to thank our community and sponsors for supporting this open-source journey. If you have feedback, please join us on our GitHub discussions or issues page.
Best regards
Christoph