Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8d9f510

Browse files
Merge branch 'develop' into feature/neomerx-upgrade
2 parents ceb0834 + 31ffd82 commit 8d9f510

File tree

7 files changed

+109
-107
lines changed

7 files changed

+109
-107
lines changed

‎.github/workflows/tests.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@ jobs:
1414
strategy:
1515
fail-fast: true
1616
matrix:
17-
php: [7.4, '8.0', 8.1]
18-
laravel: [8.76, 9]
19-
exclude:
20-
- php: 7.4
21-
laravel: 9
17+
php: ['8.0', 8.1, 8.2]
18+
laravel: [9]
2219

2320
steps:
2421
- name: Checkout Code
25-
uses: actions/checkout@v2
22+
uses: actions/checkout@v3
2623

2724
- name: Setup PHP
2825
uses: shivammathur/setup-php@v2
@@ -37,7 +34,7 @@ jobs:
3734
run: composer require "laravel/framework:^${{ matrix.laravel }}" --no-update
3835

3936
- name: Install dependencies
40-
uses: nick-invision/retry@v1
37+
uses: nick-fields/retry@v2
4138
with:
4239
timeout_minutes: 5
4340
max_attempts: 5

‎CHANGELOG.md

Lines changed: 98 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -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

‎composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
}
2323
],
2424
"require": {
25-
"php": "^7.4|^8.0",
25+
"php": "^8.0",
2626
"ext-json": "*",
2727
"laravel-json-api/neomerx-json-api": "^5.0.1",
28-
"laravel/framework": "^8.76|^9.0",
28+
"laravel/framework": "^9.0",
2929
"nyholm/psr7": "^1.2",
30-
"ramsey/uuid": "^3.0|^4.0",
30+
"ramsey/uuid": "^4.0",
3131
"symfony/psr-http-message-bridge": "^2.0"
3232
},
3333
"require-dev": {

‎tests/dummy/database/factories/ModelFactory.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
/** Image */
7171
$factory->define(DummyApp\Image::class, function (Faker $faker) {
7272
return [
73-
'url' => $faker->imageUrl(),
73+
'url' => $faker->url(),
7474
];
7575
});
7676

‎tests/lib/Integration/ErrorsTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public function testCustomInvalidJson()
200200
* whatever error is generated by the application must be returned as a JSON API error
201201
* even if the error has not been generated from one of the configured APIs.
202202
*/
203-
public function testClientWantsJsonApiError()
203+
public function testClientWantsJsonApiError(): void
204204
{
205205
$expected = [
206206
'errors' => [
@@ -218,7 +218,7 @@ public function testClientWantsJsonApiError()
218218
$response
219219
->assertStatus(404)
220220
->assertHeader('Content-Type', 'application/vnd.api+json')
221-
->assertExactJson($expected);
221+
->assertJson($expected);
222222
}
223223

224224
/**

‎tests/lib/Integration/PackageTest.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,8 @@ public function testReadBlog()
5151
/**
5252
* Test that we can read a resource from the application.
5353
*/
54-
public function testReadPost()
54+
public function testReadPost(): void
5555
{
56-
$this->resourceType = 'posts';
57-
5856
/** @var Post $post */
5957
$post = factory(Post::class)->create();
6058

‎tests/lib/Integration/Validation/QueryValidationTest.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ public function testSearch(array $params, string $param, string $detail)
117117
'source' => ['parameter' => $param],
118118
];
119119

120-
$this->resourceType = 'posts';
121-
122120
$response = $this
123121
->jsonApi('posts')
124122
->query($params)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /