diff --git a/.changeset/fix-filter-predicate-mixed-operator-keys.md b/.changeset/fix-filter-predicate-mixed-operator-keys.md new file mode 100644 index 0000000000..143ce4fdb6 --- /dev/null +++ b/.changeset/fix-filter-predicate-mixed-operator-keys.md @@ -0,0 +1,5 @@ +--- +'@backstage/filter-predicates': patch +--- + +Filter predicates that mix operator keys (`$all`, `$any`, `$not`) with other keys are now rejected. Previously, a predicate like `{ kind: 'API', $not: { 'spec.type': 'dataset' } }` would silently drop the `kind` check. The correct form wraps conditions in `$all`.