• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 28175508905
29%
master: 37%

Build:
Build:
LAST BUILD BRANCH: perf/head-skip-body
DEFAULT BRANCH: master
Ran 25 Jun 2026 02:02PM UTC
Jobs 4
Files 1600
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Jun 2026 01:58PM UTC coverage: 29.335% (-0.2%) from 29.551%
28175508905

push

github

web-flow
feat(symfony): api:upgrade-filter codemod + filter fixture migration (#8344)

* feat(symfony): add api:upgrade-filter codemod

Add an `api:upgrade-filter` command that rewrites legacy `#[ApiFilter]`
attributes into parameter-based filters via a php-parser visitor. Includes
the mapper/resolver/visitor pipeline, collision/skip/name-conversion
handling, DI wiring, service config and unit tests. CI runs the codemod
with --force before the functional suite.

* test: migrate #[ApiFilter] fixtures to parameter filters + legacy suite

Run api:upgrade-filter over the test fixtures to move them onto parameter
filters, and relocate the un-migrated #[ApiFilter] fixtures (Boolean,
Numeric, Enum, Order, Search, Date/Range/Exists, ExceptionToStatus) into a
Legacy/ suite that keeps covering the deprecated path.

* feat(metadata): deprecate #[ApiFilter] and Operation::$filters

Emit a deprecation for the #[ApiFilter] attribute and for Operation::$filters
consumption, surfaced through the metadata factory and OpenAPI factory with
de-duplication. Baseline the resulting deprecations.

* fix(state): cast empty/null scalar params, reject bad scalars with 400

ValueCaster now casts empty/null boolean params to false and empty/null
numeric params consistently, and rejects empty values cast to a scalar
native type with a 400 via BadRequestException (wired through the Laravel
error renderer).

* Apply suggestions from code review

Co-authored-by: Antoine Bluchet <soyuka@users.noreply.github.com>

25 of 670 new or added lines in 20 files covered. (3.73%)

7 existing lines in 3 files now uncovered.

19846 of 67653 relevant lines covered (29.33%)

165.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
166
0.0
src/Symfony/Tests/Bundle/Command/UpgradeApiFilterResolverTest.php
104
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterVisitor.php
88
0.0
src/Symfony/Tests/Bundle/Command/UpgradeApiFilterVisitorTest.php
83
0.0
src/Symfony/Tests/Bundle/Command/UpgradeApiFilterMapperTest.php
73
0.0
src/Symfony/Bundle/Command/UpgradeApiFilterCommand.php
66
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterResolver.php
29
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterMapper.php
23
0.0
src/State/Tests/Parameter/ValueCasterTest.php
5
0.0
0.0% src/State/Parameter/ValueCaster.php
2
0.0
src/Metadata/Exception/BadRequestException.php
1
0.0
0.0% src/Laravel/Exception/ErrorRenderer.php
1
28.57
0.0% src/Serializer/Filter/PropertyFilter.php
1
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterCollisionException.php
1
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterMapping.php
1
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterNameConversionException.php
1
0.0
src/Symfony/Bundle/Command/Upgrade/UpgradeApiFilterParameter.php

Coverage Regressions

Lines Coverage ∆ File
3
92.68
-7.32% src/Metadata/Util/AttributeFilterExtractorTrait.php
2
84.0
-6.91% src/Metadata/Resource/Factory/FiltersResourceMetadataCollectionFactory.php
2
0.0
0.0% src/State/Parameter/ValueCaster.php
Jobs
ID Job ID Ran Files Coverage
1 28175508905.1 25 Jun 2026 02:02PM UTC 1600
12.57
GitHub Action Run
2 28175508905.2 25 Jun 2026 02:08PM UTC 1600
26.62
GitHub Action Run
3 28175508905.3 25 Jun 2026 02:09PM UTC 1600
27.02
GitHub Action Run
4 28175508905.4 25 Jun 2026 02:09PM UTC 1600
24.37
GitHub Action Run
Source Files on build 28175508905
  • Tree
  • List 1600
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0fb1dc8f on github
  • Prev Build on main (#28154122657)
  • Next Build on main (#28180754223)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc