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:
-
Added automatic engine detection
Previously we had a config option
fusio_enginewhere 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 thePhpClassengine, if its a file with a php file extension we use thePhpFileengine. Through this change the user must configure less and has the option to use multiple engine types within the same project. -
Improved backend app
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.
-
Log execution time of an action and add new statistics
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.
-
Added openapi generation and import support
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.
-
Handle schema for query parameters
It is now possible to provide a JSON Schema to validate query parameters.
-
Improved route serialization #44
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.
-
Handle multiple responses for different status codes
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.
-
Split up deploy file into separate files
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.
-
Removed routes action and schema relation handling
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.
-
Removed old upgrade paths
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.
-
Execute migration on an empty database schema
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.