Current
Maintained
release-2022-09
September 2022 Release

Attention: If you skipped one or more releases, please also check the release-notes of the skipped ones.

Webinar

System Requirements

Suggested

NameVersion
Node16
NPM8
Postgres14
Elasticsearch7
Redis7
Livingdocs Server Docker Imagelivingdocs/server-base:16
Livingdocs Editor Docker Imagelivingdocs/editor-base:16
Browser SupportEdge >= 80, Firefox >= 74, Chrome >= 80, Safari >= 13.1, iOS Safari >= 13.4, Opera >= 67

Minimal

NameVersion
Node14
NPM7
Postgres12
Elasticsearch6.x (Deprecated)
Redis5 (Deprecated)
Livingdocs Server Docker Imagelivingdocs/server-base:14.3
Livingdocs Editor Docker Imagelivingdocs/editor-base:14.3
Browser SupportEdge >= 80, Firefox >= 74, Chrome >= 80, Safari >= 13.1, iOS Safari >= 13.4, Opera >= 67

Highlights

Metadata Plugin li-text improvements

Add new config options minLength, recommendedMinLength, maxLength, recommendedMaxLength and a better visual feedback if the values are exceeded or fallen below.

Metadata Plugin li-date

The metadata plugin li-date allows to set a date without time.

Metadata Plugin li-tree

li-tree lets you set up a tree with items of the 3 possible types group, link, document.

Metadata Plugin li-issue-management

The li-issue-management metadata plugin can be used to manage issues (a data-record with references to pages).

Document Creation Flow

With a Document Creation Flow you can configure how a document gets created:

  • Define a create button (only supported for Table Dashboards)
  • Define fields on the document creation modal
  • Register a create function to parse the data which creates the document

References:

Deliveries: Status and Build Triggers

For infinite products like an e-paper there is usually a “build” stage involved. With the new Deliveries feature we allow a customer to trigger a remote system to kick off a build and report the status of the build back to Livingdocs. This allows an editor to get a better view on the infinite product life cycle. These are the features:

  • Trigger a build of a remote build system in the Publish Control view
  • Get an overview of the build state in the Publish Control view
  • Allow a remote build system to report its status back to Livingdocs

References:

Table Dashboards (full working version)

Table Dashboards are a flexible type of dashboards where individual columns can be configured. From the September release on this is the new standard Dashboard and old versions should be migrated to these new type of Dashboard.

References:

Desk-Net: Schedule Extensions + Production Features

The Desk-Net integration has been extended with some new features:

  • Fixing the Desk-Net Schedule side panel to a specific date
  • Filtering the documents displayed in the Desk-Net Schedule side panel by story status, platform status, and whether they have been imported to Livingdocs
  • Linking Livingdocs documents to Desk-Net using a metadata value when li-desknet-integration is not used
  • Registering a server function to handle the placement of teasers into a document using the Desk-Net Schedule data

References:

Breaking Changes ๐Ÿ”ฅ

Migrate the database ๐Ÿ”ฅ

# run `livingdocs-server migrate up` to update to the newest database scheme
# migration 179-fix-media-library-index.js
#   alter media library index
# migration 180-inbox-insert-item.js
#   add 3 psql function to handle inbox
# migration 181-add-document-publication-delivery-statuses.js
#   add table document_publication_delivery_status_reports
livingdocs-server migrate up

Remove Support for Postgres 11 ๐Ÿ”ฅ

๐Ÿ”ฅ Support for Postgres 11 has been removed. Please Update to Postgres 14 (12+ is supported).

Remove Support for Redis <5 ๐Ÿ”ฅ

๐Ÿ”ฅ Support for Redis <5 has been removed. Please Update to Redis 7 (5+ is supported).

Metadata Plugin li-text

  • ๐Ÿ”ฅ metadata type li-text: remove property ui.component
  • ๐Ÿ”ฅ metadata type li-text: remove property ui.config.rows

restore to the old behavior

