To get an overview about new functionality, read the [Release Notes] (TODO: add release notes when finished).
To learn about the necessary actions to update Livingdocs to release-2025-05
, read on.
Attention: If you skipped one or more releases, please also check the release-notes of the skipped ones.
Webinar
- Feature Webinar Recording: TODO
- Feature Webinar Documentation: TODO
- Dev Webinar Recording: TODO
- Dev Webinar Slides: TODO
- Release Newsletter Subscription
System Requirements
Suggested
Name | Version |
---|---|
Node | 22 |
NPM | 10 |
Postgres | 16 |
Elasticsearch OpenSearch | 8.x v2.3.0 |
Redis | 7 |
Livingdocs Server Docker Image | livingdocs/server-base:22 |
Livingdocs Editor Docker Image | livingdocs/editor-base:22 |
Browser Support | Edge >= 92, Firefox >= 90, Chrome >= 92, Safari >= 15.4, iOS Safari >= 15.4, Opera >= 78 |
Minimal
Name | Version |
---|---|
Node | 20.19 |
NPM | 10 |
Postgres | 13 |
Elasticsearch OpenSearch | 7.x 1 |
Redis | 6.2 |
Livingdocs Server Docker Image | livingdocs/server-base:20:7 |
Livingdocs Editor Docker Image | livingdocs/editor-base:20:7 |
Browser Support | Edge >= 92, Firefox >= 90, Chrome >= 92, Safari >= 15.4, iOS Safari >= 15.4, Opera >= 78 |
Breaking Changes 🔥
Update Minimal Node Version v20.19 🔥
The minimal supported Node.js version is now v20.19.0
.
This version allows us to require esm modules within commonjs.
Removal of Desk-Net in favor to Kordiam 🔥
Desk-Net rebranded as Kordiam. To align Livingdocs with this change, we previously introduced corresponding Kordiam properties, features, and plugins. With this release, we are removing the superseded Desk-Net functionality:
- Feature
li-desknet
andli-desknet-
integration, including all server APIs - Server config
desknet
,integrations.desknet
, andhugo.print.desknetMetadataFields
- Project config
settings.desknet
,settings.integrations.desknet
, andcontentTypes.[*].desknet
- Function parameter
desknetApi
of Desk-Net/Kordiam functions desknet
property in the return objects ofprojectApi.getProject()
andsystemApi.config()
- Metadata plugins
li-desknet-global
,li-desknet-integration
, andli-desknet-schedule
- li-kordiam-schedule config property
desknetExternalElementIdMetadataPath
- TODO: @marcbachmann -> API urls changes?
Removal of Menu Tool 🔥
The Menu Tool has been removed.
- Menu items
{liItem: 'menus'}
are no longer supported. Please remove them from the project config. - Public API GET
/api/:apiVersion/menus/:channelHandle?
has been removed. - Feature
li-menus
has been removed including all its server APIs.
Removal of config.contentTypes 🔥
The deprecated shorthand property config.contentTypes
in the li-document-search metadata plugin was now removed.
Use config.contentType
instead.
Deprecations
There have been no deprecations since the last release.
Features
Exposure Boosting 🎁
When using algorithmic teasers, the order of the documents is determined by a sort criteria. Oftentimes, this is the latest publication date. By activating the exposure boost for a document, it will appear before all non-boosted documents returned by an algorithm. This is useful, in scenarios where algorithms receive high frequency updates and important topics would get pushed down quickly. The effect will go away automatically after a certain time.
Add the
li-exposure-boost
plugin to your content type metadata{ handle: 'article', // ... metadata: [ // ... { handle: 'exposureBoost', type: 'li-exposure-boost', config: { index: true } } ] }
- handle: Make sure to use the same handle for all content types where the plugin is configured
- indexing: The config option
index
needs to be enabled for it to work
Generally allow exposure boosting for certain teasers in their service params schema
{ name: 'someTeaserService', paramsSchema: [ // ... { handle: 'someTeaser', type: 'li-teaser', config: { // ... algorithm: { // ... allowExposureBoost: true } } } ] }
Show the exposure boost UI on a Table Dashboard (optional)
{ handle: 'someDashboard', // ... columns: [ // ... { label: 'Boost', minWidth: 100, growFactor: 0, priority: 1, metadataPropertyName: 'exposureBoost', editable: true } ] }
Visit the li-exposure-boost
plugin page for more information.
Document Inbox for Data Records 🎁
Media Center Image Editing 🎁
PEIQ Integration - Article Import 🎁
Media Center - Delete language metadata set 🎁
Table Dashboards - Support All Metadata Cells 🎁
In earlier iterations of the Table Dashboards, metadata plugin support was limited. However, as the feature has become more widely adopted inconsistencies across plugin behaviour became confusing and problematic.
This release addresses that gap by adding support for a broader range of metadata plugins in table dashboards, improving completeness and consistency across the system. Newly supported plugins include:
- li-datetime, li-system-datetime
- li-date, li-system-date
- li-enum, li-system-enum
- li-document-references
- li-target-length
Additional oEmbed Providers 🎁
Added Clipboard Context
This release enhances clipboard usability for nested components. Previously, when copying or cutting nested components, the clipboard displayed only the component name, with no descriptive context making it difficult to distinguish between components, especially those with identical names. The clipboard preview now includes the content of the first descendant as a description, providing better context and improving the overall editing experience.
Clickable Titles in Teaser Sidebar
Teaser titles are now clickable, allowing editors to directly open the linked article in a new window without needing to navigate to it manually. This enables more efficient workflows for all those roles that work with the teaser sidebar.
Vulnerability Patches
We are constantly patching module vulnerabilities for the Livingdocs Server and Livingdocs Editor as module fixes are available. Below is a list of all patched vulnerabilities included in the release.
Livingdocs Server
This release we have patched the following vulnerabilities in the Livingdocs Server:
- CVE-2025-32442 patched in
fastify
v5.3.2 - [CVE-2025-27789] https://github.com/advisories/GHSA-968p-4wvh-cqc8 patched
@babel/runtime
&@babel/helpers
v7.26.10
No known vulnerabilities. 🎉
Livingdocs Editor
This release we have patched the following vulnerabilities in the Livingdocs Editor:
- CVE-2025-32442 patched in
fastify
v5.3.2 - [CVE-2025-27789] https://github.com/advisories/GHSA-968p-4wvh-cqc8 patched
@babel/runtime
&@babel/helpers
v7.26.10
We are aware of the following vulnerabilities in the Livingdocs Editor:
- CVE-2023-44270 vulnerability in
postcss
, it affects linters using PostCSS to parse external Cascading Style Sheets (CSS). It is not exploitable in the editor as we don’t load untrusted external CSS at build time. - CVE-2023-26116, CVE-2023-26118, CVE-2023-26117, CVE-2022-25869, CVE-2022-25844 are all AngularJS vulnerabilities that don’t have a patch available. We are working on removing all AngularJS from our code and vulnerabilities will go away when we complete the transition to Vue.js.
Patches
Here is a list of all patches after the release has been announced.
Livingdocs Server Patches
v276.3.6: fix(deps): update dependency @livingdocs/framework from 32.7.6 to v32.7.7
v276.3.5: fix: Convert gif images to webp when rendering in the editor
v276.3.4: fix: Support downloading images from /serve-image endpoint
v276.3.3: fix(queue): Execute redis streams cleanup only on worker
v276.3.2: fix(data-migration-run): Parse argument –filter-by-id to integers
v276.3.1: fix(peiq-agency): Improve handling of empty property image_ids
Livingdocs Editor Patches
v117.6.15: fix(deps): update dependency @livingdocs/framework from 32.7.6 to v32.7.7
v117.6.14: fix(image-editing): Show image editor button also if it is the only action
v117.6.13: fix: Disable supportsVideoConversion in rendering image service
v117.6.12: fix: dont disable metadata button
v117.6.11: fix(deps): Update Pintura to v8.92.14
v117.6.10: fix: Compute clipboard image URL with rendering image service
v117.6.9: fix: Remove non-existent linked Pintura package from downstream tests
v117.6.8: fix(ticker): Prevent component blur when clicking on component area
v117.6.7: fix: Download images from /serve-image endpoint
v117.6.6: fix(login): Show login errors correctly. Do not prune the hash part if it doesn’t include a token parameter
v117.6.5: fix(properties-panel): Always show “Has local changes” for documents
v117.6.4: fix(drag-drop): Clear up markers after dragend event
v117.6.3: fix(core): Replace app when registering project settings components
v117.6.2: fix(properties-panel): Hide edit local version when empty
Icon Legend
- Breaking changes: 🔥
- Feature: 🎁