Version 1.1.1 released

The most notable changes of this release are that we now have a JSON patch implementation. Also it is now possible to define a custom validator before importing data. In the following the complete changelog.

  • Add logger configuration settings and factory

    It is now possible to configure the logging behaviour through the configuration.php. Therefor you can use the following config parameters.

    return array(
        // ...
    
        // Log settings, the handler is one of: stream, logcaster, void, system
        'psx_log_level'           => \Monolog\Logger::ERROR,
        'psx_log_handler'         => 'system',
        'psx_log_uri'             => null,
    
        // ...
    );
  • Add json patch and pointer implementation. The accessor uses now also the json pointer syntax

    The JSON patch implementation can apply patch operations on an arbitrary data structure. The accessor uses now also the JSON pointer syntax (i.e. /foo/bar)

  • Add record serializer and add transformer which builds a record graph from arbitrary data

    The transformer can generate an object graph. The object graph is based either on a record or stdclass

  • Add option to attach a validator to the importer inside a controller

    Through the method getImportValidator we can now return a custom validator in our controller which gets applied before importing any data

  • Make ImporterManager immutable so that it is not possible to globally change a importer object

    The ImporterManager returns now always a new instance of the importer. This ensures that we dont have any side-effects if the importer has changed

  • Improved validator

    The validator uses now overall the JSON pointer syntax to reference fields. Also the error messages were improved

  • Renamed some classes for PHP7 compatibility

    We have renamed the following classes because the class names are not allowed in PHP7

    PSX\Cache\Handler\Void  ->  PSX\Cache\Handler\Noop
    PSX\Command\Output\Void  ->  PSX\Command\Output\Noop
    PSX\Dispatch\Sender\Void  ->  PSX\Dispatch\Sender\Noop
    PSX\Session\Void  ->  PSX\Session\Memory
    PSX\ActivityStream\Object  ->  PSX\ActivityStream\ObjectType
    PSX\Data\Object  ->  -removed-
  • Removed class PSX\Data\Object and added static factory method fromArray to PSX\Data\Record

    The record class has now the static method fromArray which creates a record from an array. This is the replacement for the object class which was removed because the class name is not allowed in PHP7

  • Adjust visitor exception messages

    The wording of the visitor exception messages were unified