Changelog

3.2.0

  1. added “merge” to resource collections
  2. added “merge” to relationship collections
  3. added “merge” to link collections

3.1.2

  1. Request: define array properties default as empty array

3.1.1

  1. merged “Fix relationships URL”
  2. merged “Declare public constant for json api Content-Type”
  3. fixed #11 (“CreatedResponse does not return document”)

3.1.0

  1. merged “added \Countable interface to collections”

3.0.1

  1. ignore case match for simple collection keys
  2. ad content type header as default for requests

Version 3.0.0

  1. moved core logic from json api server library to this library
  2. simplified most interfaces
  3. better control for responses
  4. same requests and responses on client and server side
  5. moved object-resource mappers to this library
  6. removed (mostly) unused features like factories and JsonApiInterface
  7. removed JsonApiAwareInterface, use JsonApiTrait directly instead
  8. simplified JsonApiTrait
  9. moved pagination to this library but not with traits and interfaces but wih document extensions

Version 2.4.0

  1. allow relative url’s in links

Version 2.3.0

  1. added SaveRequest to save multiple resources at one when manipulating relationships

Version 2.2.0

  1. added method source to ErrorInterface and use it in Serializer

Version 2.1.0

  1. added RelatedMetaInformationInterface
  2. added RelatedMetaInformationTrait
  3. improved Serializer to ignore empty data if links or meta are provided by a relationship
  4. improved Serializer to write meta information into resource identifier objects
  5. added option “keepEmptyData” to Serializer

Version 2.0.0

Model changes:

  1. renamed all occurrences of method “metaInformations” to “metaInformation”
  2. renamed method ResourceInterface::getType() to ResourceInterface::type()
  3. renamed method ResourceInterface::getId() to ResourceInterface::id()
  4. renamed method RelationshipInterface::getType() to RelationshipInterface::type()
  5. renamed method RelationshipInterface::getName() to RelationshipInterface::name()
  6. renamed method LinkInterface::getType() to LinkInterface::type()
  7. renamed method LinkInterface::getName() to LinkInterface::name()
  8. renamed method ErrorInterface::getStatus() to LinkInterface::status()
  9. renamed method ErrorInterface::getCode() to LinkInterface::code()
  10. renamed method ErrorInterface::getTitle() to LinkInterface::title()
  11. renamed method ErrorInterface::getDetail() to LinkInterface::detail()
  12. added method “createLink” to LinkCollectionInterface
  13. removed method “getType”, which was only relevant for serializer, from DocumentInterface
  14. added method “httpStatus” to DocumentInterface
  15. added method “withHttpStatus” to DocumentInterface, to modify the status of a document
  16. added method “shouldBeHandledAsCollection”, which indicates if a document contains a collection or not, to DocumentInterface
  17. added method “jsonApi”, which contains information about the version, to DocumentInterface
  18. added model class Document as default implementation of DocumentInterface
  19. removed class AbstractDocument (use Document instead)
  20. removed class ResourceDocument (use Document instead)
  21. removed class ResourceCollectionDocument (use Document instead)
  22. removed class RelationshipDocument (use Document instead)
  23. removed class RelationshipCollectionDocument (use Document instead)
  24. removed class ErrorDocument (use Document instead)
  25. added interface JsonApiInterface for information about the used version in documents
  26. added model class JsonApi as default implementation of JsonApiInterface for information about the used version in documents
  27. added interface DocumentFactoryInterface and class DocumentFactory
  28. added interface ResourceFactoryInterface and class ResourceFactory
  29. added class ResourceFactoryRegistry
  30. added interface RelationshipFactoryInterface and class RelationshipFactory
  31. added interface FetchRequestInterface
  32. added class FetchRequest
  33. added interface JsonApiRequestInterface
  34. added class JsonApiRequest
  35. added interface SaveRequestInterface
  36. added class RelationshipModificationRequest
  37. added class SaveSingleResourceRequest

Serializer changes:

  1. added argument “identifiersOnly” as second argument of DocumentSerializerInterface::serializeDocument
  2. added the key “jsonapi” to output of Serializer::serializeDocument
  3. added interface DocumentDeserializerInterface
  4. added class Deserializer as default implementation of DocumentDeserializerInterface

new in 2.0.0

  1. added JsonApiInterface and JsonApiTrait
  2. added interface JsonApiAwareInterface and trait JsonApiAwareTrait