Skip to content

Commit da659fa

Browse files
committed
Merge 3.4
2 parents 202f5ac + ff79a7d commit da659fa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+637
-201
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## v3.3.8
4+
5+
### Bug fixes
6+
7+
* [0edc73806](https://github.com/api-platform/core/commit/0edc73806c047b04c452a1cd7bc1132106906d02) fix(state): allow to skip parameter validator provider (#6452)
8+
* [25c5f222d](https://github.com/api-platform/core/commit/25c5f222dbe24ff111d2ba2b19556112a50ed87a) fix(graphql): security after resolver (#6444)
9+
* [32ef3d4e2](https://github.com/api-platform/core/commit/32ef3d4e24f14b361e2c67efb2494b8494a87b12) fix(jsonld): allow @id, @context and @type on denormalization 2 (#6451)
10+
* [4de43bab9](https://github.com/api-platform/core/commit/4de43bab9fbcafcd79ceac9bbe3a1293b56303c4) fix: swagger ui provider accept html (#6449)
11+
* [65ac0d228](https://github.com/api-platform/core/commit/65ac0d22885c8c9b68df9f3becd1b004746ce019) fix(symfony): property info with doctrine collections
12+
* [7926dc68d](https://github.com/api-platform/core/commit/7926dc68d1d0e9df7ff6439487beb782dd124671) fix: parameter not found when no value (#6458)
13+
* [93e4b3d70](https://github.com/api-platform/core/commit/93e4b3d709a6a9bbfb4fd0722f7aa5b01efa57d7) fix(state): store parameter value without its key (#6456)
14+
* [c086dfe9d](https://github.com/api-platform/core/commit/c086dfe9dd516e5fa26e1a819ba0477c50b4ffda) fix(openapi): optional yaml component (#6445)
15+
* [c473b2efe](https://github.com/api-platform/core/commit/c473b2efec4e53929fbe2832452894d489002455) fix(state): query and header parameter with the same name (#6453)
16+
17+
18+
### Features
19+
20+
These are enhancement to the experimental Parameter feature:
21+
22+
* [9ac50d294](https://github.com/api-platform/core/commit/9ac50d294f95a0c34baf67aebf3ea5623bc1be4c) feat(state): review validation for required parameters (#6441)
23+
* [c2d3aeb91](https://github.com/api-platform/core/commit/c2d3aeb91764e5fa1f8f56de3a800cc69364a9b0) feat(state): list all violations during query parameters validation (#6442)
24+
325
## v3.3.7
426

527
### Bug fixes

composer.json

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
"psr/cache": "^1.0 || ^2.0 || ^3.0",
2929
"psr/container": "^1.0 || ^2.0",
3030
"symfony/deprecation-contracts": "^3.1",
31-
"symfony/http-foundation": "^6.4 || ^7.0",
32-
"symfony/http-kernel": "^6.4 || ^7.0",
33-
"symfony/property-access": "^6.4 || ^7.0",
34-
"symfony/property-info": "^6.4 || ^7.0",
35-
"symfony/serializer": "^6.4 || ^7.0",
31+
"symfony/http-foundation": "^6.4 || ^7.1",
32+
"symfony/http-kernel": "^6.4 || ^7.1",
33+
"symfony/property-access": "^6.4 || ^7.1",
34+
"symfony/property-info": "^6.4 || ^7.1",
35+
"symfony/serializer": "^6.4 || ^7.1",
3636
"symfony/translation-contracts": "^3.3",
37-
"symfony/web-link": "^6.4 || ^7.0",
37+
"symfony/web-link": "^6.4 || ^7.1",
3838
"willdurand/negotiation": "^3.0"
3939
},
4040
"require-dev": {
@@ -51,7 +51,7 @@
5151
"friends-of-behat/mink-browserkit-driver": "^1.3.1",
5252
"friends-of-behat/mink-extension": "^2.2",
5353
"friends-of-behat/symfony-extension": "^2.1",
54-
"guzzlehttp/guzzle": "^6.0 || ^7.0",
54+
"guzzlehttp/guzzle": "^6.0 || ^7.1",
5555
"illuminate/config": "^10.0||^11.0",
5656
"illuminate/contracts": "^10.0||^11.0",
5757
"illuminate/database": "^10.0||^11.0",
@@ -76,39 +76,39 @@
7676
"ramsey/uuid-doctrine": "^1.4 || ^2.0 || ^3.0",
7777
"sebastian/comparator": "<5.0",
7878
"soyuka/contexts": "v3.3.9",
79-
"soyuka/pmu": "^0.0.2",
79+
"soyuka/pmu": "^0.0.4",
8080
"soyuka/stubs-mongodb": "^1.0",
81-
"symfony/asset": "^6.4 || ^7.0",
82-
"symfony/browser-kit": "^6.4 || ^7.0",
83-
"symfony/cache": "^6.4 || ^7.0",
84-
"symfony/config": "^6.4 || ^7.0",
85-
"symfony/console": "^6.4 || ^7.0",
86-
"symfony/css-selector": "^6.4 || ^7.0",
87-
"symfony/dependency-injection": "^6.4 || ^7.0.12",
88-
"symfony/doctrine-bridge": "^6.4 || ^7.0",
89-
"symfony/dom-crawler": "^6.4 || ^7.0",
90-
"symfony/error-handler": "^6.4 || ^7.0",
91-
"symfony/event-dispatcher": "^6.4 || ^7.0",
92-
"symfony/expression-language": "^6.4 || ^7.0",
93-
"symfony/finder": "^6.4 || ^7.0",
94-
"symfony/form": "^6.4 || ^7.0",
95-
"symfony/framework-bundle": "^6.4 || ^7.0",
96-
"symfony/http-client": "^6.4 || ^7.0",
97-
"symfony/intl": "^6.4 || ^7.0",
81+
"symfony/asset": "^6.4 || ^7.1",
82+
"symfony/browser-kit": "^6.4 || ^7.1",
83+
"symfony/cache": "^6.4 || ^7.1",
84+
"symfony/config": "^6.4 || ^7.1",
85+
"symfony/console": "^6.4 || ^7.1",
86+
"symfony/css-selector": "^6.4 || ^7.1",
87+
"symfony/dependency-injection": "^6.4 || ^7.1.12",
88+
"symfony/doctrine-bridge": "^6.4 || ^7.1",
89+
"symfony/dom-crawler": "^6.4 || ^7.1",
90+
"symfony/error-handler": "^6.4 || ^7.1",
91+
"symfony/event-dispatcher": "^6.4 || ^7.1",
92+
"symfony/expression-language": "^6.4 || ^7.1",
93+
"symfony/finder": "^6.4 || ^7.1",
94+
"symfony/form": "^6.4 || ^7.1",
95+
"symfony/framework-bundle": "^6.4 || ^7.1",
96+
"symfony/http-client": "^6.4 || ^7.1",
97+
"symfony/intl": "^6.4 || ^7.1",
9898
"symfony/maker-bundle": "^1.24",
9999
"symfony/mercure-bundle": "*",
100-
"symfony/messenger": "^6.4 || ^7.0",
101-
"symfony/phpunit-bridge": "^6.4.1 || ^7.0",
102-
"symfony/routing": "^6.4 || ^7.0",
103-
"symfony/security-bundle": "^6.4 || ^7.0",
104-
"symfony/security-core": "^6.4 || ^7.0",
105-
"symfony/stopwatch": "^6.4 || ^7.0",
106-
"symfony/string": "^6.4 || ^7.0",
107-
"symfony/twig-bundle": "^6.4 || ^7.0",
108-
"symfony/uid": "^6.4 || ^7.0",
109-
"symfony/validator": "^6.4 || ^7.0",
110-
"symfony/web-profiler-bundle": "^6.4 || ^7.0",
111-
"symfony/yaml": "^6.4 || ^7.0",
100+
"symfony/messenger": "^6.4 || ^7.1",
101+
"symfony/phpunit-bridge": "^6.4.1 || ^7.1",
102+
"symfony/routing": "^6.4 || ^7.1",
103+
"symfony/security-bundle": "^6.4 || ^7.1",
104+
"symfony/security-core": "^6.4 || ^7.1",
105+
"symfony/stopwatch": "^6.4 || ^7.1",
106+
"symfony/string": "^6.4 || ^7.1",
107+
"symfony/twig-bundle": "^6.4 || ^7.1",
108+
"symfony/uid": "^6.4 || ^7.1",
109+
"symfony/validator": "^6.4 || ^7.1",
110+
"symfony/web-profiler-bundle": "^6.4 || ^7.1",
111+
"symfony/yaml": "^6.4 || ^7.1",
112112
"twig/twig": "^1.42.3 || ^2.12 || ^3.0",
113113
"webonyx/graphql-php": "^14.0 || ^15.0"
114114
},
@@ -118,7 +118,7 @@
118118
"doctrine/orm": "<2.14.0",
119119
"doctrine/mongodb-odm": "<2.4",
120120
"doctrine/persistence": "<1.3",
121-
"symfony/framework-bundle": "6.4.6 || 7.0.6",
121+
"symfony/framework-bundle": "6.4.6 || 7.1.6",
122122
"symfony/var-exporter": "<6.1.1",
123123
"phpunit/phpunit": "<9.5",
124124
"phpspec/prophecy": "<1.15",
@@ -170,10 +170,11 @@
170170
},
171171
"extra": {
172172
"branch-alias": {
173-
"dev-main": "3.3.x-dev"
173+
"dev-3.4": "3.4.x-dev",
174+
"dev-main": "4.0.x-dev"
174175
},
175176
"symfony": {
176-
"require": "^6.4 || ^7.0"
177+
"require": "^6.4 || ^7.1"
177178
},
178179
"projects": [
179180
"api-platform/doctrine-common",

features/main/standard_put.feature

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,60 @@ Feature: Spec-compliant PUT support
2626
}
2727
"""
2828

29+
Scenario: Create a new resource with JSON-LD attributes
30+
When I add "Content-Type" header equal to "application/ld+json"
31+
And I send a "PUT" request to "/standard_puts/6" with body:
32+
"""
33+
{
34+
"@id": "/standard_puts/6",
35+
"@context": "/contexts/StandardPut",
36+
"@type": "StandardPut",
37+
"foo": "a",
38+
"bar": "b"
39+
}
40+
"""
41+
Then the response status code should be 201
42+
And the response should be in JSON
43+
And the JSON should be equal to:
44+
"""
45+
{
46+
"@context": "/contexts/StandardPut",
47+
"@id": "/standard_puts/6",
48+
"@type": "StandardPut",
49+
"id": 6,
50+
"foo": "a",
51+
"bar": "b"
52+
}
53+
"""
54+
55+
Scenario: Fails to create a new resource with the wrong JSON-LD @id
56+
When I add "Content-Type" header equal to "application/ld+json"
57+
And I send a "PUT" request to "/standard_puts/7" with body:
58+
"""
59+
{
60+
"@id": "/dummies/6",
61+
"@context": "/contexts/StandardPut",
62+
"@type": "StandardPut",
63+
"foo": "a",
64+
"bar": "b"
65+
}
66+
"""
67+
Then the response status code should be 400
68+
69+
Scenario: Fails to create a new resource when the JSON-LD @id doesn't match the URI
70+
When I add "Content-Type" header equal to "application/ld+json"
71+
And I send a "PUT" request to "/standard_puts/7" with body:
72+
"""
73+
{
74+
"@id": "/standard_puts/6",
75+
"@context": "/contexts/StandardPut",
76+
"@type": "StandardPut",
77+
"foo": "a",
78+
"bar": "b"
79+
}
80+
"""
81+
Then the response status code should be 400
82+
2983
Scenario: Replace an existing resource
3084
When I add "Content-Type" header equal to "application/ld+json"
3185
And I send a "PUT" request to "/standard_puts/5" with body:

src/Doctrine/Common/composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,14 @@
5757
},
5858
"extra": {
5959
"branch-alias": {
60-
"dev-main": "3.3.x-dev"
60+
"dev-main": "4.0.x-dev",
61+
"dev-3.4": "3.4.x-dev"
6162
},
6263
"symfony": {
63-
"require": "^6.4"
64+
"require": "^6.4 || ^7.1"
6465
}
6566
},
6667
"scripts": {
6768
"test": "./vendor/bin/phpunit"
6869
}
69-
}
70+
}

src/Doctrine/Odm/composer.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"api-platform/state": "*@dev || ^3.1",
2828
"doctrine/mongodb-odm": "^2.2",
2929
"doctrine/mongodb-odm-bundle": "^5.0",
30-
"symfony/property-info": "^6.4 || ^7.0"
30+
"symfony/property-info": "^6.4 || ^7.1"
3131
},
3232
"require-dev": {
3333
"api-platform/parameter-validator": "*@dev || ^3.2",
@@ -59,13 +59,14 @@
5959
},
6060
"extra": {
6161
"branch-alias": {
62-
"dev-main": "3.3.x-dev"
62+
"dev-main": "4.0.x-dev",
63+
"dev-3.4": "3.4.x-dev"
6364
},
6465
"symfony": {
65-
"require": "^6.4"
66+
"require": "^6.4 || ^7.1"
6667
}
6768
},
6869
"scripts": {
6970
"test": "./vendor/bin/phpunit"
7071
}
71-
}
72+
}

src/Doctrine/Orm/composer.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"api-platform/state": "*@dev || ^3.1",
2727
"doctrine/doctrine-bundle": "^2.11",
2828
"doctrine/orm": "^2.17 || ^3.0",
29-
"symfony/property-info": "^6.4 || ^7.0"
29+
"symfony/property-info": "^6.4 || ^7.1"
3030
},
3131
"require-dev": {
3232
"api-platform/parameter-validator": "*@dev || ^3.2",
@@ -59,13 +59,14 @@
5959
},
6060
"extra": {
6161
"branch-alias": {
62-
"dev-main": "3.3.x-dev"
62+
"dev-main": "4.0.x-dev",
63+
"dev-3.4": "3.4.x-dev"
6364
},
6465
"symfony": {
65-
"require": "^6.4"
66+
"require": "^6.4 || ^7.1"
6667
}
6768
},
6869
"scripts": {
6970
"test": "./vendor/bin/phpunit"
7071
}
71-
}
72+
}

src/Documentation/composer.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@
2424
},
2525
"extra": {
2626
"branch-alias": {
27-
"dev-main": "3.3.x-dev"
27+
"dev-main": "4.0.x-dev",
28+
"dev-3.4": "3.4.x-dev"
29+
},
30+
"symfony": {
31+
"require": "^6.4 || ^7.1"
2832
}
2933
},
3034
"require-dev": {
3135
"phpunit/phpunit": "^11.2"
3236
}
33-
}
37+
}

src/Elasticsearch/composer.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
"elasticsearch/elasticsearch": "^8.9",
2929
"symfony/cache": "^6.4 || ^7.0",
3030
"symfony/console": "^6.4 || ^7.0",
31-
"symfony/property-access": "^6.4 || ^7.0",
32-
"symfony/property-info": "^6.4 || ^7.0",
33-
"symfony/serializer": "^6.4 || ^7.0",
31+
"symfony/property-access": "^6.4 || ^7.1",
32+
"symfony/property-info": "^6.4 || ^7.1",
33+
"symfony/serializer": "^6.4 || ^7.1",
3434
"symfony/uid": "^6.4 || ^7.0"
3535
},
3636
"require-dev": {
@@ -59,13 +59,14 @@
5959
},
6060
"extra": {
6161
"branch-alias": {
62-
"dev-main": "3.3.x-dev"
62+
"dev-main": "4.0.x-dev",
63+
"dev-3.4": "3.4.x-dev"
6364
},
6465
"symfony": {
65-
"require": "^6.4"
66+
"require": "^6.4 || ^7.1"
6667
}
6768
},
6869
"scripts": {
6970
"test": "./vendor/bin/phpunit"
7071
}
71-
}
72+
}

src/GraphQl/composer.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
"api-platform/serializer": "*@dev || ^3.1",
2626
"api-platform/state": "*@dev || ^3.1",
2727
"api-platform/validator": "*@dev || ^3.1",
28-
"symfony/property-info": "^6.4 || ^7.0",
29-
"symfony/serializer": "^6.4 || ^7.0",
28+
"symfony/property-info": "^6.4 || ^7.1",
29+
"symfony/serializer": "^6.4 || ^7.1",
3030
"webonyx/graphql-php": "^14.0 || ^15.0",
31-
"willdurand/negotiation": "^3.1"
31+
"willdurand/negotiation": "^3.0"
3232
},
3333
"require-dev": {
3434
"phpspec/prophecy-phpunit": "^2.0",
@@ -64,13 +64,14 @@
6464
},
6565
"extra": {
6666
"branch-alias": {
67-
"dev-main": "3.3.x-dev"
67+
"dev-main": "4.0.x-dev",
68+
"dev-3.4": "3.4.x-dev"
6869
},
6970
"symfony": {
70-
"require": "^6.4"
71+
"require": "^6.4 || ^7.1"
7172
}
7273
},
7374
"scripts": {
7475
"test": "./vendor/bin/phpunit"
7576
}
76-
}
77+
}

src/HttpCache/composer.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"php": ">=8.1",
2424
"api-platform/metadata": "*@dev || ^3.1",
2525
"api-platform/state": "*@dev || ^3.1",
26-
"symfony/http-foundation": "^6.4 || ^7.0"
26+
"symfony/http-foundation": "^6.4 || ^7.1"
2727
},
2828
"require-dev": {
2929
"guzzlehttp/guzzle": "^6.0 || ^7.0",
@@ -53,13 +53,14 @@
5353
},
5454
"extra": {
5555
"branch-alias": {
56-
"dev-main": "3.3.x-dev"
56+
"dev-main": "4.0.x-dev",
57+
"dev-3.4": "3.4.x-dev"
5758
},
5859
"symfony": {
59-
"require": "^6.4"
60+
"require": "^6.4 || ^7.1"
6061
}
6162
},
6263
"scripts": {
6364
"test": "./vendor/bin/phpunit"
6465
}
65-
}
66+
}

0 commit comments

Comments
 (0)