Skip to content

Changelog

yuuvis® media viewer

Released 09/02/2026

Deprecations:

  • office.reloadOffset in provideMediaViewer() 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_CONVERTED and OFFICE_DOCUMENT_UNKNOWN are no longer emitted and will be removed in the next major version. Hosts listening for them should switch to OFFICE_DOCUMENT_UPDATE and the new OFFICE_DOCUMENT_ERROR (CASEM-1238)

Features:

  • The Office viewer requires an Office dashlet that sends the Host_PostmessageSSEUpdateDone window 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 after office.reloadOffset. Host_PostmessageObjectUpdating still shows the updating overlay (CASEM-1238)
  • Messages posted to the host (metadata.sendEvent: true) now carry the dashlet status and the objectId in addition to type (OfficeDocumentMessage); existing listeners reading type are unaffected (CASEM-1238)
  • Exported OfficeDocumentMessage type for host applications listening to Office update messages (CASEM-1238)
  • New DASHLET_MESSAGE_EVENTS.OFFICE_DOCUMENT_ERROR is posted when the dashlet reports ERROR or TIMEOUT for a document update (CASEM-1238)
  • The Office viewer shows the updating overlay while the dashlet reports UPDATE_IN_PROGRESS and ignores update messages for a different objectId than 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_EDITING is posted when the dashlet reports IN_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-body is now composed from the library-owned tokens --ymv-font-body-weight, --ymv-font-body-size and --ymv-font-body-line-height, so the viewer typography can be adjusted without redefining the whole shorthand (CASEM-3557)

Bugfixes:

  • @yuuvis/media-viewer/scss no longer sets Angular Material’s --mat-sys-body-medium-font, -size, -weight and -line-height on :root. Since 2.2.0 these declarations overrode the host application’s Material body-medium typography (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 src changes. 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-dist 6.2.108 (from 4.10.38). The peer dependency is pinned, so consuming applications must upgrade with npm install pdfjs-dist@6.2.108 and re-verify their PDF.js asset pipeline
  • fast-xml-parser peer dependency raised to a pinned 5.10.1 (from 5.7.3)
  • Removed useOnlyCssZoom from PdfViewerConfig; it had no effect and is no longer accepted
  • Viewers no longer default to the light theme. When metadata.theme is not set, the theme is derived from the host element’s computed color-scheme and the user’s prefers-color-scheme. Pass metadata.theme: 'light' explicitly to keep the previous behaviour
  • The default font changed from Mulish to Inter via the new --ymv-font-family token, applied consistently across all viewers (which previously mixed Mulish, Roboto and the system default), and the light value of --ymv-primary changed from #13629d to #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 misspelled not.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 from window.location.origin. It previously produced a malformed base (protocol + hostname, without //). The method is deprecated; see DmsObjectUrlService.contentUrl()
  • YuvMediaViewerComponent passes metadata through to the viewer unchanged. It no longer wraps non-object values into { [String(value)]: value }, and extendedData() is deprecated
  • TextComponent.content(), editorOptions() and contentUrlBlob are deprecated and inert. The component delegates to the Monaco viewer, which loads the content itself; content() always returns an empty string
  • MediaViewerService.resetViewers() no longer clears the component registry by default. Pass { components: true } to also remove components registered via setCustomViewer() / extendViewer()
  • Removed @angular/material and @colsen1991/ngx-translate-extract-marker from the peer dependencies. Neither is used by the library
  • Minimum supported Angular version raised to 21.2.19

Deprecations:

  • MediaViewerService.srcPath() and MediaViewerService.fileExtension() are deprecated in favour of the new DmsObjectUrlService
  • MediaViewerService.width, MediaViewerService.height and MediaViewerService.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 src input 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, returning null when no component is registered
  • New DmsObjectUrlService provides fileExtension(), contentUrl() and slide-rendition paths; the equivalent MediaViewerService methods 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 NaN for 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/cdk and @angular/platform-browser at ^21.2.x
  • BREAKING: @angular/material is now a required peer dependency (^21.2.7)
  • BREAKING: ngx-monaco-editor-v2 is no longer a peer dependency; the text/code viewer now uses monaco-editor directly — consumers must install monaco-editor and copy its assets instead
  • BREAKING: @ngx-translate/core peer dependency version changed from ^15.0.0 to 17.0.0 (pinned)
  • BREAKING: @kenjiuno/msgreader peer dependency replaced by @kenjiuno/msgreader-web-ng (^0.2.0-alpha1) for browser compatibility — update your package.json accordingly

Features:

  • New OpenOfficeComponent renders OpenDocument files (ODT, ODP, ODS) via PDF rendition with a download fallback and a simplified-rendering warning banner (HAR-3593)
  • New MonacoDirectComponent replaces the previous Monaco wrapper component (MonacoComponent) with a direct Monaco Editor integration; MonacoLoaderService handles 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() and isPipSupported() signal; controllable through disablePictureInPicture metadata flag (HAR-3729)
  • provideMediaViewer() now accepts an einvoice.saxonJsUrl option for the Saxon-JS runtime URL; a clear error message is shown when unconfigured — MediaViewerProvidersOptions is 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-parser from ^5.3.7 to 5.7.1
  • Added rxjs 7.8.2 as explicit peer dependency (was already a transitive Angular dependency)
  • Pinned pdfjs-dist to 4.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: false in the viewer metadata (HAR-3443)
  • fileExtension() and srcPath() are now public methods on MediaViewerService, 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 reloadOffset optional in provideMediaViewer() 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 reloadOffset option to provideMediaViewer() for tuning the Office document reload timing (HAR-3316)
  • Added saxonJsUrl configuration option to provideMediaViewer() for the e-invoice viewer (HAR-3316)

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)

Released 01/16/2026

Bugfixes:

  • Fixed fallback download link for Office documents when Office 365 is unavailable (HAR-2936)

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)

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-color CSS variable to customize icon colors across all viewer components (HAR-1189)