dotCMS Changelog

What's new in dotCMS 3.5

May 7, 2016
  • NEW FEATURES:
  • dotCMS 3.5 contains two major new features which enable you to customize the display of your site for different users:
  • Rules are a very powerful feature that enable you to set dotCMS properties and change how your pages are displayed based on visitor information such as visitor location and platform:
  • Rules may be built from the many built-in Conditions and Actions, or you may create your own custom Conditions and custom Actions using OSGI plugins.
  • Rules may be accessed and updated via the REST API.
  • Rules may also be push published to other servers.
  • Personalization allows you to provide personalized content to different users that visit your site based on user preferences and browsing behavior:
  • The Visitors feature provides you with information about each user who visits to your site, including current information such as user location and platform, and historical information such as the tags of content the user has visited in the past.
  • The Personas feature allows you to define different types of users, and then server content to each user based on which type of user you've identified them as.
  • The pullPersonalized method enables you to automatically pull and sort personalized content for different users, using the built-in personalization features of both Visitors and Personas.
  • In addition, dotCMS 3.5 now allows you to sort content pulls by score.
  • FIXES:
  • The 3.5 release includes fixes for a number of reported issues, including but not limited to the following:
  • Fixed critical security issue, "SQL Injection via REST API", SI-35
  • Fixed moderate security issue, "SQL Injection from Workflow Screen III", SI-36
  • Fixed moderate security issue, "Directory traversal vulnerability by Admin", SI-34
  • Fixed low security issue, "XSS in Lucene Search Admin tool", SI-33
  • Incorrect Logging Levels in the PluginFileMerger class.
  • Image Editor image size slider doesn't display correctly.
  • Copy Host -> Copy Content does not link the new content to the new host.
  • When using H2 database, the Templates list is empty for non-admins when adding a page.
  • A 404 exception generates an unnecessary stack trace in the log file.
  • CookieUtil sometimes generates incorrect cookies or cookie syntax.
  • Initial Referrer not set correctly in ClickstreamFactory.
  • In addition, the 3.5 release includes fixes for the following issues (which are also fixed in the 3.3.1 maintenance release):
  • After migrating legacy pages, the Redirect URL value is dropped.
  • Cannot add folders at root level with limited user.
  • File names are not escaped when Downloading.
  • Wrong language_id affects the current session.
  • Error generating Integrity Checker results using MS SQL Server.
  • Log4j2 log rollover stores files in incorrect location.
  • FileAssetMap does not have a 'host' field anymore.
  • Release aborted file handles.
  • Casting exception during Push Publishing when running on MS SQL Server.
  • Host Lookup in request does not work in Live Mode.
  • The back-end Link to the dotCMS Support Portal is wrong.
  • Integrity Checker fails when there are unpublished/archived assets.
  • Cluster cache gets corrupted after receiving content.
  • OSGI Framework tries to deploy bad plugins indefinitely.
  • NavTool returns wrong "active" items.
  • Button in Push Publish Workflow Action has misleading label.
  • Files under a folder are sorted incorrectly.
  • To view more information on any of these issues, please visit the dotCMS Github repository.
  • ADDITIONAL CHANGES AND IMPROVEMENTS:
  • The Microsoft JDBC driver has been upgraded from version 4.1 to version 4.2.
  • Default Password requirements have changed:
  • Please see the Password Security Configuration documentation for more information.
  • The Ratings thread is now turned off (disabled) by default:
  • This deprecated functionality is no longer used except for legacy sites.
  • The tagCloud macro has been removed:
  • This macro has been deprecated for some time, and is now fully removed.
  • You may replace the tag cloud macro with a tag cloud implemented using ElasticSearch aggregates.
  • The StructureCache class has been refactored to the ContentTypeCache class:
  • Any plugins or code which imports the StructureCache must be refactored to refer to the new class.

