laravel-json-api/laravel
JSON:API for Laravel applications.
v5.3.0
1.6M downloads/mo
#2958 most downloaded on Packagist
laravel-json-api/laravel
What this package is like to depend on
Last release 1 months ago
12 Jul 2026
Release timing varies
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
39 releases · first in 2021
3 releases in the last 12 months
see the full history below
Release timeline
39 releases · Jan 2021 to Jul 2026Releases
latest 39-
v5.3.012 Jul 2026Release notes
Open source →What's Changed
- build: drop support for Laravel 11 by @lindyhopchris in #329
- fix: solve undefined variable in get wheres by @zigzagdev in #328
New Contributors
- @zigzagdev made their first contribution in #328
Full Changelog: v5.2.1...v5.3.0
Release notes
Open source →Fixed
- #328 Fix undefined variable error in resource registrar.
Removed
- Dropped support for Laravel 11, as it is no longer receiving security updates. The minimum Laravel version is now 12.
-
v5.2.114 Apr 2026 -
v5.2.028 Mar 2026 -
v5.1.024 Feb 2025Release notes
Open source →What's Changed
- Feature: add support for Laravel 12 by @lindyhopchris in #306
Full Changelog: v5.0.2...v5.1.0
-
v5.0.203 Dec 2024Release notes
Open source →Upgrading
composer up laravel-json-api/laravel
What's Changed
- fix: authorizer response should be honoured on destroy action when no request class for resource by @haddowg in #302
Full Changelog: v5.0.1...v5.0.2
Release notes
Open source →Fixed
- #302 Ensure auth response is used when deleting a resource that does not have a resource response class.
-
v5.0.102 Dec 2024Release notes
Open source →Release notes
Open source →Fixed
- #301 Do not override response status when authorization exception is thrown.
-
v5.0.001 Dec 2024Release notes
Open source →Upgrading
composer require laravel-json-api/laravel --no-update composer require laravel-json-api/testing --dev --no-update composer up "laravel-json-api/*" cloudcreativity/json-api-testingAlthough this is a major release with a breaking change (see below), the vast majority of applications should be able to upgrade without making any changes. You will only need to make a change if you're directly calling the
authorizeResource()method on a JSON:API HTTP request class.What's Changed
- feat: support Illuminate\Auth\Access\Response from authorizer by @haddowg in #298
- #70 The authorizer implementation now allows methods to return either
boolor an Illuminate AuthResponse. - BREAKING The return type for the
authorizeResource()method on both resource and query request classes has changed tobool|Response(where response is the Illuminate Auth response). If you are manually calling this method and relying on the return value being a boolean, this change is breaking. However, the vast majority of applications should be able to upgrade without any changes.
New Contributors
Full Changelog: v4.1.1...v5.0.0
Release notes
Open source →Changed
- #298
and #70 The authorizer implementation now allows methods to
return either
boolor an Illuminate AuthResponse. - BREAKING The return type for the
authorizeResource()method on both resource and query request classes has changed tobool|Response(where response is the Illuminate Auth response). If you are manually calling this method and relying on the return value being a boolean, this change is breaking. However, the vast majority of applications should be able to upgrade without any changes.
-
v4.1.130 Nov 2024Release notes
Open source →Upgrading
composer require laravel-json-api/laravel --no-update composer require laravel-json-api/testing --dev --no-update composer up "laravel-json-api/*" "cloudcreativity/json-api-testing"What's Changed
- Update README.md 404 link correction by @SerhiiKotelnikov in #297
- Fix: remove deprecation notices in PHP 8.4 by @lindyhopchris in #300
New Contributors
- @SerhiiKotelnikov made their first contribution in #297
Full Changelog: v4.1.0...v4.1.1
-
v4.1.026 Jun 2024Release notes
Open source →Upgrading
composer require laravel-json-api/laravel --no-update composer up "laravel-json-api/*"Changelog
Fixed
- core#17 Fix incorrect
selflink in related resource responses, and removerelatedlink that should not exist. This has been incorrect for some time, but is definitely what the spec defines here. - eloquent#36 Support Eloquent dynamic relationships.
Full Changelog: v4.0.0...v4.1.0
Release notes
Open source →Fixed
- core#17 Fix incorrect
selflink in related resource responses, and removerelatedlink that should not exist. This has been incorrect for some time, but is definitely what the spec defines here. - eloquent#36 Support Eloquent dynamic relationships.
- core#17 Fix incorrect
-
v4.0.014 Mar 2024Release notes
Open source →Upgrading
composer require laravel-json-api/laravel:^4.0 --no-update composer require laravel-json-api/testing:^3.0 --dev --no-update composer up "cloudcreativity/*" "laravel-json-api/*"
What's Changed
- Feature: upgrade to Laravel 11 and drop PHP 8.1 by @lindyhopchris in #267
Changelog
Changed
- Package is now licensed under the MIT License.
- BREAKING Package now requires Laravel 11.
- Minimum PHP version is now
8.2.
Full Changelog: v3.4.0...v4.0.0
Release notes
Open source →Changed
- Package is now licensed under the MIT License.
- BREAKING Package now requires Laravel 11.
- Minimum PHP version is now
8.2.
-
v3.4.003 Mar 2024Release notes
Open source →Added
- #272 Added a model property type-hint to the resource stub and allowed it to be replaced via a model option on the command.
-
v3.3.014 Feb 2024Release notes
Open source →Added
- #265 Allow registration of middleware per action on both resource routes and relationship routes.
-
v3.2.008 Nov 2023Release notes
Open source →Added
- Exceptions converted to JSON:API errors when debug mode is on now include all previous exceptions.
Changed
- Registering routes no longer results in the server instance being thread-cached. This more accurately reflects production environments, where routes would be cached so there would be no thread-cached JSON:API server when handling a HTTP request. This means tests (and development environments where routes are not cached) more accurately behave in the same way as production environments.
- Exceptions thrown during the encoding process are no longer caught and re-thrown as previous exceptions. This is due to the number of questions we receive from developers who do not check previous exceptions, despite exception messages stating that there is a previous exception to look at.
-
v3.1.020 Jul 2023 -
v3.0.014 Feb 2023Release notes
Open source →Changed
- Upgraded to Laravel 10 and set minimum PHP version to
8.1. - BREAKING If using the
laravel-json-api/cursor-paginationpackage, you now need to passed the schema'sidfield to the paginator'smake()method. I.e. useCursorPagination::make($this->id())
Fixed
- BREAKING #190 The JSON:API media type now needs to be
sent in the
Acceptheader for a "delete" resource request. Previously there was no checking of theAcceptmedia type, so anything could be sent. This is incorrect as the JSON:API specification shows theAcceptheader asapplication/vnd.api+jsonfor delete resource requests.
- Upgraded to Laravel 10 and set minimum PHP version to
-
v2.6.009 Feb 2023Release notes
Open source →Added
- New
MultiPaginatorthat allows a schema to offer multiple different pagination strategies.
Fixed
- The JSON:API rule validators for the follow query parameter fields all errored if a non-array value was provided. This
is now fixed:
fieldspagefilter
- New
-
v2.5.225 Jan 2023Release notes
Open source →Fixed
- #225 Fix validation of empty field list for a resource type
in the
fieldsquery parameter, e.g./api/v1/employees?fields[employees]=.
- #225 Fix validation of empty field list for a resource type
in the
-
v2.5.123 Jan 2023Release notes
Open source →Fixed
- #223 Ensure Eloquent models always have fresh data after write operation. This is to prevent cached relationships from having "stale" data after the write operation. This can occur if a related model's attributes change during the write operation, but the related model was cached before the write operation occurred.
-
v2.5.015 Jan 2023Release notes
Open source →Added
- Relations can now be conditionally set to be eager-loadable via the
canEagerLoad()method. - New
WhereNullandWhereNotNullfilters.
Fixed
- #204 Fix exception parser causing error when request does
not have a matching route (e.g. in a
404 Not Foundscenario). - Fixed PHP 8.2 deprecation messages in the
laravel-json-api/validationdependency.
- Relations can now be conditionally set to be eager-loadable via the
-
v2.4.025 Jun 2022Release notes
Open source →Added
- The
JsonApiExceptionclass now has acontext()method. Laravel's exception handler uses this to add log context when the exception is logged. This means logging of JSON:API exceptions will now include the HTTP status code and the JSON:API errors. - Moved the default
406 Not Acceptableand415 Unsupported Media Typemessages to the following two new exception classes:Exceptions\HttpNotAcceptableExceptionExceptions\HttpUnsupportedMediaTypeException
Fixed
- #184 Ensure that an
Acceptheader with the media typeapplication/jsonis rejected with a406 Not Acceptableresponse. Previously this media type worked, which is incorrect as the JSON:API specification requires the media typeapplication/vnd.api+json. - #197 Fix sending
nullfor a to-one relationship update.
- The
-
v2.3.011 Apr 2022Release notes
Open source →Added
- Added Spanish and Brazilian Portuguese translations for specification and validation error messages.
-
v2.2.010 Apr 2022Release notes
Open source →Added
- #181 The
JsonApiControllernow extends the base Laravel controller.
Fixed
- #180 Add missing method to the Authorizer stub.
- #181 The
-
v2.1.204 Apr 2022 -
v2.1.101 Apr 2022 -
v2.1.020 Feb 2022Release notes
Open source →Added
- #110 For requests that modify a relationship, it is now
possible to get the model or models referenced in the request JSON using the
toOne()ortoMany()methods on the resource request class. - #113 The Eloquent
Numberfield can now be configured to accept numeric strings by calling theacceptStrings()method on the field.
- #110 For requests that modify a relationship, it is now
possible to get the model or models referenced in the request JSON using the
-
v2.0.009 Feb 2022Release notes
Open source →Added
- This package now supports Laravel 9.
- This package now supports PHP 8.1.
Changed
- BREAKING PHP 8.1 introduces
readonlyas a keyword. It was therefore necessary to rename the following interface and trait:LaravelJsonApi\Eloquent\Contracts\ReadOnlyis nowIsReadOnly.LaravelJsonApi\Eloquent\Fields\Concerns\ReadOnlyis nowIsReadOnly.
- Return types have been added to all internal methods in all child packages, to remove deprecation messages in PHP 8.1
- #83 Amended container bindings to ensure package works with
Laravel Octane. Most of these changes should have no impact on consuming applications. However, the following changes
could potentially be breaking to the JSON:API
Serverclass in an application:- The type-hint of the first constructor argument has changed to
LaravelJsonApi\Core\Support\AppResolver. - The deprecated
$containerproperty has been removed, and the$appproperty is now private. To access the current application instance in your server class, use$this->app()instead.
- The type-hint of the first constructor argument has changed to
- BREAKING #110 The
model()andmodelOrFail()methods on theResourceQueryrequest class have been changed frompublictoprotected. These were not documented for use on this query class, and were only intended to be used publicly on theResourceRequestclass. Although technically breaking, this change is unlikely to affect the vast majority of applications which should not be using the method.
-
v1.1.003 Jan 2022Release notes
Open source →Added
- The default JSON:API resource class can now be changed via
the
LaravelJsonApi\Laravel\LaravelJsonApi::defaultResource()method. This should be set in a service provider'sregister()method. - #127 The
JsonApiResourceclass now has a protectedserializeRelationmethod that can be used to override the default serialization of relationships if needed. - #111 Relationship documents returned by relationship
selfroutes will now include any non-standard links set on the resource relationship in the top-levellinksmember.
Fixed
- #147 Related relationship response now correctly merge the relationship links into the top-level document links member.
- #130 The
JsonApiResourcenow correctly handles conditional fields when iterating over relationships to find a specific relation. - #105 The JSON:API document returned by a relationship
selfroute now handles a relationship not existing if it is hidden. Previously an exception was thrown when attempting to merge relationship links into the document. - #111 Relationship documents now handle a relationship that
does not have one or both of the
selfandrelatedrelationship links.
- The default JSON:API resource class can now be changed via
the
-
v1.0.108 Dec 2021Release notes
Open source →Changed
- The maximum PHP version is now 8.0. PHP 8.1 is not supported because it introduces a breaking change. The next major version of this package will add support for PHP 8.1.
Fixed
- #139 Fix the
WhereHasandWhereDoesntHavefilters. Previously these were not iterating over the filters from the correct resource schema - they were iterating over the filters from the schema to which the relationship belonged. They now correctly iterate over the filters from the schema for the resource that is on the inverse side of the relationship.
-
v1.0.031 Jul 2021Release notes
Open source →Added
- New relationship filter classes:
Has,WhereHas,WhereDoesntHave. Refer to the filter documentation for details.
Changed
- BREAKING: Countable Relationships. This feature is now turned off by default. Although included in the 1.0
release, this feature is not considered production-ready. This is because we plan to make breaking changes to it,
which will change how the client requests countable relationships. As such, this feature is considered
highly-experimental and developers must opt-in to it by calling the
canCount()method on a relationship. Refer to the Countable relationships chapter in the documentation for more details. - BREAKING: Cursor Pagination. Laravel now has its own cursor pagination feature. We have therefore moved our
implementation into its own
package: laravel-json-api/cursor-pagination
This change has been made because it makes sense for the in-built cursor pagination implementation to use Laravel's
cursor pagination implementation rather than our own custom one. Support for Laravel's cursor pagination will be added
during the
1.xrelease cycle. If you are already using our cursor implementation, you can migrate in two easy steps:- Install the new package:
composer require laravel-json-api/cursor-pagination - In any schemas using the cursor pagination, change the import statement
from
LaravelJsonApi\Eloquent\Pagination\CursorPaginationtoLaravelJsonApi\CursorPagination\CursorPagination.
- Install the new package:
- New relationship filter classes:
-
v1.0.0-beta.510 Jul 2021 pre-releaseRelease notes
Open source →Added
- The authorizer now has separate
showRelated()andshowRelationship()methods. Previously both these controller actions were authorized via the singleshowRelationship()method. Adding the newshowRelatedmethod means developers can now implement separate authorization logic for these two actions if desired. Our default implementation remains unchanged - both are authorized using theview<RelationshipName>method on the relevant policy. - The request class now has a
isCreatingOrUpdating()helper method to determine whether the request is to create or updated a resource. - Add stop on first failure to all validators in the resource request class.
- #85 When running an application with debug mode turned on,
the default JSON:API error object for an exception will now contain detailed exception information, including the
stack trace, in the object's
metamember. - #103 Can now fully customise attribute serialization to JSON
using the
extractUsing()callback. This receives the model, column name and value. This is useful if the developer needs to control the serialization of a few fields on their schema. However, the recommendation is to use a resource class for complete control over the serialization of a model to a JSON:API resource.
Changed
- Minimum Laravel version is now
8.30. This change was required to use the$stopOnFirstFailureproperty on Laravel'sFormRequestclass. - Schema classes no longer automatically sort their fields by name when iterating over them. This change was made to give the developer full control over the order of fields (particularly as this order affects the order in which fields are listed when serialized to a JSON:API resource). Developers can list fields in name order if that is the preferred order.
- Removed the
LaravelJsonApi\Spec\UnexpectedDocumentExceptionwhich was thrown if there was a failure when decoding request JSON content before parsing it for compliance with the JSON:API specification. AJsonApiExceptionwill now be thrown instead.
Fixed
- #101 Ensure controller create action always returns a
response that will result in a
201 Createdresponse. - #102 The attach and detach to-many relationship controller actions now correctly resolve the collection query class using the relation's inverse resource type. Previously they were incorrectly using the primary resource type to resolve the query class.
- The authorizer now has separate
-
v1.0.0-beta.402 Jun 2021 pre-releaseRelease notes
Open source →Fixed
- #76 Pagination links will now be correctly added to related resources and relationship identifiers responses.
-
v1.0.0-beta.326 Apr 2021 pre-releaseRelease notes
Open source →Added
- #14 Additional sort parameters can now be added to Eloquent
schemas. Previously only sortable attributes were supported. These new classes are added to schemas in the
sortables()method. - Eloquent schemas now support a default sort order via the
$defaultSortproperty. - New generator command
jsonapi:sort-fieldto create a custom sort field class. - #74 Developers can now add default include paths to the query
request classes (e.g.
PostQueryandPostCollectionQuery) via the$defaultIncludePathsproperty. These include paths are used if the client does not provide any include paths.
- #14 Additional sort parameters can now be added to Eloquent
schemas. Previously only sortable attributes were supported. These new classes are added to schemas in the
-
v1.0.0-beta.220 Apr 2021 pre-releaseRelease notes
Open source →Added
- #65 BREAKING The
fill()method on Eloquent fields has been updated to receive all the validated data as its third argument. This change was made to allow fields to work out the value to fill into the model based on other JSON:API field values. If you have written any custom fields, you will need to update thefill()method on your field class. - BREAKING Eloquent attributes now support serializing and filling column values on related objects. This is
primarily intended for use with the Eloquent
belongsTo,hasOne,hasOneThroughandmorphOnerelationships that have awithDefault()method. As part of this change, themustExist()method was added to theFillableinterface. If you have written any custom fields, you will need to add this method to your field class - it should returntrueif the attribute needs to be filled after the primary model has been persisted. - #58 Schema model classes can now be a parent class or an interface.
Fixed
- #69 Fixed the parsing of empty
include,sortandwithCountquery parameters.
- #65 BREAKING The
-
v1.0.0-beta.130 Mar 2021 pre-releaseRelease notes
Open source →Added
- #18 Added a
withCountquery parameter. For Eloquent resources, this allows a client to request the relationship count for the primary data's relationships. Refer to documentation for implementation details. - #55 Encoding and decoding of resource IDs is now supported.
The
IDfield needs to implement theLaravelJsonApi\Contracts\Schema\IdEncoderinterface for this to work. - #41 Hash IDs are now supported by installing the
laravel-json-api/hashidspackage and using theHashIdfield instead of the standard EloquentIDfield. Refer to documentation for details. - #30 Non-Eloquent resources are no supported via the
laravel-json-api/non-eloquentpackage. Refer to documentation for implementation details. - There is now a
Core\Reponses\RelatedResponseclass for returning the result for a related resources endpoint. For example, the/api/v1/posts/1/commentsendpoint. Previously theDataResponseclass was used. While this class can still be used, the newRelatedResponseclass merges relationship meta into the top-levelmetamember of the response document. For to-many relationships that are countable, this will mean the top-levelmetamember will contain the count of the relationship. - The schema generator Artisan command now has a
--non-eloquentoption to generate a schema for a non-Eloquent resource.
Changed
- The
LaravelJsonApi::registerQuery(),LaravelJsonApi::registerCollectionQuery()andLaravelJsonApi::registerRequest()methods must now be used to register custom HTTP request classes for specified resource types. Previously methods could be called on theRequestResolverclasses, but these have now been removed.
Fixed
- Relationship endpoints that return resource identifiers now correctly include page meta in the top-level meta member of the document, if the results are paginated. Previously the page meta was incorrectly omitted.
- #18 Added a
-
v1.0.0-alpha.512 Mar 2021 pre-releaseRelease notes
Open source →Added
- #43 The package now supports soft-deleting resources. For full details on how to apply this to resource schemas, refer to the new Soft Deleting chapter in the documentation.
- Multi-resource models are now supported. This allows developers to represent a single model class as multiple different JSON:API resource types within an API. Refer to documentation for details of how to implement.
- #8 The new
MorphToManyrelation field can now be used to add polymorphic to-many relations to a schema. Refer to documentation for details. - Developers can now type-hint dependencies in their server's
serving()method. - Can now manually register request, query and collection query classes using the
RequestResolver::registerRequest(),RequestResolver::registerQuery()andRequestResolver::registerCollectionQuery()static methods.
-
v1.0.0-alpha.427 Feb 2021 pre-releaseRelease notes
Open source →Added
- Added missing
jsonapi:authorizergenerator command. - The Eloquent schema now has
indexQueryandrelatableQuerymethods. These allow filtering for authorization purposes when a list of resources is being retrieved. For instance, it could filter those queries so that only models belonging to the authenticated user are returned. - #23 The resource request class now does not need to exist for the destroy controller action. Previously the implementation was expecting the resource request class to exist, even though delete validation was optional.
- #24 Controller actions will now stop executing and return a
response if one is returned by the before action hooks: i.e.
searching,reading,saving,creating,updating,deleting,readingRelated<Name>,reading<Name>,updating<Name>,attaching<Name>anddetaching<Name>. - #37 Can now use constructor dependency injection in
Serverclasses. - #40 There is now a new
MetaResponseclass that can be used when returning meta-only responses. In addition, response classes have been updated to add awithServermethod. This can be used to specify the named server the response should use to encode the JSON:API document. This has to be used when returning responses from routes that have not run the JSON:API middleware (i.e. there is no default server available via the service container). - #9 The Laravel route registrar is now passed through to
the
resources,relationshipsandactionscallbacks as the second function argument. - #36 Eloquent schemas now support complex singular filter
logic, via the
Schema::isSingular()method. - #33 Specification compliance will now reject an incorrect
resource type in a relationship. For example, if a relationship expects
tagsbut the client sendsposts, the request will be rejected with an error message thatpostsare not supported.
Changed
- #22 BREAKING The
indexandstoremethods on the authorizer contract now receive the model class as their second argument. This is useful for authorizers that are used for multiple resource types. - BREAKING When querying or modifying models via the schema repository or store, calls to
using()must be replaced withwithRequest(). This change was made to make it clearer that the request class can be passed into query builders. - #28 The sparse field sets validation rule will now reject with a specific message identifying any resource types in the parameter that do not exist.
- #35 The
Relation::type()method must now be used when setting the inverse resource type for the relation.
Fixed
- Optional parameters to generator commands that require values now work correctly. Previously these were incorrectly set up as optional parameters that expected no values.
- #25 The encoder now correctly handles conditional fields when iterating over a resource's relationships.
- #26 Fix parsing the
fieldsquery parameter to field set value objects. - #34 Do not require server option when generating a generic authorizer with multiple servers present.
- #29 Do not reject delete requests without a
Content-Typeheader. - #11 Fixed iterating over an empty to-many generator twice in the underlying compound document encoder.
Deprecated
- The
Relation::inverseType()method is deprecated and will be removed in1.0-stable. UseRelation::type()instead.
- Added missing
-
v1.0.0-alpha.309 Feb 2021 pre-releaseRelease notes
Open source →Added
- #12 Can now register routes for custom actions on a resource,
using the
actions()helper method when registering resources. See the PR for examples. - The
JsonApiControllernow has the LaravelAuthorizesRequests,DispatchesJobsandValidatesRequeststraits applied. - #6 Resource class can now use conditional fields in their
relationships. This works in the same way as conditional attributes: the resource's
when()andmergeWhen()method should be used to add conditional relationships. - #13 Added French translations for JSON:API errors generated by specification parsing and resource/query parameter validation.
- #7 Eloquent schemas now support default eager loading via
their
$withproperty. - #15 When parsing a JSON:API document for compliance with the specification, the client will now receive a clearer error message if they submit a to-one relationship object for a to-many relationship (and vice-versa).
Changed
- #2 BREAKING Improved the extraction of existing resource
field values when constructing validation data for update requests:
- The
existingAttributes()andexistingRelationships()methods on the resource request class has been removed. If you need to modify the existing values before the client values are merged, implement thewithExisting()method instead. This receives the model and its JSON representation (as an array). - The
mustValidate()method must now be called on a schema relationship field. (Previously this was on the resource relation.) By default, belongs-to and morph-to relations will be included when extracting existing values; all other relations will not. Use themustValidate()ornotValidated()method on the schema relation to alter whether a relation is included in the extracted values.
- The
- #12 Can now register routes for custom actions on a resource,
using the
-
v1.0.0-alpha.202 Feb 2021 pre-releaseRelease notes
Open source →Added
- #1
Resource classes are now optional. If one is not defined, the implementation falls-back to using the Eloquent schema
to serialize a model. Eloquent schema fields now have new
hiddenandserializeUsingmethods to customise the serialization of models by the schema. - Resource classes now support using conditional attributes in their
meta()method. - New field classes
ArrayListandArrayHashhave been added, to distinguish between PHP zero-indexed arrays that serialize to JSON arrays (ArrayList) and PHP associative arrays that serialize to JSON objects (ArrayHash). The distinction is required because an empty array list can be serialized to[]in JSON whereas an empty associative array must be serialized tonullin JSON.
Changed
- BREAKING The JsonApiResource method signatures for the
attributes(),relationships(),meta(), andlinks()methods have been changed so that they receive the HTTP request as the first (and only) parameter. This brings the implementation in line with Laravel's Eloquent resources, which receive the request to theirtoArray()method. The slight difference is our implementation allows the request to benull- this is to cover encoding resources outside of HTTP requests, e.g. queued broadcasting. When upgrading, you will need to either delete resource classes (as they are now optional), or update the method signatures on any classes you are retaining.
Fixed
- #3
Example server registration in the published configuration file prevented developer from creating a
v1server after adding this package to their Laravel application. - Package discovery for sub-packages that have service providers now works correctly.
Removed
- BREAKING The
Arrschema field has been removed - use the newArrayListorArrayHashfields instead. - BREAKING The
urimethod on resource and relationship routes has been removed:- The resource type URI can now be set on the resource's schema (using the
$uriTypeproperty). - Relationship URIs are now set on the schema field for the relationship (via the
withUriFieldNamemethod).
- The resource type URI can now be set on the resource's schema (using the
- #1
Resource classes are now optional. If one is not defined, the implementation falls-back to using the Eloquent schema
to serialize a model. Eloquent schema fields now have new
-
v1.0.0-alpha.125 Jan 2021 pre-release