Fusio 5.0 released

posted by chriskapp on

We are really excited to finally release the next major version 5.0 of Fusio.

This release provides some great new features, and we continue our mission to build one of the best tools to build innovative API solutions. Like always we will cover all important features of this new release in the following list.

  • Multi tenancy

    Fusio now supports multi tenancy on the database level. This helps to efficiently run multiple Fusio instances on a single large server or cluster. To configure a tenant you only need to set the APP_TENANT_ID environment variable and all database calls will only select rows with the fitting tenant id. There are also API endpoints to setup or remove a tenant.

  • Worker redesign

    We have redesigned the worker system. In general the worker system allows to write backend logic in different programming languages. Previously we have used the Thrift RPC system to manage the communication between Fusio and the worker. We have moved away from this to a simple REST API which gives us the benefit to run such a worker in different environments like on a serverless platform which is a natural fit for a worker.

  • Personal access token

    It is now possible at the user panel to create a personal access token. Through this a user can easily obtain an access token to access private endpoints. It is possible to select specific scopes for the token and how long the token is valid.

  • Config add option to exclude specific actions and connections

    The config file contains two new options fusio_action_exclude and fusio_connection_exclude which can be used to exclude specific connections or actions at your instance. I.e. by default Fusio offers some "unsafe" actions like the CLI or PHP-Sandbox action which can be a security issue. Through the new config it is possible to exclude such actions.

  • Add account app

    We have added a new dedicated account app which can be integrated into an existing web app to manage all developer account details. This app is also included at the developer and backend app.

  • Access metadata in action

    Inside your action it is now possible to access the metadata of the action. You can set this metadata if you create an action through our backend API.

  • Backup import/export

    At the backend we have a new panel under System / Backend which can be used to import/export the complete configuration. This makes it also easier to move configurations from test to production environments. Note this only exports the database configuration, custom classes at the src folder are not exported and must be synced separately.

  • Every create, update and delete operation now returns the affected id

    The backend API now returns the affected primary key for every create, update and delete operation. This can be useful if you want to directly further work with an entity which you have created.

  • Added and improved actions

    We have added the following two new actions, besides this we have also improved several other actions.

    • Fusio\Adapter\Http\Action\HttpRaw

      A new action to send complete customized HTTP requests. This allows i.e. to send XML payloads to invoke legacy web services.

    • Fusio\Adapter\Util\Action\UtilCondition

      A new action to invoke different actions depending on a logic expression. Through this it is possible to invoke different actions depending on a condition.

  • Improved OAuth2 connection handling

    We have improved the OAuth2 connection handling so that it is now easier to add connections which needs OAuth2 authorization. In the future we will add new connections to external services so that our users can easily integrate those external services into Fusio.

At the end I like to give you a short insight into our future plans. We are working for some time in the background on a new project called SDK-Fabric, this project basically tries to build a global SDK infrastructure for different provides. We plan to integrate those SDKs into Fusio so that you can easily work with those services in your actions. You can think of it like Zapier where you can configure your connections and then create actions to execute specific tasks. The SDK-Fabric project contains currently only some provides but we hope to extend this in the future also with the help of our community. Despite this we plan to reboot our Fusio cloud platform using our new tenant and worker system. We try to build a platform where every user can easily get a new Fusio instance in the cloud.

Finally I like to thank every user who supports our project. In the last year we have seen many activities and I had also lots of great conversations which also influenced this release. To support our project feel free to give it a star on GitHub and you can also financially support the project through a donation.

Best regards