New in dotCMS 3.3 (Dec 20, 2015)

  • IMPORTANT CHANGES:
  • Five important changes in dotCMS 3.3 may impact your performance when upgrading an existing site. Please read the documentation sections on all of these changes before upgrading from a previous release.
  • Velocity Macro Caching:
  • dotCMS 3.3 uses a new cache chain which allows you to specify multiple cache providers in a chain. Due to the need to support cache providers which handle velocity code in different ways, velocity macros can no longer be cached to disk.
  • If you have velocity macros in .vtl files, the velocity macros will not render properly on some servers, or after a restart.
  • If your velocity macros are stored in files with a .vm extension you do not need to make any changes; dotCMS will automatically cache your macros to memory only, and your applications will continue to work normally.
  • If you have velocity macros stored in .vtl files or files with other extensions, you have two options to prevent problems rendering your macros:
  • Move all velocity macros into separate files with an extension of .vm.
  • Enterprise Only: Change the Velocity cache region chain (cache.VelocityUserVTLCache.chain) to use cache providers which store data to memory only.
  • The Startup Script Has Changed:
  • The dot.jamm jar has been upgraded to a newer version, so the command used to startup the javaagent for the dot.jamm jar has changed.
  • The log4j.xml File is No Longer Used:
  • dotCMS 3.3 has been upgraded to Log4j version 2. As part of this change, the log4j configuration file has been renamed to log4j2.xml, and moved to the ROOT/WEB-INF/log4j folder.
  • If you've made changes to the log4j configuration on your site, you may still use many of your changes, but you will need to merge these changes into the log4j2.xml file provided with dotCMS 3.3. Please see the Logging Configuration documentation for more information.
  • dotCMS Messages are No Longer Written to the Console:
  • To improve performance and prevent management issues with application server log files (e.g. catalina.out), dotCMS log messages are no longer written to the console. All dotCMS log messages can still be viewed in the dotCMS log files; see the Logging Configuration documentation for more information.
  • Cache Configuration has Changed:
  • dotCMS 3.3 includes a new cache chain feature which enables Enterprise customers to configure and customize cache providers. As part of this change, the cache configuration properties have changed. How you address these changes depends on your dotCMS license version:
  • Community Customers:
  • dotCMS 3.3 still uses the cache size parameters (cache.default.size, cache.adminconfigpool.size, etc.), but dotCMS Community Edition no longer uses a disk cache. So if you have changed your cache .size parameters you must copy them to the dotCMS 3.3 properties file, but no other changes are needed (and you do not need to copy your cache .disk parameters such as cache.default.disk).
  • Enterprise Customers:
  • dotCMS 3.3 still uses the cache size parameters (cache.default.size, cache.adminconfigpool.size, etc.), so if you've made changes to these properties you will need to copy them to your dotCMS 3.3 configuration. However the ".disk" properties (cache.default.disk, cache.contentletcache.disk, etc.) have been replaced with the cache chain properties, so if you've made changes to the cache ".disk" cache properties, you must reconfigure your cache using the new cache chain parameters in dotCMS 3.3. Please see the Cache Chaining documentation for more information.
  • Quartz Job Scheduler MisfireHandler Log Error:
  • When upgrading from an older version, you may receive an error in the logs related to the quartz job scheduler: CST ERROR quartz.DotJobStore: MisfireHandler: Error handling misfires: Couldn't store trigger 'trigger16' for 'CleanBlockCacheScheduledTask'
  • Although this causes errors to be written to the log file, it does not affect system performance.
  • Resolution:
  • The CleanBlockCacheScheduledTask is a system job, so it can't be removed from the Job Scheduler tab. To remove the errors from the log file, you must manually run SQL commands against your database to remove the CleanBlockCacheScheduledTask.
  • FIXES:
  • Fixed a number of reported security issues (please contact dotCMS support for more information).
  • Fixed several issues with push publishing.
  • Fixed a number of issues with the Integrity Checker.
  • Fixed some scroll bar issues in Edit Mode in IE11.
  • Fixed an issue with incorrect dates set in a .ICS file downloaded from the Calendar.
  • Fixed some issues managing files and folders in the Site Browser.
  • Fixed an issue preventing newly created cookies from respecting the expire parameter.
  • Fixed some ordering issues with Workflow sub-actions.
  • Fixed some issues running dotCMS as a WAR in JBoss and WebSphere.
  • Fixed an issue with Image Editor URLs.
  • NEW FEATURES:
  • Added a Stop Reindex and Make Active button to allow you to safely stop the reindexing process.
  • Added the ability to use external cache providers, including Redis.
  • Added the ability to chain the cache, and specify different chains for each cache region.
  • Added the ability to directly push languages and add languages to bundles
  • Added a User Agent viewtool plugin.
  • ADDITIONAL CHANGES AND IMPROVEMENTS:
  • The Reindex feature has been improved to try all records once before retrying failed records a configurable number of times, ensuring failed records will not hold up the reindex process. In addition logging and notifications of index failures have been improved, and buttons have been added to display failed records and auto switch to the new index if needed.
  • Right-click functionality in the WYSIWYG field has been disabled. We now rely entirely on the user's browser for functions such as spell check.
  • The JUnit framework is no longer packaged with dotCMS. If you have a plugin that requires the JUnit framework, you must repackage your plugin to include it.
  • Updated the CMIS library to version 1.3.
  • The HTML code returned for page redirects has been changed from 302 (moved temporarily) to 301 (moved permanently).
  • The navtool Velocity viewtool now accepts a navigation level, allowing you to display the navigation from any level in the navigation tree.
  • The jsontool and importtool Velocity viewtools now accept a timeout value to prevent long waiting requests from stalling threads.

