Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
189 commits
Select commit Hold shift + click to select a range
3208c8d
Fix SerializeListener to respect _api_respond request attribute
teohhanhui Nov 29, 2018
07891d9
Default to true for _api_respond attribute
antograssiot Dec 3, 2018
02e84b6
Add test to check that SerializeListener and RespondListener respect …
teohhanhui Dec 17, 2018
97c77ed
Fix Behat test
dunglas Jan 18, 2019
66c1242
Merge pull request #2472 from alanpoulain/fix-behat-tests
antograssiot Jan 26, 2019
43a2b6c
Fix version constraints for Doctrine MongoDB ODM (#2466)
alcaeus Jan 26, 2019
8adbb31
Merge pull request #2354 from teohhanhui/fix/serialize-listener-kills…
soyuka Jan 28, 2019
999443d
Merge pull request #2476 from api-platform/2.3
soyuka Jan 28, 2019
3abeb59
Fix a small BC break
antograssiot Dec 21, 2018
b67350b
Merge pull request #2412 from antograssiot/avoid-iri-converter
antograssiot Jan 28, 2019
3e0cbad
Check messenger service is available
soyuka Jan 29, 2019
1510368
Merge pull request #2480 from soyuka/fix-messenger
soyuka Jan 29, 2019
7a272e8
Merge branch 'master' into 2.4
dunglas Feb 1, 2019
e10d658
input and output class refactoring (#2483)
dunglas Feb 2, 2019
bcfc1c4
Error if references are not stored correctly for lookups (#2465)
alanpoulain Feb 2, 2019
244d53d
Input Output Class Operation Fix
ragboyjr Feb 2, 2019
7e33003
Fixed typos
pborreli Feb 2, 2019
6e57692
Merge pull request #2485 from ragboyjr/input-output-class-operation-fix
dunglas Feb 3, 2019
bf1cb5e
Merge pull request #2486 from pborreli/typos
dunglas Feb 3, 2019
864fa74
Fix deps=lowest
dunglas Feb 3, 2019
68d623b
Merge pull request #2491 from dunglas/alt-fix-tests
dunglas Feb 3, 2019
391e9df
Denormalize Input Class with Different Fields
ragboyjr Feb 3, 2019
aa7bb63
Disable Messenger From Config
ragboyjr Feb 3, 2019
e23c509
Merge pull request #2489 from ragboyjr/disable-messenger-from-config
dunglas Feb 3, 2019
1a9335e
Merge pull request #2490 from ragboyjr/denormalize-input-class-with-d…
dunglas Feb 3, 2019
e38fd98
Use framework expression language service instead of custom one
Toflar Oct 29, 2018
59039a5
Fixed tests
Toflar Nov 6, 2018
22d350d
phpunit ^7.5.4 and bump cs fixer
soyuka Feb 11, 2019
e1f92d0
Merge pull request #2289 from Toflar/use-security-expression-language
soyuka Feb 11, 2019
6f26004
Fix CS
meyerbaptiste Feb 11, 2019
7331f27
Add a TypeInterface to manage custom types
alanpoulain Feb 3, 2019
9afd2d3
Merge pull request #2508 from meyerbaptiste/fix_cs
soyuka Feb 11, 2019
ae7aa97
bugfix: throw InvalidArgument on matching something that looks like a…
Oct 31, 2018
2bb6f95
Merge pull request #2492 from alanpoulain/graphql-custom-types
soyuka Feb 11, 2019
39f74f2
Merge pull request #2298 from Simperfit/bugfix/do-not-throw-on-matchi…
soyuka Feb 11, 2019
bb30d60
Missing on-invalid=null see #2483
soyuka Feb 12, 2019
359c329
Alternative fix to #2298
soyuka Feb 12, 2019
9d54687
Add tests on the debug bar/profiler view (#2314)
antograssiot Feb 12, 2019
b0dfa24
Fix Insight violations
dunglas Feb 12, 2019
919a705
Fix CS
dunglas Feb 12, 2019
209d9b1
Merge pull request #2514 from soyuka/fix-2298
soyuka Feb 13, 2019
5170b36
Merge pull request #2516 from dunglas/insight
soyuka Feb 13, 2019
6c3fab2
Add CVE-2019-1000011 to the changelog
dunglas Feb 14, 2019
f036680
Merge branch '2.2' into 2.3
dunglas Feb 14, 2019
1043914
Merge branch '2.3' into 2.4
dunglas Feb 14, 2019
3a82243
Merge branch '2.4'
dunglas Feb 14, 2019
cb4e16b
GraphQL: Prevent an error when the type factory is null
dunglas Feb 12, 2019
d96b52a
Merge pull request #2510 from dunglas/fix_2492
soyuka Feb 15, 2019
57e4964
Reorder normalizers (tiny perf improvement)
dunglas Apr 30, 2018
a508fec
Improve max join limit error
dunglas Jun 5, 2018
d2b1b96
Merge pull request #2524 from soyuka/merging
soyuka Feb 15, 2019
d7885e7
Implement input/output with data transformers
soyuka Feb 12, 2019
eac03c2
Merge pull request #2495 from soyuka/test-input-output
soyuka Feb 19, 2019
1350a3c
Merge branch '2.4' into merge
soyuka Feb 19, 2019
c80d493
Merge pull request #2531 from soyuka/merge
soyuka Feb 19, 2019
472609c
Enable the pagination via cursor (no page-based pagination)
sroze May 1, 2018
7bb70f6
Add autoconfiguration for tag 'api_platform.data_transformer'
GregoireHebert Feb 20, 2019
2944053
Merge pull request #2534 from GregoireHebert/autoconfigure-dataTransf…
soyuka Feb 20, 2019
89947c9
fix error case when denormalizing relations with plain identifiers. n…
bendavies Feb 20, 2019
f1e80f4
Add paginationViaCursor to ApiResource
soyuka Feb 20, 2019
d531495
Merge pull request #2532 from soyuka/sroze-cursor-pagination
soyuka Feb 20, 2019
e6cd64c
Fix normalization output Data Transformer for Json format
Feb 20, 2019
c3a9f4a
Merge pull request #2540 from birkof/json_dto_transformer_fix
soyuka Feb 20, 2019
1539c99
fix jsonapi call to data transformer
soyuka Feb 20, 2019
ef1d2ad
Respect the RouterInterface by using a ResourceNotFoundException
soyuka Feb 20, 2019
c391f2a
Merge pull request #2543 from soyuka/fix-jsonapi-datatransformer
soyuka Feb 20, 2019
8909336
Merge pull request #2544 from soyuka/fix-2514-bis
soyuka Feb 21, 2019
63716ce
Merge pull request #2536 from bendavies/demormalize-plain-identifier-…
soyuka Feb 21, 2019
19157de
add missing cache pool adapter override
bendavies Feb 21, 2019
e4ea2cc
Merge pull request #2548 from bendavies/fix-cache-adapter-decoration
soyuka Feb 22, 2019
9a0e4c2
DataTransformer supports with prenormalized data
soyuka Feb 21, 2019
cdb70b7
Merge pull request #2547 from soyuka/io-denormalize
soyuka Feb 22, 2019
9a74e35
Test ContextBuilder with anonymous objects
soyuka Feb 22, 2019
7e68139
Merge pull request #2554 from soyuka/fix-2551
soyuka Feb 22, 2019
955c4da
Make use of the new AdvancedNameConverterInterface
soyuka Feb 15, 2019
f91d3d8
Allow limit 0 for MongoDB
alanpoulain Feb 20, 2019
16dc017
Merge pull request #2523 from soyuka/fix-2342
soyuka Feb 25, 2019
42079f3
Merge pull request #2549 from alanpoulain/mongodb-limit-0
soyuka Feb 25, 2019
6e9e907
add feature reproducing bug
bendavies Feb 1, 2019
4a79bdd
do not try to infer discriminator mapping if object to populate is al…
bendavies Feb 1, 2019
2ab5c4f
always try to provide a _api_write_item_iri/Content-Location for cont…
bendavies Feb 1, 2019
7dd4428
add further coverage for creating abstract resources with a discrimin…
bendavies Feb 1, 2019
5f5dfa2
work around deps=low sqlite doctrine bug: https://github.com/doctrine…
bendavies Feb 25, 2019
8f88c9e
Merge pull request #2482 from bendavies/prioritize-object-to-populate
soyuka Feb 26, 2019
a58b37c
Merge remote-tracking branch 'upstream/2.4' into merge
soyuka Feb 26, 2019
bf867e0
Merge pull request #2557 from soyuka/merge
soyuka Feb 26, 2019
56ac1a7
Updates the abstract item normalizer to honour the ObjectNormalizer::…
IckleChris May 19, 2018
d99c3a8
Return early
soyuka Feb 26, 2019
ea5bc7c
Merge pull request #1957 from IckleChris/fix/ignoring-type-checks
soyuka Feb 26, 2019
e3f228a
Changelog 2.4 beta 2 (#2556)
soyuka Feb 26, 2019
e2a7194
Merge branch '2.4'
dunglas Feb 26, 2019
252caa2
add missing MetadataAwareNameConverterPass registration 🐛
bendavies Feb 27, 2019
9eb6662
[GraphQl] Better pagination support (#2142)
Feb 27, 2019
fcf7a70
Fix pagination (#2560)
alanpoulain Feb 27, 2019
b10e32c
Fix MetadataAwareNameConverterPass condition
meyerbaptiste Feb 27, 2019
127e73a
Merge pull request #2562 from bendavies/fix-metadata-aware-name-conve…
soyuka Feb 27, 2019
9057d49
Cleanup configuration
norkunas Mar 1, 2019
d86f956
Merge pull request #2568 from norkunas/cleanup-configuration
soyuka Mar 1, 2019
d10a0f0
Cleanup configuration
norkunas Mar 1, 2019
2ea50f1
Configure formats provider interface autowiring alias
norkunas Mar 1, 2019
3357779
Make clientMutationId nullable (#2571)
lukasluecke Mar 1, 2019
fc55edd
Search filter should not use DbRef for association (#2575)
alanpoulain Mar 2, 2019
c30e42a
Allow non-writeable fields in mutation response (#2193)
jamesisaac Mar 2, 2019
fdc5bce
fix graphql operation xsd (#2558)
GregoireHebert Mar 2, 2019
c76c3d0
Return denormalized resource class object after DataTransformer trans…
llupa Mar 1, 2019
80632f7
Allow per-operation messenger configuration
soyuka Mar 1, 2019
bd1d14f
Publish mercure updates on flush
soyuka Mar 4, 2019
92adbec
Merge pull request #2578 from soyuka/fix-mercure-flush
soyuka Mar 6, 2019
5701093
Merge pull request #2569 from soyuka/messenger-per-operation
soyuka Mar 6, 2019
ea153d1
Merge pull request #2567 from norkunas/formats-provider-alias
soyuka Mar 6, 2019
0db9525
Revert "Allow per-operation messenger configuration"
soyuka Mar 6, 2019
9d916da
Merge pull request #2584 from api-platform/revert-2569-messenger-per-…
soyuka Mar 6, 2019
e3d527d
Use the ItemNormalizer in the correct context
soyuka Feb 27, 2019
c6f8359
Allow per-operation messenger configuration
soyuka Mar 6, 2019
1ee9be8
Merge pull request #2566 from soyuka/fix-itemnormalizer
soyuka Mar 6, 2019
526de3e
Merge pull request #2583 from soyuka/fix-messenger-per-operation
soyuka Mar 6, 2019
c51d911
Attribute to allow disabling elasticsearch
soyuka Mar 6, 2019
b3bd652
[GraphQL] Avoid to call serialize in ItemNormalizer (#2576)
alanpoulain Mar 6, 2019
19c08e0
Update the ExistsFilter behavior (#2243)
epourail Mar 6, 2019
b244ef4
Merge pull request #2586 from soyuka/fix-es-per-operation
soyuka Mar 7, 2019
bb068f2
Messenger persist using context resource_class
soyuka Mar 8, 2019
7a2e69e
Revert "Use the ItemNormalizer in the correct context"
teohhanhui Mar 8, 2019
103fc31
Use separate instance of ItemNormalizer for non-resource
teohhanhui Mar 7, 2019
b3f4713
Merge pull request #2592 from teohhanhui/refactor/separate-item-norma…
teohhanhui Mar 9, 2019
84754e3
Merge pull request #2590 from soyuka/fix-messenger-persister
dunglas Mar 10, 2019
8aa4a12
Fix test suite compatibility with webonyx/graphql-php v0.13.1 (#2594)
antograssiot Mar 10, 2019
e7912e4
Fix inversion of parameters gte et lte
seveque Mar 10, 2019
37c6152
Merge pull request #2596 from sylev/2.4
antograssiot Mar 10, 2019
3d780a4
Merge remote-tracking branch 'upstream/2.4' into merge
soyuka Mar 11, 2019
5f6e6c9
Fix numeric and range filters coercion (#2597)
alanpoulain Mar 11, 2019
8a851cd
Make sure listeners are opt-in when not handling API Platform operations
teohhanhui Mar 11, 2019
5c1e9d5
Fix tests
soyuka Mar 12, 2019
ddd0ca7
Merge pull request #2601 from teohhanhui/fix/opt-in-listeners
soyuka Mar 12, 2019
d949402
Change doctrine extension priorities
soyuka Mar 12, 2019
aeecbbb
Merge pull request #2599 from soyuka/merge
soyuka Mar 13, 2019
ebc98da
Add a command for printing a SDL schema (#2600)
alanpoulain Mar 13, 2019
20fc0cb
Install phpstan locally and use extensions
teohhanhui Mar 11, 2019
9352907
Upgrade phpstan to v0.11.3
teohhanhui Mar 12, 2019
770e767
Merge pull request #2606 from teohhanhui/phpstan-shim-and-extensions
soyuka Mar 13, 2019
8fb54cf
Merge pull request #2607 from soyuka/fix-extensions-priorities
soyuka Mar 13, 2019
1806c48
Do not use DISTINCT where there are no joins
soyuka Mar 13, 2019
20ae0f2
Merge pull request #2611 from soyuka/micro-optimization-doctrine-dist…
teohhanhui Mar 14, 2019
0dd4a1e
Pass transformed output to the normalizer
soyuka Mar 13, 2019
e1d667f
Merge pull request #2615 from soyuka/fix-output-normalization
soyuka Mar 15, 2019
d1ef5db
Remove unsed variable
antograssiot Mar 18, 2019
06cd22b
Preserve manual Many To Many join
antograssiot Mar 18, 2019
455030a
Merge pull request #2623 from antograssiot/phpstan
dunglas Mar 18, 2019
e5559b4
Merge pull request #2622 from antograssiot/preserve-join-filtereagerl…
soyuka Mar 18, 2019
aad5e4b
GraphQl: Normalize id based on the origin resource
soyuka Mar 15, 2019
2141440
JsonLd: resolve @id when there is an output class
soyuka Mar 15, 2019
8d5dde4
Fix stuff
teohhanhui Mar 15, 2019
5b7738e
Merge pull request #2619 from soyuka/fix-output-id-normalization
soyuka Mar 18, 2019
90e9b15
[jsonapi] Correct normalization of output class and non-resource
teohhanhui Mar 18, 2019
05afcae
[jsonhal] Correct normalization of output class
teohhanhui Mar 19, 2019
7c97410
Do not disable cache in dev
teohhanhui Mar 19, 2019
5fa58e9
Merge pull request #2627 from teohhanhui/fix/jsonapi-normalize
soyuka Mar 20, 2019
049d5aa
Merge pull request #2629 from teohhanhui/fix/cache-in-dev
soyuka Mar 20, 2019
97fa954
Various quality fixes
meyerbaptiste Mar 20, 2019
f6e4c59
Merge pull request #2630 from meyerbaptiste/quality_fixes
dunglas Mar 20, 2019
0e5991f
json-ld: correct embeded context
soyuka Mar 20, 2019
b82607b
Merge pull request #2631 from soyuka/fix-jsonld
soyuka Mar 21, 2019
dd9357f
Create a resource with a falsy input
soyuka Mar 20, 2019
743dbb0
Merge pull request #2633 from soyuka/test-input-false
soyuka Mar 21, 2019
9e2d393
Allow 'input' as value in the 'messenger' attribute
soyuka Mar 19, 2019
0d66a4a
Test input with messenger
soyuka Mar 21, 2019
1985101
Allow Response result in a messenger handler
soyuka Mar 21, 2019
3bc6be5
Merge pull request #2628 from soyuka/help-message-input
soyuka Mar 22, 2019
50fcb9a
Return mutation result as entity object (#2612)
lukasluecke Mar 22, 2019
9b9a138
2.4.0 changelog
soyuka Mar 22, 2019
294afdc
Merge pull request #2637 from soyuka/changelog
dunglas Mar 22, 2019
4a764b0
Merge remote-tracking branch 'upstream/2.4' into merge
soyuka Mar 22, 2019
d0bde7e
[GraphQL] Add custom queries (#2445)
lukasluecke Mar 24, 2019
6d632f2
[2.4] Allow autowiring of class extending SearchFilter
antograssiot Mar 25, 2019
9f16cec
Merge remote-tracking branch 'upstream/master' into merge
soyuka Mar 25, 2019
74bfbef
Fix phpstan
soyuka Mar 25, 2019
345612c
Merge pull request #2638 from soyuka/merge
soyuka Mar 25, 2019
424fedc
Ensure unsuccessful responses are not cached
bpolaszek Mar 25, 2019
5c222d3
Merge pull request #2646 from bpolaszek/2.4
dunglas Mar 25, 2019
61c24bf
Merge pull request #2643 from antograssiot/bc-searchfilter
meyerbaptiste Mar 25, 2019
bac8096
Revert "Do not disable cache in dev"
teohhanhui Mar 25, 2019
6e9014e
Merge pull request #2648 from api-platform/revert-2629-fix/cache-in-dev
teohhanhui Mar 25, 2019
8e1ee34
Remove a BC break introduced by #2243
meyerbaptiste Mar 22, 2019
c4f0ef1
Fix phpstan v0.11.5 false positives
teohhanhui Mar 26, 2019
637d85d
Merge pull request #2651 from teohhanhui/fix/phpstan-false-positives
soyuka Mar 26, 2019
6980627
Merge pull request #2640 from meyerbaptiste/fix_bc_break
soyuka Mar 26, 2019
ca5326d
Merge remote-tracking branch 'upstream/2.4' into merge
soyuka Mar 26, 2019
a72f501
filterProperty False positive due to deprecation
soyuka Mar 26, 2019
7f28ff9
Merge pull request #2652 from soyuka/merge
soyuka Mar 26, 2019
bcffdca
Manage custom queries by using the resolvers (#2655)
alanpoulain Mar 28, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
32 changes: 25 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,12 @@ reusable-steps:
- php-cs-fixer-cache-{{ .Revision }}
- php-cs-fixer-cache-{{ .Branch }}
- php-cs-fixer-cache
- &restore-phpstan-cache
restore_cache:
keys:
- phpstan-cache-{{ .Revision }}
- phpstan-cache-{{ .Branch }}
- phpstan-cache
- &save-composer-cache-by-branch
save_cache:
paths:
Expand Down Expand Up @@ -67,6 +73,16 @@ reusable-steps:
paths:
- .php_cs.cache
key: php-cs-fixer-cache-{{ .Revision }}-{{ .BuildNum }}
- &save-phpstan-cache-by-branch
save_cache:
paths:
- /tmp/phpstan/cache
key: phpstan-cache-{{ .Branch }}-{{ .BuildNum }}
- &save-phpstan-cache-by-revision
save_cache:
paths:
- /tmp/phpstan/cache
key: phpstan-cache-{{ .Revision }}-{{ .BuildNum }}
- &update-composer
run:
name: Update Composer
Expand Down Expand Up @@ -106,25 +122,27 @@ jobs:
phpstan:
docker:
- image: circleci/php:7.2-node-browsers
environment:
# https://github.com/phpstan/phpstan-symfony/issues/37
APP_DEBUG: 1
working_directory: ~/api-platform/core
steps:
- checkout
- *restore-composer-cache
- *restore-phpstan-cache
- *disable-xdebug-php-extension
- *disable-php-memory-limit
- *install-php-extensions
- *update-composer
- *update-project-dependencies
- run:
name: Install PHPStan
command: composer global require phpstan/phpstan:0.10.5
- *save-composer-cache-by-revision
- *save-composer-cache-by-branch
- *clear-test-app-cache
- run:
name: Run PHPStan
command: |-
export PATH="$PATH:$HOME/.composer/vendor/bin"
phpstan analyse -c phpstan.neon -l6 --ansi src tests
command: vendor/bin/phpstan analyse --ansi
- *save-phpstan-cache-by-revision
- *save-phpstan-cache-by-branch

phpunit-coverage:
docker:
Expand Down Expand Up @@ -195,7 +213,7 @@ jobs:
name: Run Behat tests
command: |-
mkdir -p build/logs/tmp build/cov
for f in $(find features -name '*.feature' -not -path 'features/main/exposed_state.feature' -not -path 'features/elasticsearch/*' | circleci tests split --split-by=timings); do
for f in $(find features -name '*.feature' -not -path 'features/main/exposed_state.feature' -not -path 'features/elasticsearch/*' -not -path 'features/mongodb/*' | circleci tests split --split-by=timings); do
_f=${f//\//_}
FEATURE="${_f}" phpdbg -qrr vendor/bin/behat --profile=coverage --suite=default --format=progress --out=std --format=junit --out=build/logs/tmp/"${_f}" "$f"
done
Expand Down
12 changes: 10 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ indent_size = 2
[*.md]
trim_trailing_whitespace = false

[*.neon]
indent_style = tab
indent_size = 4

[*.php]
indent_style = space
indent_size = 4
Expand Down Expand Up @@ -62,14 +66,18 @@ indent_size = 2
indent_style = space
indent_size = 2

[behat.yml]
[behat.yml{,.dist}]
indent_style = space
indent_size = 2

[composer.json]
indent_style = space
indent_size = 4

[phpunit.xml.dist]
[phpstan.neon{,.dist}]
indent_style = tab
indent_size = 4

[phpunit.xml{,.dist}]
indent_style = space
indent_size = 4
7 changes: 7 additions & 0 deletions .php_cs.dist
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ return PhpCsFixer\Config::create()
'phpdoc_trim_consecutive_blank_line_separation' => true,
'strict_comparison' => true,
'strict_param' => true,
'visibility_required' => [
'elements' => [
'const',
'method',
'property',
],
],
'void_return' => false, // BC breaks; to be done in API Platform 3.0
])
->setFinder($finder)
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
env: NO_UNIT_TESTS=true
before_install:
- composer remove --dev ext-mongodb doctrine/mongodb-odm doctrine/mongodb-odm-bundle
- sed -i '26,32d' tests/Fixtures/app/config/config_common.yml
- sed -i '33,39d' tests/Fixtures/app/config/config_common.yml
- php: '7.2'
- php: '7.3'
- php: '7.3'
Expand Down
97 changes: 88 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,84 @@
# Changelog

## 2.5.0 beta 1

* GraphQL: Add support for custom types

## 2.4.0

* Listeners are now opt-in when not handling API Platform operations
* `DISTINCT` is not used when there are no joins
* Preserve manual join in FilterEagerLoadingExtension
* The `elasticsearch` attribute can be disabled resource-wise or per-operation
* The `messenger` attribute can now take the `input` string as a value (`messenger="input"`). This will use a default transformer so that the given `input` is directly sent to the messenger handler.
* The `messenger` attribute can be declared per-operation
* Mercure updates are now published after the Doctrine flush event instead of on `kernel.terminate`, so the Mercure and the Messenger integration can be used together
* Use Symfony's MetadataAwareNameConverter when available
* Change the extension's priorities (`<0`) for improved compatibility with Symfony's autoconfiguration feature. If you have custom extensions we recommend to use positive priorities.

| Service name | Priority | Class |
|------------------------------------------------------------|------|---------------------------------------------------------|
| api_platform.doctrine.orm.query_extension.eager_loading (collection) | -8 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\EagerLoadingExtension |
| api_platform.doctrine.orm.query_extension.eager_loading (item) | -8 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\EagerLoadingExtension |
| api_platform.doctrine.orm.query_extension.filter | -16 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\FilterExtension |
| api_platform.doctrine.orm.query_extension.filter_eager_loading | -17 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\FilterEagerLoadingExtension |
| api_platform.doctrine.orm.query_extension.order | -32 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\OrderExtension |
| api_platform.doctrine.orm.query_extension.pagination | -64 | ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\PaginationExtension |

* Fix JSON-LD contexts when using output classes
* GraphQl: Fix pagination (the `endCursor` behavior was wrong)
* GraphQl: Improve output/input behavior
* GraphQl: Improve mutations (make the `clientMutationId` nullable and return mutation payload as an object)
* MongoDB: Fix search filter when searching by related collection id
* MongoDB: Fix numeric and range filters

## 2.4.0 beta 2

* Fix version constraints for Doctrine MongoDB ODM
* Respect `_api_respond` request attribute in the SerializeListener
* Change the normalizer's priorities (`< 0`). If you have custom normalizer we recommend to use positive priorities.

| Service name | Priority | Class |
|------------------------------------------------------------|------|---------------------------------------------------------|
| api_platform.hydra.normalizer.constraint_violation_list | -780 | ApiPlatform\Core\Hydra\Serializer\ConstraintViolationListNormalizer
| api_platform.jsonapi.normalizer.constraint_violation_list | -780 | ApiPlatform\Core\JsonApi\Serializer\ConstraintViolationListNormalizer
| api_platform.problem.normalizer.constraint_violation_list | -780 | ApiPlatform\Core\Problem\Serializer\ConstraintViolationListNormalizer
| api_platform.swagger.normalizer.api_gateway | -780 | ApiPlatform\Core\Swagger\Serializer\ApiGatewayNormalizer
| api_platform.hal.normalizer.collection | -790 | ApiPlatform\Core\Hal\Serializer\CollectionNormalizer
| api_platform.hydra.normalizer.collection_filters | -790 | ApiPlatform\Core\Hydra\Serializer\CollectionFiltersNormalizer
| api_platform.jsonapi.normalizer.collection | -790 | ApiPlatform\Core\JsonApi\Serializer\CollectionNormalizer
| api_platform.jsonapi.normalizer.error | -790 | ApiPlatform\Core\JsonApi\Serializer\ErrorNormalizer
| api_platform.hal.normalizer.entrypoint | -800 | ApiPlatform\Core\Hal\Serializer\EntrypointNormalizer
| api_platform.hydra.normalizer.documentation | -800 | ApiPlatform\Core\Hydra\Serializer\DocumentationNormalizer
| api_platform.hydra.normalizer.entrypoint | -800 | ApiPlatform\Core\Hydra\Serializer\EntrypointNormalizer
| api_platform.hydra.normalizer.error | -800 | ApiPlatform\Core\Hydra\Serializer\ErrorNormalizer
| api_platform.jsonapi.normalizer.entrypoint | -800 | ApiPlatform\Core\JsonApi\Serializer\EntrypointNormalizer
| api_platform.problem.normalizer.error | -810 | ApiPlatform\Core\Problem\Serializer\ErrorNormalizer
| serializer.normalizer.json_serializable | -900 | Symfony\Component\Serializer\Normalizer\JsonSerializableNormalizer
| serializer.normalizer.datetime | -910 | Symfony\Component\Serializer\Normalizer\DateTimeNormalizer
| serializer.normalizer.constraint_violation_list | -915 | Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer
| serializer.normalizer.dateinterval | -915 | Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer
| serializer.normalizer.data_uri | -920 | Symfony\Component\Serializer\Normalizer\DataUriNormalizer
| api_platform.graphql.normalizer.item | -922 | ApiPlatform\Core\GraphQl\Serializer\ItemNormalizer
| api_platform.hal.normalizer.item | -922 | ApiPlatform\Core\Hal\Serializer\ItemNormalizer
| api_platform.jsonapi.normalizer.item | -922 | ApiPlatform\Core\JsonApi\Serializer\ItemNormalizer
| api_platform.jsonld.normalizer.item | -922 | ApiPlatform\Core\JsonLd\Serializer\ItemNormalizer
| api_platform.serializer.normalizer.item | -923 | ApiPlatform\Core\Serializer\ItemNormalizer
| serializer.normalizer.object | -1000 | Symfony\Component\Serializer\Normalizer\ObjectNormalizer

* Allow custom stylesheets to be appended or replaced in the swagger UI
* Load messenger only if available
* Fix missing metadata cache pool for Elasticsearch
* Make use of the new AdvancedNameConverterInterface interface for name converters
* Refactor input/output attributes, where these attributes now take:
- an array specifying a class and some specific attributes (`name` and `iri` if needed)
- a string representing the class
- a `falsy` boolean to disable the input/output
* Introduce the DataTransformer concept to transform an input/output from/to a resource
* Api Platform normalizer is not limited to Resources anymore (you can use DTO as relations and more...)
* MongoDB: allow a `0` limit in the pagination
* Fix support of a discriminator mapping in an entity

## 2.4.0 beta 1

* MongoDB: full support
Expand All @@ -17,7 +96,7 @@
* Allow to set the HTTP status code to send to the client through the `status` attribute
* Add support for the `Sunset` HTTP header using the `sunset` attribute
* Set the `Content-Location` and `Location` headers when appropriate for better RFC7231 conformance
* Display the matching data provider and data persiter in the debug panel
* Display the matching data provider and data persister in the debug panel
* GraphQL: improve performance by lazy loading types
* Add the `api_persist` request attribute to enable or disable the `WriteListener`
* Allow to set a default context in all normalizers
Expand All @@ -35,7 +114,7 @@

## 2.3.6

* /!\ Security: a vulnerability impacting the GraphQL subsystem was allowing users authorized to run mutations for a specific resource type, to execute it on any resource, of any type
* /!\ Security: a vulnerability impacting the GraphQL subsystem was allowing users authorized to run mutations for a specific resource type, to execute it on any resource, of any type (CVE-2019-1000011)
* Fix normalization of raw collections (not API resources)
* Fix content negotiation format matching

Expand Down Expand Up @@ -120,7 +199,7 @@

## 2.2.10

* /!\ Security: a vulnerability impacting the GraphQL subsystem was allowing users authorized to run mutations for a specific resource type, to execute it on any resource, of any type
* /!\ Security: a vulnerability impacting the GraphQL subsystem was allowing users authorized to run mutations for a specific resource type, to execute it on any resource, of any type (CVE-2019-1000011)

## 2.2.9

Expand Down Expand Up @@ -203,7 +282,7 @@

## 2.2.2

* Autoregister classes implementing `SubresourceDataProviderInterface`
* Autoregister classes implementing `SubresourceDataProviderInterface`
* Fix the `DateTimeImmutable` support in the date filter
* Fix a BC break in `DocumentationAction` impacting NelmioApiDoc
* Fix the context passed to data providers (improve the eager loading)
Expand Down Expand Up @@ -233,9 +312,9 @@
* Remove the `api_platform.doctrine.listener.view.write` event listener service.
* Add a data persistence layer with a new `ApiPlatform\Core\DataPersister\DataPersisterInterface` interface.
* Add the a new configuration to disable the API entrypoint and the documentation
* Allow to set maximum items per page at operation/resource level
* Allow to set maximum items per page at operation/resource level
* Add the ability to customize the message when configuring an access control rule trough the `access_control_message` attribute
* Allow empty operations in XML configs
* Allow empty operations in XML configs

## 2.1.6

Expand All @@ -262,14 +341,14 @@
## 2.1.4

* Symfony 3.4 and 4.0 compatibility
* Autowiring strict mode compatibility
* Autowiring strict mode compatibility
* Fix a bug preventing to create resource classes in the global namespace
* Fix Doctrine type conversion in filter's WHERE clauses
* Fix filters when using eager loading and non-association composite identifier
* Fix Doctrine type resolution for identifiers (for custom DBALType)
* Fix Doctrine type resolution for identifiers (for custom DBALType)
* Add missing Symfony Routing options to operations configuration
* Add SubresourceOperations to metadata
* Fix disabling of cache pools with the dev environment
* Fix disabling of cache pools with the dev environment

## 2.1.3

Expand Down
1 change: 1 addition & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,5 @@ services:
test_script:
- cd %APPVEYOR_BUILD_FOLDER%
- php vendor\behat\behat\bin\behat --format=progress --suite=default
- rmdir tests\Fixtures\app\var\cache /s /q
- php vendor\phpunit\phpunit\phpunit
10 changes: 7 additions & 3 deletions behat.yml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ default:
suites:
default:
contexts:
- 'CommandContext'
- 'DoctrineContext':
doctrine: '@doctrine'
- 'HttpHeaderContext'
Expand All @@ -18,9 +19,10 @@ default:
- 'Behat\MinkExtension\Context\MinkContext'
- 'Behatch\Context\RestContext'
filters:
tags: '~@postgres&&~@elasticsearch'
tags: '~@postgres&&~@mongodb&&~@elasticsearch'
postgres:
contexts:
- 'CommandContext'
- 'DoctrineContext':
doctrine: '@doctrine'
- 'HttpHeaderContext'
Expand All @@ -37,9 +39,10 @@ default:
- 'Behat\MinkExtension\Context\MinkContext'
- 'Behatch\Context\RestContext'
filters:
tags: '~@sqlite&&~@elasticsearch'
tags: '~@sqlite&&~@mongodb&&~@elasticsearch'
mongodb:
contexts:
- 'CommandContext'
- 'DoctrineContext':
doctrine: '@doctrine_mongodb'
- 'HttpHeaderContext'
Expand Down Expand Up @@ -89,6 +92,7 @@ coverage:
suites:
default:
contexts:
- 'CommandContext'
- 'DoctrineContext':
doctrine: '@doctrine'
- 'HttpHeaderContext'
Expand All @@ -106,4 +110,4 @@ coverage:
- 'Behat\MinkExtension\Context\MinkContext'
- 'Behatch\Context\RestContext'
filters:
tags: '~@postgres&&~@elasticsearch'
tags: '~@postgres&&~@mongodb&&~@elasticsearch'
26 changes: 14 additions & 12 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,25 +39,33 @@
"doctrine/mongodb-odm-bundle": "^4.0.0@beta",
"doctrine/orm": "^2.6.3",
"elasticsearch/elasticsearch": "^6.0",
"friendsofsymfony/user-bundle": "dev-fix-mongodb-mapping",
"friendsofsymfony/user-bundle": "^2.2@dev",
"guzzlehttp/guzzle": "^6.0",
"jangregor/phpstan-prophecy": "^0.3",
"justinrainbow/json-schema": "^5.0",
"nelmio/api-doc-bundle": "^2.13.3",
"php-mock/php-mock-phpunit": "^2.0",
"phpdocumentor/reflection-docblock": "^3.0 || ^4.0",
"phpdocumentor/type-resolver": "^0.3 || ^0.4",
"phpspec/prophecy": "^1.8",
"phpstan/phpstan": "^0.11.3",
"phpstan/phpstan-doctrine": "^0.11.2",
"phpstan/phpstan-phpunit": "^0.11",
"phpstan/phpstan-symfony": "^0.11.2",
"phpunit/phpunit": "^7.5.2",
"psr/log": "^1.0",
"ramsey/uuid": "^3.7",
"ramsey/uuid-doctrine": "^1.4",
"sebastian/object-enumerator": "^3.0.3",
"symfony/asset": "^3.4 || ^4.0",
"symfony/cache": "^3.4 || ^4.0",
"symfony/config": "^3.4 || ^4.0",
"symfony/console": "^3.4 || ^4.0",
"symfony/css-selector": "^3.4 || ^4.0",
"symfony/debug": "^3.4 || ^4.0",
"symfony/dependency-injection": "^3.4 || ^4.0",
"symfony/doctrine-bridge": "^3.4 || ^4.0",
"symfony/dom-crawler": "^3.4 || ^4.0",
"symfony/event-dispatcher": "^3.4 || ^4.0",
"symfony/expression-language": "^3.4 || ^4.0",
"symfony/finder": "^3.4 || ^4.0",
Expand All @@ -71,15 +79,16 @@
"symfony/security-bundle": "^3.4 || ^4.0",
"symfony/twig-bundle": "^3.4 || ^4.0",
"symfony/validator": "^3.4 || ^4.0",
"symfony/web-profiler-bundle": "^3.4 || ^4.0",
"symfony/web-profiler-bundle": "^4.2",
"symfony/yaml": "^3.4 || ^4.0",
"webonyx/graphql-php": ">=0.13 <1.0"
},
"conflict": {
"doctrine/common": "<2.7"
"doctrine/common": "<2.7",
"doctrine/mongodb-odm": "<2.0"
},
"suggest": {
"doctrine/mongodb-odm-bundle": "To support MongoDB.",
"doctrine/mongodb-odm-bundle": "To support MongoDB. Only versions 4.0 and later are supported.",
"elasticsearch/elasticsearch": "To support Elasticsearch.",
"friendsofsymfony/user-bundle": "To use the FOSUserBundle bridge.",
"guzzlehttp/guzzle": "To use the HTTP cache invalidation system.",
Expand Down Expand Up @@ -107,12 +116,5 @@
},
"config": {
"sort-packages": true
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/alanpoulain/FOSUserBundle",
"no-api": true
}
]
}
}
Loading