Fusio

Fusio 2.0-RC2 released

posted by christoph.kappestein on 2021-01-15

We are happy to announce the release of Fusio 2.0-RC2. This is not the final 2.0 release but the second release candidate which allows you to test Fusio before the final 2.0 release. In the following we describe all important changes:

  • It is now possible to deploy changes to a remote Fusio instance #356

    The deploy command reads all meta files at the resource folder and deploys those resources to the internal API. It is now possible to deploy those change to a remote Fusio instance. By default Fusio uses an internal transport so that the deploy command does not actually send HTTP requests to the server but invokes them internally. If you deploy to a remote instance we send actual HTTP requests. Because of this change you need now to login through the "login" command, which requests a fitting access token.

  • Moved all CLI commands to a separate package fusio/cli #357

    We have now moved all CLI commands which talk to the API to a separate package so that you can also use these commands as standalone CLI app. Basically those CLI commands are an alternative to the backend app which allows you to control and configure Fusio via CLI.

  • Moved all generated model classes to a separate package fusio/model

    We have extracted all automatically generated models in to a separate package, which is used by the CLI package and which you can also use if you want to talk and work with the internal Fusio API. Basically we use those models internally and you can use them to produce a fitting request payload.

  • Execute all internal periodic tasks through the cron system

    Previously we had multiple commands which must be called periodically via cron, i.e. to execute async actions or dispatch events. We have build all those tasks now via an action and use the internal cron mechanism. Now a user only needs to setup the cron system and all other periodically tasks work out of the box.

  • Added role concept, a role is assigned to a user and specifies the scopes and category

    We have implemented a new role system. A role defines the scopes which are allowed for a user. It also assigns a category for a user, a user can then manage only resources in this category. There is a default role which every new user receives.

  • Make category editable, this allows to create new categories for your app

    It is now possible to create categories for your app. This allows to split up your app into different parts. I.e. the internal API of Fusio has also a separte category where all routes and actions are configured.

  • Consolidate OAuth2 endpoints

    Previously there was a separate endpoint for the backend and consumer app. Every app uses now the /authorization/token endpoint. This means the endpoints /backend/token and /consumer/token are removed.

  • An adapter can now register only provider classes

    Currently all adapters register only specific classes. There was an option to register new routes, actions and schemas but this features was now removed. If an adapter wants to provide such resources, the adapter should use a routes provider.

  • Removed webserver config generation

    Since it is now possible to deploy to a remote instance we have removed the feature to generate a webserver configuration file. This feature was not often used and the config dependes also always on your setup and configuration.