Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yin Laravel Package

woohoolabs/yin

PSR-7–compatible PHP framework for building JSON:API servers. Provides documents, resources, hydrators, request/response validation, pagination, relationship handling, content negotiation, middleware support, and custom serialization/deserialization.

View on GitHub
Deep Wiki
Context7
4.3.0

ADDED:

  • #104: Support for validating the hydrated domain object

FIXED:

  • #103: Missing data in response if using omitDataWhenNotIncluded
4.2.1

FIXED:

  • #101: Parsed body always contains an empty array when using Symfony requests
4.2.0

ADDED:

  • #98: Support for validating top-level members in requests
  • #96: Support for providing a custom schema path to ResponseValidator

FIXED:

  • #100: Error in createResourceIdInvalidException
  • #97: Incorrect encoding of (pagination) query parameters
4.1.2

ADDED:

  • Support for PHP 8
  • Support for PHPUnit 9

CHANGED:

  • Instead of zendframework packages, laminas are required
4.1.1

FIXED:

  • #93: Using validateJsonBody() before getResource() makes request body empty
4.1.0

ADDED:

  • #90: Support for adding custom links to Resources, Relationships, and Errors

CHANGED:

  • Updated JSON:API schema to the latest version
4.0.1
  • #83: Fix generated pagination links when using offset-based pagination
  • #84: Exception codes are always 0
4.0.0

This release is the same as 4.0.0-beta2. The full change set is the following:

ADDED:

  • JSON:API 1.1 related features:
    • Partial support for Profiles
    • Support for type links in errors
  • Resources can also use the $object property to access the object which is being transformed
  • Separate classes for the different types of links instead of the generic Links class
    • DocumentLinks
    • ResourceLinks
    • RelationshipLinks
    • ErrorLinks
  • New capabilities related to pagination:
    • #70: Better support for query parameters in pagination links
    • PaginationFactory class to decouple Pagination class instantiation from the request
    • JsonApi::getPaginationFactory() method to make it easier to retrieve the Pagination Factory
    • FixedCursorBasedPagination class which preserves the original behaviour of the changed CursorBasedPagination
    • FixedCursorBasedPaginationProviderTrait for using it in connection with FixedCursorBasedPagination
    • FixedPageBasedPaginationLinkProviderTrait for using it in connection with FixedPageBasedPagination
  • New capabilities related to relationships:
    • ResponseInterface::hasToOneRelationship() to determine if a specific To-One relationship exists
    • ResponseInterface::hasToManyRelationship() to determine if a specific To-Many relationship exists

CHANGED:

  • Updated justinrainbow/json-schema to v5.2
  • Documents should use the $object property instead of $domainObject (BREAKING CHANGE)
  • Links are used strictly according to the spec (BREAKING CHANGE):
    • AbstractSuccessfulDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • AbstractErrorDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • ErrorDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • ErrorDocument::setLinks() expects a parameter of ?DocumentLinks type instead of ?Links
    • AbstractResource::getLinks() returns ?ResourceLinks instead of Links
    • AbstractRelationship::getLinks() returns ?RelationshipLinks instead of Links
    • AbstractRelationship::setLinks() expects a parameter of ?RelationshipLinks type instead of Links
    • Error::getLinks() returns ErrorLinks instead of Links
    • Error::setLinks() expects a parameter of ErrorLinks instead of Links
  • Improvements related to JsonApiExceptionInterface (BREAKING CHANGE):
    • JsonApiExceptionInterface now extends Throwable
    • JsonApiExceptionInterface::getErrorDocument() must return an ErrorDocumentInterface instead of an AbstractErrorDocument
  • Improvements related to pagination (BREAKING CHANGE):
    • A $defaultSize constructor parameter was added to CursorBasedPagination to define a default value for the page[size] query parameter
    • Properties and methods of FixedPageBasedPagination became non-nullable
    • Properties and methods of OffsetBasedPagination became non-nullable
    • Properties and methods of PageBasedPagination became non-nullable
    • Methods of PaginationLinkProviderInterface expect a second parameter with a $queryString name
  • Setting the status code and Content-Type header of the JSON:API response is done by the Responder by default instead of Serializers (BREAKING CHANGE):
    • The Responder class sets the status code and the Content-Type header of the response, while custom Serializers can override them optionally
    • SerializerInterface::serialize() only accepts two arguments instead of 3 as the $responseCode parameter was removed
    • JsonSerializer does not set the Content-Type header and the status code of the response anymore
  • Improvements related to relationships (BREAKING CHANGE):
    • ResponseInterface::getToOneRelationship() throws an exception instead of returning null if the relationship doesn't exist
    • ResponseInterface::getToManyRelationship() throws an exception instead of returning null if the relationship doesn't exist
  • The TransformerTrait::fromSqlToIso8601Time() method expects a ?DateTimeZone as its second argument instead of string (BREAKING CHANGE)

