Releases

The Cloud CMS product suite is available to subscription customers for installation on-premise or within your own virtual private cloud. The product suite is delivered as a series of Docker images along with sample installation scripts to help you get running.

Cloud CMS runs on any Docker host including Amazon AWS (via Cloud Formation templates, Amazon Elastic Container Service, Amazon Elastic Beanstalk or the Docker AWS Engine), IBM BlueMix, RackSpace, Digital Ocean and many others.

The download consists of a ZIP with sample configuration files to launch the complete Cloud CMS stack in variety of configurations including development, standalone and clustered. The sample configuration files are provided using Docker Compose.

To run Cloud CMS on-premise, you need to be a Cloud CMS subscriber.
Contact Cloud CMS to purchase a license or request an on-premise trial.

Subscribe to our Mailing List

We'll send you notifications when new product releases and new features are made available.



Cloud CMS Release 3.2.77

Published on 05/14/2022
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: https://www.cloudcms.com/documentation/docker/upgrades/3-2-77.html

Enhancements

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
  • 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.
Transfer
  • 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.
Traversal
  • 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: https://www.cloudcms.com/documentation/appserver/clustering.html#configuring-redis
  • 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.
Branches
  • 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.
MD5
  • Fix so that dynamic MD5 calculations do not buffer into memory.
Transfer
  • 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.


Cloud CMS Release 3.2.76

Published on 04/15/2022
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.76 release.

CVE-2022-22965

This release is hardened against CVE-2022-22965. For more information on CVE-2022-22965, please visit: https://www.cloudcms.com/documentation/docker/notices/cve-2022-22965.html

Upgrade Considerations

Please review the upgrade considerations provided here: https://www.cloudcms.com/documentation/docker/upgrades/3-2-76.html

Enhancements

API
  • The API now returns an ETag HTTP header field which is populated with the checksum for the requested resource. The ETag can be retained and compared against future API responses to implement reliable client-side caching. The header value only changes when the requested resource has been modified. The ETag header applies to JSON requests as well as binaries and attachments.
Attachments
  • Any binary attachment written into Cloud CMS now automatically computes an MD5 checksum. This checksum is available on the attachment subobject of a node (or other Attachable type). The checksum can be used to determine if the attachment’s binary payload changed or has remained the same.
Branch Actions
  • The User Interface for Pulling, Comparing and Copying between Branches has been improved to offer a more accurate picture of what has changed and what is available when executing those operations.
Spring
  • The default Spring annotation-based request mapping handler adapter is now wrapped to ensure that Spring web bindings always exclude any Class accessor fields. This is to add programmatic-level innocuation against CVE-2022-22965.
Transfer
  • When transferring binaries and attachments, the MD5 checksum is now used to reduce the time required to import. The checksum is compared to any existing attachments and, if nothing changed, the import operation is skilled for that attachment. The result is faster, lighter imports.

Bug Fixes

Default Forms
  • Fix so that the User Interface will properly default to the first form available (alphabetically) when a document doesn’t have an existing _formKey in place.
Login
  • Fix a bug so that error messages reported properly for additional cases where a user might fail a log in.
REST API
  • Fix so that a 403 HTTP code is returned for additional cases where a user might encounter a NotAuthorizedException.
Sync Node Action
  • Fix so that the SyncNode Workflow Handler properly passes full set of options for all usage cases.
  • Fix so that Sync Node works as intended for cases where related nodes stored as siblings under a common folder export properly.
Transfer
  • Fix so that search and path indexing takes less time for incremental tip-mode Node transfers.
  • Fix that Directory data store Connection objects export and import as intended.
  • Fix so that tip-mode Node transfer automatically repairs cases where referenced changesets are missing.
  • Fix so that platform identifier is properly stamped onto import sub-job for copy jobs.
  • Fix so that the correct tip-mode changeset is resolved for cases involving nested relators. This bug had caused incorrect relator target nodes to be exported.


Cloud CMS Release 3.2.75

Published on 03/29/2022
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.75 release.

CVE-2021-44228

This release is hardened against CVE-2021-44228. For more information on CVE-2021-44228, please visit: https://www.cloudcms.com/documentation/docker/notices/cve-2021-44228.html

