DiscVault v26.5.0
DiscVault v26.5.0
DiscVault v26.5.0 promotes the complete beta train since v26.4.70. This
release delivers a redesigned Profile, administration, and Library management
experience; reliable first-connect synchronization; and substantial security
hardening across plugins, runtime secrets, external HTTP providers, and local
media.
Highlights
- A clearer management experience. Profile navigation, Account,
Preferences, Notifications, Groups, Structure, Security, API & MCP, About,
Admin Access, and Users & Groups now use responsive dashboards, focused
cards, accessible tabs, and complete locale coverage. - Reliable first-connect synchronization. Server-side idempotency,
persistent record identifiers, identity matching, tombstones, reconciliation,
and guarded deduplication tooling prevent duplicate movie creation without
merging distinct physical editions. - Stronger security boundaries. Executable plugin writes require an
interactive owner or admin, runtime secrets are explicit, user-controlled
HTTP requests are DNS-pinned and bounded, and protected local media now
enforces authentication and ownership. - Focused Library actions. Advanced filters and bulk-selection controls are
reorganized into task-oriented cards with accessible responsive behavior.
Profile and administration
- Profile navigation now uses a responsive MDI icon rail with a saved desktop
display preference, while Account presents an identity-first dashboard.
(#310,
c5fad1c) - Preferences are grouped into focused Appearance, Library, Collectors, and
Loans System cards, with canonical MDI icons throughout the Profile area.
(#311,
e548a53;
#313,
a0d5138) - Notification settings now show browser permission, current-device state,
notification categories, and connected devices in a responsive dashboard.
(#316,
de4ac34) - Groups now use responsive management cards with clearer roles, metrics,
invitations, member actions, library scope, inline renaming, and delete
eligibility.
(#319,
6e63e80) - Structure, Security, API & MCP, and About have been refreshed as accessible,
responsive utility dashboards.
(#320,
3f0eecf) - Admin Access and Users & Groups now use dedicated cards for registration,
invitations, passkeys, legacy authentication, users, roles, and group
management.
(#321,
f88fd90)
Library workflow
- Advanced Library filters and bulk-selection controls are grouped into
task-focused cards. Desktop groups remain open, while mobile layouts use
accessible accordions without changing existing filter, permission, or bulk
action behavior.
(#323,
0817f81)
Synchronization reliability
- Sync creates are now idempotent through a strict identity ladder using
persistent client IDs, normalized barcodes, and TMDb plus physical-edition
identity. DVD and 4K UHD copies remain distinct. - Deleted movies and containers use tombstones with anti-resurrection rules,
while the new reconciliation endpoint safely adopts existing records during
first connect. - The deduplication merge utility is dry-run by default, preserves the
strongest user-data record, and requires explicit approval before execution.
(#315,
98ea40c;
#322,
81a6c5d)
Security and deployment
- Executable plugin import, update, rollback, and auto-update operations now
require an interactive owner or admin session. API tokens cannot write
executable plugins, and failed replacements restore the previous plugin.
(#308,
c7dca6c) JWT_SECRETis now mandatory for API and worker startup. Deterministic secret
fallbacks derived fromDATABASE_URLhave been removed.
(#309,
b14c956)- Wishlist price URLs and bundled Amazon, bol.com, Arrow, Zavvi, Keepa, and
PriceAPI traffic now use DNS-pinned, deadline- and size-bounded public HTTP
transports. Private, loopback, link-local, rebound, mixed-DNS, and redirect
targets are rejected without leaking credentials or request bodies.
(#312,
2eb1173,
f573906;
#314,
1370e0a) - Local movie, container, person, avatar, wishlist, and MovieVault media now
requires authentication and valid ownership or sharing access. Protected
media is network-only in the service worker, preventing cross-account cache
replay.
(#317,
35aa44f)
Upgrade notes
- Keep the existing
JWT_SECRETvalue when upgrading. Missing or blank values
now stop API and worker startup; changing the secret invalidates existing
sessions and may require reconnecting MovieVault. - Database migration 045 runs automatically and adds persistent sync record
identifiers and deletion tombstones. - Protected media caches are purged during service-worker activation and are
no longer stored for offline cross-session reuse. sync_dedup_merge.pyremains dry-run by default. Review its report and take
an appropriate backup before considering--execute.- User-facing changes include complete translations across all 29 supported
locales.
Full changelog: v26.4.70...v26.5.0