REMOVED:

  • The generic Links class (BREAKING CHANGE)
  • Methods related to pagination class instantiation were removed from RequestInterface (BREAKING CHANGE):
    • RequestInterface::getFixedPageBasedPagination()
    • RequestInterface::getPageBasedPagination()
    • RequestInterface::getOffsetBasedPagination()
    • RequestInterface::getCursorBasedPagination()
  • Various deprecated classes (BREAKING CHANGE):
    • WoohooLabs\Yin\JsonApi\Document\AbstractCollectionDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractCollectionDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractErrorDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSimpleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSimpleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSingleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSingleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSuccessfulResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSuccessfulResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\ErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\ErrorDocument instead
    • WoohooLabs\Yin\JsonApi\Transformer\AbstractResourceTransformer: use WoohooLabs\Yin\JsonApi\Schema\Resource\AbstractResource instead
    • WoohooLabs\Yin\JsonApi\Transformer\ResourceTransformerInterface: use WoohooLabs\Yin\JsonApi\Schema\Resource\ResourceInterface instead
    • WoohooLabs\Yin\JsonApi\Schema\Error: use WoohooLabs\Yin\JsonApi\Schema\Error\Error instead
    • WoohooLabs\Yin\JsonApi\Schema\ErrorSource: use WoohooLabs\Yin\JsonApi\Schema\Error\ErrorSource instead
    • WoohooLabs\Yin\JsonApi\Exception\JsonApiException: use WoohooLabs\Yin\JsonApi\Exception\AbstractJsonApiException instead
    • WoohooLabs\Yin\JsonApi\Request\Request: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequest instead
    • WoohooLabs\Yin\JsonApi\Request\RequestInterface: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequestInterface instead
    • WoohooLabs\Yin\JsonApi\Schema\Link: use WoohooLabs\Yin\JsonApi\Schema\Link\Link instead
    • WoohooLabs\Yin\JsonApi\Schema\LinkObject: use WoohooLabs\Yin\JsonApi\Schema\Link\LinkObject instead
  • Various deprecated methods (BREAKING CHANGE):
    • AbstractErrorDocument::getResponseCode() (use AbstractErrorDocument::getStatusCode() instead)
    • RequestValidator::lintBody() (use RequestValidator::validateJsonBody() instead)
    • ResponseValidator::lintBody() (use ResponseValidator::validateJsonBody() instead)
    • ResponseValidator::validateBody() (ResponseValidator::validateJsonApiBody())
  • The deprecated AbstractRelationship::omitWhenNotIncluded() method (BREAKING CHANGE): use AbstractRelationship::omitDataWhenNotIncluded()

FIXED:

  • Issues with 0 and non-numeric values when using built-in pagination objects (PageBasedPagination, FixedPageBasedPagination, OffsetBasedPagination)
  • Various issues found by static analysis
  • Query parameters of pagination links were not encoded properly
  • The page and filter query parameters must have an array value as per the spec
  • Instead of returning null, an exception is thrown when a non-existent relationship is fetched
3.1.1

DEPRECATED:

  • ToOneRelationship::omitWhenNotIncluded(): Use ToOneRelationship::omitDataWhenNotIncluded()
  • ToManyRelationship::omitWhenNotIncluded(): Use ToManyRelationship::omitDataWhenNotIncluded()
4.0.0-beta2

REMOVED:

  • The deprecated AbstractRelationship::omitWhenNotIncluded() method (BREAKING CHANGE): use AbstractRelationship::omitDataWhenNotIncluded()

FIXED:

  • Regression with uninitialized Resource properties
  • Regression with the source pointer of the ResourceTypeUnacceptable error
4.0.0-beta1

ADDED:

  • JSON:API 1.1 related features:
    • Partial support for Profiles
    • Support for type links in errors
  • Resources can also use the $object property to access the object which is being transformed
  • Separate classes for the different types of links instead of the generic Links class
    • DocumentLinks
    • ResourceLinks
    • RelationshipLinks
    • ErrorLinks
  • New capabilities related to pagination:
    • #70: Better support for query parameters in pagination links
    • PaginationFactory class to decouple Pagination class instantiation from the request
    • JsonApi::getPaginationFactory() method to make it easier to retrieve the Pagination Factory
    • FixedCursorBasedPagination class which preserves the original behaviour of the changed CursorBasedPagination
    • FixedCursorBasedPaginationProviderTrait for using it in connection with FixedCursorBasedPagination
    • FixedPageBasedPaginationLinkProviderTrait for using it in connection with FixedPageBasedPagination
  • New capabilities related to relationships:
    • ResponseInterface::hasToOneRelationship() to determine if a specific To-One relationship exists
    • ResponseInterface::hasToManyRelationship() to determine if a specific To-Many relationship exists