New in dotCMS 3.2.4 (Aug 19, 2015)

  • Fixes:
  • Added ability to add files without extensions via webdav
  • Improved 1.9 to 3.2.4 upgrade
  • Improved logging for the Migrate to Content functionality
  • Cut/Paste fixed on Legacy Pages
  • Added config to sleep during Reindex logic
  • Improved the performance for File Assets when getting their dimensions

New in dotCMS 3.2.3 (Jul 22, 2015)

  • Improvements to Reindex Logic on Failures in ElasticSearch

New in dotCMS 3.2.2 (Jul 6, 2015)

  • Fixes:
  • Fixed issues with What's Changed functionality in Edit Mode
  • Fixed some issues with Publishing content in multiple languages
  • Fixed some major performance issues with legacy pages meaning pages that are not content

New in dotCMS 3.2.1 (Jun 12, 2015)

  • Improvements:
  • Updated Spring OSGi example plugin from Spring 3 to Spring 4.
  • Made multiple performance improvements.
  • Sessions are no longer required and load balancer stickiness is not longer mandatory for front end site delivery in a cluster (the admin functionality and multilingual sites where languages can be toggled still require sessions). By default, dotCMS still creates sessions for clickstream tracking. You can turn off automatic session cookie creation by setting ENABLE_CLICKSTREAM_TRACKING to false in your dotmarketing-config.properties.
  • Fixes:
  • Fixed the key value field losing data after rendering in the UI.
  • Fixed the DB pooling parameters. The context.xml shipped with 3.2 still used Tomcat 7 specific properties which no longer work with Tomcat 8, specifically the maxActive configuration option has been renamed to maxTotal and the maxWait configuration option has been renamed to maxWaitMillis.
  • Fixed issues with images in a multi-lingual site
  • Fixed static plugin compiling issues with Java 7 and 8
  • Fixed multiple issues with the Navtool Viewtool and Multiple Languages on Pages as Content

New in dotCMS 3.2 (Apr 23, 2015)

  • Improvements:
  • Ships with updated Tomcat 8.0.18
  • Java 8 now supported. You can still run Java 7 if needed
  • Added 3 new out of the box Actionlets for Custom Workflows (Email, Auto Set Value, and an Auto Push)
  • Fixes:
  • Fixed the random sort on pull contents
  • Fixed some issues with Weblogic
  • Fixed 3.x issue where the history code fields in containers was not saved

