Gitana Releases

Enterprise and Developer Release Notes

The Gitana 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 containers, Kubernetes configuration files and Helm charts to assist with customizing your own installation.



Cloud CMS Release 3.2.84

Published on 03/10/2024
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.84 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://www.gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-84.html

New Features

New Serializers

  • A new distributed data grid serializer engine has been introduced that uses the Kryo engine to run much faster, use less memory and greatly reduce the need for cold restarts of the cluster. These serializers run within Hazelcast and allow for the Hazelcast cluster to remain up during some upgrades that would have previously required a cold restart. Upon upgrade, these new serializers run automatically and customers will see a noticeable performance improvement and lower memory usage.

Container Services and Examples

Tools

  • An administrative tools facility that provides cluster administrators with a comprehensive set of tools for working with public and private keys, securely encrypting configuration properties and easily configuring aspects of their cluster.

Enhancements

Amazon OpenSearch

  • Improved support for Amazon OpenSearch (as an alternative to Elastic Search). Supported versions up to AWS OpenSearch 2.11 along with improved documentation, configuration settings and driver integration to support HTTPS, AWS role-based access and bulk indexing operations.

Amazon DocumentDB

  • Improved support for Amazon DocumentDB (as an alternative to MongoDB). Supported versions up to AWS DocumentDB 5.0.0 along with improved documentation, configuration settings and driver integration to support TLS/SSL, AWS role-based access and authentication.

API

  • The x-cloudcms-request-id header is now checked to determine whether an upstream request ID can be found and utilized. If not found, this ID is generated as before. The request ID is logged to all audit records, log entries, ingress services and more.
  • Added API method for bulk updating nodes with HTTP PUT.
  • Added support for reading from separate source and target repository branches when using the startCopyFrom API method

Archives

  • Added more indexes to the vault archives collection to assist with faster queries and pagination.

Branches

  • The dictionary services were refactored to use less memory, offer faster compilation and improved validation accuracy on a per-branch and transactional basis. Heap usage is much lower and incremental compiles are very quick, allowing for much higher throughput and quicker turnaround of requests.
  • Faster branch merges due to optimized queries for computing merge points in branch lineage histories.

Dependencies

  • Update to base image including OS dependencies, JDK 17, LibreOffice, ImageMagick, Hazelcast, H2 and other runtime components.

Images

  • Update to latest ImageMagick 7.x libraries with improved, faster support for conversions and transformations.

JavaScript Driver

  • Added support for bulk updating of nodes.
  • Added support for deletion of workflows.
  • Added support for optional generic types and interfaces.
  • Improved support for error handling with 5xx non-JSON responses.

Query Performance

  • Fine-tuned a number of queries within the service layer to reduce the number of long-running queries. Large queries are split into smaller, cursored queries that reduce the drag on the database by utilizing partitioned result sets.
  • Improved query optimization to detect further cases where inefficient queries can be restructured for faster database execution.

Bug Fixes

Attachments

  • Fix so that attachment retrieval errors do not errantly send JSON to the output stream.

Copy / Transfer

  • Fix so that node cache invalidates properly for some edge cases during Project Copy.
  • Fix so that Project Copy defaults to using server-side copy of binary attachments.

Forms

  • Fix to rendering function for Alpaca markdown field to make it more extensible.

Java Driver

  • Fix to the killJob() function so that it works as intended.

JavaScript Driver

  • Fix so that vault references are computed correctly.

Jobs

  • Fix a bug so that job records may be marked as killed upon receiving cluster messages even when the corresponding execution thread is not found.

Modules

  • Fix so that modules load their action configs consistently for cases where browser cache may affect how modules are required into pages on non-initial visits/clicks.

Network

  • Fix to improve the handling of socket timeouts for cases where long keep-alives where allowing sockets to remain active for longer than intended.

Search

  • Fix so that wildcard deletion of search indexes is supported within the API (using an alternate means) for cases where wildcard support is disabled at the Elastic Search cluster-level.

SSO

  • Fix so that the identifier field is properly picked up from configuration for cases where non-standard or custom values are applied.