CHANGED:

  • Updated justinrainbow/json-schema to v5.2
  • Documents should use the $object property instead of $domainObject (BREAKING CHANGE)
  • Links are used strictly according to the spec (BREAKING CHANGE):
    • AbstractSuccessfulDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • AbstractErrorDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • ErrorDocument::getLinks() returns ?DocumentLinks instead of ?Links
    • ErrorDocument::setLinks() expects a parameter of ?DocumentLinks type instead of ?Links
    • AbstractResource::getLinks() returns ?ResourceLinks instead of Links
    • AbstractRelationship::getLinks() returns ?RelationshipLinks instead of Links
    • AbstractRelationship::setLinks() expects a parameter of ?RelationshipLinks type instead of Links
    • Error::getLinks() returns ErrorLinks instead of Links
    • Error::setLinks() expects a parameter of ErrorLinks instead of Links
  • Improvements related to JsonApiExceptionInterface (BREAKING CHANGE):
    • JsonApiExceptionInterface now extends Throwable
    • JsonApiExceptionInterface::getErrorDocument() must return an ErrorDocumentInterface instead of an AbstractErrorDocument
  • Improvements related to pagination (BREAKING CHANGE):
    • A $defaultSize constructor parameter was added to CursorBasedPagination to define a default value for the page[size] query parameter
    • Properties and methods of FixedPageBasedPagination became non-nullable
    • Properties and methods of OffsetBasedPagination became non-nullable
    • Properties and methods of PageBasedPagination became non-nullable
    • Methods of PaginationLinkProviderInterface expect a second parameter with a $queryString name
  • Setting the status code and Content-Type header of the JSON:API response is done by the Responder by default instead of Serializers (BREAKING CHANGE):
    • The Responder class sets the status code and the Content-Type header of the response, while custom Serializers can override them optionally
    • SerializerInterface::serialize() only accepts two arguments instead of 3 as the $responseCode parameter was removed
    • JsonSerializer does not set the Content-Type header and the status code of the response anymore
  • Improvements related to relationships (BREAKING CHANGE):
    • ResponseInterface::getToOneRelationship() throws an exception instead of returning null if the relationship doesn't exist
    • ResponseInterface::getToManyRelationship() throws an exception instead of returning null if the relationship doesn't exist
  • The TransformerTrait::fromSqlToIso8601Time() method expects a ?DateTimeZone as its second argument instead of string (BREAKING CHANGE)

REMOVED:

  • The generic Links class (BREAKING CHANGE)
  • Methods related to pagination class instantiation were removed from RequestInterface (BREAKING CHANGE):
    • RequestInterface::getFixedPageBasedPagination()
    • RequestInterface::getPageBasedPagination()
    • RequestInterface::getOffsetBasedPagination()
    • RequestInterface::getCursorBasedPagination()
  • Various deprecated classes (BREAKING CHANGE):
    • WoohooLabs\Yin\JsonApi\Document\AbstractCollectionDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractCollectionDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractErrorDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSimpleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSimpleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSingleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSingleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSuccessfulResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSuccessfulResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\ErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\ErrorDocument instead
    • WoohooLabs\Yin\JsonApi\Transformer\AbstractResourceTransformer: use WoohooLabs\Yin\JsonApi\Schema\Resource\AbstractResource instead
    • WoohooLabs\Yin\JsonApi\Transformer\ResourceTransformerInterface: use WoohooLabs\Yin\JsonApi\Schema\Resource\ResourceInterface instead
    • WoohooLabs\Yin\JsonApi\Schema\Error: use WoohooLabs\Yin\JsonApi\Schema\Error\Error instead
    • WoohooLabs\Yin\JsonApi\Schema\ErrorSource: use WoohooLabs\Yin\JsonApi\Schema\Error\ErrorSource instead
    • WoohooLabs\Yin\JsonApi\Exception\JsonApiException: use WoohooLabs\Yin\JsonApi\Exception\AbstractJsonApiException instead
    • WoohooLabs\Yin\JsonApi\Request\Request: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequest instead
    • WoohooLabs\Yin\JsonApi\Request\RequestInterface: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequestInterface instead
    • WoohooLabs\Yin\JsonApi\Schema\Link: use WoohooLabs\Yin\JsonApi\Schema\Link\Link instead
    • WoohooLabs\Yin\JsonApi\Schema\LinkObject: use WoohooLabs\Yin\JsonApi\Schema\Link\LinkObject instead
  • Various deprecated methods (BREAKING CHANGE):
    • AbstractErrorDocument::getResponseCode() (use AbstractErrorDocument::getStatusCode() instead)
    • RequestValidator::lintBody() (use RequestValidator::validateJsonBody() instead)
    • ResponseValidator::lintBody() (use ResponseValidator::validateJsonBody() instead)
    • ResponseValidator::validateBody() (ResponseValidator::validateJsonApiBody())

