Version 0.9.10 released

This release contains only small improvements to the internal code base and is compatible with the 0.9.9 version. So far the API becomes more stable and we expect to release soon the first stable version.

  • Added getConnection method to table manager to enable easy transaction handling

    In order to start a transaction you can now use the getConnection method on the table manager which returns an doctrine DBAL connection instance.

  • Moved cache logic from table manager into seperate reader class

    Previously the table manager contained caching logic for the result of an table reader. This caching logic is now placed in its own reader which can wrap another reader.

  • Added exception converter service which converts an exception into an record which gets used to display error messages. This makes it easy to change the global error response format

    This simple service provides the global error format for the application.

  • Send correct content type on exception or send 415 status code

    If multiple template writer exists and a template is not available for the requested format an 415 status code gets thrown.

  • Handle Accept headers with +json or +xml media types correctly

    For API versioning where we send a custom content type like i.e. application/vnd.foobar.v2+json the +[format] part is now recognized by the json and xml writer.

  • Added jsonx format to default api controller

    The jsonx writer was added as possible writer to the default API controller.

  • Added http StreamInterface and remove psr http dependency

    Because of its immutability PSR-7 is currently not fitting for PSX. PSX provides its own HTTP interfaces which are essentially a mutable version of the PSR-7 spec. This release implements the missing StreamInterface and removes the PSR from the composer dependencies.

  • Updated bootstrap cache generator file list

    The file list which generates the bootstrap file was updated.

  • Resource listing controller documentation create context in seperate method which can be overloaded

    A new method was created which simply creates a new context from the result of the matched routing definition. This method can be overloaded to provide other informations to the controller.