Caveat 🔥
These are the release notes of the upcoming release (pull requests merged to the main branch).
- ℹ️ this document is updated automatically by a bot (pr’s to categorize section)
- ℹ️ this document will be roughly updated manually once a week (put PRs + description to the right section)
- 🔥 We don’t guarantee stable APIs. They can still change until the official release
- 🔥 Integration against the upcoming release (currently
mainbranch) is at your own risk
PRs to Categorize
Show additional info toggle in side panels for all media types
chore(deps): update dependency @google-cloud/storage from 7.17.3 to v7.18.0 (main)
Use start of week for current week active date range in planning board
fix(tableDashboard): show language dialog for single contentTypes
Inject built-in content type liNewsAgencyReport when writing project config
chore(deps): update dependency posthog-node from 5.12.0 to v5.13.2 (main)
Validate content schema when importing document via Public API
fix(deps): update dependency inquirer from 12.11.1 to v13 (main)
Migrate remaining Media Library views from Angular.js to Vue
Collapse li-tree properties if treeInitiallyCollapsed is set
Serve image in Public API with valid content type if no format is specified
Prevent duplicate component ids when pasting container components from clipboard
chore(deps): update dependency puppeteer-core from 24.28.0 to v24.29.0 (main)
chore(deps): update aws-sdk from 3.918.0 to v3.920.0 (main) (minor)
To get an overview about new functionality, read the Release Notes.
To learn about the necessary actions to update Livingdocs to release-2026-01, 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 | 24 |
| NPM | 11 |
| Postgres | 17 |
| Elasticsearch | 9.x |
| OpenSearch | 2.3.0 |
| Redis | 8 |
| Livingdocs Server Docker Image | livingdocs/server-base:24 |
| Livingdocs Editor Docker Image | livingdocs/editor-base:24 |
| Browser Support | Chrome >= 144, Edge >= 144, Firefox >= 146, Safari >= 26.0 |
Minimal
| Name | Version |
|---|---|
| Node | 22.17.1 |
| NPM | 10 |
| Postgres | 14 |
| Elasticsearch | 7.x |
| OpenSearch | 1 |
| Redis | 6.2 |
| Livingdocs Server Docker Image | livingdocs/server-base:22 |
| Livingdocs Editor Docker Image | livingdocs/editor-base:22 |
| Browser Support | Chrome >= 131, Edge >= 131, Firefox >= 133, Safari >= 18.2 |
Deployment
Before the deployment
No pre-deployment steps are required before rolling out this release.
Rollout deployment
Migrate the Postgres Database
No migrations are required for this release.
After the deployment
No post-deployment steps are required after rolling out this release.
Rollback
No rollback steps are required for this release.
Breaking Changes 🔥
Validation of Delivery References 🔥
Deliveries referenced by project config property contentTypes[].deliveries[].deliveryName are now validated. If a delivery reference is invalid, an error will be thrown. Make sure the referenced deliveries exist.
Publish Control Restrictions When Print Mode Is Enabled 🔥
The project config properties contentTypes[].publishControl.publishSchedule,
contentTypes[].publishControl.unpublishSchedule,
contentTypes[].publishControl.significantPublicationDate, and
contentTypes[].publishControl.resetVisiblePublicationDateOverrideOnSignificantUpdate
are no longer supported when contentTypes[].print is enabled.
These settings were already partially unsupported in the Livingdocs Editor. We’re now enforcing the same behavior in the Livingdocs Server as well.
Deprecations ⌛
Publish Type ⌛
Project config properties deliveries[].publishType and contentTypes[].publishType have been deprecated and will be removed in release-2026-07. Please migrate to the newly introduced Publish Control Export Mode instead.
Search Metadata Mapping
The search.metadataMapping server config property is deprecated. Please switch to dynamic metadata mapping.
The relevant li-* core plugins have indexing enabled, but for custom plugins you might need to add an indexing config to your metadata plugin:
{
name: 'my-slug',
indexing: {
enabled: true,
behavior: [
{type: 'text'},
{
type: 'keyword',
getValue(val) {
if (val.length > 100) return val.substr(0, 100)
return val
}
}
]
},
storageSchema: {
type: 'string'
}
}
In the content type config or media type config you will also need to set config.index: true:
{
handle: 'slug',
type: 'my-slug',
config: {
index: true
}
}
More details can be found in the documentation:
- Enable indexing on metadata plugin
- Publication Index > Metadata Plugins
- Create your own Metadata Plugin
Deprecate various search schema properties
The following server config properties are deprecated and will be removed in release-2026-07:
search.queryBuilderConfigsearch.implementationVersionsearch.reindexBatchSizesearch.reindexDelaysearch.reindexConcurrencysearch.fieldssearch.gaussScalesearch.gaussDecaysearch.gaussOffsetsearch.gaussWeightsearch.prefixQueryTypesearch.prefixQueryFieldssearch.fulltextQueryTypesearch.fulltextQueryOperator
Declarative Document Copy API
The Declarative Document Copy API (which uses the settings.copy object in the project config) has been deprecated.
Please use Document Copy Flows and Document Transform Flows instead:
- https://docs.livingdocs.io/guides/editor/document-copy-flows
- https://docs.livingdocs.io/guides/editor/document-transform-flows
Features 🎁
Publish Control Export Mode 🎁
Publish control export mode is a new way to export documents from Livingdocs to external systems. It is meant for publishers who use Livingdocs not only for websites but also for print products, digital editions, or newsletters.
In the past, editors had to publish a document first and then trigger an export separately. For some content types this was inconvenient.
With export mode, editors can now export a document with a single button click. This makes it easier to produce print articles and newsletters from the Livingdocs editor.

Under the hood, export mode combines existing concepts such as publishing and delivery builds. For instructions and more details, refer to the Publish Control Export Mode guide.
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:
- TBD
No known vulnerabilities. 🎉
Livingdocs Editor
This release we have patched the following vulnerabilities in the Livingdocs Editor:
- TBD
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-2022-25844, CVE-2022-25869, CVE-2023-26116, CVE-2023-26117, CVE-2023-26118, CVE-2024-8372, CVE-2024-8373, CVE-2024-21490, CVE-2025-0716 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.
- CVE-2024-9506 vulnerability in
vue, an ReDoS vulnerability exploitable through inefficient regex evaluation in parseHTML function. The issue can cause excessive CPU usage but is not exploitable in the editor as we don’t load untrusted HTML at runtime.
Patches
Here is a list of all patches after the release has been announced.
Livingdocs Server Patches
Livingdocs Editor Patches
Icon Legend
- Breaking changes: 🔥
- Feature: 🎁