Changelog
yuuvis® media viewer
Released 09/02/2026
Deprecations:
office.reloadOffsetinprovideMediaViewer()is no longer used; the option is kept for compatibility and will be removed in the next major version (CASEM-1238)DASHLET_MESSAGE_EVENTS.OFFICE_DOCUMENT_CONVERTEDandOFFICE_DOCUMENT_UNKNOWNare no longer emitted and will be removed in the next major version. Hosts listening for them should switch toOFFICE_DOCUMENT_UPDATEand the newOFFICE_DOCUMENT_ERROR(CASEM-1238)
Features:
- The Office viewer requires an Office dashlet that sends the
Host_PostmessageSSEUpdateDonewindow message. Update the dashlet together with the library: with an older dashlet the preview is still shown and can be edited, but it is no longer reloaded automatically after a document update — users have to refresh manually (CASEM-1238) - The Office viewer reloads the document as soon as the dashlet reports
UPDATED, instead of reloading on a fixed timer afteroffice.reloadOffset.Host_PostmessageObjectUpdatingstill shows the updating overlay (CASEM-1238) - Messages posted to the host (
metadata.sendEvent: true) now carry the dashletstatusand theobjectIdin addition totype(OfficeDocumentMessage); existing listeners readingtypeare unaffected (CASEM-1238) - Exported
OfficeDocumentMessagetype for host applications listening to Office update messages (CASEM-1238) - New
DASHLET_MESSAGE_EVENTS.OFFICE_DOCUMENT_ERRORis posted when the dashlet reportsERRORorTIMEOUTfor a document update (CASEM-1238) - The Office viewer shows the updating overlay while the dashlet reports
UPDATE_IN_PROGRESSand ignores update messages for a differentobjectIdthan the displayed document (CASEM-1238) - The Office viewer no longer locks the document while an editing session exists. On
IN_EDITING_SESSION(another session still holds the document) and while the user edits the document in a separate tab, a non-blocking banner explains that the displayed version may not be the latest and offers Refresh, Go to editing tab (own session) and Dismiss; the preview and the Edit action remain usable (CASEM-1238) - New
DASHLET_MESSAGE_EVENTS.OFFICE_DOCUMENT_EDITINGis posted when the dashlet reportsIN_EDITING_SESSION(CASEM-1238) - The editing banner adds five translation keys (
yuv.media.viewer.office.editing.own,.other,.refresh,.goto,.dismiss). Applications that supply their own translation files should add them (CASEM-1238) - Edit-tab activity keep-alive (
whoami) is throttled to one call per 30 s; a viewer-side safety timeout (60 s) clears a stuck updating overlay if the dashlet never reports a result (CASEM-1238) --ymv-font-bodyis now composed from the library-owned tokens--ymv-font-body-weight,--ymv-font-body-sizeand--ymv-font-body-line-height, so the viewer typography can be adjusted without redefining the whole shorthand (CASEM-3557)
Bugfixes:
@yuuvis/media-viewer/scssno longer sets Angular Material’s--mat-sys-body-medium-font,-size,-weightand-line-heighton:root. Since 2.2.0 these declarations overrode the host application’s Materialbody-mediumtypography (form fields, selects, lists, …) with the viewer font. Applications that relied on the leaked values should set their Material typography themselves (CASEM-3557)- The mail viewer reloads the message when its
srcchanges. A content replacement keeps the object id and only changes the source URL, so the viewer kept showing the previous e-mail (CASEM-3622) - The image, video and audio viewers append their cache-busting stamp with
&when the source URL already carries a query string (e.g. a host keying the URL on the content stream), instead of producing…?a=b?<timestamp>(CASEM-3622) - Office viewer: the updating overlay could get stuck after
IN_EDITING_SESSION; the edit-tab message listener is now removed when the viewer is destroyed (CASEM-1238) - The image viewer’s zoom and rotate buttons center their glyphs geometrically and pin their font, so
+/−no longer sit below the button center in host applications with a button normalize or a tall system font
Released 08/14/2026
Breaking Changes:
- Upgraded to
pdfjs-dist6.2.108 (from 4.10.38). The peer dependency is pinned, so consuming applications must upgrade withnpm install pdfjs-dist@6.2.108and re-verify their PDF.js asset pipeline fast-xml-parserpeer dependency raised to a pinned 5.10.1 (from 5.7.3)- Removed
useOnlyCssZoomfromPdfViewerConfig; it had no effect and is no longer accepted - Viewers no longer default to the light theme. When
metadata.themeis not set, the theme is derived from the host element’s computedcolor-schemeand the user’sprefers-color-scheme. Passmetadata.theme: 'light'explicitly to keep the previous behaviour - The default font changed from Mulish to Inter via the new
--ymv-font-familytoken, applied consistently across all viewers (which previously mixed Mulish, Roboto and the system default), and the light value of--ymv-primarychanged from#13629dto#005ac4. Override either token to keep the previous appearance - The error viewer’s default message key was corrected to
yuv.media.viewer.content.not.authorized(previously misspellednot.autherized). The old key is still shipped in the bundled translations; applications that supply their own translation files should add the corrected key MediaViewerService.srcPath()now resolves non-localhost hosts fromwindow.location.origin. It previously produced a malformed base (protocol + hostname, without//). The method is deprecated; seeDmsObjectUrlService.contentUrl()YuvMediaViewerComponentpassesmetadatathrough to the viewer unchanged. It no longer wraps non-object values into{ [String(value)]: value }, andextendedData()is deprecatedTextComponent.content(),editorOptions()andcontentUrlBlobare deprecated and inert. The component delegates to the Monaco viewer, which loads the content itself;content()always returns an empty stringMediaViewerService.resetViewers()no longer clears the component registry by default. Pass{ components: true }to also remove components registered viasetCustomViewer()/extendViewer()- Removed
@angular/materialand@colsen1991/ngx-translate-extract-markerfrom the peer dependencies. Neither is used by the library - Minimum supported Angular version raised to 21.2.19
Deprecations:
MediaViewerService.srcPath()andMediaViewerService.fileExtension()are deprecated in favour of the newDmsObjectUrlServiceMediaViewerService.width,MediaViewerService.heightandMediaViewerService.setViewerSeize()are deprecated and will be removed in the next major version
Features:
- PDF viewer gained a sidebar with page thumbnails, document structure, attachments and layers, plus a secondary toolbar menu. Individual entries can be hidden via
metadata.secondaryToolbar.hidden - PDF viewer gained a document-properties dialog, scroll and spread modes, and a presentation mode
- The PDF toolbar now adapts to the width of its container rather than the viewport, progressively collapsing controls into the Tools menu so the viewer stays usable inside narrow panels
- E-invoice viewer shows a translated error message when an invoice cannot be loaded, is not a recognized format (UBL 2.1, UN/CEFACT CII 2016b or ZUGFeRD 1.0) or fails to render, instead of leaving an empty frame
- E-invoice viewer re-renders when its
srcinput changes, so hosts can swap the displayed document without recreating the component - Mail bodies and e-invoices rendered in iframes now follow the application’s color scheme. Documents that bring their own colors stay pinned to a light canvas so they do not render transparent-on-dark
- New
MediaViewerService.getComponent(type)resolves the registered component class for a MIME type, returningnullwhen no component is registered - New
DmsObjectUrlServiceprovidesfileExtension(),contentUrl()and slide-rendition paths; the equivalentMediaViewerServicemethods are deprecated and now delegate to it - Exported the MIME type groups (
pdfMimeTypes,imageMimeTypes, …) and the default component registry for reuse in custom viewer setups - The text viewer’s font can be set per instance via
metadata.editorOptions.fontFamily
Bugfixes:
- E-invoice viewer no longer shows
NaNfor absent optional amounts in totals and item price details (HAR-4217) - Emails with nested multipart bodies no longer list their attachments more than once (DB-10084)
- The dynamic viewer no longer recreates the viewer component when only inputs change, preserving scroll position and other internal viewer state
- The PDF zoom dropdown stays in sync with the zoom keyboard shortcuts, which previously left the dropdown showing a stale level
- The error viewer re-renders its message once translations finish loading or the language changes
Dependency Updates:
- Updated pdfjs-dist from 4.10.38 to 6.2.108
- Updated Angular packages from 21.2.9 to 21.2.19
- Updated fast-xml-parser from 5.7.3 to 5.10.1
Released 06/26/2026
Bugfixes:
- Removed leftover debug logging from the Monaco loader, which printed the asset base path and worker URLs to the browser console when the text viewer initialized Monaco
Released 06/26/2026
Bugfixes:
- Monaco editor assets are now resolved relative to the application’s base href instead of the server root, fixing the text viewer in applications deployed to a sub-path (HAR-4158)
- Adapted the Monaco loader to the new monaco-editor API so JSON schema validation and TypeScript compiler options can be configured again
Dependency Updates:
- Updated monaco-editor from 0.52.2 to 0.55.1
- Updated fast-xml-parser from 5.7.1 to 5.7.3
Released 06/12/2026
Bugfixes:
- Fixed the PDF toolbar zoom dropdown not correctly displaying non-preset zoom levels (e.g. 117%) (HAR-4120)
Released 06/12/2026
Bugfixes:
- Fixed e-invoice viewer failing to display translated labels when used with ngx-translate v17 (HAR-4124)
Released 05/29/2026
Bugfixes:
- PDF viewer toolbar now correctly respects the active color scheme, fixing visual inconsistencies in light and dark themes (HAR-3862)
- Improved wording of several UI labels in the PDF search toolbar, e-invoice viewer, and office viewer (English)
Released 05/05/2026
Bugfixes:
- E-invoice viewer now shows a user-friendly error message when not configured, directing users to their administrator
- Office viewer document refresh state label updated for clarity in English and German
Released 05/05/2026
Bugfixes:
- E-invoice viewer now shows a user-friendly error message when not configured, directing users to their administrator
- Office viewer document refresh state label updated for clarity in English and German
Released 04/29/2026
Breaking Changes:
- BREAKING: Upgraded from Angular 19 to Angular 21 — all peer dependencies now require
@angular/core,@angular/common,@angular/forms,@angular/cdkand@angular/platform-browserat^21.2.x - BREAKING:
@angular/materialis now a required peer dependency (^21.2.7) - BREAKING:
ngx-monaco-editor-v2is no longer a peer dependency; the text/code viewer now usesmonaco-editordirectly — consumers must installmonaco-editorand copy its assets instead - BREAKING:
@ngx-translate/corepeer dependency version changed from^15.0.0to17.0.0(pinned) - BREAKING:
@kenjiuno/msgreaderpeer dependency replaced by@kenjiuno/msgreader-web-ng(^0.2.0-alpha1) for browser compatibility — update yourpackage.jsonaccordingly
Features:
- New
OpenOfficeComponentrenders OpenDocument files (ODT, ODP, ODS) via PDF rendition with a download fallback and a simplified-rendering warning banner (HAR-3593) - New
MonacoDirectComponentreplaces the previous Monaco wrapper component (MonacoComponent) with a direct Monaco Editor integration;MonacoLoaderServicehandles lazy loading of editor assets - PDF viewer completely overhauled: new keyboard-shortcut service, password-protection support via
PdfSecurityService, redesigned zoom/search/paging/rotate toolbar, and new overlay styles (HAR-3702) - Video viewer now supports Picture-in-Picture mode via
enterPictureInPicture()andisPipSupported()signal; controllable throughdisablePictureInPicturemetadata flag (HAR-3729) provideMediaViewer()now accepts aneinvoice.saxonJsUrloption for the Saxon-JS runtime URL; a clear error message is shown when unconfigured —MediaViewerProvidersOptionsis now exported for typed configuration (HAR-3316)
Bugfixes:
- Monaco editor container now correctly recalculates its size on host element resize (HAR-3727)
Dependency Updates:
- Updated
fast-xml-parserfrom^5.3.7to5.7.1 - Added
rxjs7.8.2as explicit peer dependency (was already a transitive Angular dependency) - Pinned
pdfjs-distto4.10.38
Released 03/27/2026
Features:
- Mail viewer now parses EML and MSG files with a built-in renderer, removing the dependency on an external service
- Mail viewer now displays email attachments in an interactive carousel with a built-in preview
- PDF viewer toolbar can now be hidden by passing
showToolbar: falsein the viewer metadata (HAR-3443) fileExtension()andsrcPath()are now public methods onMediaViewerService, available for use in custom viewer implementations (HAR-3443)- Office viewer now distinguishes between document-updated and document-converted states when reacting to editing lifecycle events (HAR-3443)
Bugfixes:
- Inline/embedded images are now correctly excluded from the email attachment list
- Fixed attachment chip appearance in the mail viewer
Released 03/09/2026
Bugfixes:
- Made
reloadOffsetoptional inprovideMediaViewer()configuration, defaulting to 1500ms (HAR-3316)
Released 03/09/2026
Features:
- Added visual loading overlay in the Office viewer while a document is being updated after save (HAR-3316)
- Added configurable
reloadOffsetoption toprovideMediaViewer()for tuning the Office document reload timing (HAR-3316) - Added
saxonJsUrlconfiguration option toprovideMediaViewer()for the e-invoice viewer (HAR-3316)
2.0.13
Section titled “2.0.13”Released 03/04/2026
Bugfixes:
- Fixed opening and downloading of attachments in the XRechnung e-invoice viewer, including proper event handling and localized button label (HAR-3178)
- Fixed intermittent availability detection in the Office document viewer (HAR-2858)
2.0.12
Section titled “2.0.12”Released 01/16/2026
Bugfixes:
- Fixed fallback download link for Office documents when Office 365 is unavailable (HAR-2936)
2.0.11
Section titled “2.0.11”Released 11/12/2025
Bugfixes:
- Fixed Office document viewer not refreshing properly after saving changes (HAR-2470)
- Fixed PDF page navigation input accepting invalid page numbers (HAR-2438)
- Fixed incorrect pagination button labels in the PDF toolbar (HAR-2530)
- Fixed Office document previews not loading the correct document version (HAR-2603)
- Improved Office document update event handling to avoid unnecessary reloads (HAR-2585)
- Fixed error messages not showing translated text when a translation key is unavailable (HAR-2457)
2.0.10
Section titled “2.0.10”Released 10/15/2025
Bugfixes:
- Fixed missing OnDestroy import in the PDF viewer component (HAR-2194)
Released 10/10/2025
Bugfixes:
- Fixed text selection and copy functionality in the PDF viewer (HAR-2194)
Released 10/01/2025
Bugfixes:
- Fixed Office document viewer not reloading after document updates (HAR-1505)
Released 09/17/2025
Bugfixes:
- Fixed PDF search bar not being visible on small screens (HAR-1381)
- Fixed button visibility in the PDF toolbar paging controls (HAR-1380)
Released 09/12/2025
Bugfixes:
- Fixed Office document viewer not passing the file name to the Office 365 dashlet (HAR-2037)
Released 08/06/2025
Bugfixes:
- Improved accessibility for image viewer action buttons and PDF toolbar controls (HAR-1373)
- Improved error handling in the email viewer to display errors when emails fail to load (HAR-1274)
Released 06/24/2025
Bugfixes:
- Fixed email attachment display and header details styling (HAR-684)
- Fixed PDF viewer compatibility with Vite-based build environments and improved toolbar styling (HAR-1137)
Released 06/16/2025
Bugfixes:
- Fixed PDF viewer search input placeholder text and toolbar styling (HAR-1137)
Released 06/16/2025
Bugfixes:
- Fixed styling issues in the image viewer component (HAR-1189)
- Fixed missing search and zoom functionality in the PDF viewer (HAR-1213)
Released 06/11/2025
Bugfixes:
- Fixed Office viewer not working in production environments
Released 06/11/2025
Features:
- Added Office 365 dashlet availability check before attempting to load documents (HAR-1154)
- Implemented a new built-in PDF viewer with improved toolbar controls including zoom, search, rotation, and pagination (HAR-1137)
- Added
--ymv-icon-colorCSS variable to customize icon colors across all viewer components (HAR-1189)