posted by chriskapp on
I'am happy to announce the next major version 4.0 of Fusio. We have worked the last 9 month at this new release and it contains many innovative features to challenge the current API tooling landscape. In the following we will cover the most important changes:
The new Fusio version is tightly integrated with TypeAPI a new specification which we have developed to describe REST APIs and which is optimized for code generation. At TypeAPI the basic building block is an operation, an operation executes your business logic and is assigned to a specific HTTP method and path. This is then also reflected at Fusio where you can now create an operation at the backend instead of a route. Through this we are able to generate developer friendly and ready to use client SDKs for your API.
We use now for all dependencies the Symfony DI component. This is a great improvement for our internal code quality and it also helps you if you want to build new actions or adapters. We can now simply load specific paths and the DIC auto-wires all services. It brings us also a great performance benefit since the container gets compiled into highly optimized code.
We have updated the underlying PSX framework to the latest version. This improves our schema an API generation tooling since we now use the latest version of those components.
With this version we have changed our license from AGPL to Apache 2.0, this gives our users much more freedom to use Fusio also in a commercial context without the need to make all code public. We like to thank every user in the past who has purchased an enterprise plan, this is no longer needed. If you still want to support the Fusio project please take a look at the donation options.
We have updated the Backend and Developer app to Angular 16. With this we have also updated our javascript SDK to the latest version which now works with the Fusio 4.0 API. For simplicity we have removed the documentation app and use now the ReDoc app as default API documentation app.
The new version allows you to specify different action types. Previously it was required to create an action for every case, now it is possible to directly reference a class or HTTP URL without the need to create an action at an operation.
It is now possible to configure an Identity Provider at the backend, this allows a user to register i.e. at the developer portal or backend without the need to register an account. We have also added a general OpenID Connect provider which helps to integrate other identity provider.
We are really happy with this release and think that it is a great milestone for Fusio to make API development easier and more accessible for many users. Especially our internal SDK code generator, to generate high quality and ready to use client SDKs, is a great unique feature of Fusio. In the background we have already a great list of cool new features which we like to add within the next 4.x releases.
If you like to support our project you can give us a star on GitHub, there you can also find available donation options. If you have questions or problems regarding Fusio you can also join our discord server or create an issue at Github.
Please take a look at our upgrade document if you want to upgrade an older Fusio 3.x version to 4.x.
Best regards
Christoph