Skip to content

Release 26.08.07-01

Choose a tag to compare

@dotCMS-Machine-User dotCMS-Machine-User released this 07 Aug 19:24

dotCMS 26.08.07-01 brings a Content Drive Action Center for bulk workflow operations, an Angular Users portlet in beta, and the libvips image engine enabled by default, alongside search-matching fixes and OpenSearch migration hardening.

Features

  • Content Drive gains an Action Center dialog for running quick actions and workflow actions across a multi-item selection, with per-action eligibility counts. [#36817]
  • Selecting a workflow action in the Action Center now opens a preview of the contentlets it will run on, so the payload can be reviewed and trimmed before firing. [#36884]
  • New Angular Users portlet ships as an opt-in beta with a list view, debounced search, Filter by access type, sortable columns, pagination, and bulk delete. [#36716]
  • Edit Content can now open in a right-to-left slide-in side panel from Content Drive, Query Tool, UVE, and relationship fields, behind the FEATURE_FLAG_EDIT_CONTENT_SIDE_PANEL flag. [#36631]
  • Dev-tool portlets (Query Tool, ES Search, Velocity Playground) now remember your last query across reloads, add a clear-query action, and share a single editor theme. [#36692]
  • The libvips image engine is now enabled by default, falling back to the legacy Java2D engine when the native library is unavailable or an operation fails. [#36885]

Enhancements & Adjustments

  • Block Editor HTML input now supports the same rich-node vocabulary as Markdown via namespaced dotcms-* elements, so HTML is no longer the lossier save-path format. [#36659]
  • Folder tree rendering in the Edit Content host-folder field and the Content Drive sidebar is unified behind a shared component with paginated load-more support. [#36848]
  • Cache flush log messages now identify the user who triggered the flush, and four previously debug-only flush logs were promoted to info. [#36830]
  • Node.js requirement bumped to v22.22.3, with Angular ESLint configurations streamlined across apps and libraries. [#36838]
  • dotcms-models now compiles under TypeScript strict mode, with nullability aligned on DotPageRender and DotPageRenderState. [#35934]

Fixes

  • Global search now matches mid-token fragments and exact full values (for example 1004 or IMG_1004.jpeg), affecting the Content Search portlet, Content Drive keyword search, and relationship field lookups. [#36791]
  • Content Drive keyword search now uses the same index query as the Content Search portlet, eliminating slow and irrelevant results. [#36688]
  • Reverted the H22 cache virtual-thread migration that could stall startup — embedded H2 is file I/O, which does not unmount a virtual thread, so commits pinned their carriers. [#36892]
  • A folder's Content Drive upload-mode preference can now be cleared back to "ask each time" instead of silently keeping its previous value. [#35577]
  • Push publishing a content type whose field was re-created with a different data type now applies that data type on the receiver instead of dropping it. [#36636]
  • Site Search index mirrors across Elasticsearch and OpenSearch now self-heal on crawl, with deletes sweeping both engines so rollback leftovers are not orphaned. [#36360]
  • An OpenSearch shadow store that stops accepting writes is now surfaced as a single actionable error instead of thousands of repeated warnings. [#36222]
  • Side panel accordion labels no longer overlap content when scrolling in the Edit Content sidebar. [#36630]
  • The Content Type dialog now focuses the Name input when creating and focuses nothing when editing, instead of jumping to the new-editor banner checkbox. [#36816]
  • The comment character counter and validation error in the Edit Content sidebar now share one row, error left and counter right, at a constant height. [#36629]
  • Fixed the UVE ema-shell layout when the feature-flag toggle lock is on. [#36866]
  • UVE now handles draft pages whose response is undefined or GraphQL-only, keeping the editor stable while the page resolves. [#36905]
  • Template thumbnail fields now reset cleanly on an empty ID and gained proper id/name attributes, plus safer file-input handling in the binary upload button. [#35930]
  • Applied eager change detection across several Angular components and made custom event handlers register synchronously, so iframe events such as push-publish are never dropped while feature flags load. [#36907]
  • Publishing Queue polish: larger copy-bundle-id target, a compact delete-asset button, and consistent Remove/Delete wording across confirmation dialogs. [#36897]

Infrastructure & Security

  • Evergreen standard and trailing track promotion now runs unattended on a daily 06:00 ET cron, with manual dispatch retained as the reviewer-gated break-glass path. [#36902]
  • Integration-test suites now run full-reindex and content-type-scanning classes first, so they no longer pay for content accumulated by earlier tests. [#36910]
  • Removed real-time waits and per-iteration content-type creation from the slowest integration tests, recovering roughly 4.5 minutes of suite time. [#36913]
  • Installed and customized GitHub Spec-Kit for dotCMS with a legacy-aware constitution and a mandatory ADR-consultation gate on the planning phase. [#36416]
  • Added governance for first-party skills: a naming convention, scaffolder, generated catalog, linter, and a CI gate. [#36466]