To restore to the old behavior is not 100% possible because the updated version of li-text is smarter and needs less config. One important change is that the field extends its size automatically based on the amount of content added.

If you have defined LiMetaTextareaForm as UI component or set rows, you have now to set allowNewlines: true.

For other changes please consult the documentation

Backward Compatibility Mode

If you have issues with the update, you can enable the backward compatibility mode where li-text configs are not validated.

โ— Only need that mode until you solved your issues with li-text! This mode is only thought for a short time period to migrate the old metadata.

// server config
// ignore validation for metadata plugin  'li-text' and 'li-string-list', all other plugins are validated
metadataPluginsToIgnoreForConfigValidation: ['li-text', 'li-string-list'],

All HTTP APIs: Remove support for contentType: ‘multipart/form-data’"

  • ๐Ÿ”ฅ Remove multer module by removing support for contentType: 'multipart/form-data' configs on route declarations (LIBREAKING011). Please come to us if the server doesn’t start anymore because of that (as stated in the error message).
  • ๐Ÿ”ฅ Remove jsonp callback support as there was never a need for it and it wasn’t documented at all.

Document Publication Lifecycle Update

๐Ÿ”ฅ Move server hook preparePublish hooks after metadata plugin onPreparePublish hooks (see Diagram).

During the migration to the preparePublish hooks, the order accidentally changed. Before, the prePublish hooks were run after the metadata plugin onPublish hooks. This has the effect that required metadata are always present in the preparePublish hooks, unlike before where they still could be missing.

Deprecations

Dashboards Configs โ—โ—โ—

The following configurations are deprecated and will be removed in the future. If you need them longer than release-2022-11, please think about a plan with timing to not depend on the Legacy Dashboards anymore and let your Customer Solutions Manager know about it. We will find a solution.

Deprecated Editor Configs:

  • app.filters.inlineArticleList
  • app.filters.articleList
  • app.filters.pageList
  • app.filters.dataRecordList
  • app.filters.menuList
  • search.articleSearch.listItemComponent

Systemdata

Normalize documentWriteModel.systemdata and documentVersion.systemdata. Old properties are defined as getters and emit deprecation warnings (LIDEP018), new properties are enumerable on the object.

  • systemdata.project_id > systemdata.projectId
  • systemdata.channel_id > systemdata.channelId
  • systemdata.document_id > systemdata.documentId
  • systemdata.revision_id > systemdata.revisionId
  • systemdata.remote_id > systemdata.remoteId
  • systemdata.content_type > systemdata.contentType
  • systemdata.document_type > systemdata.documentType
  • systemdata.designDescriptor > systemdata.design
  • systemdata.publication_id > systemdata.publicationId
  • systemdata.publication_date > systemdata.lastPublicationDate
  • systemdata.first_publication_date > systemdata.firstPublicationDate

Redis 5

Redis 5 has been deprecated. Please Update to Redis 7.

Metadata Plugin li-desknet-platforms

The li-desknet-platforms metadata plugin has been replaced by li-desknet-schedule. The li-desknet-platforms plugin stored an array of objects containing platformId and categoryId values. The new li-desknet-schedule storage schema is an object with a platforms property which stores this array, along with a new date property. The new plugin also has some additional config options.

Desk-Net scheduleEnabled

Please remove projectConfig.settings.desknet.scheduleEnabled, because it has no longer has any effect. The schedule will be enabled when Desk-Net is enabled in the server config, and the content type has the li-desknet-schedule metadata plugin.

Deprecate ui.config.rows of li-text

Remove ui.config.rows config of metadata plugin li-text. If defined, replace it with config.allowNewlines: true, if you want to allow newline characters stored.

APIs ๐ŸŽ

Publication Delivery

  • ๐ŸŽ Add server API publicationApi.getDeliveryStatusReport({projectId, documentId})
  • ๐ŸŽ Add server API publicationApi.triggerBuild -> fires a new Server Event document.build
  • ๐ŸŽ Add POST /api/v1/documents/:documentId/addDeliveryStatus endpoint to Public API
  • ๐ŸŽ Add Server Event document.build
  • ๐ŸŽ Add Webhook Event document.build