FIXED:

  • Issues with 0 and non-numeric values when using built-in pagination objects (PageBasedPagination, FixedPageBasedPagination, OffsetBasedPagination)
  • Various issues found by static analysis
  • Query parameters of pagination links were not encoded properly
  • The page and filter query parameters must have an array value as per the spec
  • Instead of returning null, an exception is thrown when a non-existent relationship is fetched
3.1.0

This is a release with several deprecations in order to ensure forward compatibility with Yin 4.0.

DEPRECATED:

  • Classes related to Documents:
    • WoohooLabs\Yin\JsonApi\Document\AbstractCollectionDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractCollectionDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractErrorDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSimpleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSimpleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSingleResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSingleResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\AbstractSuccessfulResourceDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\AbstractSuccessfulResourceDocument instead
    • WoohooLabs\Yin\JsonApi\Document\ErrorDocument: use WoohooLabs\Yin\JsonApi\Schema\Document\ErrorDocument instead
  • Classes related to Resources:
    • WoohooLabs\Yin\JsonApi\Transformer\AbstractResourceTransformer: use WoohooLabs\Yin\JsonApi\Schema\Resource\AbstractResource instead
    • WoohooLabs\Yin\JsonApi\Transformer\ResourceTransformerInterface: use WoohooLabs\Yin\JsonApi\Schema\Resource\ResourceInterface instead
  • Classes related to Errors and Exceptions:
    • WoohooLabs\Yin\JsonApi\Schema\Error: use WoohooLabs\Yin\JsonApi\Schema\Error\Error instead
    • WoohooLabs\Yin\JsonApi\Schema\ErrorSource: use WoohooLabs\Yin\JsonApi\Schema\Error\ErrorSource instead
    • WoohooLabs\Yin\JsonApi\Exception\JsonApiException: use WoohooLabs\Yin\JsonApi\Exception\AbstractJsonApiException instead
  • Classes related to the Request:
    • WoohooLabs\Yin\JsonApi\Request\Request: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequest instead
    • WoohooLabs\Yin\JsonApi\Request\RequestInterface: use WoohooLabs\Yin\JsonApi\Request\JsonApiRequestInterface instead
  • Classes related to Links:
    • WoohooLabs\Yin\JsonApi\Schema\Link: use WoohooLabs\Yin\JsonApi\Schema\Link\Link instead
    • WoohooLabs\Yin\JsonApi\Schema\LinkObject: use WoohooLabs\Yin\JsonApi\Schema\Link\LinkObject instead
  • The following methods:
    • AbstractErrorDocument::getResponseCode(): use AbstractErrorDocument::getStatusCode() instead
    • RequestValidator::lintBody(): use RequestValidator::validateJsonBody() instead
    • ResponseValidator::lintBody(): use ResponseValidator::validateJsonBody() instead
    • ResponseValidator::validateBody(): use ResponseValidator::validateJsonApiBody() instead
3.0.2

FIXED:

  • #69: Fatal error when providing invalid types in fields, include and sort query parameters
2.0.6

FIXED:

  • #66: Bug in request header validation
  • #69: Fatal error when providing invalid types in fields, include and sort query parameters
3.0.1

CHANGED:

  • Return the included array even when it is empty if the include parameter is supplied
  • PHPUnit 7.0 is minimally required to run tests

FIXED:

  • #66: Bug in request header validation
  • #68: Fix fatal error when resource ID is not a string
2.0.5

FIXED:

  • #68: Fix fatal error when resource ID is not a string
3.0.0

CHANGED:

  • Increased minimum PHP version requirement to 7.1
  • ExceptionFactoryInterface methods must return JsonApiExceptionInterface (BREAKING)
  • AbstractDocument::getJsonApi() and AbstractDocument::getLinks() return types must be declared (BREAKING)
  • ResourceTransformerInterface::getLinks() return type must be declared (BREAKING)

