Current dotCMS Releases
Below, you'll find dotCMS's Current releases. To instead find a Long-Term Supported (LTS) release, please use the tab above.
Rows with the icon: are Breaking Change Releases. This means that upgrading to this version will require extra testing and possible architecture updates.
Please see Current Releases for downloads.
Version | Release Date | End of Life Date | |
---|---|---|---|
v24.11.14 | Nov 15, 2024 | Nov 15, 2025 | |
v24.11.11 | Nov 11, 2024 | Nov 11, 2025 | |
v24.10.25 | Oct 28, 2024 | Oct 28, 2025 | |
v24.10.16 | Oct 17, 2024 | Oct 17, 2025 | |
v24.10.09 | Oct 9, 2024 | Oct 9, 2025 | |
v24.10.08 | Oct 8, 2024 | Oct 8, 2025 | |
v24.10.02 | Oct 3, 2024 | Oct 3, 2025 | |
v24.09.25 | Sep 26, 2024 | Sep 26, 2025 | |
v24.09.21 | Sep 23, 2024 | Sep 23, 2025 | |
v24.08.27 | Aug 28, 2024 | Aug 28, 2025 | |
v24.08.20 | Aug 21, 2024 | Aug 21, 2025 | |
v24.08.05 | Aug 6, 2024 | Aug 6, 2025 | |
v24.07.30 | Jul 31, 2024 | Jul 31, 2025 | |
v24.07.19 | Jul 22, 2024 | Jul 22, 2025 | |
v24.07.12 | Jul 15, 2024 | Jul 15, 2025 | |
v24.07.05 | Jul 9, 2024 | Jul 9, 2025 | |
v24.06.27 | Jun 27, 2024 | Jun 27, 2025 | |
v24.06.26 | Jun 26, 2024 | Jun 26, 2025 | |
v24.06.21 | Jun 24, 2024 | Jun 24, 2025 | |
v24.06.19 | Jun 20, 2024 | Jun 20, 2025 |
dotCMS 24.11.14
Available: Nov 15, 2024
Demo starter image: 20241105
Empty starter image: 20241105
Fast on the heels of 24.11.11, dotCMS 24.11.14 floors it down the highway, hauling a trunk full of new API functionality — both standalone and intended for use with forthcoming features. Ready too roll, this hotrod's had a little bodywork, some under-the-hood tuneups, and even a fresh glow pouring from the undercarriage.
Enhancements & Adjustments
- Added two new locale-related endpoints. [#30591]
GET /api/v1/content/{identifier}/languages
returns all locale objects, each containing atranslated
property whose value is a boolean indicating whether a version of the identified contentlet exists in that language.GET /api/v2/languages/_getdefault
returns the locale serving as the default language.
- The Workflow API endpoint
workflows/defaultactions/contenttype/{contentTypeId}
now includes in its returned entity the first workflow step of the assigned default action. [#30629] - Workflow API requests returning workflow actions return two new boolean properties:
- Added several endpoints for working with Workflow comments. While intended for management of activities in the forthcoming rebuilt contentlet editor, they can also be used headlessly. [#30220]
POST /api/v1/workflow/{workflowTaskId}/comments
adds a new comment;GET /api/v1/workflow/tasks/history/comments/{commentId}
lists comments on a workflow task.
Interface
- Fixed positioning of overlay dialog when relating content. [#30053]
Fixes
- Fixed error in Page API caching preventing some content from [#30024]
FileAssetContainers
are searchable in a case-insensitive fashion, mending an issue wherein they could only be located via lowercase queries. [#30457]- Saving a currently active site without hitting Save/Activate no longer causes the site to deactivate. [#28362]
- Widgets with a field named
url
no longer override its content with a default URL value. [#27538] - Making changes to text elements inline in the page editor — that is, directly and without clicking the pencil icon — correctly applies all changes, rather than only the last one before exiting. [#27422]
Dependencies, Components, Etc.
- Updated
glowroot.jar
to version 0.14.2 and updated configuration of temp directory and logging behavior. [#30024]
dotCMS 24.11.11
Available: Nov 11, 2024
Demo starter image: 20241105
Empty starter image: 20241105
From outside our construction site, the last few weeks probably seemed quiet. But inside, a raucous cacophony hammers body and soul — a dread opus of focused activity to make Carl Orff shudder. Indeed, before we dared open dotCMS 24.11.11 to public traffic, we pulverized blockers with the jackhammers of the mind, and ground to smooth asphalt an array of bugs. QA steamrollers hummed along at all hours to a resounding Eroica of creativity and resolve. And along the way, we even added some pretty signage.
These smooth roads help the new features pop — including new endpoints concerning workflow tasks and content references, new WYSIWYG field support for language variables, a new workflow sub-action to reset content permissins, and upgraded JavaScript SDK documentation. We even included some optimizations under the hood, to boost the speed limit a little.
“Get out there and burn some rubber,” I'd say, were I not already standing in your cloud of rubber smoke. Well played.
Enhancements & Adjustments
- Angular JavaScript SDK documentation has been improved. [#29212]
- Added new Workflow API endpoint to retrieve workflow tasks, including history and comments. [#30519]
- Added new Content API endpoints to retrieve the references to a given contentlet, either as a list or as a numeric count. [#30477]
- Content API responses will include the content's shortyId — a valid identifier not in strict UUID format. [#30472]
- New starters — both empty and equipped with the demo site — now include the Locales Tool by default. [#30297]
- Added a new upgrade task to likewise enable this tool on dotCMS system upgrade. [#30296]
- Added support for language variables in WYSIWYG fields, including an insert field that displays the available translations in the current language version. [#30222]
- Added a new workflow actionlet capable of resetting content permissions in bulk. [#28579]
Fixes
- React SDK project pages no longer crash when loading an empty container. [#30496]
- Angular SDK projects no longer throw 404 errors when trying to edit an unpublished page. [#30440]
- When dragging content not of the default language into a UVE session, attempts to edit that contentlet will open its language version that aligns with the page language, rather than the default language version. (That's a lot of language-talk, but the important takeaway is that this is now working as intended.) [#29095]
- Uploaded file assets can no longer break Page API calls by failing to serialize.[#30464]
- Content title property is no longer overwritten by the name of a file asset it contains. [#30127]
- Removed unnecessary cache synchronization on
TimedCacheProvider.get()
method to improve performance under load. [#30528] - Removed legacy search command and search job; while important back in the days of fully embedded Elasticsearch, these components are only resulting in confusing errors in the context of the modern managed Opensearch environment. [#30468]
- Accessing the dotAI Tool without a
SystemHost
App defined will no longer throw a stack overflow error. [#30462]Note: This bullet originally appeared in the dotCMS 24.10.25 changelog, but has since undergone additional refinement and QA review.
- Improved database validation methods for unique fields employed on saving or updating content. [#30277] [#30279]
- Removed log errors when the Visitor's Country rule condition is unable to resolve to a country, which is the normal behavior for some types of requests. [#30070]
- Instances that migrated to Postgres from another database engine no longer exhibit intermittent and hard-to-replicate 404 errors. [#30243]
- When adding files via the content edit screen, dotCMS will still properly respect the default file asset type of the target folder. [#30023]
- Fixed issues preventing files from attaching correctly to — and remaining accessible from — workflow tasks. [#29238]
- Redirect rule no longer adds duplicate request parameters under some circumstances. [#25178]
dotCMS 24.10.25
Available: Oct 28, 2024
Demo starter image: 20240807
Empty starter image: 20240719
Buon giorno and 你好! dotCMS 24.10.25 carries greetings to all corners of this vast mundus, because this release introduces the new Locales Tool. Consisting of a language code joined to a country code, locales permit a fine-grained approach to internationalization — allowing, for instance, sub-specialization of language variables to account for regional dialects.
What if you're into conlanging? Why, you can build in a fully custom locale, of course. Your options are broad and harmonious; سمن على عسل.
In addition, this release includes a new example headless project for those who like the Astro JavaScript framework; UI tweaks, including new LTS-end-of-life notifications; and the classic assortment of fixes.
Bon appétit!
Features
- A new Locales tool has been added for management of language and region specifications. Locales interface with global language variables, and will be the new hub of internationalization settings going forward.
Enhancements & Adjustments
- Created example project for the Astro JavaScript framework for use with the Universal Visual Editor. [#29393]
- Added AI integration to image fields, allowing inline generation of images. [#30062]
- Added new notification for long-term supported versions at or approaching end-of-life status. [#30156]
- Removed unused Bundle Name column from the Publishing Queue. [#28510]
Interface
- Continued refactoring UI components to new Angular syntax; migrated left-hand navigation sidebar accordingly. [#30401]
- Fixed hover text over the lock icon to reflect a page's correct lock status. [#28855]
- Added “Accept” button to modal dialog reporting plugin-related errors. [#27176]
Fixes
- Resolved a job queue value overflow issue that resulted in an error in the logs. [#30348]
- Saving or publishing URL-mapped content in the UVE no longer results in a redirect to the detail page of that content type. [#29896]
- Cursor position in the Velocity Playground now properly aligns with text insert position. [#30393]
- dotAI chat-style searches have been updated to better handle the data stream in chunks irrespective of HTTP status evaluation. [#30361]
- Fixed test issue that was breaking the Announcements feature on all dotCMS versions. [#30420]
- The Website Viewtool now correctly returns the subfolder for the host root, rather than an empty list. [#28166]
Dependencies, Components, Etc.
- Added a software bill of materials (SBOM) to the artifacts generated in each GitHub release. [#29944]
dotCMS 24.10.16
Available: Oct 17, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.10.16 arrives in the sector wearing the unmistakable uniform of the engineering corps over its lustrous exo-shell. “I am capable of performing a variety of maintenance tasks,” the android announces, and goes to work mending conduits. As exciting as it can be to explore the depths of a universe of content, interstellar passengers agree that ensuring the health of the vessel is at least a “top-three” priority.
This release adds a convenience feature to the ship's displays — Image fields can now conjure their content from a URL — and otherwise sticks to the humble work of confirming generator status as nominal, ensuring shields are not interfering with transporter beams, and stemming the occasional tribble infestation. These dutiful droids have included their work manifest below — dotting every i, as we say.
Enhancements & Adjustments
- Added “Import from URL” option to Image Fields. [#30061]
Fixes
- Several under-the-hood improvements ensure that GraphQL calls via the browser playground will no longer fail pre-flight checks. [#30298]
- Fixed log-writing behavior to ensure log output, including OSGi and Velocity errors, show up in both the console output and the standard system logs. [#30011]
- An upgrade task that carries dotCMS instances past version 23.01 has been adjusted to ensure the System Table is not queried before it has been created. [#30336]
- A new
unique_field
table has been created to validate values indicated within a content type as unique. [#30275] - Due to a regression, all requests were briefly creating sessions; we have corrected this nutritional imbalance and brought the session population back into the range associated with a harmonious ecosystem. [#30321]
- Corrected a font size mismatch within the WYSIWYG field's plaintext view mode. [#30254]
- Autocomplete now works properly when assigning a class to templates. [#30249]
- When calling members of the
childrenFolders
property of a host,inode
sub-properties correctly return their inodes instead of identifiers. [#29492] - CORS settings for specific resources now respect configured values. [#26503]
Dependencies, Components, Etc.
- Removed Verdaccio as a dependency of Nx. [#30252]
- ClickHouse schemata have been integrated into the database migration tool set. [#30229]
dotCMS 24.10.09
Available: Oct 9, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.10.09 is the vitamin supplement after 24.10.08's meal. It features an important fix to the npm package that allows the installation of the JavaScript SDK Angular library.
Enhancements & Adjustments
- Improved the
@dotcms/angular
SDK library documentation. [#29212]
Fixes
- Fixed npm package installation routine for
@dotcms/angular
library. [#29212]
Dependencies, Components, Etc.
- Migrated the toolbar to the new Angular syntax. [#30263]
- Migrated state management to Signal Store. [#30020]
dotCMS 24.10.08
Available: Oct 8, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.10.08 is a small serving with nutrients aplenty. It features protein-rich work on our JavaScript SDK libraries, the fiber of a useful logging addition, the transparent goodness of improved in-app documentation, and your daily recommended serving of bugfixes. It's a healthy part of a balanced Current release program.
Enhancements & Adjustments
- Improved the HTML structure in the React SDK library, adding more points of articulation for better developer control. [#30137]
- Added a component to render Block Editor content to the React library. [#29369]
- Improved documentation on the Angular SDK example project. [#29561]
- Security logs now record changes to configuration property variables. [#29978]
- More API Playground endpoints have been documented and improved:
Interface
- In the content type designer, repaired the styles of the call-to-action button in the WYSIWYG field that gives more information on the Block Editor field. [#27341]
Fixes
- Fixed issue preventing API tokens from being revoked or deleted from the user interface. [#30142] [#30268]
- Image API no longer attempts to process transformations on vector images. [#30196]
- Mended case where making changes to layouts in the Universal Visual Editor could result in losing containers. [#30116]
- UVE now properly allows editing of page content that does not display anything, such as a widget that does not return a result. [#30068]
- Solved Rules-related error on a fresh installation of dotCMS. [#30173]
- Workflow sub-actions are once more able to be reordered via drag-and-drop operations. [#30236]
- Fixed the ability to add content to, and delete content from, experiment variants. [#30221]
Development Improvements
- All
plugin-seeds
repositories have been migrated from Gradle to Maven-based build management. [#30234]
Dependencies, Components, Etc.
- Additional testing performed to validate PrimeNG update to version 17. [#29949]
dotCMS 24.10.02
Available: Oct 3, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.10.02 is a swirl of flavors that bilocate your taste buds in both the present and the future — featuring a mix of fixes in the here-and-now and groundwork for features yet to come.
On one hand, this release improves startup stability on large sites, API Playground functionality, the WYSIWYG field appearance, site copying, the Content Palette, and more. On the other hand, we inch ever closer to a brand new content editor, new system-job management utilities, and the gradual movement of Time Machine functionality into our Universal Visual Editor.
We think you'll enjoy what we're working on — whether now, later, or both.
Enhancements & Adjustments
- The Page API has been updated to better accommodate future changes that will take on more of the functionality of the deprecated Time Machine feature. [#30027]
- Created PostgreSQL-based JobQueue interface to serve as the groundwork for forthcoming system job management utilities. [#29479]
Fixes
- In the API Playground, Workflow API endpoints that return data as
application/octet-stream
no longer throw 406 errors. [#30167] - Corrected several errors in the Workflow API
POST /v1/workflow/schemes/import
endpoint that caused incorrect schema display in the API Playground and incorrect error messages more generally. [#29730] - Fixed concurrency limitations in the thread responsible for reindexing, thereby removing a cause of startup timeouts. [#30083]
- The JavaScript SDK now receives responses with the expected formatting from the Content API. [#30136]
- The WYSIWYG field's code mode and ES Search tool now reflect the same value for the displayed text and cursor tracking. [#29733]
- The Universal Visual Editor's Content Palette is now correctly filtered according to what kinds of content the containers on a given page can hold. [#30065]
- Updating files with a size of
0
in WebDAV or dotCLI no longer results in an error. [#24042] - Including multiple Block Editor fields in the same content type will no longer result in console errors that render the first editor nonfunctional. [#30197]
- When copying a site, many-to-one relationships will be properly maintained between parent and child content on different hosts. [#29938]
- Improved the error handling and messaging for validation failures on required fields. [#23184]
- Dependency references are now always listed in the
included by
column; the column value is no longer omitted in rows where the object is excluded from the bundle due to modification date. [#28214]
Development Improvements
dotCMS 24.09.25
Available: Sep 26, 2024
Demo starter image: 20240807
Empty starter image: 20240719
Returning to a more rapid-fire cadence after the last monolithic release, dotCMS 24.09.25 swims alongside like a remora to a shark, tidying things up. This release includes some fixes, some updates to items released earlier this week, further UI adjustments, better logging behaviors, and a can-do attitude.
Enjoy!
Enhancements & Adjustments
- Added additional logging behaviors to better address cases of 404 errors. [#30000]
- Docker compose examples have been updated to include Redis and cluster mode. [#29909]
Interface
- Fixed alignment on traffic split in A/B testing menu. [#30045]
- Text no longer overlaps buttons in binary fields. [#29966]
- Corrected dotAI button style in binary field. [#29858]
- Improved alignment of call-to-action buttons throughout the interface. [#26327]
- Updated the base font size to 14px while keeping 16px spacings; this improves overall readability and consistency. [#28724]
Fixes
- Fixed a stack overflow error that could sometimes prevent a widget from rendering. [#30089]
- Abolished visual anomaly when UVE is used to edit a page disallowed by virtue of an unset allow list. [#29836]
Note: This item originally appeared in 24.09.21, but has received additional checks and work.
- UVE no longer removes page content when changing languages. [#29572]
Note: This item originally appeared in 24.09.21, but has received additional checks and work.
- The default action dropdown is no longer erroneously disabled in the content type editor after an action is selected. [#29762]
- Cleaned up unnecessary log details when making an unauthorized GraphQL request for a draft page. [#29651]
Development Improvements
- Updated commit checks to resolve errors when working in Windows WSL (Ubuntu). [#29180]
Dependencies, Components, Etc.
- Updated to new Angular syntax. [#30085]
dotCMS 24.09.21
Available: Sep 23, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.09.21 is truly a beast, and that it was an unusually long time coming is a measure of care in handling; a monster such as this warrants caution. For lo, past this iron maw beats a heart of fire, whispers a soul of scintillating starlights cast upon gilded peaks.
Nah, I kid; it's Java all the way down. But as I've been saying — or as foretold in prophecy, as my bluster would have it — dotCMS is now powered by Java 21, which brings with it a whole host of improvements: security, garbage collection, coding conventions, and more. Jumping ten whole major versions is bound to leave a mark.
This is also the first version of dotCMS to have the Universal Visual Editor (UVE) enabled as its page editor by default. You've seen the docs, you've heard the hype, and now we invite you to immerse yourself in this pathbreaking paradigm!
You'll find many other items of note in this release, from easier personalization to the power to edit configuration properties right from the admin panel; from removal of old figures and fields to better AI parameterization; from various interface fixes to multifarious bugs squashed.
I could waste more time summarizing, but seriously, take a look:
Enhancements & Adjustments
- The Universal Visual Editor is now enabled by default as the baseline page editor in dotCMS.
- The system table feature can now be utilized directly from the System -> Maintenance -> System Info tab in the admin panel. [#29793]
- Personalization operations can now be conducted on the basis of persona
keyTag
values, rather than exclusively via identifiers. [#29709] - Removed deprecated Permissions and Legacy Relationship fields from the content type builder's field selection menu. [#29736]
- Dev Tools > Query Tool now remembers the last query entered during the current session. [#29520]
- Added additional parameterization for dotAI to remove some hard-coding and better future-proof against an ever-changing slate of models and options. [#28813]
- Removed
systemLoadAverage
from the System Info host-statistic pane, as it is less suited to the modern, containerized paradigm. [#28742] - Updated the default length of time for bundle cleanup deletions (via the
CLEANUP_BUNDLES_OLDER_THAN_DAYS
property) to 4 days, to better permit review on either side of a weekend. [#29667] - Added additional logging to push publishing methods, which can be enabled at the browser level. [#29668]
Interface
- Restored borders to dojo buttons. [#25336]
- Binary fields no longer display both the old and new version [#29939]
- “Generate with dotAI” option in binary fields now displays with the correct font size. [#29859]
- Caret/bracket position fixed in category browser, to make more visual sense. [#29844]
- Contentlets with an empty category field display the empty state properly. [#29801]
- Context menu overlays now close properly on execution. [#29826]
- When creating a new content type using the Page base type, the Cache TTL label correctly displays the units (seconds). [#29708]
- You know when the text of one field runs up over the text of another field, such that you can't read or interact optimally with either? Yeah, I hate that too. Anyway, we fixed that in our Settings -> Configuration -> Basic Config pane. [#29619]
- Fixed display of the site/folder dropdown when copying a content type. [#29536]
- “Kebab” three-dot icon no longer disappears on archived containers. [#26595]
- Fixed alignment of
+
button when adding content in the page editor. [#26507]
Fixes
- Fixed bug interfering with the execution of workflow sub-actions while using the Universal Visual Editor. [#29920]
- UVE correctly refreshes the view of the page after the page properties modal dialog is closed. [#29072]
- UVE inline editing fixed on Next.js example. [#29838]
- Next.js example also no longer breaks on addition of an Event contentlet. [#29768]
- Also fixed inline editing for Angular projects. [#28973]
- Also fixed inline editing for React projects. We're on a roll, no? [#28944]
- UVE no longer throws errors when dragging and dropping contentlets between containers if the drag path exits the boundaries of the browser window. [#29837]
- UVE now handles chained redirects properly. [#29165]
- Admin panel now accurately reflects saved default actions for a content type. [#29765]
- Improved error messages for failed authentication in JavaScript SDK's Angular example. [#29738]
- Fixed issue with the JavaScript SDK client library that would cause errors when used with Nextra. [#29647]
- Improved client library code documentation within GitHub. [#29558]
- Adjusted client library to work with NodeJS. [#29072]
- API Playground no longer locks up the browser tab when opening endpoints that incorporate multipart form data. [#29211]
- Cleaned up duplicate information in dotCLI content type descriptor files. [#28684]
- Contentlets embedded in the Block Editor align and display correctly after creation and selection. [#29999]
- Fixed admin-panel redirection issue causing Forms tool to point to Content Type tool, and the latter to jump to the Welcome page on new content type creation. [#29997]
- Layout editor correctly adds classes to rows and boxes. [#29935]
- While we emphasize that support for WebDAV is deprecated in favor of the dotCLI, we couldn't just let the former sit broken; it's now working properly. [#29882]
- Adjusted startup probe methods to be more flexible and responsive when checking search nodes, making it less likely to throw unnecessary errors. [#29719]
- Adjusted Workflow API PATCH
/actions/default/fire/{systemAction}
method to avoid certain erroneous timeout conditions. [#29535] - Redis-managed sessions no longer improperly time out during regular use. [#29355]
- Archived templates no longer prevent sites from being deleted. [#29341]
- The dotcontent viewtool's
pull()
method now returns a correcttotalResults
count. [#29288] - dotAI methods now fail more gracefully across all tools when the OpenAI model itself fails. [#29284]
- Many-to-One relationships are now properly copied when copying a site. [#29256]
- Push publishing content types no longer fail to push from a host when not present on a target site. Also improved error messaging for related vectors of what we might call more appropriate failures. [#29255]
- Modifying a template and push publishing it correctly updates the required tables on the receiving server, preventing page-breaking behaviors. [#29148]
- The Notify Assignee workflow sub-action occasionally threw an unexpected error. There's no excuse for an erroneous error; ergo, it's emended — even excised. [#29214]
- Bundle API now includes clearer messaging on deletion and on errors. [#27782]
- The Block Editor now properly allows the selection of images or contentlets belonging to a language other than the default language. [#29781]
- Folder names can now contain special characters without any encoding errors. [#29392]
- When copying a contentlet, permissions are also copied, even if the user performing the action lacks permission to edit permissions. We declare this permissible. [#29213]
- Adjusted import behavior to address occasional slow performance, such as transitioning from byte arrays to File objects, altered commit granularity, and incorporated the CSV file into the
tmp
directory. Also improved hooks for glowroot traces and analyses. [#29162] - Fixed character encoding issue in file names when uploading by dragging and dropping a file into the content search screen. [#29093]
- Password validation error message is now more descriptive. [#28941]
- Cleaned up old workaround to a security issue, which later received a more satisfactory and complete fix. [#26514]
Development Improvements
- Added GitHub API usage logging to better locate causes of hitting hourly usage limits. [#30055]
- Created a Maven child project to host end-to-end testing. [#29845]
Dependencies, Components, Etc.
- dotCMS is now powered by Java 21!
- Dev image also moved to Java 21. [#29830]
- Updated to the latest supported generational garbage collector, ZGC, in Java 21. [#29759]
- Updated arguments to remove unnecessary and unsupported options in the new Java 21 context. [#29756]
- Removed lodash module from core-web functions. [#24842]
- Updated unit tests to suit PrimeNG UI component library. [#29682]
- Updated Nx to the latest version; updated Angular to 18. [#28714]
dotCMS 24.08.27
Available: Aug 28, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.08.27 has useful new documentary elements, new dotParse functionality, more control over AI workflow operations, and more.
This release also introduces two small but significant — and, of course, necessary — breaking changes. We break to build, not vice versa, but growing pains are inevitable. These we soothe with the balm of an assortment of bugfixes.
To break with one hand and mend with another: Is this not the destiny of all humanity?
Enhancements & Adjustments
- The half of the Workflow API endpoints have been documented in the API Playground; second half soon to follow! [#29189]
- API Playground documentation added for Authentication endpoints. [#29616]
- Removed automatic Save and Publish operations from artificial intelligence actionlets; better to leave those decisions to the user. [#29387]
- API endpoints now support invalid Java locales when performing operations on system languages. [#28682]
- Enhanced the VTL parsing directive to take a TTL as a second argument; this will automatically treat the parsed data as if enclosed in a block cache. [#29144]
Interface
- Fixed a styling issue causing an unsightly bar to the left of the main window of the admin panel on Firefox. [#29577]
- Corrected the position of the user-account corner menu dropdown — home of the beloved Login As function. [#29534]
- Adjusted the colors on the calendar selector in Experiments. [#29472]
- Cache TTL field on page properties now specifies unit (seconds). [#23074]
Fixes
- Repaired Copy URL button on UVE. [#29570]
- Fixed issue that could sometimes cause content to be deleted from a page after editing page properties. [#29569]
- Tag lengths now validate correctly in the content editor. [#29559]
- Page tools on the UVE now function as expected in both traditional and headless paradigms. [#29206]
- The Template dropdown now reflects custom templates in the correct fashion. [#29034]
- Push publishing content no longer fails in the case where system-host content uses a tag on another host and attempts to push to a receiver that lacks this tag — rectifying what might be thought of as a lateral blind spot. [#29397]
- Images no longer disappear from a page when a retrieved as related content in the same Page API call. [#29259]
- Host lookups now cache their results even if no site is found. [#27366]
Development Improvements
- Fixed Docker Compose example for push-publishing environments. [#25595]
Breaking Changes
- Created a global log4j configuration in Tomcat. This may cause conflicts with existing custom logging behaviors; in the worst case can cause a server to fail to start. Using the default logging configuration is recommended when upgrading. [#23631]
- Page API's returned image property now includes the entire image object, rather than just an identifier string. [#29259]
dotCMS 24.08.20
Available: Aug 21, 2024
Demo starter image: 20240807
Empty starter image: 20240719
dotCMS 24.08.20 boasts a lot. We keep telling it, “nobody likes a braggart,” but this headstrong scamp will regale you all day with its many deeds and talents. “Improved UVE functionality,” it says, “and dotAI, too!” And don't even get this one started on the dotCLI; fixes aplenty, I'll warrant, but need it be so forward about it?
The API Playground, you'll hear, is enjoying a documentarian push: the Content Type API endpoints are now fully documented within the interface, and rumor has it the Workflow API is close behind. Is there no end to to the immodesty?
And look at that, the dashing rogue has gone so far as to carve its doings into the wall below. See for yourself:
Enhancements & Adjustments
- Universal Visual Editor refreshes the page, and provides visual feedback indicating such, after saving changes to a contentlet on the page. [#29426]
- UVE now remembers custom queries used to render a page, which may differ from the standard Page API return. This enables a more consistent user experience. [#29263]
- Added documentation to Content Type API endpoints in the API Playground. [#29037]
- Implemented several enhancements to the dotAI code — behind-the-scenes stuff to improve reliability, better document errors, and smooth the debugging process. Also removed some unnecessary asynchronous functionality. [#29587] [#29381]
- The Categories API
categories/children
endpoint now additionally returns a list of parent categories whenshowChildrenCount: true
is included in the request. [#29315] - Refactored the Block Editor to use newer Angular syntax. [#29448]
Interface
- Restored visibility of the Delete button for content types on the community edition. [#29473]
- UVE workflow wizard dialog now appears in front of the content editor, instead of behind it. It won't do to have a wizard if they're just going to sulk in the background. [#28177]
- Improved persona tag tag-length validation and truncation when adding personas to a page. [#26081]
- Rules permission checkbox is now visible, as it really should have been the whole time. [#28814]
Fixes
- Previous serialization updates caused a regression on a previous menu error; we've set that back in order. [#29524]
- GraphQL now gracefully handles errors related to bad or corrupted data related to content types, complete with useful messaging. [#29289]
- Added more informative GraphQL error messaging for unauthorized page requests. [#29270]
- GraphQL no longer creates unnecessary duplications in its schema when performing collection queries. [#29269]
- GraphQL queries now support pagination fields:
limit
,offset
,total
,hasNextPage
, andhasPreviousPage
. [#29117] - Universal Visual Editor is now able to edit pages generated by GraphQL. [#29045]
- Fixed looping behavior in UVE Next.js example project caused by experiment environment variables. [#29235]
- dotCLI now automatically creates a simple layout structure for fields within a content type, if none is present. [#29087]
- Solved dotCLI issue that could alter the sort order when saving content type fields. [#29086]
- Added a validation check to dotCLI, matching a similar one in the user interface, that limits the total number of columns in a content type to four. [#29084]
- Removed unnecessary
layout
attribute from the content type descriptor in dotCLI. [#29083] - Fixed error preventing dotCLI's
--watch
option from working when paired with path specified inline. [#28593] - Pushing sites with a global push from within the sites folder no longer causes a dotCLI error. [#28473]
- Templates now restore properly to previous versions. [#28417]
- GraphQL schemata still generate correctly after arbitrary editing of a page asset. [#28114]
- Recurrence and re-fix: Layout changes in the Template Designer will no longer alter content organization. And we mean it! [#27689]
- Fixed content editor functionality in Community Edition. [#29578]
- Restored operation to telemetry plugin, which had halted in a recent update. [#29222]
- Starting a file asset name with certain character sequences will no longer cause it to be treated as an image via Image Processor confusion. [#29321]
- Changing the path of a folder to a different case — upper or lower — no longer causes errors. [#29293]
- Fixed a source of out-of-bounds error on the Site Search tool when a default index is deleted. [#28779]
Dependencies, Components, Etc.
- Added
@ngrx/signalStore
to perform state-management duties in the Universal Visual Editor. [#28947]
dotCMS 24.08.05
Available: Aug 6, 2024
Demo starter image: 20240729
Empty starter image: 20240719
Compact but strong, dotCMS 24.08.05 includes a few interface fixes, an important plugin-related patch, and a new workflow distinction to render some actionlets as “batch only.” For an update roughly the size of a bon-bon, it's rather filling.
Enhancements & Adjustments
- Added “batch-only” quality to some actionlets; when a workflow action contains such a sub-action, it will not allow the “Show on Edit” box to be checked. Instead, the task will only display on content search window, usable by the Available Workflow Actions button or the right-click context menu. [#29207]
- Currently, this is only applied to the AI actionlets.
Interface
- The Content Search tool no longer imprisons its own name in an unsightly box of scrollbars. Yes, yes — the title is out. [#29399]
- Addressed some minor misalignments in the “Read More” section of the Page Editor's SEO cards within the toolbar. [#26497]
- Also realigned the “Welcome” screen's header. [#26100]
- Corrected dimensions Preview Device selector from “Height x Width” to “Width x Height. [#28517]
Fixes
- Corrected the URL supplied when exporting a file asset. [#29209]
- “Show Preview” button in the Page Editor now respects and reflects the selected language. [#28620]
- Universal Visual Editor now correctly permits inline editing when using Angular in a cross-domain context. [#29311]
- Plugins that include their own tool window in the back end are now once again able to deploy correctly. [#29276]
dotCMS 24.07.30
Available: Jul 31, 2024
Demo starter image: 20240729
Empty starter image: 20240719
Piloting a barge out of the cave of Hypnos, dotCMS 24.07.30, offers succor and rest to the worried and weary. This boatload of fixes has goods aplenty to shush and shoo the bads; whether touching up the UI or mending function, we aim for our current-edition users to rest easy.
Stability and clean operation isn't just for the LTS crowd, after all.
Enhancements & Adjustments
- Added
onReload
back toDotcmsLayout
after its previous removal; it is still considered deprecated. [#29338] - Added new configuration property: Though defaulting to true,
AUTOPOPULATE_FOLDER_NAME_FIELD
can be set tofalse
through environment variable or the system table. This will prevent folders from automatically copyingtitle
field to thename
field when setting the former. [#20424]
Interface
- Improved styling and display of thumbnails in the content search screen. [#29098]
- Separated the pencil icon from the context menu's “Edit” label after the latter nearly put its eye out. [#27599]
- Page editor's SEO tools now signal truncated text with good old-fashioned ellipses — almost as if it's hiding something… [#26531]
- Improved persona tag truncation when adding personas to a page; this prevents long tag text from breaking out of containing elements. [#26081]
- Restored proper colors to buttons on binary fields. [#29316]
- Artificial intelligence image generation dialogs now scale to a better proportion on larger and/or taller screens. [#29301]
- Also fixed a small “jump” as the AI image generator dialog settles into frame. [#29173]
Fixes
- Fixed bug preventing VTL files from being saved on edit. [#29309]
- The UVE can now display more than ten personas in its dropdown. [#29161]
- The GraphQL playground now loads schemas properly. [#29109]
- The integrity checker has been brought up to speed with more recent database changes, and updates content columns in more robust fashion; this prevents a case where it could inadvertently break the ability to retrieve content JSON data by identifier. [#29059]
- dotCLI no longer improperly merges artifacts and thereby becomes corrupted; we decided this behavior works better as a Tolkien plot than a build result. [#28917]
- Binary field's info dialog now populates correctly. [#29283]
- Binary fields now thoroughly sanitize filenames to avoid unsightly character-encoding outcomes. [#28462]
- Adjusted the method that copies a contentlet for editing on a single page to ensure it does not throw errors on encountering legacy relationships. [#29234]
- Resolved issue whereby moving containers within a layout sometimes would not cause content to be appropriately repositioned. [#29158]
- Added language keys to ensure the “Add to Bundle” dialog displays properly in supported languages. [#29064]
- Improved error handling on dotAI; invalid responses on embeddings operations now log and express the errors in expected fashion. [#28990]
- Fixed link to content type in the contentlet editor when accessed within the page editor. [#27902]
- Moving containers inside the layout of an experiment variant can no longer cause a change in the default version of the page. [#28655]
- Importing file assets via CSV no longer throws undue errors proclaiming a file asset is required; the info is right there, after all. [#29079]
- Enabled better logging for Page API endpoints using the
getPageByPath
method. [#26546]
Dependencies, Components, Etc.
- Added uber jar to assist in dependency management during dotCLI build processes. [#28916]
dotCMS 24.07.19
Available: Jul 22, 2024
Demo starter image: 20240719
Empty starter image: 20240719
dotCMS 24.07.19 offers some new and improved REST API functionality, the ability to generate images with dotAI directly from binary fields, better syntax highlighting, and the usual assortment of fixes.
It also contains our first breaking change in a while. We had quite a streak going — more than a year without! But alas, every once in a while they're just so called for.
Enhancements & Adjustments
- Updated the
/v1/categories/children
REST API endpoint to allow a search of the entire tree, starting from the specified inode. [#28896] - Added
v1/categories/hierarchy
endpoint that takes a list of category keys and returns for each a list of parent categories. [#28894] - Added the ability to use dotAI to generate images directly from binary fields. [#27458]
Interface
- VTL files now receive HTML syntax highlighting in the file editor. [#28084]
Fixes
- UVE Angular headless implementation authorizes across all modes properly. [#28949]
- The Workflow API no longer throws errors when operating on content that contains a Key/Value field. [#28930]
Note: This originally appeared in 24.07.05, but was found to require more work.
- Fixed bug causing Kubernetes probe methods, under some conditions, to return erroneous 503 codes. [#28163]
- Changed default property to ensure upgrade procedures halt when any upgrade task fails. [#29240]
- Images uploaded in a non-default language now inherit permissions properly. [#28366]
Dependencies, Components, Etc.
- dotCLI now uses the highest available version of Quarkus capable of supporting both Java 11 and Java 21. [#28744]
Development Improvements
- Re-added procedure for deploying dotCMS instance using a custom database, such as from a database dump. [#28678]
Breaking Changes
- The poorly named
access_token
cookie has been renamedrme
, as its only purpose is to establish a “remember me” login flow.rme
cannot be used as a Bearer token in the header, and concerns itself exclusively with full login procedures that update the user's “last login” date. [#28747]
dotCMS 24.07.12
Available: Jul 15, 2024
Demo starter image: 20240709
Empty starter image: 20240531
dotCMS 24.07.12 is a handy soul, bearing useful fixes for the command-line interface and more. That clicking sound you hear is another tumbler falling into place, as its deft hands move one step closer to unlocking the Java 21 transition…
Sorry about those gratuitous ellipses, by the way; we had to find somewhere to store them after yanking them out of the Publishing Queue.
Fixes
- dotCLI no longer truncates error messages. [#29072]
- dotCLI push commands no longer throw errors when using relative workspace paths. [#28847]
- dotCLI version is included with headers to allow compatibility validation. [#28594]
- Universal Visual Editor's Page API responses no longer include the additional layer of a containing
entity
property. [#28962] - Fixed null pointer error when copying sites. [#28339]
- Select All checkbox now works properly in the Tags tool for Firefox users. [#25758]
- GraphQL page queries no longer throw errors when fetching the
titleImage
field that points to a dotAsset. [#28706]Note: This item originally appeared under 24.07.05, but required further QA work.
- Content search screen now automatically updates when AI content generation completes via workflow. [#28168]
- Child permissions within categories now load properly. [#28838]
- Removed ellipses from the end of bundle identifiers in the publishing queue; the identifiers weren't even being truncated. [#28509]
- Added a search field to the publishing queue to allow filtering for whole or partial bundle identifiers. [#28508]
Security
- Patched one medium security issue.
Dependencies, Components, Etc.
- Updated CLI native build options in preparation for Java 21 update. [#29110]
Development Improvements
- Fixed some Postman tests previously set to “ignore” for erroneous results. [#26676]
dotCMS 24.07.05
Available: Jul 9, 2024
Demo starter image: 20240611
Empty starter image: 20240531
It's the midseason harvest, and dotCMS 24.07.05 is ripe and bountiful — rich in features and lean on bugs.
This crop goes with just about everything; a dev with the wherewithal could render the same page across two, even ten environments, if'n they wanted. And to haul it all to market, dotCLI is growing into a real beast of burden under that shell; give it an instruction, and it'll keep hauling in the background. Heck, you might spy one out yonder, plowin' RESTful fields so fertile, you can toss a UUID at the ground and watch a workflow sprout.
You say you ain't never seen a workflow sprout? Friend, that's a shame we aim to remedy!
Enhancements & Adjustments
- The Universal Visual Editor config now accommodates a
allowedDevURLs
parameter, which contains an array of URLs. These URLs will be allowed for use with the URL query parameterclientHost
, which permits rendering of the same page content across different headless environments. [#28858] - Added
--watch [n]
option to all dotCLI push commands, whether global or specific to a subcommand. This option allows dotCLI to passively scan everyn
seconds for changes in the specified workspace, and push them automatically when detected. [#28593] - When saving content types through dotCLI, it is now easier to add workflows; just include a
workflows
property that contains an array of either workflow identifiers or names, and the system will replace the array of strings with an array of fully populated workflow objects. [#28265] - Updating content types through dotCLI does not require identifiers; a variable name will suffice. [#28264]
- A Host column now appears in the References tab of the content editor, to better track content used on multiple hosts. [#28365]
- New REST API endpoints have been added allowing the creation of push publishing environments. [#28578]
Interface
- When previewing social media cards on traditional pages in the UVE, the status bar no longer cuts off early on the right-hand side. [#28959]
- The button to add a new device to the editor's Preview Devices now uses the “edit” pencil icon. [#28455]
- Updated checkmarks in category dialog dropdown menu to be visually consistent with current designs. [#29020]
Fixes
- In projects,
DOTCMS_HOST
URLs now support optional trailing/
characters. [#28932] - Direction parameter in dotCLI sorting commands now accepts case-insensitive directions —
ASC
orasc
,DESC
ordesc
. [#28143] - Fixed error preventing the use of the dotCMS library as a plugin dependency. [#25836]
- Binary fields remain properly visible when creating new content. [#29127]
- Fields converted from WYSIWYG to Block Editor now render correctly; procedures expecting a JSONfly no longer prematurely open the cocoon before the markupillar is ready to emerge. [#28943]
- Suppressed a log error down to a warning when a user successfully signs in but lacks access to the default host. [#27069]
- Newly created file assets will respect the language selected on creation, rather than shifting to the default language. [#28489]
Development Improvements
- Split the default Postman collection into separate similarly portioned collections, to cut down on testing time. [#28423]
dotCMS 24.06.27
Available: Jun 27, 2024
Demo starter image: 20240611
Empty starter image: 20240531
dotCMS 24.06.27 is a tiny pill that contains several essential nutrients. In the future, perhaps all meals will be taken in this form; for now, though, think of this as a sort of vitamin supplement.
Fixes
- UVE no longer crashes on an attempt to edit a contentlet outside of a container element. [#28928]
- Some dotCLI resources used at runtime were being deemed unnecessary by the compiling process, which would lead to errors in execution; these resources have been made explicitly necessary to build operations. [#28915]
- Content API now hits a cache instead of the database when determining whether a UUID passed is an identifier or an inode. [#28897]
dotCMS 24.06.26
Available: Jun 26, 2024
Demo starter image: 20240611
Empty starter image: 20240531
Trumpets announce dotCMS 24.06.26, and a herald reads the decree: The kingdom recognizes the headless adventurers who thanklessly quest across the frontiers, wielding the esoteric arts inherited from the whispered land of OSGi. To these brave heroes, we offer succor, solace, and REST — that is, a whole new slew of REST API endpoints to administer plugins!
Gnomish caravans bring other goods: a variety of useful and important fixes, updated SDK examples, and more. What dragon would dare stand against your party, now?
(Roll for initiative!)
Enhancements & Adjustments
- Next.js and Angular library examples now include out-of-the-box support for custom 404 pages. [#28817]
- Improved error handling on the JavaScript SDK's client libary. [#28816]
- Expanded OSGi plugin REST API resources, to take over for previous OSGIAjax procedures; a full suite of plugin behaviors (deploying, undeploying, and more) is available via
api/v1/osgi
endpoints. [#27874]
Fixes
- UVE controls show properly when switching between preview and editor views. [#28960]
- Fetching of language identifiers now properly refers to cache, rather than calling the database every time. [#28890]
- Embedded contentlets in Block Editor fields are now stored by reference rather than by replicating the entire contentlet, and further limit relationship depth to
2
to prevent circularities. [#28659] - API responses now return expected data for fields labeled
description
. [#28785] - OSGi plugin fragments are discarded after processing, and system messaging now better reflects their addition to the exported packages list. [#26518]
Dependencies, Components, Etc.
- Redis implementation now supports ACL authentication via usernames and passwords. [#28863]
Development Improvements
- Added Postman tests for dotAI REST API resources:
dotCMS 24.06.21
Available: Jun 24, 2024
Demo starter image: 20240611
Empty starter image: 20240531
dotCMS 24.06.21 hauls, in the foreground, a couple of high-priority fixes and a dependency update. In the background, many other, less obvious changes have also occurred — steady construction toward future features.
Fixes
- Unified API responses for binaries to prevent type errors when fetching related content. [#28857]
- Fixed bug causing pages not to save template selections correctly when editing via the contentlet editor. [#28846]
- Fixed the EmbeddingContentListener, which means pushing or removing a piece of content will appropriately update embedding indexes in both sending and receiving servers. [#28770]
Dependencies, Components, Etc.
- Updated GraphQL to 17.5. [#28420]
dotCMS 24.06.19
Available: Jun 20, 2024
Demo starter image: 20240611
Empty starter image: 20240531
dotCMS 24.06.19 mostly hauls up a slew of fixes — some directly relating to the release two days prior, all useful. Use them in good health!
Enhancements & Adjustments
- As with the Next.js example in the last release, the Angular JavaScript SDK library example now includes Vanity URL handling. [#28815]
Fixes
- The Block Editor's bubble menu now behaves correctly. [#28839]
- The JavaScript SDK's
getCollection
method now properly returns default values forlive
andlanguageId
properties. [#28830] - Fixed bug causing default-language fall-throughs to fail. [#28769]
- When pushing a page that does not exist in the default language, the system will now properly evaluate its template. [#28760]
Note: This issue formerly appeared in the release notes for dotCMS 24.06.17, but was revisited immediately thereafter.
- PATCH endpoint of
/workflow/actions/fire
API no longer throws a null pointer error when a content map is not included. [#28580] - dotCLI no longer requires a page identifier for a url-mapped detail page in content type descriptor file; a path will suffice. [#28262]
Note: This issue formerly appeared in the release notes for dotCMS 24.06.17, but was revisited immediately thereafter.
- Fixed regular expression governing password validation to behave more consistently with special characters at different points in the string, etc. [#23292]
- Universal Visual Editor's “Add Form” option is now hidden for non-licensed users. [#28900]