UI

  • Fix so that pagination works as intended for deployment strategy listings.
  • Fix so that user default project settings are applied properly on initial session render.
  • Fix to allow form picker to be disabled.
  • Fix so that the Copy Project UI action utilizes default attachment configs.


Cloud CMS Release 3.2.83

Published on 10/08/2023
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.83 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://www.gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-83.html

Enhancements

Branches

  • Branch merge operations now use less memory and run more quickly, allowing for larger merges to execute without incurring a large impact to allocated heap memory.

Command Line Client

  • Removed commands related to repository compression as those facilities are being moved out into MongoDB-level scripts.
  • Additional commands for delete branch and delete snapshot.

Dictionary

  • Reduction in runtime memory requirements for storing compiled dictionary state per branch, resulting in less heap allocation.

Indexing

  • Improvements to default MongoDB collection indexes that result in much faster query performance.

Java Driver

  • The Cluster.waitForJobCompletion() method will now re-attempt to read the job if an unexpected error occurs (potentially due to a network issue). Upon a second failure, null will be returned.

JavaScript Driver (v1)

  • The cluster.waitForJobCompletion() method now provides a trap handler.
  • The logic for domain ID extraction within extractPrincipalIdentifiers() is now more precise.

JavaScript Driver (v2)

  • Updates to dependency libraries, latest version of Axios.

Multilingual Feature

  • Improved the error logging for the multilingual feature so that the Node ID is included in the report.

Python Driver

  • Added new methods for CRUD operations around deployment targets.

Query

  • Added query optimization pre-parsing stage to automatically optimize some common queries for faster performance.

Relator Properties

  • Relator associations now resolve much more quickly with code paths that have been optimized to be much faster.

Transactions

  • Branch transactions now run much more efficiently and utilize less heap memory. They automatically passivate state to disk to allow for much larger transsaction sizes to run with lower memory requirements.

User Interface

  • Faster performance and lower latency with the introduction of a faster reverse HTTP proxy. This offers better socket handling and greater throughput for customers.
  • DNS caching has been improved to lower latency further by reducing the number of DNS calls during routing.
  • All internal HTTP communication has been refactored fully to use the Axios client.

Bug Fixes

API

  • Fix so that thread locals bound during the request are released via the fallback servlet listener as intended.
  • Fix so that retrieval of node version history from an archived branch works by forgoing the inclusion of attachment information if the branch view is not ready.

Branch Changes

  • Fix so that the accuracy of branch differences for cases where the source node was deleted is correct.
  • Fix so that branch changes are invalidated (instead of rebuilt) if the branch is archived.

Copy / Deploy

  • Fix so that Copy and Deploy jobs are more resilient by having them default to pulling down the full binary as part of the payload (avoiding the “preserve archive output directory” optimization).

Dictionary

  • Fix for a subtle case where the compiled flag could be prematurely set for some compiled associations.

Merge

  • Fix so that patch paths are always correctly normalized into path format ahead of calculating index adjustments during merges of array properties.

Transfer

  • Fix so that Transfer Import jobs correctly handle the import of Node Lists.
  • Fix so that branch reloads are handled more gracefully, preventing early errant termination of transfer workers.

User Interface

  • Fix so the pagination of team members works as intended within the Administration Console.
  • Fix so that direct JSON edits to documents refreshes the screen as intended.
  • Fix so that the workflow task, documents and instance screens show more information. New fields are shown by default, such as purpose.
  • Fix so that the PDF viewer consistently formats the filename of retrieved and saved documents.
  • Fix so that static files are served back with the proper MIME type (resolving issue with errant .appcache file detection).
  • Fix so branch custom indexing pages to remove pagination and filter box.


Cloud CMS Release 3.2.82

Published on 03/30/2023
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.82 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-82.html

Enhancements

Command Line

  • Added a command to support querying of archives from a vault.
  • Added more options to the branch repair command.

MongoDB Configuration

Projects

  • Added a checkbox on project creation which allows for project creation to perform server-side binary copies. This supports smaller archives where archives do not contain all of the binaries but instead utiliz the copyAttachments feature to copy those binaries into place (via a server-side copy) upon import.