REMOVED:

  • TransformerTrait::toBool() and TransformerTrait::toInt() methods

FIXED:

  • Some minor type declaration-related issues
3.0.0-beta1

CHANGED:

  • Increased minimum PHP version requirement to 7.1
  • ExceptionFactoryInterface methods must return JsonApiExceptionInterface (BREAKING)
  • AbstractDocument::getJsonApi() and AbstractDocument::getLinks() return types must be declared (BREAKING)
  • ResourceTransformerInterface::getLinks() return type must be declared (BREAKING)

REMOVED:

  • TransformerTrait::toBool() and TransformerTrait::toInt() methods

FIXED:

  • Some minor type declaration-related issues
2.0.4

ADDED:

  • Possibility to define the $code constructor argument of Exceptions when instantiating JsonApiExceptions
2.0.3

CHANGED:

  • Updated JSON:API schema to the latest version

FIXED:

  • #64: Body sent via POST is not retrievable
2.0.2

CHANGED:

  • Updated JSON:API schema to the latest version
2.0.1

ADDED:

  • Possibility to configure the displayed time zone when using TransformerTrait::toIso8601Date() and TransformerTrait::toIso8601DateTime()

CHANGED:

  • Updated JSON:API schema to the latest version
2.0.0

ADDED:

  • Responder::okWithRelationship() and Responder::createdWithRelationship()
  • #58: Allow to set options to the json_encode method
  • Support for custom deserializers
  • #57: Support for validating the request during hydration

CHANGED:

  • Yin now requires PHP 7.0 at least
  • Documents, Transformers, Hydrators, Serializers and Exceptions must be type hinted strictly (BREAKING)
  • #51: Decouple AbstractSuccessfulDocument from Serializer and Response (BREAKING)
  • Renamed JsonApi schema object to JsonApiObject in order to avoid ambiguities (BREAKING)
  • Renamed DefaultSerializer to JsonSerializer (BREAKING)
  • Renamed some methods of ExceptionFactoryInterface which didn't end with Exception (e.g. createRelationshipNotExists() to createRelationshipNotExistsException()) (BREAKING)
  • Hydrators must implement the validateRequest() method (BREAKING)
  • HydratorTrait::getAcceptedType() was renamed to HydratorTrait::getAcceptedTypes() and it should always return an array even if the hydrator can only accept one resource type (BREAKING)

REMOVED:

  • RelationshipResponder::okWithMeta() method (BREAKING)
  • JsonApi::respondWithRelationship() method (BREAKING)

FIXED:

  • #59: Resource schema validating
  • Minor problems with request/response validators
  • Minor bug fixes
2.0.0-rc1

ADDED:

  • Support for validating the request during hydration

CHANGED:

  • Hydrators must implement the validateRequest() method (BREAKING)
1.0.6

FIXED:

  • #60: Fixed datetime format method from sql without second argument
2.0.0-beta2

ADDED:

  • Support for custom deserializers

CHANGED:

  • Renamed DefaultSerializer to JsonSerializer (BREAKING)
  • Renamed some methods of ExceptionFactoryInterface which didn't end with Exception (e.g. createRelationshipNotExists() to createRelationshipNotExistsException()) (BREAKING)

FIXED:

  • #59: Resource schema validating
  • Minor problems with request/response validators
1.0.5

ADDED:

  • Possibility to configure the DefaultSerializer

FIXED:

  • AbstractSimpleResourceDocument::getRelationshipContent() didn't return any value
2.0.0-beta1

ADDED:

  • Responder::okWithRelationship() and Responder::createdWithRelationship()
  • Possibility to configure the DefaultSerializer

CHANGED:

  • Yin now requires PHP 7.0 at least
  • Documents, Transformers, Hydrators, Serializers and Exceptions must be type hinted strictly (BREAKING)
  • #51: Decouple AbstractSuccessfulDocument from Serializer and Response (BREAKING)
  • Renamed JsonApi to JsonApiObject in order to avoid ambiguities (BREAKING)

REMOVED:

  • RelationshipResponder::okWithMeta() method (BREAKING)
  • JsonApi::respondWithRelationship() method (BREAKING)

FIXED:

  • Minor bug fixes
1.0.4

FIXED:

  • Fixed status code of multiple error responses
1.0.3

ADDED:

  • Better support for "about" links

FIXED:

  • Error status codes are now represented as string as per the spec
  • TransformerTrait() datetime transformer methods identify the ISO-8601 format correctly
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament