Fusio 7.0 released

CH

chriskapp

Lead Engineer

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.

    Action Changelog

    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.

    Agent Detail
  • Added AgentCall action which helps to build an API endpoint for custom agents

    The new AgentCall action 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: 1 will 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\Factory to 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

fusio announcement