Upgrade Considerations

Please review the upgrade considerations provided here: https://www.cloudcms.com/documentation/docker/upgrades/3-2-75.html

Enhancements

Actions
Branch Repair
  • Enhanced the “Branch Repair” function to support validation of relators. This function can be invoked via the CLI to check on the health of a branch at any time. A repair switch allows you to have Cloud CMS automatically fix up any issues that it finds. For more information, see https://www.cloudcms.com/documentation/cli.html#repair-branch.
Elastic Search
  • Updated the default settings applied to new Elastic Search indexes ("index.mapping.nested_fields.limit": 100, "index.mapping.nested_objects.limit": 20000).
GraphQL
  • Faster GraphQL implementation that takes advantage of updated internal libraries and improved caching.
Job Service
Logging
  • Internal improvements to how Log4j2 Appenders store state when running asynchronously to allow for faster logging with less CPU utilization.
Transfer
  • Faster imports and exports that have significant performance impacts for publishing, deployment, copying, project creation and archiving.
  • Reduced memory footprint and CPU utilization.
  • All exports from version 3.2.75 onward use Transfer Schema v3. To import these archives, you will need to be running Cloud CMS 3.2.75 or beyond. Backward compatible with archives generated from earlier versions of Cloud CMS. See upgrade notes on Transfer Schema v3 here: https://www.cloudcms.com/documentation/docker/upgrades/3-2-75.html#transfer-schema-v3
User Interface
  • When forms are edited using a selected form, the form preference is stored using a _formKey property on the node. When editing the node afterwards, the previously used form is auto-selected.
Versions
  • Improvements to the node listVersions API call to provide more metadata and a more accurate accounting of precisely which versions are on which branch and which versions merged or forked from which other versions. The user interface has also been improved to reflect this information, providing for an even better experience when working with versions of content.

Bug Fixes

ActiveMQ
  • Fix so that ActiveMQ sessions are re-established with each batch of new messages to account for case where ActiveMQ session could be flushed and/or closed by the remote receiver.
Hazelcast
  • Fix so that distributed messages coordinate the release of the message lock more accurately. In previous releases, it was possible in an edge case for the lock to get released before the final response was received.
Transfer
  • Fix so that the selectedBranchIds parameter works as intended when invoked directly via the REST API.
  • Fix so that exports work more efficiently for cases where a snapshot branch is being exported.
  • Fix so that importing a node with attachment properties (i.e. _attachment is specified) works as intended.
  • Fix a potential file handle leak that could occasionally occur while importing binary attachments.
User Interface
  • Fix so that HTML escaping for field helper messages is applied correctly.
  • Fix so that Content Types list filters correctly for all cases.


Cloud CMS Release 3.2.74

Published on 02/23/2022
The following are the new features, enhancements and fixed issues for the Cloud CMS 3.2.74 release.

CVE-2021-44228

This release is hardened against CVE-2021-44228. For more information on CVE-2021-44228, please visit: https://www.cloudcms.com/documentation/docker/notices/cve-2021-44228.html

Upgrade Considerations

Please review the upgrade considerations provided here: https://www.cloudcms.com/documentation/docker/upgrades/3-2-74.html

New Features

General Support for AWS OpenSearch 7.x
General Support for ElasticSearch 7.x
General Support for MongoDB 4.x

For supported stack information, see: https://www.cloudcms.com/documentation/supported-stacks/32.html

Enhancements

Job Queue
  • The Job Reaper thread is now enabled by default with a configuration that enables it to clean up older job records more promptly.
Logging
  • Request logging context now includes body (for JSON payloads). This information is automatically logged to the default rolling file appender and is also applied to Kinesis, Cloud Watch and other configured appenders.
Performance
  • Reduced the number of cache writes that occur when retrieving nodes or roles so as to improve overall API throughput.
  • Improved cache speed by streamlining some unneeded initializers and event listening subsystems.
  • Faster localization of nodes via the API.

Bug Fixes

Binary Storage
  • Fix so that cleanup logic on Caching Binary storage system runs within a try/catch to handle cases where files may fail to write to back end provider.