Replicated Read Only (Preview)

Bug Fixes

ActiveMQ

  • Fix so that connections are constrained via default configuration to a more reasonable level and cleaned up properly, preventing possible leaks under heavy load.

Amazon S3

  • Fix to prevent the underlying transfer manager from padding queued streams for cases where multiple parts were being aggregated in parallel.

Branches

  • Fix so that directly unarchiving a branch will clean up for an edge case where a branch might be marked as archived even if a release is not.

Download Streaming

  • Fix so that downloads work as intended for cases where partial HTTP range requests are utilized and a buffer length was being miscalculated and incorrectly asserted.

IBM Cloud Object Storage

  • Fix so that IBM COS Stores clean up buckets upon teardown (if configured to do so).

Merge

  • Fix so that merge works correct for complex cases where nested array elements overlapped in such a way that patch element uniqueness was being incorrectly calculated.

User Interface

  • Fix so that UI dashlets properly load and utilize their dynamic configuration as intended.
  • Fix so that authenticated user ID is maintained properly within UI session for all cases.
  • Fix so that locales are consistently parsed and compared according to a single convention.
  • Fix so that the “Add Translation” flow and population of the content editorial dropdown works as intended.
  • Fix so that the Manage Project Locales page performs input validation upon entry.
  • Fix so that the Content Instances page properly loads dynamic configuration as expected.


Cloud CMS Release 3.2.81

Published on 02/21/2023
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.81 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-81.html

New Features

Supported Stack

  • Added support for MongoDB 5.0.14
  • Added support for MongoDB 6.0.4

Enhancements

Command Line Client

  • Added support for new transfer command flags - includeAssociationType, exportAssociationType and associationMaxDepth.

Definitions

  • Improved the performance of branch definitions query and also enhance the accuracy by moving more pagination into the DB.

Dependencies

  • Updated to the latest thirdparty dependencies for Log4j, Jackson, Tika, and PDFBox among other libraries.

Transfer

  • Added support for the optionalAssociationsIncludeTypes flag on export to allow for explicit declaration of any association types to be crawled when exporting. Support for this has been added to the command line client allowing for increasing detailed imports and exports of projects, branches, nodes and everything else.
  • Adjusted the includeBinaries and includeAttachments flags so that they default to false.

User Interface

  • Added a selection box to the project export wizard allowing for specification of whether the user wants to export binaries/attachments.

Bug Fixes

Activities

  • Fix so that the default sorting within the UI works as intended for large collections of activities.
  • Added new indexes to the Activities collection to support sort by timestamp and content type.

Admin Console

  • Fix for a bug where trailing slashes within internal URLs would cause menu and breadcrumb links to fail to dispatch.

Definitions

  • Fix for a bug whereby definitions could sometimes come back from the definitions query method with missing properties due to a JSON serialization issue.

User Interface

  • Fix so that the content types page dispatches correctly for certain cases where composite tokens were being used in the route.
  • Fix so that local and session storage state encodes properly for all cases.


Cloud CMS Release 3.2.80

Published on 01/27/2023
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.80 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-80.html

Enhancements

Branch Merging

  • Improvements to the branch merge algorithm to enhance its ability to stitch together disparate sets of changes with a more complex changeset history. Solves for a number of cases that have to with nested sub-objects and subarrays being reordered and optimizes the number of resulting operations that need to be performed to normalize the different changeset histories.

Command Line Client

  • Added new commands for CRUD operations with stacks as well the assignment of data stores to stacks.
  • Improved command line support for switches with special characters.
  • Enhanced the --authcode switch to work for more cases (allows for a pre-acquired MFA verification code to be supplied).

MFA

  • Added more logging when an MFA provider’s verification call fails to help administrators diagnose provider configuration issues.

Project Creation

  • Improved the Project Creation facility so that it uses a background job that is now optimized to consume as little of the job queue as possible. This also eliminates an errant timeout issue which arose in the past when creating jobs from large archives.

