Release Notes
What's New in v1.4
A release focused on attribute management — bulk fill templates, default variable values, and fine-grained reactivity in the browse view.
Attribute Fill Templates
Set attribute values in bulk from a template
Define a fill template — a set of attribute keys with values or template expressions — and apply it to any number of files at once. Values support the same template syntax as rename templates: {filename}, {date:YYYY-MM-DD}, {artist}, transforms, and more.
🗂️
Template Editor
- Create reusable fill templates with any number of attribute key-value pairs
- Values support template syntax — dates, file properties, existing attribute values
- System-level templates shared across databases; database-level templates scoped to a collection
- Edit, reorder, and delete templates from the dedicated Fill Templates page under Tools
📋
Apply to Selection or All
- Load a template as a starting point, edit rows freely, then apply to your clipboard selection
- Apply to all entities in the database in one pass from the Fill Templates page
- Dry-run preview shows exactly which attributes will be set or skipped per entity
- Fill-only by default — existing values are preserved unless Overwrite is enabled
📄
Single Entity Apply
- Apply a fill template from the entity page via the Templates menu
- Live preview updates automatically as you edit rows or toggle overwrite
- Remove or edit any row before applying — the template is a starting point, not a lock
Default Variable Values
Fallback values for template variables
Set default values for any template variable at the system or database level. When a template references a variable that isn't set on a file, it falls back to the configured default instead of resolving to blank.
⚙️
System & Database Defaults
- System-level defaults apply across all databases
- Database-level defaults override system defaults for a specific collection
- Variable picker shows which variables have defaults configured
- Useful for setting a default genre, year, or other attribute on bulk operations
Browse View Performance
Individual rows update independently
The browse view now uses fine-grained MobX reactivity — each row re-renders only when its own data changes. Editing an attribute on one record no longer causes every visible row to re-render.
⚡
Faster Browse Edits
- Attribute changes reflect immediately without waiting for a full reload
- Large browse views stay responsive during inline edits
- Optimistic updates — the UI reflects changes before the database confirms
Tag Improvements
More control over how tags are managed and displayed
🏷️
Tag Enhancements
- Add descriptions to tags for internal documentation
- Control the order tags appear in the browse view
- Tag style builder improvements — easier to create and assign visual styles
- Tag stat links — click through from the Statistics view to a filtered entity list