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 (or Ctrl+Shift+I) or the magic wand toolbar icon.
  • Editor Keyboard Shortcuts: Document template code editor now supports Ctrl+S to save, Ctrl+F to search, Tab for 2-space indents, and Escape to 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