⭐ Highlights
-
Direct file opening
Search results and favorites can now open files or browse folders directly, while a separate Go to action reveals their containing location. -
File-opening deep links
Deep links can now use theopenquery parameter, for example?open=document.pdf, to select and automatically open a target file after its repository has loaded. File resolution also preserves repository context when documents are reached through shares, anchored roots, or Markdown links. (#330) -
40 additional languages
The interface and notification emails now support 40 additional languages, bringing the total to more than 50. Date formatting and Bootstrap components use the corresponding locales, while synchronization scheduler units are now translated correctly. (#327, #328) -
More efficient and accessible interface
The frontend now runs on Angular 22 with signal-based, zoneless change detection and OnPush rendering. Native file-tree and notification components improve keyboard navigation, accessibility, focus handling, and mobile safe-area support.
🐞 Bug Fixes
-
Reliable Markdown and shared-root resolution
Opening documents from Markdown links now retains root names, aliases, and permission context across anchored roots and shares, preventing linked files from losing their repository metadata. -
Correct file delivery errors
Download failures now preserve their original HTTP status. Expected missing-file responses no longer generate duplicate WebDAV or synchronization logs, and client-facing errors no longer contain raw filesystem details. -
Stable editor shutdown and file locks
Late asynchronous responses are ignored after a viewer closes. Lock state, badges, and file metadata remain synchronized when closing the built-in editors, Collabora, or OnlyOffice. -
More reliable controls and dialogs
Selection controls, user searches, anchored-root dialogs, and outside-click handlers now clean up correctly when their components close. Escape-key handling and nested form controls no longer trigger unintended dialog behavior. -
Consistent file-type icons
MIME icons now use normalized framing and spacing, producing more consistent alignment across file lists, galleries, and navigation views.
⚠️ Security
- Enforced WebSocket session boundaries
Authenticated WebSockets are now disconnected automatically when their token expires, including tokens whose lifetime exceeds the native timer limit. Every incoming message also requires an authenticated user and a valid future expiration; invalid or expired sockets are rejected and disconnected. (#324)
Special thanks to @tynianov1 for contributing the WebSocket token-expiry fix.
-
Protected server paths
File delivery failures now return sanitized messages. Underlying filesystem details remain available only as internal error causes and are no longer exposed to clients. -
Link passwords excluded from emails by default
Protected-link passwords are omitted from notification emails unless administrators explicitly enableapplications.files.links.sendPasswordByEmail. (#329)
Contributors: @tynianov1 @Stephan-P @darksideonDM1 @jo73250
Features
- backend:files: expose file properties by space path (1386ae9)
- backend:links: make password sharing by email configurable (#329) (5c8467c)
- files: support opening favorite files and folders (757c3b9)
- frontend:search: add open and go-to actions to results (e12f9bf)
- frontend:spaces: support opening files from deep links (#330) (26ba072)
- i18n: expand multilingual support with 40 new locales (#327) (79072a7)
Bug Fixes
- backend:auth: enforce authentication state on WebSocket messages (80a50bf)
- backend:database: bound optimistic availability probes (f2af848)
- backend:files: preserve download status and avoid duplicate 404 logs (650b34b)
- backend:files: sanitize send file errors (c4badf0)
- backend:websocket: disconnect authenticated sockets when their token expires (#324) (cc07254)
- files: preserve root metadata when opening Markdown links (45421fb)
- frontend:assets: normalize MIME icon spacing (a2d3db6)
- frontend: stabilize UI components and update editor dependencies (0b337a4)
- i18n: translate sync scheduler units (#328) (4254475)