User Interface

  • Faster user interface with fewer HTTP calls and more caching.
  • Improved the experience of working with Document Translations. Added a button to the edit document translations bar to make it easier to quickly add a new translation for the current document. Page routing now includes locale information so that the current translation is not lost on refresh or navigation.
  • Added the ability for the Content Types page to group content types hierarchically (such as /Components/Web). Supports expansion and selection of groups as well as content types. Content Type grouping can be defined under Content Definition > Paths.
  • Project Managers can now precisely specify the fields to be filtered on when using the Content Types or Documents page. Fields can be specified under Manage Project > Settings.

Bug Fixes

ActiveMQ

  • Fix to reduce tehe maximum size of the Active MQ client thread pool. This lowers the overhead associated with additional threads being allocated into the JVM to support ActiveMQ message dispatching.

Elastic Search

  • Fix to reduce heap allocation per iteration by reducing the driver default scroll batch size.
  • Fix to pagination to correct for a miscalculation of each iteration’s batch size for cases where limit is being applied.

GraphQL

  • Fix to prevent concurrent modification exceptions by introducing a thread lock when collection sets of paths.

Internationalization

  • Fix to prevent an exception from being raised for some permissible cases where a master node’s translation cannot be found.

Jobs

  • Fix to ensure that platformId is assigned to spawned child jobs during project import to improve the facility of tracking and monitoring child job activities.

Merge

  • Fix to ensure that the Auto Merge Conflict resolution settings for Releases are considered and applied during dry run merges.

Multi-Factor Authentication

  • Fix to correct for some cases where users of code-based authenticators could be prompted multiple times for verification code entry.

Property Mapping

  • Fix to prevent an exception from being raised for certain cases where a prior transaction did not occur.

SSO

  • Fix to correct a bug whereby a route lock could be taken out but not released in a timely fashion during SSO login.

Transfer

  • Fix to ensure that project exports will work consistently for cases where those exports contain multiple branches and one or more of those branches are in an archived state.
  • Fix to perform faster upload and download of large archives so as to prevent HTTP timeout of middle tier proxies (with low timeout settings).

User Interface

  • Fix so that the re-ordering or transition of items in an array or object does not errantly reset the full field value for cases where the schema of the underlying container object is dynamically faulted via a network connection.
  • Fix so that list-based controls do not briefly lose their CSS and visually flicker on click.
  • Fix so that modal popups no longer scroll the page upon completion or working with certain internal fields.
  • Fix to some CSS and image elements for the dark theme.


Cloud CMS Release 3.2.79

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

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-79.html

New Features

ARM-64 Support

Word Count (f:word-count)

Reading Level (f:reading-level)

  • Added the f:reading-level feature that, when applied, automatically evaluates the reading level per text property (and across all text properties) for the given node using the Flesch-Kincaid scoring algorithm. For more information, see: https://gitana.io/documentation/features/reading-level.html

Enhancements

Analyzed Queries

  • Analyzed Queries now include project ID as a filter option.

Authorities / Permissions

  • Enhanced the diagnostics page for authorities and permissions to provide a more detailed explanation about why a principal might or might not be granted a specific permission or authority against a resource.
  • Faster team-permission checks for node query, find and search API calls.

Branches

  • Added a Branch Repair operation to automatically detect and fix duplicated QNames within a branch.
  • Added a Branch Repair operation to automatically detect and fix invalid QNames assignments within a branch.
  • Branch Repair utilizes bulk commits more effectively for faster operation.
  • Improvements to Branch Merge logic to be more efficient and less memory intensive.

GraphQL

  • Improvements to GraphQL service-level caching and request handling to be faster and use less heap.

MongoDB

  • Adjusted the default for mongodb.default.connectionsPerHost to 100.
  • Adjusted the default for mongodb.default.waitQueueMultiplier to 2.

Preview

  • Preview generation is now faster and less memory intensive with a stronger preference given to deferment to background jobs (instead of transformation on the live request).
  • Improvements to the underlying transformer libraries to provide faster and improved support for Office documents types and images with a particular emphasis on fast transformatons for large Excel/Spreadsheet documents.

