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.12.20 | Dec 20, 2024 | Dec 20, 2025 | |
v24.12.10 | Dec 12, 2024 | Dec 12, 2025 | |
v24.12.05 | Dec 6, 2024 | Dec 5, 2025 | |
v24.11.29 | Dec 2, 2024 | Dec 2, 2025 | |
v24.11.25 | Nov 26, 2024 | Nov 26, 2025 | |
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 |
dotCMS 24.12.20
Available: Dec 20, 2024
Demo starter image: 20241216
Empty starter image: 20241105
dotCMS 12.24.20 is extremely conscientious. As if pulling the chair out for you at the dinner table, it offers to pre-populate as-yet unfilled content language versions; it minds the logbook when someone's making user-related changes; it ensures each tab relates separately to the job monitor, and that unique field validation doesn't upset templates.
It really dots its i's and crosses its t's, you might say — even enforcing feature parity between REST API and GraphQL date-data behaviors, which will be important in enabling an overhauled, future-focused time-machine feature.
It also insists that I specify that it doesn't possess a literal time machine. Like I said: Real fastidious, this one.
Enhancements & Adjustments
- Added support for the
publishDate
parameter to our GraphQL endpoint, to match recent PageAPI enhancements. [#30780] - Enhanced security logging by adding IP address information to user activity logs for actions that add, modify, or delete a user. [#30678]
- Created a prompt that can optionally pre-populate a new language version of a contentlet with the default language version when browsing to an unconfigured language version. [#30582]
Fixes
- Recent changes to unique field validation was causing errors when publishing templates; this has been resolved. [#30961]
- Fixed issue causing errors when setting the
uniquePerSite
field variable on content types with existing content. [#30919] - Workflow tasks no longer redirect to the default language version; comments of all languages display as expected. [#30724]
- Fixed bug where closing one browser tab would stop the job monitoring feature in all other open tabs monitoring the same job; each tab now independently monitors job progress. [#30665]
- When a piece of related content contains a field named
ID
, accessing this content through its relationship now correctly returns that field's value, rather than the identifier of the contentlet itself. [#29018] - Resolved JavaScript console errors caused by category fields when using the contentlet editor. [#27749]
Security
- This release includes a minor security-related patch.
dotCMS 24.12.10
Available: Dec 12, 2024
Demo starter image: 20241202
Empty starter image: 20241105
You look at dotCMS 12.24.10. You do a double take. “Why, whatever is that shape?” you ask. True, it is geometrically unusual — a bit top-heavy, we might say, with more enhancements than fixes — but only because of how much work is afoot on features and functionalities.
This edition has new API endpoints, optimized system behaviors and memory management, updated UVE multilanguage prompting, dynamic configuration properties for experiments, and more. Some of these elements, such as the endpoint to fetch fields from a content type, are already useful in their own right, but will become even moreso when incorporated into even bigger features on the horizon.
So, rather than boggling at the contours of the forest, enjoy the following list of its various trees:
Enhancements & Adjustments
- The new Content Import Job Resource API has continued to grow, and now contains methods to achieve the following: [#30874] [#30791]
GET /content/_import
— Fetch all queued import jobsGET /content/_import/active
— Fetch import jobs, filtering for active jobsGET /content/_import/completed
— Fetch import jobs, filtering for completed jobsGET /content/_import/failed
— Fetch import jobs, filtering for failuresGET /content/_import/canceled
— Fetch import jobs, filtering for cancelationsGET /content/_import/successful
— Fetch import jobs, filtering for successesGET /content/_import/{jobId}
- Fetch detailed status of a single job, including job state, progress percentage, executing node, and more.POST /content/_import/{jobId}/cancel
— Cancel a queued job
- Enhanced the system to automatically populate the
unique_fields
table when database validation is enabled, with improvements to include variant and live version tracking. This is part of a larger overhaul, mentioned previously, aimed at improving both performance and reliability in the handling of unique fields. [#30815] - Added a new REST endpoint to retrieve fields from a given content type based on specific criteria — such as “required,” “user searchable,” “system indexed,” etc. [#30796]
- Universal Visual Editor now provides a “Create New Language Version” dialog before updating query parameters when a page doesn't exist in a selected language. [#30772]
- Improved the reloadability of configuration properties for the Experiments feature, allowing system table updates to dynamically modify experiment settings without a restart. [#30718]
- Introduced
jemalloc
memory allocator to prevent memory fragmentation, improve system memory reclamation, and generally optimize container memory usage. [#30619] - Enhanced the job queue system to detect and handle abandoned jobs — i.e., a job that has lain dormant for 30+ minutes — through several interwoven approaches, including job “heartbeats,” timeout mechanisms, and recovery procedures. [#30367]
Fixes
- Resolved an issue in the UVE where changes to content for a specific persona were incorrectly being applied to the default persona. [#30863]
dotCMS 24.12.05
Available: Dec 6, 2024
Demo starter image: 20241202
Empty starter image: 20241105
dotCMS 24.12.05 is a small bundle, but it's got some heft to it. Dense, she is; wouldn't want to get slugged by this release, no no — even in jest! The ponderously substantial is worthy of substantial pondering. For instance, consider: This one lands wth three new API endpoints, comprising more than half the bullet points below. And a bit of hardening against data leakage, to boot.
Be careful handling this one — lift with your legs, as they say.
Enhancements & Adjustments
- Added three new REST API endpoints related to content import system job management, with an eye toward thorough input validation and actionable error messages:
POST /content/import
allows creating and queuing content import jobs. [#30669]GET /content/_import/{jobId}
retrieves content import job statuses, including progress, state, and execution details. [#30791]POST /content/_import/_validate
permits dry-running content import jobs, allowing users to preview errors before job execution. [#30771]- Full documentation of all three will be coming soon to the API playground.
- Added a unique-field validation mechanism as part of a comprehensive reworking of unique field logic, with the ultimate goal of safeguarding database integrity. Protectors of database integrity are expected to patrol the office atop alabaster steeds, and may brandish their choice of spear, scimitar, or long-chain nunchaku. [#30306]
Fixes
- Missing images were leading to an excessive volume of logging, as though a camp of lumberjack photo connoisseurs would fly into a rage of whirling hatchets. We've managed to calm things down a bit. [#30709]
Security
- This update includes a minor security fix.
dotCMS 24.11.29
Available: Dec 2, 2024
Demo starter image: 20241105
Empty starter image: 20241105
dotCMS 24.11.29 improves performance, stability, and security. Handling of timed caches and unique-field hashes have been upgraded, a circularity between different kinds of content relationships has been fixed, as well as issues with database dumps and widget rendering.
It also adds some convenience: easier fetching of folder identifiers and a macro to help codelessly sort nav menus in the UVE.
All in all, you'll find this release a sound balance of “adding to what's good” and “subtracting what's not.”
Enhancements & Adjustments
- The
/api/v1/folder/byPath
endpoint's responses now includes the folder identifier, a perennially useful datum. [#30699] TimedCacheProvider
has been improved to support per-object TTLs, and unified with the Caffeine Cache in the cache region display, such that timed caches will show up in the Caffeine list. [#30670]- UVE now supports the
sortNavigation
macro, which can be added to a theme to allow no-code reordering of navigation elements. [#30445] - Unique field hash values are now recalculated when the
uniquePerSite
setting is changed, with error handling for conflicts. [#30281]
Fixes
- Database backups no longer fail when passwords contain special characters that require URL encoding, and dump files no longer fail to decompress in such cases. [#30743]
- The Block Editor now does a better job generating hyperlinks linking to URL-mapped content, using the
urlTitle
field instead of an inode address. [#26501] - The job queue processing loop no longer fails due to intermittent database connection timeouts. [#30668]
- It used to be possible to trigger a circularity when contentlets reference one another via both relationship fields and Block Editor fields at the same time, which could lead to crashes due to excessive memory usage. Emphasis on “used to.” [#30609]
- A few fixes for the UVE:
- Layout edits become visible immediately on Angular projects
- Fixed the issue wherein browsing to layouts and back to the editor could fail to load, instead showing an infinite loading state. [#30441]
- UVE no longer loses the page reference when creating a new language version of content with a different URL from the default language version. [#30030]
- Vanity URL no longer encode
#
characters in URL targets, a behavior that struck us as poor for link integrity. [#30130] - API calls to content or lists no longer automatically render widgets within, unless that behavior is explicitly requested with with the
render
parameter set totrue
; this prevents unintended execution of the content's code. [#25523]
Security
- This update includes a security fix.
dotCMS 24.11.25
Available: Nov 26, 2024
Demo starter image: 20241105
Empty starter image: 20241105
dotCMS 24.11.25 is packed to the gills with worthy improvements. This release brings you race-condition fixes and refactorings; it's got better labels and hints; it improves file transfers through the CLI, and media handling in the Block Editor. One hardly need add “and more,” and yet one has just done so.
In fact, there's also a subtle tension of anticipation just beneath the surface; even as you scan the healthy list of changes below, know that the draft document contains about a third more than this — reflecting contributions to features coming soon, including new faculties for system job queue management, content analytics, and content editing. Our developers, more than merely talented, are also indefatigable.
Enhancements & Adjustments
- Refactored configuration property usage in content analytics and dotAI implementations, to ensure they can be reloaded via the system table without any inappropriate caching. [#30673]
- Improved the JavaScript SDK's client library readme; now includes more examples and additional developer guidance in the use of the content API. [#30614]
- Added support for hint values on relationship fields. [#28780]
Interface
- Updated labels on the Publishing Queue to better reflect the displayed information. [#28512] [#28511]
- Page Tools feature text renders properly, without appropriate mid-word line breaks. [#28644]
Fixes
- Improved the experiment service endpoint to handle undefined IDs and HTTP error codes gracefully. [#30652]
- Restored inline editing of Block Editor fields in the Universal Visual Editor — in both headless and traditional implementations. [#30607] [#28198]
- Eliminated obsolete Elasticsearch commands and jobs; this resolves certain obscure errors and simplifies operations. [#30468]
- Resolved issues with incorrect base type assignments when transferring content types via dotCLI. [#30438]
- Addressed race conditions in OSGi plugin initialization, ensuring consistent workflow actionlet registration. [#30291]
- Added support for the
editContentlet
macro in the Universal Visual Editor for dynamic content editing. [#30218] - Removed file size limits in dotCLI, allowing the transfer of files up to system-defined maximums. [#30206]
- When creating new content in a non-default language, image fields inside that content will correctly associate with the pertinent language. [#29851]
- Contentlets created on variants now save correctly, preventing several possible display and retention errors. [#28799]
- Dialog to add images or videos to Block Editor field now correctly opens on first click. [#28741]
- Visitor object no longer prints its
possiblePersonas
property by default; instead prints itslastPersona
. [#23823]
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]
- Optimized an SQL query identified as causing slowdowns on high-traffic sites; execution time has been reduced to about 1/75th the former result. [#29501]
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]