github FriendsOfCake/search 7.9.0

3 hours ago

Fixes

  • Processor::process(): prevent extraParams from leaking between filters. A filter that does not declare extraParams no longer sees values requested by another filter earlier in the chain (#374).
  • Like::_setEscaper(): replace brittle substr_compare driver detection with instanceof checks, 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 Mapped filter for applying a default condition without triggering isSearch() — 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 a map (form value → filter condition, with null meaning "no filter") and a default key marking which value is the non-search default. Unmapped non-empty values pass through as the condition (#373).
  • Like filter: new escapers config 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 with instanceof matching, falling back to Search.Default when nothing matches (#375).
  • Like filter: added a Postgres branch with a new PostgresEscaper class (currently inherits from DefaultEscaper) so driver-specific wildcard rules can diverge in the future without breaking the public API (#374).
  • Callback::process(): deprecate null returns from user callbacks. The documented contract is that callbacks return bool to drive isSearch(); missing return values are still coerced to true but 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

Don't miss a new search release

NewReleases is sending notifications on new releases.