Other Changes

Security

Design

Features

Improvements

Bugfixes

Patches

Here is a list of all patches after the release has been announced.

Livingdocs Server Patches

  • v194.0.10: fix: add index for user_id in user_occupations
  • v194.0.9: fix(desknet): Get default content from content type, not settings
  • v194.0.8: fix(cheerio): cheerio can be passed from downstream implementation to CheerioHtml in params argument, wrapper around cheerio require
  • v194.0.7: fix: allow null values for ‘validFrom’ and ‘validTo’.
  • v194.0.6: fix(google-vision): Rework google vision feature register function and set to disable by default
  • v194.0.5: chore(httpServer): Log deprecation warnings about server configs that moved to httpServer
  • v194.0.4: fix(issue-management): enable composition api
  • v194.0.3: fix: add assets property to contentType config
  • v??.?.?: text

Livingdocs Editor Patches

  • v81.20.40: fix(creation-flow): Prefill values after creating document

  • v81.20.39: fix(editor): fix prepare-publication endless loop

  • v81.20.38: fix(German Comments): Mix up corrected

  • v81.20.37: fix: remove unnecessary newline

  • v81.20.36: fix(metadata): fix vue type of reference label to not log error

  • v81.20.35: fix(media-library): Move validity icon to avoid duration overlap

  • v81.20.34: chore(cypress): improve the video test reliability

  • v81.20.33: fix(properties): Hide teaser format select when no transforms

  • v81.20.32: fix(li-component-link): update link if component changed

  • v81.20.31: chore(prepare-publish): implement code review feedback

  • v81.20.30: fix(ComponentLink): Now moves with componentSelection

  • v81.20.29: fix: clearing of ‘validFrom’ and ‘validTo’

  • v81.20.28: fix(copyButton): Article State persists on cancel

  • v81.20.27: fix(desknet-create): resolve includes

  • v81.20.26: fix(insert panel): Divider visibility

  • v81.20.25: fix(Session): Styling updated when expired

  • v81.20.24: fix(table dashboards): provide a documentLoader to dashboard cards

  • v81.20.23: fix(documentSoftLock): Counter alginment

  • v81.20.22: fix: close document copy popup when clicking on X or outside the popup

  • v81.20.21: chore: improve comment

  • v81.20.20: fix: update framework to latest release-2022-09 patch 24.3.3

  • v81.20.19: chore(text-formatting): Remove AngularJS component link directive

  • v81.20.18: fix(archived documents): Are removed from multilist inbox

  • v81.20.17: fix(li-metadata-form): save open/closed state of metadata cards for each contentType seperatly

  • v81.20.16: fix(metadata-mapper): always emit event when updating metadata

  • v81.20.15: fix(text only buttons): Spacing

  • v81.20.14: fix(history): Prevent app from crashing when toggling history

  • v81.20.13: fix: log framework violations after initialization

  • v81.20.12: fix(dashboards): Add back button fallback

  • v81.20.11: fix(document editing toolbar): enable flyouts opened from hidden actions on narrow screens

  • v81.20.10: fix: handle cases where no teaserComponents are configured

  • v81.20.9: fix: use require instead of import for VUE composition apis

  • v81.20.8: fix(dashboards): when a dashboard holds a configured document creation flow button(s), no default create button is shown

  • v81.20.7: fix(draft): Fix bug preventing publication of data records

  • v81.20.6: fix(listInbox): Cannot remove doc during publish

  • v81.20.5: fix(metadata): don’t error in any case when metadata properties are updated

  • v81.20.4: fix(publish state): Line Wrap

  • v81.20.3: fix: update framework version to release-2022-09

  • v??.?.?: text


    Icon Legend

    • Breaking changes: ๐Ÿ”ฅ
    • Feature: ๐ŸŽ
    • Bugfix: ๐Ÿชฒ
    • Chore: ๐Ÿ”ง