Release Notes: Deduplicated variables, scoped section edits, and template rehydration · September 23, 2026
Deduplicate template variables and scope section edits in documents. Missing info forms coalesce values while template edits rehydrate. Includes 17 updates.
New Features
- Template Variable Deduplication: Document generation automatically deduplicates variables referenced multiple times across a template (including filter or pipe variations) into a single input field in the Missing Information dialog.
- Smart Tag Coalescing: Tag evaluation preserves resolved non-empty values and evaluation error diagnostics when deduplicating tags, preventing redundant prompts for available data.
- Snippet Filtering in Missing Information: Interactive AI snippets are excluded from the Missing Information dialog and managed asynchronously through dedicated snippet workflows and real-time progress tracking.
- Atomic Missing Property Updates: Values supplied in the Missing Information dialog are grouped by document record and saved atomically, preserving status locks and server timestamp metadata.
- HTML Template Formatter: Format and auto-indent HTML, CSS, and Jinja tags in document templates using
Shift+Alt+F(orCtrl+Shift+I) or the magic wand toolbar icon. - Editor Keyboard Shortcuts: Document template code editor now supports
Ctrl+Sto save,Ctrl+Fto search,Tabfor 2-space indents, andEscapeto unfocus. - Unsaved Changes Safeguards: Editing document templates displays unsaved badges and prompts for confirmation before navigating away or overwriting edits with AI updates.
- Live Preview Refresh: Refresh HTML template previews on demand with the new refresh preview button.
- Word Wrap Toggle: Code field in document templates includes a dedicated word wrap toggle for long HTML and Jinja lines.
- Jinja Syntax Highlighting: Code editor highlights Jinja variables, control statements, and comments in Fira Code font.
- Standardized PDF Running Headers: Multi-page PDF generation uses Gotenberg table layout wrappers (
<table class="doc-wrapper"><thead class="doc-header-group">) to repeat running headers cleanly across body pages without negative fixed offsets or border leaks, while suppressing headers on cover pages. - Data Specification Source Deletion: Deleting a data source in the visual Data Specification editor now prompts for confirmation and cleanly purges the source key from the database.
- Data Specification Visual Empty State: When a Data Specification has no data sources defined, the editor displays an empty state card with visual guidance and action prompts to select a preset or add custom data sources.
- Document Snippet Progress & Total Tracking: Documents awaiting snippet compilation track required vs. completed snippet counts in real time, displaying exact progress metrics and linear progress bars.
- Scoped Section AI Updates: Section-level AI template updates isolate changes to targeted sections, ignoring subjective QA warnings on untargeted areas to prevent unnecessary full-document rewrites.
- Template Re-hydration: Manual edits saved directly to document templates are automatically detected and re-hydrated into active AI editing sessions.
Fixes & Improvements
- Horizontal Search Match Auto-Scrolling: In-template code search automatically scrolls the editor horizontally and vertically to center active search matches.
- Iframe Preview Interactions: Upgraded HTML preview iframe rendering using modern JS interop for smoother live rendering updates.
- Data Source Deletion Cleanup: Removing data source entries in the visual Data Specification editor immediately purges top-level map fields in Firestore.
- Document Running Header Isolation: Running headers in generated PDF documents apply strict border and padding isolation, ensuring wrapper tables do not inherit global table border styles.
- Modal & Dropdown Occlusion Guard: Fixed a web layout issue where active HTML preview iframes could capture pointer events and render overlying dialogs or dropdown menus unclickable.
- Server-Silent Handshake: UI inputs bound to live data streams compare local edit timestamps against server round-trips to prevent active user keystrokes from being overwritten by delayed updates.
Need more help?
Our support team is available to assist you.
Contact Support