Skip to content

v0.1.7 — Compact board filters and Advanced DQL

Choose a tag to compare

@FloKnapp FloKnapp released this 13 Oct 19:16
· 9 commits to main since this release
a092598

Board filters now live in a compact Filter disclosure beside Views, keeping the tickets in view. The existing dropdowns remain the simple mode. Advanced translates their values into Nafinity DQL; switching back fills the dropdowns and retains conditions they cannot represent as visible additional DQL. Queries are never silently widened when changing modes.

DQL supports ticket status, board identifier, assignee, column, swimlane, label, priority, title/text, ticket number and dates, with comparisons, lists, boolean operators and parentheses. For example, status = open AND assignee = me selects the reader’s open assignments. Shared me queries continue to mean the person opening the link. Expressions always stay inside the currently authorized project; cards, counts and live updates use the same bound query conditions.

Invalid syntax, unknown properties and invalid values return an editable HTTP 422 error. Query size, nesting, tokens and list sizes are bounded. Dropdown conversion and filtering also work through native GET forms without JavaScript. The controls include labels, keyboard focus handling, announced errors, responsive layouts and expandable query help.

Saved views move into the shared dialog and preserve dropdown filters, DQL and contributed filters in shareable authorized links. Extensions can add DQL properties through the existing BoardFilterDefinition registry and compact toolbar actions through board.filters.actions; structured or non-representable extension filters are preserved.

Upgrade

Update naf/board to v0.1.7, publish assets with nafinity:assets:publish, and restart application/worker services. Follow the installation’s normal backup and readiness checks. This release adds no database migration or new package requirement; existing dropdown links and personal saved views remain supported.

Validation passed for the exact tagged merge commit on PHP 8.3 and 8.5 with MariaDB 11.4 and MySQL 8.4, including IMAP integration, strict Composer validation, PHP/asset formatting and browser-module tests. The package has 856 PHP tests and 152 browser-module tests.