3
3
All notable changes to this project will be documented in this file. This project adheres to
4
4
[ Semantic Versioning] ( http://semver.org/ ) and [ this changelog format] ( http://keepachangelog.com/ ) .
5
5
6
+ ## [ 4.1.0] - 2023-01-19
7
+
8
+ ### Changed
9
+
10
+ - Drop support for PHP ` 7.4 ` - minimum PHP version is now ` 8.0 ` .
11
+ - Drop support for Laravel 8.
12
+ - Upgraded ` laravel-json-api/neomerx-json-api ` dependency to ` ^1.2 ` . This allows v1, v2 and v3 of the PSR log
13
+ dependency, whereas previously only v1 was allowed.
14
+
6
15
## [ 4.0.1] - 2022-04-24
7
16
8
17
### Fixed
@@ -23,12 +32,12 @@ All notable changes to this project will be documented in this file. This projec
23
32
- Package now depends on our fork of the Neomerx JSON: API package - ` laravel-json-api/neomerx-json-api ` . This is a
24
33
non-breaking change.
25
34
- ** BREAKING** Added return types to internal methods, to remove deprecation notices in PHP 8.1. This will affect your
26
- implementation if you have extended any of our classes and overloaded a method that now has a return type.
35
+ implementation if you have extended any of our classes and overloaded a method that now has a return type.
27
36
28
37
### Removed
29
38
30
- - ** BREAKING** Removed the following classes from the ` CloudCreativity\LaravelJsonApi\Testing ` namespace. You must
31
- use classes (with the same names) from the ` LaravelJsonApi\Testing ` namespace, after installing the
39
+ - ** BREAKING** Removed the following classes from the ` CloudCreativity\LaravelJsonApi\Testing ` namespace. You must
40
+ use classes (with the same names) from the ` LaravelJsonApi\Testing ` namespace, after installing the
32
41
` laravel-json-api/testing ` package as a dev dependency. Refer to the upgrade guide for details. Classes/traits removed
33
42
are:
34
43
- ` MakesJsonApiRequests `
@@ -206,43 +215,43 @@ All notable changes to this project will be documented in this file. This projec
206
215
the [ documented validation implementation] ( ./docs/basics/validators.md ) instead.
207
216
- The deprecated ` json_api_request() ` helper was removed.
208
217
- The following methods were removed from the JSON API service (and are therefore no longer available via the facade):
209
- - ` request() ` : use ` currentRoute() ` instead.
210
- - ` defaultApi() ` : set the default API via ` LaravelJsonApi::defaultApi() ` instead.
218
+ - ` request() ` : use ` currentRoute() ` instead.
219
+ - ` defaultApi() ` : set the default API via ` LaravelJsonApi::defaultApi() ` instead.
211
220
- All deprecated methods on the ` Testing\MakesJsonApiRequests ` trait and ` Testing\TestResponse ` class were removed.
212
221
- Removed the ` Http\Requests\ValidatedRequest::validate() ` method, as Laravel replaced it with
213
222
` validateResolved() ` . This affects all JSON API request classes.
214
223
- Additionally, the following deprecated interfaces, classes and traits were removed:
215
- - ` Api\ResourceProvider ` - extend ` Api\AbstractProvider ` instead.
216
- - ` Contracts\Document\MutableErrorInterface `
217
- - ` Contracts\Exceptions\ErrorIdAllocatorInterface `
218
- - ` Contracts\Factories\FactoryInterface `
219
- - ` Contracts\Http\Responses\ErrorResponseInterface `
220
- - ` Contracts\Object\* ` - all interfaces in this namespace.
221
- - ` Contracts\Repositories\ErrorRepositoryInterface `
222
- - ` Contracts\Utils\ErrorReporterInterface `
223
- - ` Contracts\Utils\ErrorsAwareInterface `
224
- - ` Contracts\Utils\ReplacerInterface `
225
- - ` Document\Error ` - use ` Document\Error\Error ` instead.
226
- - ` Eloquent\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
227
- - ` Eloquent\Concerns\SerializesModels ` trait.
228
- - ` Exceptions\MutableErrorCollection `
229
- - ` Exceptions\NotFoundException `
230
- - ` Exceptions\RecordNotFoundException ` - use ` Exceptions\ResourceNotFoundException ` instead.
231
- - ` Http\Query\ChecksQueryParameters ` trait.
232
- - ` Http\Requests\JsonApiRequest `
233
- - ` Http\Responses\ErrorResponse `
234
- - ` Object\* ` - all classes in this namespace.
235
- - ` Repositories\ErrorRepository `
236
- - ` Schema\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
237
- - ` Schema\CreatesEloquentIdentities ` trait.
238
- - ` Schema\CreatesLinks ` trait.
239
- - ` Schema\EloquentSchema ` - extend the ` neomerx/json-api ` schema instead.
240
- - ` Utils\AbstractErrorBag `
241
- - ` Utils\ErrorBag `
242
- - ` Utils\ErrorCreatorTrait `
243
- - ` Utils\ErrorsAwareTrait `
244
- - ` Utils\Pointer `
245
- - ` Utils\Replacer `
224
+ - ` Api\ResourceProvider ` - extend ` Api\AbstractProvider ` instead.
225
+ - ` Contracts\Document\MutableErrorInterface `
226
+ - ` Contracts\Exceptions\ErrorIdAllocatorInterface `
227
+ - ` Contracts\Factories\FactoryInterface `
228
+ - ` Contracts\Http\Responses\ErrorResponseInterface `
229
+ - ` Contracts\Object\* ` - all interfaces in this namespace.
230
+ - ` Contracts\Repositories\ErrorRepositoryInterface `
231
+ - ` Contracts\Utils\ErrorReporterInterface `
232
+ - ` Contracts\Utils\ErrorsAwareInterface `
233
+ - ` Contracts\Utils\ReplacerInterface `
234
+ - ` Document\Error ` - use ` Document\Error\Error ` instead.
235
+ - ` Eloquent\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
236
+ - ` Eloquent\Concerns\SerializesModels ` trait.
237
+ - ` Exceptions\MutableErrorCollection `
238
+ - ` Exceptions\NotFoundException `
239
+ - ` Exceptions\RecordNotFoundException ` - use ` Exceptions\ResourceNotFoundException ` instead.
240
+ - ` Http\Query\ChecksQueryParameters ` trait.
241
+ - ` Http\Requests\JsonApiRequest `
242
+ - ` Http\Responses\ErrorResponse `
243
+ - ` Object\* ` - all classes in this namespace.
244
+ - ` Repositories\ErrorRepository `
245
+ - ` Schema\AbstractSchema ` - extend the ` neomerx/json-api ` schema instead.
246
+ - ` Schema\CreatesEloquentIdentities ` trait.
247
+ - ` Schema\CreatesLinks ` trait.
248
+ - ` Schema\EloquentSchema ` - extend the ` neomerx/json-api ` schema instead.
249
+ - ` Utils\AbstractErrorBag `
250
+ - ` Utils\ErrorBag `
251
+ - ` Utils\ErrorCreatorTrait `
252
+ - ` Utils\ErrorsAwareTrait `
253
+ - ` Utils\Pointer `
254
+ - ` Utils\Replacer `
246
255
247
256
## [ 1.7.0] - 2020-04-13
248
257
@@ -450,30 +459,30 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
450
459
451
460
- The following classes in the ` Validation ` namespace were removed as the ` Validation\Validator `
452
461
class can be used instead, or validators can be constructed via the factory instead:
453
- - ` AbstractValidator `
454
- - ` ResourceValidator `
455
- - ` QueryValidator `
462
+ - ` AbstractValidator `
463
+ - ` ResourceValidator `
464
+ - ` QueryValidator `
456
465
- The deprecated ` EloquentController ` was removed - extend ` JsonApiController ` directly.
457
466
- The ` Store\EloquentAdapter ` was removed - extend ` Eloquent\AbstractAdapter ` directly.
458
467
- The following previously deprecated methods/properties were removed from the ` EloquentAdapter ` :
459
- - public method ` queryRelation() ` : renamed ` queryToMany() ` .
460
- - protected property ` $with ` : renamed ` $defaultWith ` .
461
- - protected method ` keyForAttribute() ` : renamed ` modelKeyForField() ` .
462
- - protected method ` columnForField() ` : renamed ` getSortColumn() ` .
463
- - protected method ` all() ` : renamed ` searchAll() ` .
464
- - protected method ` extractIncludePaths() ` : overload the ` getQueryParameters() ` method instead.
465
- - protected method ` extractFilters() ` : overload the ` getQueryParameters() ` method instead.
466
- - protected method ` extractPagination() ` : overload the ` getQueryParameters() ` method instead.
468
+ - public method ` queryRelation() ` : renamed ` queryToMany() ` .
469
+ - protected property ` $with ` : renamed ` $defaultWith ` .
470
+ - protected method ` keyForAttribute() ` : renamed ` modelKeyForField() ` .
471
+ - protected method ` columnForField() ` : renamed ` getSortColumn() ` .
472
+ - protected method ` all() ` : renamed ` searchAll() ` .
473
+ - protected method ` extractIncludePaths() ` : overload the ` getQueryParameters() ` method instead.
474
+ - protected method ` extractFilters() ` : overload the ` getQueryParameters() ` method instead.
475
+ - protected method ` extractPagination() ` : overload the ` getQueryParameters() ` method instead.
467
476
- The previously deprecated ` Eloquent\Concerns\AbstractRelation ` class was removed.
468
477
Extend ` Adapter\AbstractRelationshipAdapter ` and use the ` Eloquent\Concerns\QueriesRelations ` trait.
469
478
- Removed the deprecated ` Contracts\Utils\ConfigurableInterface ` as this has not been in use for some time.
470
479
- Removed the deprecated ` createResourceDocumentValidator() ` method from the factory.
471
480
- Removed the following previously deprecated methods from the ` TestResponse ` class:
472
- - ` assertJsonApiResponse() ` : use ` jsonApi() ` .
473
- - ` normalizeIds() ` and ` normalizeId() ` as these are not in use by the refactored test implementation.
481
+ - ` assertJsonApiResponse() ` : use ` jsonApi() ` .
482
+ - ` normalizeIds() ` and ` normalizeId() ` as these are not in use by the refactored test implementation.
474
483
- Removed the following previously deprecated methods from the JSON API service/facade:
475
- - ` report() ` : no longer supported for access via the service.
476
- - ` requestOrFail() ` : no longer required.
484
+ - ` report() ` : no longer supported for access via the service.
485
+ - ` requestOrFail() ` : no longer required.
477
486
- Removed the previously deprecated ` Schema\ExtractsAttributesTrait ` as it has not been used for some time.
478
487
479
488
## [ 1.0.0-beta.6] - 2019-01-03
@@ -543,24 +552,24 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
543
552
were not in use.
544
553
- The previously deprecated ` InteractsWithModels ` testing trait was removed.
545
554
- The following (majority previously deprecated methods) on the ` TestResponse ` class were removed:
546
- - ` assertDocument `
547
- - ` assertResourceResponse `
548
- - ` assertResourcesResponse `
549
- - ` assertRelatedResourcesResponse `
550
- - ` assertSearchResponse `
551
- - ` assertSearchOneResponse `
552
- - ` assertCreateResponse `
553
- - ` assertReadResponse `
554
- - ` assertUpdateResponse `
555
- - ` assertDeleteResponse `
556
- - ` assertRelatedResourceResponse `
557
- - ` assertHasOneRelationshipResponse `
558
- - ` assertDataCollection `
559
- - ` assertDataResource `
560
- - ` assertDataResourceIdentifier `
561
- - ` assertSearchByIdResponse `
562
- - ` assertSearchedPolymorphIds `
563
- - ` assertReadPolymorphHasMany `
555
+ - ` assertDocument `
556
+ - ` assertResourceResponse `
557
+ - ` assertResourcesResponse `
558
+ - ` assertRelatedResourcesResponse `
559
+ - ` assertSearchResponse `
560
+ - ` assertSearchOneResponse `
561
+ - ` assertCreateResponse `
562
+ - ` assertReadResponse `
563
+ - ` assertUpdateResponse `
564
+ - ` assertDeleteResponse `
565
+ - ` assertRelatedResourceResponse `
566
+ - ` assertHasOneRelationshipResponse `
567
+ - ` assertDataCollection `
568
+ - ` assertDataResource `
569
+ - ` assertDataResourceIdentifier `
570
+ - ` assertSearchByIdResponse `
571
+ - ` assertSearchedPolymorphIds `
572
+ - ` assertReadPolymorphHasMany `
564
573
565
574
### Deprecated
566
575
@@ -607,10 +616,10 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
607
616
- The ` Document\Error ` and ` Contracts\Document\MutableErrorInterface ` are deprecated and will be removed at ` 2.0 ` . You
608
617
should use the error interface/class from the ` neomerx/jsonapi ` package instead.
609
618
- The following utility classes/traits/interfaces are deprecated and will be removed at ` 2.0 ` :
610
- - ` Utils/ErrorCreatorTrait `
611
- - ` Utils/ErrorsAwareTrait ` and ` Contracts\Utils\ErrorsAwareInterface `
612
- - ` Utils/Pointers `
613
- - ` Utils/Replacer ` and ` Contracts\Utils\ReplacerInterface `
619
+ - ` Utils/ErrorCreatorTrait `
620
+ - ` Utils/ErrorsAwareTrait ` and ` Contracts\Utils\ErrorsAwareInterface `
621
+ - ` Utils/Pointers `
622
+ - ` Utils/Replacer ` and ` Contracts\Utils\ReplacerInterface `
614
623
- The ` Contracts\Factories\FactoryInterface ` is deprecated and will be removed at ` 1.0 ` . You should
615
624
type-hint ` Factories\Factory ` directly instead.
616
625
@@ -642,10 +651,10 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
642
651
### Deprecated
643
652
644
653
- The following methods on the Eloquent adapter will be removed in ` 1.0.0 ` as they are no longer required:
645
- - ` extractIncludePaths `
646
- - ` extractFilters `
647
- - ` extractPagination `
648
- - ` columnForField ` : use ` getSortColumn ` instead.
654
+ - ` extractIncludePaths `
655
+ - ` extractFilters `
656
+ - ` extractPagination `
657
+ - ` columnForField ` : use ` getSortColumn ` instead.
649
658
650
659
## [ 1.0.0-beta.2] - 2018-08-25
651
660
@@ -688,12 +697,12 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
688
697
### Removed
689
698
690
699
- The following deprecated methods have been removed from the Eloquent adapter:
691
- - ` first ` : use ` searchOne ` instead.
700
+ - ` first ` : use ` searchOne ` instead.
692
701
693
702
### Deprecated
694
703
695
704
- The follow methods are deprecated on the Eloquent adapter and will be removed in ` 1.0.0 ` :
696
- - ` queryRelation ` : use ` queryToMany ` or ` queryToOne ` instead.
705
+ - ` queryRelation ` : use ` queryToMany ` or ` queryToOne ` instead.
697
706
698
707
### Fixed
699
708
@@ -775,8 +784,8 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
775
784
- Can now generate authorizers using the ` make:json-api:authorizer ` command, or the ` --auth ` flag when generating a
776
785
resource with ` make:json-api:resource ` .
777
786
- The JSON API controller now has the following additional hooks:
778
- - ` searching ` for an * index* action.
779
- - ` reading ` for a * read* action.
787
+ - ` searching ` for an * index* action.
788
+ - ` reading ` for a * read* action.
780
789
- [ #163 ] ( https://github.com/cloudcreativity/laravel-json-api/issues/163 )
781
790
Added relationship hooks to the JSON API controller.
782
791
@@ -789,20 +798,20 @@ $ composer require --dev cloudcreativity/json-api-testing:^2.0
789
798
### Removed
790
799
791
800
- The previous authorizer implementation has been removed in favour of the new one. The following were deleted:
792
- - ` Contract\Authorizer\AuthorizerInterface `
793
- - ` Authorizer\AbstractAuthorizer `
794
- - ` Authorizer\ReadOnlyAuthorizer `
795
- - ` Exceptions\AuthorizationException `
801
+ - ` Contract\Authorizer\AuthorizerInterface `
802
+ - ` Authorizer\AbstractAuthorizer `
803
+ - ` Authorizer\ReadOnlyAuthorizer `
804
+ - ` Exceptions\AuthorizationException `
796
805
797
806
### Deprecated
798
807
799
808
- Eloquent schemas are now deprecated in favour of using generic schemas. This is because of the amount of processing
800
809
involved without any benefit, as generic schemas are straight-forward to construct. The following classes/traits are
801
810
deprecated:
802
- - ` Eloquent\AbstractSchema `
803
- - ` Eloquent\SerializesModels `
804
- - ` Schema\CreatesLinks `
805
- - ` Schema\EloquentSchema ` (was deprecated in ` 1.0.0-alpha.1 ` ).
811
+ - ` Eloquent\AbstractSchema `
812
+ - ` Eloquent\SerializesModels `
813
+ - ` Schema\CreatesLinks `
814
+ - ` Schema\EloquentSchema ` (was deprecated in ` 1.0.0-alpha.1 ` ).
806
815
807
816
## [ 1.0.0-alpha.1] - 2018-04-29
808
817
0 commit comments