Cloud CMS Release 3.2.77

The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.77 release.

Upgrade Considerations

Please review the upgrade considerations provided here:


Binary Storage

  • Enhancements to how binary files are stored to make more efficient use of bulk copy and write.
  • Binary Storage operations now log more efficiently and with greater detail.


  • GraphQL was refactored to make use of purely asynchronous, non-blocking IO. The result is faster implementation of the GraphQL API that features lower CPU utilization and lower memory requirements.

Java Driver

  • Added driver.setPaths() and driver.getPaths() methods to make it easy for customers to enable the acquisition of path information on API calls that return nodes or node result maps.
  • Renamed the archive.publish() method to archive.markAsTemplate() so as to be forward-consistent with Cloud CMS 4.0.
  • Renamed the archive.unpublish() method to archive.unmarkAsTemplate() so as to be forward-consistent with Cloud CMS 4.0.

Server-Side Scripting API

  • Added a branch.getRootNodeId() method to retrieve the root node of a branch.
  • Added a node.getPath() method to retrieve the path of the node relative to the root node of the branch.


  • Several improvements to make transfer (both export and import) much faster.
  • Enhanced the management of H2 DB file handles to ensure that file handle leaks do not accrue for cases where an error might prematurely end a transfer job.
  • Deployment Handlers are now entirely asynchronous, allowing for faster execution, more advanced scheduling of work items and higher job throughput.
  • Greatly reduced the number of potential refresh() calls required after importing content with relator properties.
  • Several graph metrics (such as distance from source) are now computed and cached on the fly, allowing for much faster export times.


  • The Traversal API code paths were optimized to make retrieval faster and also much less intensive in terms of CPU utilization and heap allocation.

UI Clustering

  • Made it easier to configure Redis as a back end for clustered UI servers. Now only requires a single CLOUDCMS_REDIS_URL environment variable and an optional CLOUDCMS_REDIS_DEBUG_LEVEL variable to globally configure Redis log level. For more information, see:
  • Updated the QuickStart samples to use an updated version of Redis and demonstrate UI clustering more effectively.

User Interface

  • Added a 15 second TTL to static resources retrieved via the /preview route. The result is faster execution with less API traffic.

Bug Fixes

ACL Checks / Filtering

  • Fix so that ACL checks and filtering are applied universally to all internal methods that allow for field-level selection or partial result set generation.


  • Fix so that branch aliases can be used as identifiers when changing a node’s QName.

Job Dispatching

  • Fix so that that start time of a job is not errantly overwritten for jobs that transition into and out of an AWAIT state.
  • Fix so that job decommissioning makes at least three passes and independent checks before declaring a job out of service.


  • Fix so that dynamic MD5 calculations do not buffer into memory.


  • Fix so that the deploy job (and others) no longer use a synchronous timeout block. This was causing some jobs to fail in an ERROR state (even though the actual export or import eventually did run just fine). All deployment-related jobs are now purely asynchronous and utilize the job AWAIT state to passivate activity until one or more child processes complete.

User Interface

  • Fix so that list pages properly teardown event handlers/hooks when the DOM is destroyed or transitioned. The result is faster page rendering and transitioning with less API traffic and a lower number of HTTP requests from the browser.
  • Fix so that Branch Picker pagination works as intended.
  • Fix so that the Project Stack page retrieves and displays all data stores.
  • Fix so that the Project Applications list paginates as intended.
  • Fix so that the Node Versions page properly paginates for cases where the last key was being errantly determined.

Ready to Get Started?

Unlock your data with smart content services and real-time deployment

Try Gitana for free Ask for a demo