Skip to content

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 DRAFT or SENT".

Added

  • Landing-page filter groups (OR/AND). New optional filterGroups argument on findLandingPages and findLandingPageKpis. Each group combines its own filters with AND or OR, and groups are AND-ed together, enabling (a OR b) AND (c OR d). New FilterGroup input and LogicalOperator enum in the schema. See Landing-Page Filter Groups.

Changed

  • apply_filters now accepts an optional filter_groups argument alongside the existing filters. Top-level filters keep 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 / findLandingPageKpis gain an optional filterGroups argument. Calls that only send filters behave exactly as before (all AND-ed) — no changes required.
  • To use OR logic, send filterGroups: [{ operator: OR, filters: [...] }]. Each Filter inside a group has the same shape as today. Groups AND with each other and with any top-level filters; 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.