posted by chriskapp on
We are really happy to release version 0.9.4 of Fusio. This release contains several great features which brings us closer to a first stable release. The following list covers the changelog:
Previously we had a config option fusio_engine
where a
user could specify the engine for the action string. This is now obsolete
since we automatically detect the engine based on the action string. I.e.
if the action is a class we use the PhpClass
engine, if its
a file with a php file extension we use the PhpFile
engine.
Through this change the user must configure less and has the option to
use multiple engine types within the same project.
We have updated all dependencies of the backend app. It is now based on angular 1.6 and the latest angular bootstrap version. The route configuration dialog was adjusted to have an option to provide a schema for query parameters and to enter multiple response schemas. Also we added an openapi import tab added new statistic panels.
The execution time of an action is now also logged. Based on those values we have added new statistic panels which shows the average execution time and the execution time per route.
Fusio supports now the recently released OpenAPI 3.0 specification. It is possible to import such a specificaiton through the backend app or via console command.
It is now possible to provide a JSON Schema to validate query parameters.
If we deploy a route from development to production we store the complete config (schema and action) into a separate column so that the config does not change. We encode this data now in JSON so it is possible to access those values also from another language.
Each route can now have multiple response schemas based on the status code. I.e. it is possible to provide a schema for the 200 and 500 status code.
We have split up the deploy configuration file into multiple files. Through this the user has an better overview even if the app contains many routes.
The previously version of Fusio had a internal system to track which action and schema was used in a route. This logic was relatively complex and was only used in some cases. Since it is now possible to edit a schema or action within the route dialog we have removed this feature. This improves the performance and reduces the logic of the backend.
We have removed old upgrade paths since we assume that every user has now at least version 0.8 installed. Note we do this only as preparation for the first stable release. Once we have a stable release we will never remove an upgrade path for an older version.
This is an important change. From now we execute database migrations on an empty schema. This means that all tables which are not defined in the migration file get deleted. So you must create a separate database for each connection.