Branch
  • Fix so that cluster branch initialization works more efficiently for cases where containers come online and multiple threads may contend for first access to a branch.
Indexing
  • Fix so that adhoc creation of MongoDB indexes strictly uses background mode for legacy, older databases.
  • Fix so that includes and excludes arrays properly parse when making a repair indexes call.
Pagination
  • Fix so that pagination defaults and maximums are always applied and enforced for cases where branch-level node queries pull back a constrained subset of fields.
Transfer
  • Fix so that exported nodes that have an incorrectly identified changeset will auto-correct and export for the correct changeset.


Cloud CMS Release 3.2.73

Published on 02/11/2022
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.73 release.

CVE-2021-44228

This release is hardened against CVE-2021-44228. For more information on CVE-2021-44228, please visit: https://www.cloudcms.com/documentation/docker/notices/cve-2021-44228.html

Upgrade Considerations

Please review the upgrade considerations provided here: https://www.cloudcms.com/documentation/docker/upgrades/3-2-73.html

Enhancements

Command Line Tools
  • Added new commands to support direct manipulation, build and automatic repair of Mongo DB indexes.
  • Added new commands to facilitate upgrade process
Database
  • Improved management of MongoDB collections and indexes that supports schema retrieval and minimal touch upgrades.
Performance
  • Several performance tweaks to improve response time for queries and other read operations.

Bug Fixes

Job Queue
  • Fix so that handling of abandonded jobs from terminated cluster containers is performed more elegantly and avoids locking up the queue.
Merge
  • Fix so that merges process properly for some cases where definitions were changed concurrent with content instances being pulled.


Cloud CMS Release 3.2.72

Published on 01/25/2022
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.72 release.

CVE-2021-44228

This release builds upon the prior release of Cloud CMS (which was already hardened against CVE-2021-44228). With this release, we have updated Log4j to version 2.17.1.

Cloud CMS recommends that customers upgrade to this release to ensure that Log4j is hardened against this vulnerability.

For more information on CVE-2021-44228, please visit: https://www.cloudcms.com/documentation/docker/notices/cve-2021-44228.html

Update Recommendations (On-Premise Only)

With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api and elasticsearch services are no longer using port 9300 by default. They are now using port 9200 by default.

Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.

For information on configuring Elastic Search for Cloud CMS, please see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#using-the-condor-http-client