Third Party Dependencies

  • Latest updates and security patches applied for Log4j, OpenOffice, Spring Framework, Spring Security and many other third-party libraries.

Search / Indexing

  • Added the elasticsearch.condor.connectionRequestTimeoutMs setting to allow on-premise users to calibrate the timeout so as to help prevent the Elastic Search connection manager from queueing up threads for cases where the Elastic Search endpoint is slow to respond or requests are otherwise timing out.
  • Elastic Search indexes now build in the background and swap into place gracefully with zero downtime even for cases where 1 or more documents may have failed to index (these errors are reported in the logs but the resulting index is retained).

Transfer

  • Linked Relator Associations are now ignored on export for certain cases so as to reduce the overall manifest size on export.
  • Added a configuration option on toggle the forced export of relator associations for given related nodes.
  • Node transfer exports now use a paginated query handler to make the lookup of associations more efficient (to address a potential database-level timeout issue).

User Interface

  • Improvements to the /proxy route to allow for faster streaming of static assets, attachments and preview images.
  • Removed the none options for Rule Conditions.
  • Removed the Reindex Platform Datastore tool from the tools page (this functionality is available via the command line client).
  • The Analyzed Queries page now includes a time column and provides a Project Picker field for filtering by project.
  • Improvements to the Merge Conflicts page to reduce the number of API calls and simplify the user interface flow when retrying merges after resolving conflicts.
  • Updated the use of picker fields throughout the UI, including consistent use of Team pickers, Project pickers and more.
  • Improved the way that socket.io is utilized and the rendering of awareness icons.

Bug Fixes

Authorities / Permissions

  • Fix so that team policies work as intended for complex cases where multiple teams may define overlapping revokes and grants.

Branch / Merge

  • Fix so that merges complete successfully for a specific edge case that involved the resolved target node being in a deleted state.

File/Folder Service

  • Fix so that the merge of a document that has had its title changed will properly updates its path within the target branch for cases where the filename is not explicitly set but is being derived from the title itself.

Find

  • Fix so that pagination is properly applied to find calls for certain cases involving specific field selection.

GraphQL

  • Fix so that GraphQL no longer throws branch initialization errors for certain cases where a branch is being faulted into memory in a distributed, multi-server configuration.

Publishing

  • Fixed a bug where Branch Deployment Handlers were not properly registering themselves as a dependent of the Deployment Commit Handler job which resulted in some publishing jobs completing but marking themselves as having failed.

Transfer

  • Fix so that domain principal importers work properly for cases where an older export might not include a full set of membership information.
  • Fix so that associations do not overwrite on import for certain cases involving child association types.

User Interface

  • Fix so that the UI server properly configures itself for Redis 4 support across all services (supporting multiple servers in the cluster but also multiple cores on a single machine).
  • Fix so that the Jobs page uses proper display colors and filters as intended when switching between Projet and Platform contexts.
  • Fix so that UI Wizards can no longer errantly duplicate cards when a user hits the back button multiple times in a very short interval.
  • Fix so that the Analyzed Queries page now paginates as intended.
  • Fix so that actions on the Document Versions page work as intended for all cases.
  • Fix so that the Avatar and Attachments fields no longer force regeneration of preview images (allowing for cache to be used more efficiently).
  • Fix so that the Platform and Project Activities dashlets properly reflect the target Branch.
  • Fix so that form buttons and toggles are disabled when a document is locked for concurrent live editing.
  • Fix so that lists render more accurately and reflect pagination information correctly for certain edge cases.
  • Fix so that the Branch/Release selector is more legible and reflects the intended background color for cases where branches/workspaces have custom colors applied.

Versions

  • Fix so that node version information is returned properly for older nodes that no longer conform to tip schema.


Cloud CMS Release 3.2.78

Published on 06/13/2022
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.78 release.

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/upgrades/3-2-78.html

New Features

Analyzed Queries

Queries that execute slowly against the underlying MongoDB database are now automatically analyzed and reported upon. Each analyzed query offers insight and recommendations on steps that should be taken to optimized performance.

