Blog

Version 0.5 released

posted by chriskapp on

We are really happy to announce the release of Fusio version 0.5. Since our first release we are on the mission to build a software which makes it easy possible to build APIs. Previously versions of Fusio contained different actions to implement more complex logic. I.e. the SQL builder action had a custom JSON format to produce nested response from SQL queries or the condition action which used the symfony expression language to handle conditions. In the end these actions solved some cases but if the complexity grew they weren't enough. Because of that we introduce with this release the V8 processor action where it is possible to write the API action in simple javascript. Because of this we have removed many actions which can be now implemented with a few lines of javascript. I.e. to produce a API response from a SQL query you simply could use the following code:

var connection = connector.get('mysql-connection');

response.setBody({
    entry: connection.fetchAll('SELECT id, title, insertDate FROM app_news ORDER BY insertDate DESC')
});

As next we want to create more posts and tutorials around the javascript API to explain it more in detail. The disadvantage of introducing the v8 engine is that it increases the complexity of the installation since you have to also install the PHP V8 extension. To help users with this process we currently develop a docker container which basically setups a complete working Fusio installation. That being said in case you want to develop your actions only in PHP you dont have to install the V8 processor action.

So we hope you like the direction in which we are moving and stay tune for some exciting upcoming changes. In the following the coverage of the changelog:

  • Added v8 processor action

    We have added a new V8 processor action which helps to implement more complex backend logic.

  • Cleaned up engine

    We have removed many actions which are now replaced by the V8 action. Also we have removed the template from the engine.

  • Removed database panel

    Through the database panel it was previously possible to create and change schemas for relational databases. We have removed this features since it is potentially a security issue and there are better tools for this job.

  • Added swagger import

    Besides RAML we accept now also Swagger API specifications to import.