v1.4.0 Release Notes
Template Viewer
- The template viewer has been reorganized from a simple Response/Template Tree split into a language-aware Details panel (showing template id, version, localized name and description) plus three separate tree views scoped to a template's context, content, and everything else, with a language selector, per-node localized names, an archetype-id badge, a cardinality column, and a toggle to show raw path values for inspection.
- Nodes representing a data element are now marked with a distinct badge (yellow "C"), alongside the existing archetype badge (blue "A"), making it easier to visually distinguish structural nodes from data-holding ones in the tree.
- A new quick action lets users jump directly from a template in the templates list into the compositions query for that template, with the template id already filled in, instead of retyping it.
- The templates list column order has been adjusted so the template id displays before the concept name, and the underlying results table now supports controlling column order generally (previously columns always followed the order returned by the server).
- The templates list now shows a running total count of templates next to its filter box, so the count is visible regardless of what filter is currently applied.
AQL Library
- Saving a query under a name that's already in use is now blocked, preventing accidental duplicates.
- A query loaded from the library can now be edited and saved back to the same entry, instead of the edit being lost or rejected as a duplicate name.
AQL Query Editor
- The AQL query input has been replaced with a full code-editing experience: bracket matching/auto-closing, undo/redo, tab indentation, and syntax highlighting consistent with the app's existing read-only query display in both light and dark mode.
- Live autocomplete has been added while typing a query, in three levels of specificity:
- Always-available suggestions for AQL keywords and reference-model types, some of which insert a ready-to-edit template (e.g. a numeric limit, or a type paired with a conventional short alias).
- Once a query binds an alias to a patient record or composition, suggestions for that record type's standard data paths.
- If a template id is entered in a new optional field above the editor, and the query targets a specific archetype within it, suggestions are drawn from that template's actual data structure, retrieved automatically in the background as the user types (with a short delay) and cached for reuse.
- Typing an alias that's already used in the query offers a one-step way to jump straight into path suggestions for that alias.
- If the entered template id is invalid or the server can't be reached, the editor silently falls back to the standard suggestions rather than showing an error — the richer per-template suggestions just won't appear.
Results Table
- Column headers can now be clicked to sort results. This only applies to ungrouped result tables — grouped tables keep their existing grouped ordering, which column sorting would otherwise disrupt.
Navigation
- The breadcrumb trail's group label is now clickable and acts as a "back" button, giving users a way to return to the previous screen from deeply nested navigation instead of only being able to jump to a named breadcrumb.
Fixes
- Fixed a layout bug where long lines of response text (e.g. XML) with a horizontal scrollbar could trigger a resize/flicker loop in the response viewer.
- Adjusted the position of the copy/collapse overlay buttons on response panels so they no longer overlap the scrollbar.
Versioning
- ehr-ctrl version bumped from 1.3.1 to 1.4.0.