For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore command via the Cloud CMS Command Line Client (http://www.cloudcms.com/documentation/cli.html#reindex-datastore).

You can execute it like this:

cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>

Where the username and password are the credentials for your administrator account.

Enhancements

Application Server
  • Sessions are now automatically configured to use Redis as backing storage when configuring UI servers in a cluster (this was a manual step previously and now just automatically kicks in).
C## Driver
  • Access Tokens will now refresh and retry after an HTTP 401 is received.
  • Additional methods for jobs, projects, releases, versions and paths.
  • Refactoring and naming clean up + additional tests
Java Driver
Log4j
  • Updated to version 2.17.1 to provide further hardening against the CVE-2021-44228 exploit.
PHP Driver
  • Additional methods for branches, nodes, versions, projects, branches and releases.
  • Removed reference to hard coded root node.
  • Added methods for changeQName, resolvePath and resolvePaths.
  • Added GraphQL Support.
Python Driver
  • Additional methods for resolvePath and resolvePaths.

Bug Fixes

Auto Translation
  • Fix so that leading slashes are automatically removed frmo property paths when building auto-translation payload.
Content Model Builder
  • Fix so that user interface refreshes properly for certain clickpaths.
Deployments
  • Fix so that deployments identified as having timed out on decomissioned servers (in a clustered configuration of the API tier) will automatically clean up for all cases.
File Paths
  • Fix so that file path index is more accurate in-transaction for cases where nodes are deleted.
Jobs
  • Fix so that jobs correctly schedule onto the correct target server for some cases involving nested jobs and retries.
Permissions
  • Fix so that permissions and authorities caches have a smaller TTL - allowing for cached access rights to invalidate more quickly.
Sync
  • Fix so that sync actions correctly set the allowWriteToFrozenBranches flag when executed from a rule or a script.
Transfer
  • Fix to ensure that branch deployments work properly for some edge cases where transfer run in copyAttachments mode and move binary items across storage providers.
  • Fix so that API calls to Copy resources (identified by dependency chains) works as intended for cases where partial dependency chains are submitted.
  • Fix so that imports of tip-mode exports of branches cannot be imported on top of an existing branch using the CLONE import strategy (as it would break immutability of the 0:root changeset).
  • Fix so that attachments properly import for cases where a previously published node has an attachment updated and the copyAttachments performance optimization is used.


Cloud CMS Release 3.2.71

Published on 12/14/2021
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.71 release.

CVE-2021-44228

This release contains the recommended Log4j upgrade to version 2.16.0 to address the Log4j vulnerability identified as CVE-2021-44228.

Cloud CMS recommends that customers upgrade to this release to ensure that Log4j is hardened against this vulnerability.

Customers running previous releases of the Cloud CMS API container can harden their environments by following the steps identified here: https://www.cloudcms.com/documentation/docker/notices/cve-2021-44228.html

For more information on CVE-2021-44228, please see: https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance

Update Recommendations (On-Premise Only)

With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api and elasticsearch services are no longer using port 9300 by default. They are now using port 9200 by default.

Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.

For information on configuring Elastic Search for Cloud CMS, please see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#using-the-condor-http-client

For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore command via the Cloud CMS Command Line Client (http://www.cloudcms.com/documentation/cli.html#reindex-datastore).

You can execute it like this:

cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>

Where the username and password are the credentials for your administrator account.

Enhancements

Auto Translation
  • Properties described by excludePaths in f:auto-translate will be copied as-is to translations when modified.
C# Driver
  • Updated to improve support for tokens, refresh and retry handling for 401 responses and additional methods for Jobs, Projects, Releases and Nodes. For more information, see https://www.cloudcms.com/csharp.html.
Dictionary
  • Feature configs in a child definition mandatoryFeatures will now override their parent config if present.
Python Driver
SDK
  • Updated sample integrations to Cloud CMS using Next.js, Nuxt and Gatsby. For more information, see:

https://github.com/gitana/sdk/tree/master/nextjs/sample https://github.com/gitana/sdk/tree/master/nuxtjs/sample https://github.com/gitana/sdk/tree/master/gatsbyjs/sample

SSL Termination
  • Added documentation to provide guidance to customers on how to configure SSL termination for API and UI containers. This is provided as an alternative to the recommended guidance of using a separate SSL termination container (such as Nginx or Apache).

For more information on SSL termination for the API, see https://www.cloudcms.com/documentation/docker/configuration/api-server.html#configure-the-api-containers-as-ssl-termination-endpoints.

For more information on SSL termination for the UI, see https://www.cloudcms.com/documentation/docker/configuration/ui-server.html#ssl-termination.

Transfer
  • Faster transfer import thanks to a refactor in how bulk DB writes and updates are being processed.
  • Faster Copy, Deployment and Publishing thanks to a much faster implementation of binary asset copies and archive expansion.
  • Optimized internal DB indexes and methods calls.
  • Transfer archives now include separate .metadata.json files for each exported binary attachment, improving the accuracy of mimetype and filename tracking.

Bug Fixes

Content Model Builder
  • Fix so that clicking back and forth between JSON and Visual builder preserves changes to JSON for local edits.
  • Fix so that required blocks are handled properly.
Forms
  • Fix so that strict HTML escaping is applied to configured helper text for nested form elements so as to prevent the possibility of script injection.
Log4j
  • Updated to the latest recommended Log4j library (2.16.0) to ensure protection against CVE-2021-44228. See above in the release notes for more information.
Merge
  • Fix so that merges work properly for cases where source or target merge objects are missing their _features block.
Preview and Thumbnails
  • Fix so that the f:previewable (Preview) and f:thumbnailable (Thumbnail) features generate multiple attachments in a single transaction.
  • Fix so that notification queue is optimized to reduce the number of invalidation messages sent during generation.
Temporary Files
  • Fix so that temporary files are cleaned up properly during transfer import.

Full Changelog: https://github.com/gitana/cloudcms-docker-releases/compare/3.2.70...3.2.71



Cloud CMS Release 3.2.70

Published on 10/26/2021
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.70 release.

Update Recommendations (On-Premise Only)

With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api and elasticsearch services are no longer using port 9300 by default. They are now using port 9200 by default.

Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.

For information on configuring Elastic Search for Cloud CMS, please see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#using-the-condor-http-client

For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore command via the Cloud CMS Command Line Client (http://www.cloudcms.com/documentation/cli.html#reindex-datastore).

You can execute it like this:

cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>

Where the username and password are the credentials for your administrator account.

Enhancements

Auto Translation
  • The f:auto-translate feature (Auto Translate) now supports an array of regular expressions for the excludePaths option. These regular expressions are matched against all property paths when deciding what fields to include during auto translation processing. For more information, please see: https://www.cloudcms.com/documentation/features/auto-translate.html
Gatsby Integration
Nuxt Integration

Bug Fixes

Authentication
  • Fix so that various combinations of invalid credentials during authentication consistently come back as 400 with the expected JSON envelope.
Auto Translation
  • Fix so that nested text is properly discovered, parsed and translated for cases where text was deeply nested within certain combinations of objects and arrays.
Cluster
  • Fix so that distributed cluster messages execute more quickly. Distributed messages now time out more quickly and are faster to complete across all nodes in the cluster.
S3 Deployment
  • Fix so that the S3 Deployment Handler no longer duplicates the prefix configuration property when calculating an object’s path.
  • Fix so that S3 network issues are less likely to stall out jobs. Jobs now fail more quickly, allowing for the job queue to respond (either discarding or retrying the job as appropriate).


Cloud CMS Release 3.2.69

Published on 09/28/2021
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.69 release.

Update Recommendations (On-Premise Only)

With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api and elasticsearch services are no longer using port 9300 by default. They are now using port 9200 by default.

Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.

For information on configuring Elastic Search for Cloud CMS, please see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#using-the-condor-http-client

For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore command via the Cloud CMS Command Line Client (http://www.cloudcms.com/documentation/cli.html#reindex-datastore).

You can execute it like this:

cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>

Where the username and password are the credentials for your administrator account.

Enhancements

Azure
  • The Azure Deployment Handler and Azure Binary Storage Provider has been updated to use the latest Azure driver. This now runs faster and more efficiently, resulting in quicker upload and download.
Branches
  • The repair facility now supports an “incorrect changesets” operation that can be used to find and fix tip nodes that are mounted on changesets that no longer exist. These discrepancies can then be automatically repaired.
Character Sets
  • Faster detection of character sets that optimizes on partial stream processing.
  • Improved conversions between ISO and UTF character sets for textual attachments.
Command Line Client
  • The publishing resync command now supports an optional JSON configuration.
  • The branch repair command now supports switch-based configuration of operations.
File Folders
  • The path indexing service has been optimized to be faster and more efficient.
Hazelcast
  • Improvements to underlying Hazelcast configuration to make more efficient use of resources, now defaulting to Reliable topics and a more efficient distributed lock facility.
  • Added initial and operational beta / non-production configs to support explicit configuration of CP subsystem. This will be formally GA’d as part of the coming 4.0 product release.
JavaScript Driver
  • Team objects now support a ref() function to build out reference strings.
MIME Types
  • Enhanced detection and inference support for YML, JSON and other text-based mimetypes.
Node Refresh
  • Faster execution of refreshes involving nodes that have relator properties and relator assocaitions. This now takes advantage of a topological sort to reduce the number of associations that need to be traversed or considered.
Temp Files
  • Improvement to how temp files are managed on-the-fly so as to reduce the overhead required during the period temp file sweep. This helps guarantee consistency of disk I/O and reduce file leaks that could occur when relying on JVM resource management.
Transfer
  • Transfer Service now runs much faster for all cases with optimizations introduced to the DB layer and JVM layer. A new ZIP storage implementation is now uses which is much faster and DB adjustments were introduced that optimize for compression and speed.
  • Transfer Imports of nodes in tip mode now commit their attachments, related content and any node refresh calls within a single transaction. This ensures that an import of a branch or a collection of content into a Cloud CMS branch commits to a single changeset.
  • An exception is now raised when an attachment is exported and the mimetype for the attachment could not be determined (either it was not stored on upload or could not be inferred from stream analysis).
User Interface
  • The Node Picker now offers a sortable Modification Date column.
  • The Create Text Document action now offers text/yaml as an option.

Bug Fixes

Amazon S3
  • Fix so that the Amazon S3 Binary Storage Provider won’t carry a high load of open S3 connections for cases where the stream isn’t automatically closed when internally managed by the internal S3 driver. The default S3 driver behavior here is corrected and we manually force close any latent S3 streams to keep resources light and throughput quick and speedy.
Character Sets
  • Fix so that JSON text files are properly converted between character sets to correct for a buffer size misallocation which resulted in incorrect file lengths.
Deployments
  • Fix so that nested deployment package commit errors will properly throw back to get captured by the job engine, allowing it to be reported and observed by the user.
  • Fix so that Basic Authentication works as intended for custom HTTP Deployment Handlers (and Remote Receivers).
  • Fix so that error messages (for connection, post payload, resulting HTTP status codes) includes URL information to assist with debugging.
File Folders
  • Fix so that all regex special characters are escaped when performing a path lookup.
Node Preview
  • Fix so that node preview generation works as intended for multiple source attachments.
Node Recreate Filenames / Validate
  • Fix so that the administrative operation to recreate and validate filenames for all nodes in a branch now runs faster and uses less memory. This is an important change for very large branches (say, with millions of nodes) as it allows this operation to complete more quickly and use less CPU.
Node Sync
  • Fix so that exceptions propagate back to the outer sync call for cases where dependency jobs were throwing errors but those errors were simply being logged. These now propagate back as expected.
Page Renditions
  • Fix so that Web Content page renditions are invalidated much more quickly.
Relator Associations
  • Fix so that relator associations aren’t recreated for cases where a relator property has been deleted from a node’s definition.
Search Indexes
  • Fix so that rebuilding search indexes no longer tries to copy an existing historical snapshot’s search index (which could result in an incorrect resulting index for cases where schema changes were not captured correctly).
Transactions
  • Fix so that the determination of previous changeset IDs for nodes within a transaction is done more efficiently and more accurately.
Transfer
  • Fix so that transfer export and transfer import of nodes with relator properties and relator associations results in an optimized payload that processes very quickly. Further inspection is applied to the final set of nodes in the transaction to more accurately determine which nodes need to be automatically refreshed on the import side.
  • Fix so that streams are more robustly handled and always closed to prevent a discovered resource leak that could occur (albeit infrequently). This stream handling has been tightened up throughout.
  • Fix so that transfer exports of a node’s optional dependencies will always correctly identify its branch ID.
User Interface
  • Fix so that Deployment Target rows display properly for cases where the Deployment Target’s Deployment Strategy cannot be found.
  • Fix so that Breadcrumbd display correctly by properly decoding paths with encoded pluses in the filename.
  • Fix so that the Clear button for Pickers now sets the value to undefined (instead of empty object).
  • Fix so that Node Deletion actions work as intended for some cases where a callback was being fired prematurely.
  • Fix so that Node Version differences display on the screen more cleanly and with improved navigation.


Cloud CMS Release 3.2.68

Published on 07/02/2021
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.68 release.

Update Recommendations (On-Premise Only)

With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api and elasticsearch services are no longer using port 9300 by default. They are now using port 9200 by default.

Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.

For information on configuring Elastic Search for Cloud CMS, please see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#using-the-condor-http-client

For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore command via the Cloud CMS Command Line Client (http://www.cloudcms.com/documentation/cli.html#reindex-datastore).

You can execute it like this:

cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>

Where the username and password are the credentials for your administrator account.

Enhancements

Application Server
  • Added support for the GITANA_PROXY_PATH environment variable. This can be used to fine tune the proxied routing of API requests through an endpoint at a specific path. This also enables integration with API monitoring and optimization tools such as IBM API Connect.
Binary Storage Providers
  • Binary Storage Providers now automatically cap file store caches to 64GB. They are now also configurable to allow for custom TTLs and cleanup configuration. This provides administrators with more tools to help manage disk space. This particularly helps when running in Kubernetes where the amount of ephemeral or local disk often needs to be more finely tuned. For more information, see: https://www.cloudcms.com/documentation/docker/configuration/api-server.html#managing-disk-space.
  • Improved the file binary storage provider so that it cleanly separates files into data and metadata directories for better performance and consistency.
Branch Views
  • Improved the speed of building branch tip views by introducing a new index and faster, less frequent DB queries.
Command Line Client
  • Added the import-platform-datastore command to assist with migrating datastores between on-premise Docker installations.
  • Added support for optional vaults when working with archives.
  • Improved support for start/end dates when specifying content export ranges.
GraphQL
Merges / Differencing
  • Improved speed, efficiency and accuracy of branch merges by optimizing the algorithm responsible for computing the graph edge length between merge points of nodes from the tip back to a common ancestor across two branches.
Transfer (Import/Export)
  • Improved the speed of the transfer imports by using less DB queries and less memory.
User Interface
  • When copying a node between branches, all node associations are automatically considered allowing for more accurate copy results.
Web Hooks
  • Standardized the way that Web Hooks are invoked so that Web Hooks invoked from within Workflow Handlers support all the same features including specification of headers, digital signature and more.
  • Added projectId field to capture the ID of the project against whose content the web hook was invoked.

Bug Fixes

Attachments
  • Fix so that deleting nodes with attachments doesn’t errantly cause additional or unexpected downstream propagated update events.
Branch Changes
  • Fix so that Branch Changes more accurately keep up with branch deletion events.
Branch Views
  • Fix so that branches whose views failed to build cannot be written to or transacted against.
Content Range HTTP Headers
  • Fix so that Content Range support works for ranges that exceed the maximum length by auto-restricting the length to the resource length (improving conformance with RFC-7233). This improves support for Amazon CloudFront and other CDNs that deliberately push the length header out on a first call so as to remove the need for an initial call to retrieve full length.
GraphQL
  • Fix so that GraphQL properly reflects required and nullable attributes for content properties that are marked required in their schema.
Localization
  • Fix so that the default localization strategy considers the locale of the master node in its search algorithm. This allows the master node to play a part (along with any translation nodes) when localizing content.
Logging
  • Fix so that the log system does a better job of capturing and reporting project, tenant and user context
Projects
  • Fix so that project title uniqueness is enforced properly across all entry points (including some API methods that were incorrectly allowing this).
  • Fix so that project titles (and other properties) are applied to projects at create time (instead of updated after create) to prevent duplicate project titles from appearing.
Relator Properties
  • Fix so that a refresh() operation against a node with Relator Properties will correctly rebuild any relator properties and associations that originate on different node property (and which point either to or from the node being refreshed, depending on the mapping direction).
Releases
  • Fix so that failures on Release Creation now log with project context
  • Fix so that Releases are no longer exported when exporting a branch or project in tip mode.
Sync Nodes / Copy Nodes
  • Fix so that the Sync Nodes action blocks on a frozen target branch (such as a locked master branch). Use the allowWriteToFrozenBranches setting to indicate that you want the Sync Node action to write regardless onto a frozen target branch.
  • Fix so that translations of a master node are considered as candidates for reconnection when a master node is copied or synced between branches.
Transfer (Import/Export)
  • Fix so that the product works around a bug in the JVM to allow for more efficient extraction from and storage within ZIP files.
  • Fix so that the Store close() method isn’t errantly called twice for cases where you have nested archives.
  • Fix so that exports of branches with ancestral branches that are archived will work as intended.
  • Fix so that recursively referenced node properties are not traversed twice during compile phase.
Tree
  • Fix so that changing node container states more accurately reflects in the tree (by updating file/folder indexes)
User Interface
  • Fix so that the document image editor properly centers when cropping.
  • Fix so that attachment markers are correctly removed from an attachment property when the property is cleared.
  • Fix so that required fields work properly between builder and JSON views.
Workflow
  • Fix so that adding or removing resources from a payload container works for general users as expected.









Get Started with Cloud CMS

It's Free to Sign Up. No Credit Card Required.