Skip to content

feat(doctrine): deprecate the extends-AbstractFilter form of Date/Range/Exists filters#8340

Merged
soyuka merged 1 commit into
api-platform:mainfrom
soyuka:deprecate-doctrine-filter-extends-form
Jun 22, 2026
Merged

feat(doctrine): deprecate the extends-AbstractFilter form of Date/Range/Exists filters#8340
soyuka merged 1 commit into
api-platform:mainfrom
soyuka:deprecate-doctrine-filter-extends-form

Conversation

@soyuka

@soyuka soyuka commented Jun 22, 2026

Copy link
Copy Markdown
Member

Part of the 4.4 filter-deprecation series (follows #8330, which deprecated the AbstractFilter base).

DateFilter, RangeFilter and ExistsFilter (ORM + ODM) still extend the AbstractFilter base deprecated in 4.4. Unlike the doomed legacy filters (SearchFilter, BooleanFilter, NumericFilter, BackedEnumFilter, OrderFilter), these three survive: in 5.0 they are rewritten standalone —

  • DateFilter / RangeFilter → overlays over ComparisonFilter (same [before]/[after], [between]/[gt]/[lt] URL syntax)
  • ExistsFilter → standalone, reading its value from the QueryParameter instead of the legacy context['filters'] lookup

Same class name, same URL syntax, drop-in.

This adds an @deprecated note on the legacy extends AbstractFilter form so users migrate their declarations to QueryParameter ahead of the 5.0 rewrite. The classes themselves are not removed. PHPDoc-only, no runtime trigger.

…ge/Exists filters

DateFilter, RangeFilter and ExistsFilter (ORM + ODM) still extend the
AbstractFilter base deprecated in 4.4. Unlike the doomed legacy filters,
these three survive: in 5.0 they are rewritten standalone (Date/Range as
overlays over ComparisonFilter, Exists reading its value from the
QueryParameter) — same class name, same URL syntax, drop-in.

Add an @deprecated note on the legacy extends-AbstractFilter form so users
migrate their declarations to QueryParameter ahead of the 5.0 rewrite. The
classes themselves are not removed. PHPDoc-only, no runtime trigger.
@soyuka soyuka merged commit 373b56b into api-platform:main Jun 22, 2026
85 of 96 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant