Release 26.06.21-01
Release: v26.06.15-01 → v26.06.21-01
Caution
Rollback Warning: This release contains irrevertable changes that are non-trivial to rollback from.
- Content Types: Adds a new
PATCH /v1/contenttype/id/{idOrVar}/metadataendpoint and persists Style Editor Schema metadata; rolling back can strand metadata written against the new API. (#36070) - OpenSearch Migration: Changes how Phase 3 reindex writes the
indiciestable (gates ES pointers, purges legacy rows); rolling back after a Phase 3 reindex can leave the index store in an inconsistent state. (#36191)
Features & Enhancements
- Content Editing: The legacy image editor can now be launched directly from binary fields in the content editor. (#36166)
- Content Editing: Redesigned the History sidebar with a card layout, hover-revealed inode, and an improved version-preview/restore flow. (#36171)
- Content Types: New
PATCH /v1/contenttype/id/{idOrVar}/metadataendpoint saves a content type's Style Editor Schema without modifying the rest of the content type. (#36070) - dotAI: Added AWS Bedrock as a supported AI provider, covering multiple model families through a single Converse-based integration. (#35242)
- Agentic Tools (MCP): Exposed the new
/api/v2/assetsfile-asset endpoints through the agentic-tools MCP server. (#36200) - OpenSearch Migration: Startup now logs a single verbose, easy-to-locate banner with the migration phase, endpoints, masked secrets, and connection outcome (including an explicit anonymous-connection warning). (#36234)
Fixes and Known Issues
- Viewtools / ES Search:
$estool.raw()now lowercases the query like$estool.search(), fixing silently-empty aggregation buckets for camelCase fields such ascontentType. (#36170) - Clustering: Widened
dot_cluster.cluster_idtovarchar(255)via an idempotent startup task. (#36176) - Content: Fixed an HTTP 500 when saving relationship fields via "Translate Manually" where a related contentlet had no version in the target language. (#36178)
- Pages: Archived content is now excluded from page render in all modes and no longer blocks page saves with a 400 error. (#36215)
- UVE: Declining to create a translation now keeps the user on the selected language (read-only) instead of reverting to the previous one. (#36231)
- UVE: The Page Health scanner now receives all page-resolving params (mode, language, persona, variant, time machine) so it scans exactly what the editor shows. (#36184)
- Apps: Environment-variable overrides are no longer leaked into or corrupting app secrets exports; the stored value is exported instead. (#36187)
- Global Store: The current site and user now load reactively from auth state, fixing "Select a site" and a null
userIdcrash after initial login without a refresh. (#36190) - Block Editor: Body-portaled overlays (dialogs, selects, autocompletes) now render above the fullscreen editor shell. (#36173)
- Block Editor: Fixed web-component styling inside the legacy JSP host — list markers now render, PrimeNG/editor spacing is preserved, and the image/video picker dialog no longer overflows short viewports. (#36235, #36249)
- Locales Selector: Removed an unwanted gap between the All/Translated/Pending tabs in the enhanced (>5 locales) view. (#36227)
- Push Publishing: Push-remove of content now removes the corresponding artifact from static endpoints even when the content was already unpublished locally. (#36193)
- Push Publishing: Pushing an archived Site with a non-Remove operation now archives it on the receiver instead of deleting it and its content. (#36174)
- Angular SSR Example: Removed the invalid
publicproperty fromvercel.jsonthat broke deployments. (#36212) - OpenSearch Migration: A Phase 3 reindex no longer orphans stale ES rows in the
indiciestable. (#36191) - OpenSearch Migration: Migration bootstrap failures now abort startup loudly instead of coming up half-initialized, and per-shard ES failure causes are surfaced instead of the generic "all shards failed". (#36240)
- OpenSearch Migration: Index bootstrap is now idempotent against orphaned cluster indices, reusing and re-mapping an existing physical index instead of failing with
resource_already_exists. (#36238)
Infrastructure & Security
- Security: Upgraded Bouncy Castle from 1.81 to 1.84 (via Tika 3.3.1) to address CVE-2025-14813. (#36139)
- Build: Migrated
core-webfrom Yarn Classic to pnpm 10.17.1, with faster installs, a smallernode_modules, and CI/Maven wiring updated accordingly. (#36169) - CI/CD: Switched automatic PR reviews to DeepSeek V3.2 and bumped ai-workflows to v3.1.5 for clearer failure diagnostics. (#36182)
- Agentic Tools: Stopped tracking the generated
spec.json, which is now built on demand. (#36207) - Report an Issue: Removed the now-launched
FEATURE_FLAG_REPORT_ISSUE_ENABLEDdefault from config. (#36217) - Performance: Eliminated avoidable per-call allocations in hot logging/config paths to reduce GC pressure. (#36150)
- Performance: Removed avoidable per-render allocations in the Velocity template engine hot path. (#36202)
- Documentation: Rewrote the OpenSearch migration test plan to the corrected TC-001–TC-058 case set. (#36230)