1.4.0¶
Released: TBD
Highlights¶
- Landing-page and KPI queries can now filter with OR logic, not just AND —
e.g. "invoices that are
DRAFTorSENT".
Added¶
- Landing-page filter groups (OR/AND). New optional
filterGroupsargument onfindLandingPagesandfindLandingPageKpis. Each group combines its own filters withANDorOR, and groups are AND-ed together, enabling(a OR b) AND (c OR d). NewFilterGroupinput andLogicalOperatorenum in the schema. See Landing-Page Filter Groups.
Changed¶
apply_filtersnow accepts an optionalfilter_groupsargument alongside the existingfilters. Top-levelfilterskeep their AND-only behavior, so this is fully backward compatible.
Fixed¶
- None.
Migrations¶
- None. This release is a pure GraphQL query-surface addition; no alembic revisions or one-off scripts.
Frontend impact¶
findLandingPages/findLandingPageKpisgain an optionalfilterGroupsargument. Calls that only sendfiltersbehave exactly as before (all AND-ed) — no changes required.- To use OR logic, send
filterGroups: [{ operator: OR, filters: [...] }]. EachFilterinside a group has the same shape as today. Groups AND with each other and with any top-levelfilters; only one level of grouping is supported.
Versioning notes¶
- Bumped with
uv run python scripts/bump_version.py 1.4.0 --changelog-stub. - MINOR: additive GraphQL schema (new optional argument, input, and enum). No
deploy-order constraints — backend can ship ahead of any frontend that adopts
filterGroups.