Skip to content

9.2.0

Choose a tag to compare

@github-actions github-actions released this 20 Jul 11:48
36ee514

@comet/admin@9.2.0

Patch Changes

  • 5a05d97: Fix separation of multiple selected values in FinalFormSelect

    When using multiple, the selected values were rendered concatenated without any separator (e.g. value-2value-1value-3value-4). They are now separated by a comma, matching the display of SelectField.

    This affects all fields that render their selected values through the options/getOptionLabel path (i.e. without JSX children), namely AsyncSelectField and any FinalFormSelect used with an array value. Within Comet, this also corrects the display of the targetGroups and test email address selects in @comet/brevo-admin (SendManagerFields, TestEmailCampaignForm), which consume FinalFormSelect and had the same issue.

@comet/cms-admin@9.2.0

Minor Changes

  • ee0bf93: Add AI content disclosure for DAM assets (EU AI Act, Article 50)

    Editors can mark a DAM asset as AI generated or AI modified in the file settings. When such an asset is published, the site renders the official EU AI-content label and merges the disclosure into the media element's accessible name, so screen-reader users learn which asset is AI.

    API

    New aiContentType field (Generated | Modified) on DAM files, exposed through the PixelImage and DamVideo blocks.

    Admin

    New "AI content" field in the DAM file settings, shown for image, video and audio assets only (other file types cannot constitute a deep fake).

    Site

    PixelImageBlock and DamVideoBlock render the disclosure automatically for marked assets. Both accept props to customize it:

    • aiContentDisclosureProps — override the badge.

    • customAiContentDisclosure — render your own disclosure, or null for none.

    • aiContentAltTextPrefixLabels — localize the accessible-name prefix (defaults to English).

      @comet/site-react also exports the AiContentDisclosure badge and the getAiContentAltTextWithPrefix helper.

  • ba56f97: Warn editors when videos that are too large for performant delivery are used

    Videos are delivered without optimization, so large videos can lead to poor loading performance. A warning is now shown when a video exceeds a configurable file size:

    • as a snackbar after uploading it to the DAM

    • as an alert on the DAM asset detail page

    • as an alert in the DamVideoBlock when such a video is selected

      The threshold defaults to 10 MB and can be configured (or the warning disabled entirely) via the new videoPerformanceWarningFileSize option in the dam config:

      <CometConfigProvider
          dam={{
              // ...
              videoPerformanceWarningFileSize: 25, // warn for videos larger than 25 MB
              // or set to `false` to disable the warning globally
          }}
      >

Patch Changes

  • 8c866a3: Persist the DAM sorting preference across sessions

    The Digital Asset Management asset list now remembers the selected sorting (column and direction) in localStorage instead of resetting to alphabetical (name ascending) on every visit.

  • 48d06d6: Fix hard-to-read text color in the DAM drag & drop upload overlay

    The upload overlay (shown when dragging files over a DAM folder) used a dark grey text color on its near-black background, making the text hard to read. It now uses white text for proper contrast.

  • eb0b156: Fix the warnings page crashing due to an invalid state filter

    The WarningsGrid initialized its default filter with the field state instead of status, which doesn't exist on the WarningFilter input type. This caused the GraphQL request to fail with a 400 Bad Request, crashing the warnings page (/system/warnings).

@comet/cms-api@9.2.0

Minor Changes

  • ee0bf93: Add AI content disclosure for DAM assets (EU AI Act, Article 50)

    Editors can mark a DAM asset as AI generated or AI modified in the file settings. When such an asset is published, the site renders the official EU AI-content label and merges the disclosure into the media element's accessible name, so screen-reader users learn which asset is AI.

    API

    New aiContentType field (Generated | Modified) on DAM files, exposed through the PixelImage and DamVideo blocks.

    Admin

    New "AI content" field in the DAM file settings, shown for image, video and audio assets only (other file types cannot constitute a deep fake).

    Site

    PixelImageBlock and DamVideoBlock render the disclosure automatically for marked assets. Both accept props to customize it:

    • aiContentDisclosureProps — override the badge.

    • customAiContentDisclosure — render your own disclosure, or null for none.

    • aiContentAltTextPrefixLabels — localize the accessible-name prefix (defaults to English).

      @comet/site-react also exports the AiContentDisclosure badge and the getAiContentAltTextWithPrefix helper.

  • 8d46a98: Remove special handling that excluded DAM URLs from the access log

    Previously, requests to DAM routes were excluded from the access log. They are now logged like any other HTTP request.

Patch Changes

  • 3c28742: Prevent pg_advisory_xact_lock query spam when refreshing block index dependencies

    DependenciesService.refreshViews() runs once per resolved dependents/dependencies field, so a single view (e.g. the DAM "Usages" column) triggers many parallel refreshes. When the last refresh was older than 15 minutes (or none existed), each took the blocking lock path and piled up waiting, each holding a database connection. This could exhaust the connection pool and surface as Knex: Timeout acquiring a connection errors.

    Parallel refreshes within a process are now deduplicated into a single in-flight refresh, so at most one advisory lock is taken per instance, while the cross-instance advisory lock still prevents concurrent REFRESH MATERIALIZED VIEW runs.

@comet/site-nextjs@9.2.0

Minor Changes

  • ee0bf93: Add AI content disclosure for DAM assets (EU AI Act, Article 50)

    Editors can mark a DAM asset as AI generated or AI modified in the file settings. When such an asset is published, the site renders the official EU AI-content label and merges the disclosure into the media element's accessible name, so screen-reader users learn which asset is AI.

    API

    New aiContentType field (Generated | Modified) on DAM files, exposed through the PixelImage and DamVideo blocks.

    Admin

    New "AI content" field in the DAM file settings, shown for image, video and audio assets only (other file types cannot constitute a deep fake).

    Site

    PixelImageBlock and DamVideoBlock render the disclosure automatically for marked assets. Both accept props to customize it:

    • aiContentDisclosureProps — override the badge.

    • customAiContentDisclosure — render your own disclosure, or null for none.

    • aiContentAltTextPrefixLabels — localize the accessible-name prefix (defaults to English).

      @comet/site-react also exports the AiContentDisclosure badge and the getAiContentAltTextWithPrefix helper.

@comet/site-react@9.2.0

Minor Changes

  • ee0bf93: Add AI content disclosure for DAM assets (EU AI Act, Article 50)

    Editors can mark a DAM asset as AI generated or AI modified in the file settings. When such an asset is published, the site renders the official EU AI-content label and merges the disclosure into the media element's accessible name, so screen-reader users learn which asset is AI.

    API

    New aiContentType field (Generated | Modified) on DAM files, exposed through the PixelImage and DamVideo blocks.

    Admin

    New "AI content" field in the DAM file settings, shown for image, video and audio assets only (other file types cannot constitute a deep fake).

    Site

    PixelImageBlock and DamVideoBlock render the disclosure automatically for marked assets. Both accept props to customize it:

    • aiContentDisclosureProps — override the badge.

    • customAiContentDisclosure — render your own disclosure, or null for none.

    • aiContentAltTextPrefixLabels — localize the accessible-name prefix (defaults to English).

      @comet/site-react also exports the AiContentDisclosure badge and the getAiContentAltTextWithPrefix helper.