friendsofcake/search
CakePHP Search plugin using PRG pattern
7.9.0
2.3M downloads/mo
#2957 most downloaded on Packagist
FriendsOfCake/search
What this package is like to depend on
Last release 3 months ago
11 May 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Rarely documented
notes for 10 of 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
63 releases · first in 2015
7 releases in the last 12 months
see the full history below
Release timeline
63 releases · Jun 2015 to May 2026Releases
latest 60 of 63-
7.9.011 May 2026Release notes
Open source →Fixes
Processor::process(): preventextraParamsfrom leaking between filters. A filter that does not declareextraParamsno longer sees values requested by another filter earlier in the chain (#374).Like::_setEscaper(): replace brittlesubstr_comparedriver detection withinstanceofchecks, and stop caching the resolved escaper into the filter config so each query resolves afresh. Custom or sub-classed Sqlserver/Postgres drivers now select the correct escaper (#374).
Improvements
- New
Mappedfilter for applying a default condition without triggeringisSearch()— useful when you want a filter to be active by default (e.g. "show only enabled records") but the Reset link should only appear once the user changes the value. Configured via amap(form value → filter condition, withnullmeaning "no filter") and adefaultkey marking which value is the non-search default. Unmapped non-empty values pass through as the condition (#373). Likefilter: newescapersconfig option lets apps register custom driver-to-escaper mappings without subclassing the filter. Shipped defaults (Sqlserver, Postgres) are merged in via_defaultConfig; entries are evaluated in iteration order withinstanceofmatching, falling back toSearch.Defaultwhen nothing matches (#375).Likefilter: added a Postgres branch with a newPostgresEscaperclass (currently inherits fromDefaultEscaper) so driver-specific wildcard rules can diverge in the future without breaking the public API (#374).Callback::process(): deprecatenullreturns from user callbacks. The documented contract is that callbacks returnboolto driveisSearch(); missing return values are still coerced totruebut now emit a deprecation pointing at the offending callback by name. Update your callbacks to return an explicit boolean (#374).
Full Changelog: 7.8.0...7.9.0
-
7.8.009 Feb 2026Release notes
Open source →What's Changed
New Features
- Add
strictModeconfig for misconfigured SearchComponent by @dereuromark in #371- When enabled, throws
RuntimeExceptionwith clear messages identifying the controller, action, and what went wrong - Default
falsepreserves existing behavior for AppController use cases
- When enabled, throws
Fixes
- Update deprecation warning version in SearchTrait by @LordSimal in #369
Full Changelog: 7.7.2...7.8.0
- Add
-
7.7.216 Nov 2025 -
7.7.113 Nov 2025Release notes
Open source →What's Changed
- Update searchManager() access by @ADmad in #366
- Fix up introduced regression on searchManager() call. by @dereuromark in #365
Full Changelog: 7.7.0...7.7.1
-
7.7.012 Nov 2025Release notes
Open source →What's Changed
- Related fields docs. by @dereuromark in #356
- Remove not used psalm. PHPUnit 11/12 compatibility. by @dereuromark in #357
- Fix deprecation error on CakePHP 5.3 by @ADmad in #359
- Fix up phpstan without silencing. by @dereuromark in #360
- Cleanup API by @ADmad in #362
- Add 'extraParams' config for Callback filter by @ADmad in #363
Full Changelog: 7.6.1...7.7.0
-
7.6.104 Oct 2025 -
7.6.004 Oct 2025 -
7.5.030 Jul 2025Release notes
Open source →What's Changed
- Allow global Search component configuration using Configure key
'Search.component'by @dereuromark in #353
Full Changelog: 7.4.0...7.5.0
- Allow global Search component configuration using Configure key
-
7.4.004 May 2025Release notes
Open source →What's Changed
- Fixed deprecation warning in CakePHP 5.2 by @bakewizard in #350
If you extended Search component, make sure to adjust the signature of startup() to:
public function startup(EventInterface $event): void
New Contributors
- @bakewizard made their first contribution in #350
Full Changelog: 7.3.0...7.4.0
-
7.3.017 Apr 2025Release notes
Open source →What's Changed
- Add empty checking via callable for more dynamic use cases. by @dereuromark in #348
Full Changelog: 7.2.0...7.3.0
-
7.2.004 Apr 2025Nothing published for this version
-
7.1.026 Feb 2024Nothing published for this version
-
7.0.013 Sep 2023Nothing published for this version
-
6.2.512 Mar 2023Nothing published for this version
-
6.2.416 Feb 2022Nothing published for this version
-
6.2.318 Feb 2021Nothing published for this version
-
6.2.221 Dec 2020Nothing published for this version
-
6.1.126 Nov 2020Nothing published for this version
-
6.1.020 Nov 2020Nothing published for this version
-
6.0.103 Nov 2020Nothing published for this version
-
6.0.018 Apr 2020Nothing published for this version
-
6.0.0-beta224 Feb 2020 pre-releaseNothing published for this version
-
6.0.0-beta22 Dec 2019 pre-releaseNothing published for this version
-
6.0.0-RC22 Mar 2020 pre-releaseNothing published for this version
-
5.3.205 Feb 2020Nothing published for this version
-
5.3.111 Jun 2019Nothing published for this version
-
5.3.017 May 2019Nothing published for this version
-
5.2.013 Mar 2019Nothing published for this version
-
5.1.110 Dec 2018Nothing published for this version
-
5.1.017 Nov 2018Nothing published for this version
-
5.0.012 Nov 2018Nothing published for this version
-
4.5.112 Nov 2018Nothing published for this version
-
4.5.009 Oct 2018Nothing published for this version
-
4.4.113 Aug 2018Nothing published for this version
-
4.4.016 Apr 2018Nothing published for this version
-
4.3.007 Mar 2018Nothing published for this version
-
4.2.122 Jan 2018Nothing published for this version
-
4.2.025 Nov 2017Nothing published for this version
-
4.1.001 Nov 2017Nothing published for this version
-
4.0.206 Oct 2017Nothing published for this version
-
4.0.119 Aug 2017Nothing published for this version
-
4.0.013 Aug 2017Nothing published for this version
-
3.2.004 Aug 2017Nothing published for this version
-
3.1.029 Apr 2017Nothing published for this version
-
3.0.027 Apr 2017Nothing published for this version
-
2.5.026 Apr 2017Nothing published for this version
-
2.4.011 Mar 2017Nothing published for this version
-
2.3.124 Sep 2016Nothing published for this version
-
2.3.022 Sep 2016Nothing published for this version
-
2.2.019 Sep 2016Nothing published for this version
-
2.1.012 Aug 2016Nothing published for this version
-
2.0.206 Jul 2016Nothing published for this version
-
2.0.124 Jun 2016Nothing published for this version
-
2.0.008 Jun 2016Nothing published for this version
-
1.2.417 May 2016Nothing published for this version
-
v1.2.311 Apr 2016Nothing published for this version
-
1.2.222 Feb 2016Nothing published for this version
-
1.2.103 Feb 2016Nothing published for this version
-
1.2.023 Dec 2015Nothing published for this version
-
1.1.024 Nov 2015Nothing published for this version