Release 26.03.26-01
Release: v26.03.23-01 → v26.03.26-01
Caution
Rollback Warning: This release contains an irrevertable change that is non-trivial to rollback from.
- GraphQL / SDK: Adding
numberContentsto theDotPageGraphQL schema and SDK interfaces means headless consumers may already depend on this field; rolling back removes it and breaks those callers. (#34966)
Features & Enhancements
- GraphQL: Added
numberContents: Intfield to theDotPageGraphQL type, matching the REST Page API and unblocking headless edit-mode logic that depends on page content count; field is also propagated through the TypeScript SDK'sDotCMSGraphQLPageinterface and default query. (#34966) - SDK (React): Added React Server Component support via a
react-serverexport condition that excludes TinyMCE and browser-only hooks, abuildSlots/slotsAPI for injecting pre-rendered async server components into the client page layout, and a server-compatibleDotCMSBlockEditorRendererwith synchronous validation. (#35049) - SDK (create-app): Added
--starter <url>CLI flag to setCUSTOM_STARTER_URLwhen runningdocker compose upfor local dotCMS Docker deployments. (#35025) - UVE: Implemented
data-dot-style-propertiesattribute on container-rendered output and added script injection forregisterStyleEditorSchemas()on traditional pages, covering all Content Types with defined Style Editor schemas. (#35046) - UI: Standardized
.input/.btn.btn-primaryclasses across custom field templates, replaced a custom dropdown for tag storage host selection with a native<select>element, and enhanceddaisyui-theme.csswith new primary color CSS variables and improved select-field focus states. (#35085, #35102) - Search (OpenSearch): Introduced vendor-neutral write-side abstractions (
ContentletIndexOperations,IndexBulkRequest,PhaseRouter) with Elasticsearch and OpenSearch implementations, completing the dual-write infrastructure required for ES → OpenSearch migration phases 1–3. (#35103)
Fixes and Known Issues
- Search (OpenSearch): Fixed
ContentFactoryIndexOperationsOSinstantiating a newOSQueryCacheon every call instead of using the sharedCacheLocatorsingleton, which silently bypassed the query cache in production. (#35104) - Docker: Added automatic FIPS mode detection at container startup that sets
CMS_SSL_ENGINE=offwhen/proc/sys/crypto/fips_enabledis set, preventing JVM crashes with OpenSSL 3.x while keeping APR SSL enabled by default for performance; manual override is available viaCMS_DISABLE_APR_SSLorCMS_SSL_ENGINE. (#34213) - Edit Content (Relationship Field): Fixed a circular dependency (NG0919) in
dot-relationship-field.component.tsby lazy-loadingDotEditContentDialogComponent, and corrected asignalMethodcall that was passing a signal reference instead of its value. (#35099) - SDK: Synced
create-apppackage version to 1.2.5 to match all other SDK packages. (#35107)
Infrastructure & Security
- CI/CD: Fixed
CLI Deploystep not forwardingartifact-run-idtodeploy-jfrog, which caused deployment failures when build reuse was enabled and nomaven-repoartifact existed in the current run. (#35105) - CI/CD: Added AI-powered backend code reviewer workflow (security, database, Java standards, REST API sub-agents) for pilot developers, and expanded the pilot group. (#35095, #35115)
- CI/CD: Updated CODEOWNERS to allow all dotDevelopers to modify GitHub Actions and workflow files, reflecting the shift to full-stack ownership of CI/CD pipelines. (#35125)
- Backend: Updated instance initialization to report system telemetry to a new internal endpoint for usage reporting. (#35088)
- Frontend: Replaced deprecated
CoreWebServicewith Angular'sHttpClientacross multiple services, and applied Angular template migrations (self-closing tags, removal of redundantCommonModuleimports in standalone components). (#34165, #35112)