New in dotCMS 2.3 (May 8, 2013)

  • New Features:
  • Themes and Responsive Design:
  • Themes provide a portable, sharable way to apply a common look and feel across a site or sites.
  • The included dotCMS starter site uses a theme based on Twitter’s Bootstrap for Responsive design, though any modern CSS/JS framework can be used.
  • dotCMS’s theme library provides starter themes for other major CSS frameworks (Foundation, YAML) and allows the community to contribute new themes.
  • Themes can be shared within a host and across hosts.
  • Template Designer:
  • Allows users to create dotCMS templates without any knowledge of HTML code.
  • The Template Designer is used in conjunction with themes to apply a common, responsive look and feel across a site.
  • Preview your theme and template in mobile device resolutions.
  • Use an existing themes, create your own theme, or download a third party theme to create a new design template.
  • Automatic Link Checker:
  • The new Link Checker workflow automatically checks links in WYSIWYG content before saving it, to avoid external link errors.
  • There is a new portlet called Broken Links that can run an external link check on all content structures and creates a report of all broken links. This process can be scheduled using a cron expression, which then sends an email with the link errors found to the content editors.
  • Time Machine / Static Snapshot:
  • Time Machine allows a user to browse a snapshot of how a site has looked in the past or will look in the future (based on publish and expire dates).
  • The timemachine also allows a user to take a snapshot, or static copy, of selected hosts and save it as a "bundle" in dotCMS. This bundle can then be used to run a static copy of your sites on a non-dotCMS web server. Multiple snapshots can be taken for any dotCMS managed host.
  • Scheduled Publishing:
  • Users can assign Publish dates and Expire dates to content structure which would automatically publish or expire content based on those dates.
  • Dynamic Plugins get more Powerful:
  • Hot deploy portlets/admin tools in the backend of dotCMS.
  • Added the ability to deploy Quartz/Cron Jobs.
  • The extra packages can now be deployed from the UI.
  • New Examples on deploying your own Spring version and complete with Spring Web Services.
  • urlReWrite (tuckey) Filters can now be deployed from Dynamic Plugins.
  • New Navigation Tool:
  • dotCMS ships with a developer friendly way to develop custom menus, crumbtrails and sitemaps with your own HTML and styles. This tool will build a navigation given a path and return a list of items.  
  • Wiki Tool:
  • The new WikiTool allows dotCMS to parse wiki formated from 3rd party wiki sources like TWiki, Markdown, MediaWiki, Confluence
  • Remote Publishing - BETA:
  • 2.3 introduces a new Remote Publishing framework which will enable remote publishing with an easy to use interface.  
  • Publish content, pages and even whole sites to one or more dotCMS server or dotCMS clusters that can be geographically distributed.
  • Remote Publishing is beta functionality that will be supported for Enterprise customers in the 2.3 version and will be finalized in the next dotCMS release.
  • Fixes/Improvements:
  • The size of the dotCMS Cache is greatly reduced
  • CMIS is now faster and more robust. 2.3 connects can server content via CMIS directly to products like Liferay
  • Salesforce can now be used to authenticate similar to LDAP
  • Multiple IE9/IE10 fixes made
  • Roles Manager can now support hundreds of thousands of roles
  • URLMap now respects a passed in language_id and will set the language session to the language you pull
  • MySQL 5.6 now fully supported
  • Date fields now respect patterns YYYY-MM-DD (HH:MM:SS) and can accept an empty date. You can also set to now by default
  • Restful RoleAPI added
  • Rest APIs now support many authentication methods (GET,POST,BASIC,HEADER,SESSION)

New in dotCMS 1.9 (Aug 6, 2010)

  • CMIS & Content API
  • Multi-Tenet Host Management
  • Copy Paste Entire Web Sites
  • Cascading Permissions and Roles
  • SEO Friendly Names for Dynamic Pages