@@ -11,6 +11,15 @@ All notable changes to this project will be documented in this file. This projec
1111 ` laravel-json-api/neomerx-json-api ` . Refer to the [ Upgrade Guide] ( ./docs/upgrade.md ) for details of the required
1212 changes.
1313
14+ ## [ 4.1.0] - 2023-01-19
15+
16+ ### Changed
17+
18+ - Drop support for PHP ` 7.4 ` - minimum PHP version is now ` 8.0 ` .
19+ - Drop support for Laravel 8.
20+ - Upgraded ` laravel-json-api/neomerx-json-api ` dependency to ` ^1.2 ` . This allows v1, v2 and v3 of the PSR log
21+ dependency, whereas previously only v1 was allowed.
22+
1423## [ 4.0.1] - 2022-04-24
1524
1625### Fixed
@@ -31,12 +40,12 @@ All notable changes to this project will be documented in this file. This projec
3140- Package now depends on our fork of the Neomerx JSON: API package - ` laravel-json-api/neomerx-json-api ` . This is a
3241 non-breaking change.
3342- ** BREAKING** Added return types to internal methods, to remove deprecation notices in PHP 8.1. This will affect your
34- implementation if you have extended any of our classes and overloaded a method that now has a return type.
43+ implementation if you have extended any of our classes and overloaded a method that now has a return type.
3544
3645### Removed
3746
38- - ** BREAKING** Removed the following classes from the ` CloudCreativity\LaravelJsonApi\Testing ` namespace. You must
39- use classes (with the same names) from the ` LaravelJsonApi\Testing ` namespace, after installing the
47+ - ** BREAKING** Removed the following classes from the ` CloudCreativity\LaravelJsonApi\Testing ` namespace. You must
48+ use classes (with the same names) from the ` LaravelJsonApi\Testing ` namespace, after installing the
4049 ` laravel-json-api/testing ` package as a dev dependency. Refer to the upgrade guide for details. Classes/traits removed
4150 are:
4251 - ` MakesJsonApiRequests `
@@ -214,43 +223,43 @@ All notable changes to this project will be documented in this file. This projec
214223 the [ documented validation implementation] ( ./docs/basics/validators.md ) instead.
215224- The deprecated ` json_api_request() ` helper was removed.
216225- The following methods were removed from the JSON API service (and are therefore no longer available via the facade):
217- - ` request() ` : use ` currentRoute() ` instead.
218- - ` defaultApi() ` : set the default API via ` LaravelJsonApi::defaultApi() ` instead.
226+ - ` request() ` : use ` currentRoute() ` instead.
227+ - ` defaultApi() ` : set the default API via ` LaravelJsonApi::defaultApi() ` instead.
219228- All deprecated methods on the ` Testing\MakesJsonApiRequests ` trait and ` Testing\TestResponse ` class were removed.
220229- Removed the ` Http\Requests\ValidatedRequest::validate() ` method, as Laravel replaced it with
221230 ` validateResolved() ` . This affects all JSON API request classes.
222231- Additionally, the following deprecated interfaces, classes and traits were removed:
223- - ` Api\ResourceProvider ` - extend ` Api\AbstractProvider ` instead.
224- - ` Contracts\Document\MutableErrorInterface `
225- - ` Contracts\Exceptions\ErrorIdAllocatorInterface `
226- - ` Contracts\Factories\FactoryInterface `
227- - ` Contracts\Http\Responses\ErrorResponseInterface `
228- - ` Contracts\Object\* ` - all interfaces in this namespace.
229- - ` Contracts\Repositories\ErrorRepositoryInterface `
230- - ` Contracts\Utils\ErrorReporterInterface `
231- - ` Contracts\Utils\ErrorsAwareInterface `
232- - ` Contracts\Utils\ReplacerInterface `
233- - ` Document\Error ` - use ` Document\Error\Error ` instead.
234- - ` Eloquent\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
235- - ` Eloquent\Concerns\SerializesModels ` trait.
236- - ` Exceptions\MutableErrorCollection `
237- - ` Exceptions\NotFoundException `
238- - ` Exceptions\RecordNotFoundException ` - use ` Exceptions\ResourceNotFoundException ` instead.
239- - ` Http\Query\ChecksQueryParameters ` trait.
240- - ` Http\Requests\JsonApiRequest `
241- - ` Http\Responses\ErrorResponse `
242- - ` Object\* ` - all classes in this namespace.
243- - ` Repositories\ErrorRepository `
244- - ` Schema\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
245- - ` Schema\CreatesEloquentIdentities ` trait.
246- - ` Schema\CreatesLinks ` trait.
247- - ` Schema\EloquentSchema ` - extend the ` neomerx/json-api ` schema instead.
248- - ` Utils\AbstractErrorBag `
249- - ` Utils\ErrorBag `
250- - ` Utils\ErrorCreatorTrait `
251- - ` Utils\ErrorsAwareTrait `
252- - ` Utils\Pointer `
253- - ` Utils\Replacer `
232+ - ` Api\ResourceProvider ` - extend ` Api\AbstractProvider ` instead.
233+ - ` Contracts\Document\MutableErrorInterface `
234+ - ` Contracts\Exceptions\ErrorIdAllocatorInterface `
235+ - ` Contracts\Factories\FactoryInterface `
236+ - ` Contracts\Http\Responses\ErrorResponseInterface `
237+ - ` Contracts\Object\* ` - all interfaces in this namespace.
238+ - ` Contracts\Repositories\ErrorRepositoryInterface `
239+ - ` Contracts\Utils\ErrorReporterInterface `
240+ - ` Contracts\Utils\ErrorsAwareInterface `
241+ - ` Contracts\Utils\ReplacerInterface `
242+ - ` Document\Error ` - use ` Document\Error\Error ` instead.
243+ - ` Eloquent\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
244+ - ` Eloquent\Concerns\SerializesModels ` trait.
245+ - ` Exceptions\MutableErrorCollection `
246+ - ` Exceptions\NotFoundException `
247+ - ` Exceptions\RecordNotFoundException ` - use ` Exceptions\ResourceNotFoundException ` instead.
248+ - ` Http\Query\ChecksQueryParameters ` trait.
249+ - ` Http\Requests\JsonApiRequest `
250+ - ` Http\Responses\ErrorResponse `
251+ - ` Object\* ` - all classes in this namespace.
252+ - ` Repositories\ErrorRepository `
253+ - ` Schema\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
254+ - ` Schema\CreatesEloquentIdentities ` trait.
255+ - ` Schema\CreatesLinks ` trait.
256+ - ` Schema\EloquentSchema ` - extend the ` neomerx/json-api ` schema instead.
257+ - ` Utils\AbstractErrorBag `
258+ - ` Utils\ErrorBag `
259+ - ` Utils\ErrorCreatorTrait `
260+ - ` Utils\ErrorsAwareTrait `
261+ - ` Utils\Pointer `
262+ - ` Utils\Replacer `
254263
255264## [ 1.7.0] - 2020-04-13
256265
@@ -458,30 +467,30 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
458467
459468- The following classes in the ` Validation ` namespace were removed as the ` Validation\Validator `
460469 class can be used instead, or validators can be constructed via the factory instead:
461- - ` AbstractValidator `
462- - ` ResourceValidator `
463- - ` QueryValidator `
470+ - ` AbstractValidator `
471+ - ` ResourceValidator `
472+ - ` QueryValidator `
464473- The deprecated ` EloquentController ` was removed - extend ` JsonApiController ` directly.
465474- The ` Store\EloquentAdapter ` was removed - extend ` Eloquent\AbstractAdapter ` directly.
466475- The following previously deprecated methods/properties were removed from the ` EloquentAdapter ` :
467- - public method ` queryRelation() ` : renamed ` queryToMany() ` .
468- - protected property ` $with ` : renamed ` $defaultWith ` .
469- - protected method ` keyForAttribute() ` : renamed ` modelKeyForField() ` .
470- - protected method ` columnForField() ` : renamed ` getSortColumn() ` .
471- - protected method ` all() ` : renamed ` searchAll() ` .
472- - protected method ` extractIncludePaths() ` : overload the ` getQueryParameters() ` method instead.
473- - protected method ` extractFilters() ` : overload the ` getQueryParameters() ` method instead.
474- - protected method ` extractPagination() ` : overload the ` getQueryParameters() ` method instead.
476+ - public method ` queryRelation() ` : renamed ` queryToMany() ` .
477+ - protected property ` $with ` : renamed ` $defaultWith ` .
478+ - protected method ` keyForAttribute() ` : renamed ` modelKeyForField() ` .
479+ - protected method ` columnForField() ` : renamed ` getSortColumn() ` .
480+ - protected method ` all() ` : renamed ` searchAll() ` .
481+ - protected method ` extractIncludePaths() ` : overload the ` getQueryParameters() ` method instead.
482+ - protected method ` extractFilters() ` : overload the ` getQueryParameters() ` method instead.
483+ - protected method ` extractPagination() ` : overload the ` getQueryParameters() ` method instead.
475484- The previously deprecated ` Eloquent\Concerns\AbstractRelation ` class was removed.
476485 Extend ` Adapter\AbstractRelationshipAdapter ` and use the ` Eloquent\Concerns\QueriesRelations ` trait.
477486- Removed the deprecated ` Contracts\Utils\ConfigurableInterface ` as this has not been in use for some time.
478487- Removed the deprecated ` createResourceDocumentValidator() ` method from the factory.
479488- Removed the following previously deprecated methods from the ` TestResponse ` class:
480- - ` assertJsonApiResponse() ` : use ` jsonApi() ` .
481- - ` normalizeIds() ` and ` normalizeId() ` as these are not in use by the refactored test implementation.
489+ - ` assertJsonApiResponse() ` : use ` jsonApi() ` .
490+ - ` normalizeIds() ` and ` normalizeId() ` as these are not in use by the refactored test implementation.
482491- Removed the following previously deprecated methods from the JSON API service/facade:
483- - ` report() ` : no longer supported for access via the service.
484- - ` requestOrFail() ` : no longer required.
492+ - ` report() ` : no longer supported for access via the service.
493+ - ` requestOrFail() ` : no longer required.
485494- Removed the previously deprecated ` Schema\ExtractsAttributesTrait ` as it has not been used for some time.
486495
487496## [ 1.0.0-beta.6] - 2019-01-03
@@ -551,24 +560,24 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
551560 were not in use.
552561- The previously deprecated ` InteractsWithModels ` testing trait was removed.
553562- The following (majority previously deprecated methods) on the ` TestResponse ` class were removed:
554- - ` assertDocument `
555- - ` assertResourceResponse `
556- - ` assertResourcesResponse `
557- - ` assertRelatedResourcesResponse `
558- - ` assertSearchResponse `
559- - ` assertSearchOneResponse `
560- - ` assertCreateResponse `
561- - ` assertReadResponse `
562- - ` assertUpdateResponse `
563- - ` assertDeleteResponse `
564- - ` assertRelatedResourceResponse `
565- - ` assertHasOneRelationshipResponse `
566- - ` assertDataCollection `
567- - ` assertDataResource `
568- - ` assertDataResourceIdentifier `
569- - ` assertSearchByIdResponse `
570- - ` assertSearchedPolymorphIds `
571- - ` assertReadPolymorphHasMany `
563+ - ` assertDocument `
564+ - ` assertResourceResponse `
565+ - ` assertResourcesResponse `
566+ - ` assertRelatedResourcesResponse `
567+ - ` assertSearchResponse `
568+ - ` assertSearchOneResponse `
569+ - ` assertCreateResponse `
570+ - ` assertReadResponse `
571+ - ` assertUpdateResponse `
572+ - ` assertDeleteResponse `
573+ - ` assertRelatedResourceResponse `
574+ - ` assertHasOneRelationshipResponse `
575+ - ` assertDataCollection `
576+ - ` assertDataResource `
577+ - ` assertDataResourceIdentifier `
578+ - ` assertSearchByIdResponse `
579+ - ` assertSearchedPolymorphIds `
580+ - ` assertReadPolymorphHasMany `
572581
573582### Deprecated
574583
@@ -615,10 +624,10 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
615624- The ` Document\Error ` and ` Contracts\Document\MutableErrorInterface ` are deprecated and will be removed at ` 2.0 ` . You
616625 should use the error interface/class from the ` neomerx/jsonapi ` package instead.
617626- The following utility classes/traits/interfaces are deprecated and will be removed at ` 2.0 ` :
618- - ` Utils/ErrorCreatorTrait `
619- - ` Utils/ErrorsAwareTrait ` and ` Contracts\Utils\ErrorsAwareInterface `
620- - ` Utils/Pointers `
621- - ` Utils/Replacer ` and ` Contracts\Utils\ReplacerInterface `
627+ - ` Utils/ErrorCreatorTrait `
628+ - ` Utils/ErrorsAwareTrait ` and ` Contracts\Utils\ErrorsAwareInterface `
629+ - ` Utils/Pointers `
630+ - ` Utils/Replacer ` and ` Contracts\Utils\ReplacerInterface `
622631- The ` Contracts\Factories\FactoryInterface ` is deprecated and will be removed at ` 1.0 ` . You should
623632 type-hint ` Factories\Factory ` directly instead.
624633
@@ -650,10 +659,10 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
650659### Deprecated
651660
652661- The following methods on the Eloquent adapter will be removed in ` 1.0.0 ` as they are no longer required:
653- - ` extractIncludePaths `
654- - ` extractFilters `
655- - ` extractPagination `
656- - ` columnForField ` : use ` getSortColumn ` instead.
662+ - ` extractIncludePaths `
663+ - ` extractFilters `
664+ - ` extractPagination `
665+ - ` columnForField ` : use ` getSortColumn ` instead.
657666
658667## [ 1.0.0-beta.2] - 2018-08-25
659668
@@ -696,12 +705,12 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
696705### Removed
697706
698707- The following deprecated methods have been removed from the Eloquent adapter:
699- - ` first ` : use ` searchOne ` instead.
708+ - ` first ` : use ` searchOne ` instead.
700709
701710### Deprecated
702711
703712- The follow methods are deprecated on the Eloquent adapter and will be removed in ` 1.0.0 ` :
704- - ` queryRelation ` : use ` queryToMany ` or ` queryToOne ` instead.
713+ - ` queryRelation ` : use ` queryToMany ` or ` queryToOne ` instead.
705714
706715### Fixed
707716
@@ -783,8 +792,8 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
783792- Can now generate authorizers using the ` make:json-api:authorizer ` command, or the ` --auth ` flag when generating a
784793 resource with ` make:json-api:resource ` .
785794- The JSON API controller now has the following additional hooks:
786- - ` searching ` for an * index* action.
787- - ` reading ` for a * read* action.
795+ - ` searching ` for an * index* action.
796+ - ` reading ` for a * read* action.
788797- [ #163 ] ( https://github.com/cloudcreativity/laravel-json-api/issues/163 )
789798 Added relationship hooks to the JSON API controller.
790799
@@ -797,20 +806,20 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
797806### Removed
798807
799808- The previous authorizer implementation has been removed in favour of the new one. The following were deleted:
800- - ` Contract\Authorizer\AuthorizerInterface `
801- - ` Authorizer\AbstractAuthorizer `
802- - ` Authorizer\ReadOnlyAuthorizer `
803- - ` Exceptions\AuthorizationException `
809+ - ` Contract\Authorizer\AuthorizerInterface `
810+ - ` Authorizer\AbstractAuthorizer `
811+ - ` Authorizer\ReadOnlyAuthorizer `
812+ - ` Exceptions\AuthorizationException `
804813
805814### Deprecated
806815
807816- Eloquent schemas are now deprecated in favour of using generic schemas. This is because of the amount of processing
808817 involved without any benefit, as generic schemas are straight-forward to construct. The following classes/traits are
809818 deprecated:
810- - ` Eloquent\AbstractSchema `
811- - ` Eloquent\SerializesModels `
812- - ` Schema\CreatesLinks `
813- - ` Schema\EloquentSchema ` (was deprecated in ` 1.0.0-alpha.1 ` ).
819+ - ` Eloquent\AbstractSchema `
820+ - ` Eloquent\SerializesModels `
821+ - ` Schema\CreatesLinks `
822+ - ` Schema\EloquentSchema ` (was deprecated in ` 1.0.0-alpha.1 ` ).
814823
815824## [ 1.0.0-alpha.1] - 2018-04-29
816825
0 commit comments