An “Analyzed Queries” page is available within the user interface that allows managers to inspect slow queries.

Go Driver

We have a brand new Cloud CMS Go Driver for connecting your Go applications to Cloud CMS with ease! With it you can:

  • Quickly authenticate with the API server and make requests
  • Query and Create content through path traversal, Mongo DB, Elastic Search, and Graph QL
  • Create and Manage content nodes, associations, files, attachments, etc.
  • Manage branches, releases, and content versions

And more to come! Get started using the Go driver today by checking out some more examples in the Go Driver Cookbook.

Enhancements

Clustering

  • Faster and more efficient distributed cluster messages with guaranteed ordering and priority of delivery.
  • Enhancements to the reliability of cluster-wide locks, caches ahd messaging topics.
  • Distributed messages have been tweaked to achieve optimial throughput.

Deletions

  • Added methods to the API + JavaScript and Java drivers to make it easier and faster to perform bulk deletions.
  • Deletions collections are now automatically deleted when branches are archived and recreated when branches are unarchived.

Java Driver

  • Added methods to move nodes and resolve paths.
  • Added methods for bulk deletion of nodes.

JavaScript Driver

  • Added methods to move nodes and asynchronously purge deletions.

Jobs

  • The user interface for inspecting active and historical jobs has been improved. It’s now faster and also provides an entirely new set of filters to let you quickly find jobs by ID, type, date, state and custom query terms. A number of quick config buttons are also available to let you focus on publishing-specific jobs or hide document indexing jobs. Action links are provided per job to things easier to work with.

Logs

  • The user interface for inspecting log entries has been improved. Similar to the Jobs page improvements, the Logs page filter has been moved to the top.

MongoDB

Relator Properties

Transfer

  • Added a fallback during transfer storage side copy of attachments in case one or more binaries cannot be found so that they’ll be manually copied one at a time. This is to accommodate cases where customers might have very old binaries sitting in GridFS (and not migrated out to S3).

User Interface

  • Removed the Reindex Project Data Stores button from the Project Tools page. This functionality is now only available via the CLI.
  • The Content page now sorts content types by title (with a fallback to QName).
  • When deleting content, a loading modal is used during pre-deletion to handle the case where very large sets of content may be deleted in bulk.

Bug Fixes

Binary Storage

  • Fix so that the S3GridFS storage provider properly provisions a disk directory with a storage prefix (as opposed to separate mounts).
  • Fix so that wrapped binary storage providers attempt a manual copy for transfer of assets thata re not in primary storage provider.

Downloads

  • Fix so that file names are URL escaped on download to prevent header special characters (like ;) in filename from interfering with response.

Graph QL

  • Fix so that GraphQL returns proper results for specific cases where deeply nested queries introduced concurrent modification errors.

I18N

  • Fix so that API call to retrieve translations supports pagination as intended.
  • Fix so that an extra update call is no longer made when executing the Make Multilingual action.

Jobs

  • Fix so that decommissioned jobs (due to host server not being in service) are automatically reschedueld without an increment to the number of attempts, preventing failed retries due to max attempts being exceeded.
  • Fix so that jobs in the AWAIT state cannot be prematurely restarted by the Job Watchman thread when depedency jobs transition into a completion state.

Node Retrieval

  • Fix so that access control checks run faster and perform as intended when executing bulk retrieval of nodes.

Transfer

  • Fix so that copy attachments iterates properly over the source attachment set.
  • Fix so that the copy of resources within S3 allows for silent failure (with logging to the API only) so as to permit the operation to continue unabated.


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://gitana.io/documentation/gitana/3.2/guide/guide/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://gitana.io/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://gitana.io/documentation/docker/notices/cve-2022-22965.html

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/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://gitana.io/documentation/docker/notices/cve-2021-44228.html

Upgrade Considerations

Please review the upgrade considerations provided here:
https://gitana.io/documentation/gitana/3.2/guide/guide/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://gitana.io/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://gitana.io/documentation/gitana/3.2/guide/guide/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.









Ready to Get Started?

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


Try Gitana for free Ask for a demo