← Blog

PrintStash v0.11.1: Vault audit, per-printer access, i18n

Quick and Full vault audits with repair, restart-safe pending imports with a browser capture helper, structured filters, and per-printer access control.

release

v0.11.1 is a patch number doing a minor release’s work: it adds features and append-only database migrations, so back up before upgrading. It is an explicit exception to the normal 0.x patch policy, and everything below is additive: nothing from v0.11.0 was removed or renamed.

Vault maintenance and repair

Superusers can run a persisted Quick or Full audit over the vault and inspect the findings grouped by severity. Hashing can be cancelled between objects rather than only at the end, eligible thumbnail, metadata, and Revision findings can be repaired in place, and backup archives can be verified for structure and manifest membership before you rely on them.

Backup creation is stricter to match: it now fails if a database-owned blob is unreadable, missing, changes size, or vanishes mid-stream, instead of quietly producing a smaller archive that restores short.

Pending imports and Quick Capture

URL captures now persist across restarts as pending imports with owner-scoped review. Each one can be retried, assigned to a Collection and tags, and have its archive contents or individual files selected before ingestion. A minimal Manifest V3 browser helper sends only the current page URL and title. Nothing else leaves the browser.

Capture URLs strip secret-shaped query parameters and reject embedded URL credentials, and the persisted manifests and API responses omit staging paths, cookies, and resolved download credentials.

Structured Model filters

Artifact type, material, slicer, printer model, Revision status, print history and outcome, storage location, and upload date now extend the canonical URL, the facet counts, and Saved Views, so a filtered view can be shared and restored instead of living only in local UI state. Clearing all filters at once now clears every one of them, including the date range.

Per-printer access control

Superusers can grant view, print, control, or admin on each printer independently. The printer, fleet, live WebSocket, remote-file, queue, routing, and maintenance APIs all enforce the effective role, and connection details and unavailable actions stay hidden in the UI rather than failing on click. Printing additionally requires existing Collection edit access to the source Model, and API keys inherit their owning user’s printer grants.

Localization completion

The Spanish catalogs left partially translated by v0.11.0’s localization foundation are now complete across the Model detail print-settings panel, the card-metric and metadata-field pickers, and the remaining Settings surfaces. On mobile, administrators keep Profiles one tap away in the bottom navigation instead of finding it in the overflow sheet.

Upgrading from an existing installation follows the normal Docker Compose flow, and this release carries database migrations. Back up first, then follow the upgrade guide for the current commands and migration notes.

See the v0.11.1 GitHub release or read the full changelog.