Changelogs

Last Updated: Jun 17, 2024
documentation for the dotCMS Content Management System

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
v25.01.17 Jan 17, 2025 Jan 17, 2026
v25.01.15 Jan 16, 2025 Jan 16, 2026
v25.01.13 Jan 14, 2025 Jan 14, 2026
v25.01.07 Jan 7, 2025 Jan 7, 2026
v24.12.27 Jan 1, 2025 Jan 1, 2026
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

dotCMS 25.01.17

Available: Jan 17, 2025 Demo starter image: 20241216
Empty starter image: 20241105

Just yesterday, it had been mentioned that we seek a horizon in which each merge is an update. Right on cue, here's dotCMS 25.01.17: short on bullet points, but long on vitality.

Of course, looks can be deceiving; not listed below are still other changes — ones contributing to a couple of forthcoming features. Icebergs, too, can look like such tiny things…

Fixes

  • Fixed UVE's edit mode for Firefox browser users. [#31142]
  • Fixed analytics widget by properly incorporating updated attribute names. [#31029]

dotCMS 25.01.15

Available: Jan 16, 2025 Demo starter image: 20241216
Empty starter image: 20241105

When establishing a cadence, consistency is key. Sometimes, when that cadence is brisk and frequent, a release might be quite a small thing — a few fixes, say. With the steady movement toward a dotEvergreen paradigm, we're looking forward to a day where each new merge is its own release. In the meantime, a steady drumbeat is the crucial element.

Incidentally, here's dotCMS 25.01.15, a small release with a few fixes:

Interface

  • Pointed a faulty style variable to the proper design-system color. [#30959]

Fixes

  • Fixed errors in analytics architecture:
    • CubeJS no longer throws token errors after they are renewed. [#31019]
    • Updated Clickhouse data to properly reference updated field and property names. [#30802]
  • UVE “API” link fixed; no longer throws 404 error. [#31118]
  • Fixed ability to use templates across multiple sites. [#30660]

dotCMS 25.01.13

Available: Jan 14, 2025 Demo starter image: 20241216
Empty starter image: 20241105

It can be hard to believe we're already midway through the first month of 2025; concrete proof is invaluable. Accordingly, dotCMS 25.01.13 is here to dutifully call out the proverbial hour by way of its very existence. All temporal things are, in their own way, clocks, and the steady ticking of our release schedule is no exception.

Below, twelve bullet points ring out like chimes at midday. This release features some enhancements to existing functions and improvements to UI. And just beneath that, you may indeed ask for whom the bell tolls: It tolls for a handful of bugs.

Enhancements & Adjustments

  • Experiments' auto-inject functionality has been extended to support pages served via CDN. [#30625]
  • Reorganized folder structure used in internal content-library management. [#31052]
  • Added support for ClickHouse database schema initialization within a Docker volume, allowing changes to be parameterized without having to generate a new Docker image. [#31024]
  • Improved Workflow API's methods vis-a-vis creating different-language versions of existing content. [#30950]

Interface

  • Improved UVE toolbar design and user-lock notifications. [#30940]
  • Added SEO Results to Device dropdown for traditional pages in UVE. [#30921]

Fixes

  • Push publishing content with the “Everything and Dependencies” filter will now include all related content, including those with a relational depth of 2 or more, without concerns about circular dependencies. [#31036]
  • Fixed case where page-request analytics would record a null value for the host attribute. [#31022]
  • Adding the uniquePerSite field variable field variable on a unique field in a content type with multiple unique fields no longer causes an error. [#30892]
  • Tasks still referencing previously removed EsReadOnlyMonitorJob were causing errors; these have been removed. [#30993]
  • UVE no longer automatically publishes page on layout change. [#30868]
  • Files with the name webPageContent.vtl can now be saved, edited, renamed, fetched, and otherwise interacted with normally. [#30804]

dotCMS 25.01.07

Available: Jan 7, 2025 Demo starter image: 20241216
Empty starter image: 20241105

The first Current release o' 2025, dotCMS 25.01.07 is a wee, humble beastie. Though weighin' but little, make nae mistake, she's a strappin' and lively bairn, bonnie and hale, wi' fixes tae see her through the bitter winter, aye. Slàinte!

Interface

  • Updated the Preview Device view mode interface in the UVE. [#30858]
  • Fixed positioning issue on the Roles list that left the final Role partially occluded. [#30544]

Fixes

  • Binary fields with an Allowed File Type specified in their Settings tab were not re-saving the setting properly when changed back to blank (i.e., no whitelist); this has been resolved. [#31034]
  • Fixed format issue preventing Category fields from saving. [#31042]
  • File assets without an extension now save properly. [#30982]
  • dotCLI once again respects the path argument on push commands. [#30963]
  • Block editor image-block properties can now be edited in Firefox. [#30327]

dotCMS 24.12.27

Available: Jan 1, 2025 Demo starter image: 20241216
Empty starter image: 20241105

Think of dotCMS 24.12.27 as a prize truffle hog — snuffling its way through all manner of murk and mire, hunting for the sporocarps of solvable issues. Surveying the landscape even as its tiny hooves stamp it level. Gauging readiness.

No mere uncultured swine, this release trots error-handling routines to REST APIs, roots out display issues, nuzzles its respect to variables, and gathers filter keys into push-publishing bundles. “Some pig,” a well-heeled arachnid of letters might weave into her silken abode.

Indeed, from the joyous squeals of victory, one might conclude that this will soon be designated our next Long-Term Supported release. But for the moment, let us enjoy it while it's still an adorable little piglet in the Current pen.

Enhancements & Adjustments

  • The push-publishing filter key used in a given bundle is now visible from the receiving server, because better traceability makes for better diagnosis (literally “knowing-through”)! [#30997]

Interface

  • Added a new “Filter” column to the Publishing Queue reflecting the previous bullet. [#29786]
  • Removed workflow actions toolbar from the UVE on experiment variant pages on which it did not belong, and would only cause Bad Request errors. [#30726]
  • Hid the “Preview” option visible on the pane when editing a page's properties within the UVE; it seemed redundant. [#28761]

Fixes

  • System now correctly respects the push-publishing filter governing relationships — i.e., relationships: false will properly prevent relationship data from being transmitted to, or altered on, the receiver. [#30998]
  • Resolved an issue causing stale window object states to persist across page refreshes in UVE's traditional mode. As with any dirty window, the solution involved assertive squeegeeing. [#30981]
  • Filled a gap in our general error-handling routines: Now all REST API endpoints capable of throwing a 415 response code will do so via proper JSON responses. Admittedly, it's a little funny to send an Unsupported Media Type error as HTML when the end user expects JSON. But also a tad hypocritical. [#30828]
  • User company info now persists visibly in the admin panel after signing out and back in; it was being written correctly to the database, but not populated in the interface. [#30731]
  • Added checks to ensure UVE correctly reads the CONTENT_PALETTE_HIDDEN_CONTENT_TYPES variable, and hides the specified content types from the palette accordingly. [#29621]
  • Users with restricted rules access will no longer even see the Rules tab on the UVE. [#28919]
  • Ensured that rules now fire correctly in “Show Preview” mode for better alignment with expected live page behavior. [#26341]

Dependencies, Components, Etc.

  • Transitioned JobProcessor discovery from Jandex to CDI for better maintainability and standards compliance. [#30545]

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 jobs
    • GET /content/_import/active — Fetch import jobs, filtering for active jobs
    • GET /content/_import/completed — Fetch import jobs, filtering for completed jobs
    • GET /content/_import/failed — Fetch import jobs, filtering for failures
    • GET /content/_import/canceled — Fetch import jobs, filtering for cancelations
    • GET /content/_import/successful — Fetch import jobs, filtering for successes
    • GET /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 to true; 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

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 its lastPersona. [#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 a translated 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:
    • hasCommentActionlet indicates whether the workflow includes the “Comment on Workflow” actionlet [#30571]
    • isResetable indicates whether the workflow action contains a “Reset Workflow” actionlet [#30541]
  • 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

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

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

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

  • The default core repository branch name has been changed from master to main. [#29842] [#29841]

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 correct totalResults 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]

On this page

×

We Dig Feedback

Selected excerpt:

×