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.86

Published on 07/31/2024
The following are the new features, enhancements and fixed issues for Cloud CMS 3.2.86 release.

Upgrade Considerations

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

New Features

Container Routes

  • Added support for container management routes for internal use in triggering container lifecycle event handlers. This enables support for preHook calls within Kubernetes, ECS and other container management facilities to inform the API container that it is about to shutdown. As a result, the API container is able to gracefully
    able to reschedule running jobs onto other cluster members and gracefully release system resources ahead of container termination.

For more information, see:
https://gitana.io/documentation/gitana/3.2/guide/guide/docker/maintenance/container-hooks.html

Enhancements

Activities

  • The Activities collection within MongoDB is now capped to 50MB to optimize query performance and reduced total storage requirements.

Amazon ECS

Command Line Tool

  • Added a new operation for branch repair (incorrectAttachments) which identifies and repairs any attachments in a branch that may have the wrong MIME type or an invalid stream pointer.
  • Added support for HTTP/HTTPS proxies.
  • Increased the timeout for administrator API calls.

Dictionary Service

  • Faster dictionary compilation with tracking of total iterations and force fail states to limit the total number of iterations (and prevent timeouts).

GraphQL

  • The underlying GraphQL service now uses a standalone executor services to cap the number of threads participating in data and batch loaders (16 by default).

Jobs

  • Faster performance and lower memory overhead for job dispatcher and background job execution.
  • Improvement to job kill, interrupt and pause mechanisms to allow for faster and more efficent release of thread resources.

Libaries / Dependencies

  • Update to the latest dependencies including the latest version of PDFBox, Apache Tika, Jackson and Log4j2 with all security vulnerability patches applied.

MIME type detection

  • Improved detection of MIME types for input streams, incorporating new strategies and libraries for marker byte detection.

Performance

  • Faster startup time with quicker node and branch cache initialization.
  • Reduced memory usage for internal Hazelcast caches used to manage graph state.

Permissions / Authorities / Teams

  • Faster access control checks for permissions, authorities and teams.
  • Improved utilization of MongoDB queries to more efficiently look up multi-level ACLs.
  • Refactor of role service to provide faster and more acccurate location of inherited roles.

Releases

  • Releases now track their execution within a release job allowing for improved logging and error capture.

SDK

  • Updated Amazon ECS examples to include JVM flags and usage of new configuration options.

User Interface

  • Server-side network settings have been optimized to improve network performance.
  • Server-side code paths have been refactored to reduce the usage of distributed locks to improve request throughput.
  • A dictionary definition and content type cache has been added that reduces the number of network calls and improves the speed of page loads.
  • The branch cache now works across multiple projects and branches in multiple windows at the same time.
  • Data loaders now work much faster by taking advantage of the new dataloader features in the API.
  • Adjusted the way that 401 responses are handled to more accurately detect an invalid_token response.
  • The Content Types page now includes automatic filtering out of system types.
  • UI Templates now load much faster.
  • The Create New Data List Item dialog now works similar to the Create Content Instance dialog.
  • Removed the Safe Repair button from the Platform Tools page as this functionality is now invoked via the Command Line Tool.

Workflow

  • Added index for workflow title to optimize sorting performance.

Bug Fixes

Branches

  • Fix to ensure that branch collections (tip and deletions) clean up as intended when branches are deleted.

Data Loader

  • Fix so that the _dataloader flag can be provided either via request parameter or via request object.

Indexing

  • Fix so that calls which perform index creation and deletion within MongoDB wait until the operation completes before proceeding.

Merges

  • Fix to merge processing that prevents nodes that are not relevant to the merge from creating conflicts for certain cases.
  • Fix to merge processing so that order sorting is computed properly and retained during execution.

MIME types

  • Fix so that mimetype detection for image/svg+xml works as intended for some edge cases.

Tags

  • Fix for tags events in layered transactions so that tags commit more efficently and without conflict.

Transfer

  • Fix so that single-changeset transactional commits do not fire inner after handlers for inner, nested transactions.

User Interface

  • Fix so that remote config is loaded correcftly for all page flows and click paths.
  • Fix so that the publishing content types page no longer errantly sets values onto the project.
  • Fix so that the Node Picker’s up/down/remove buttons no longer show up for properties of type object.
  • Fix so that the reset password authentication flow properly displays errors messages for 500 response types.
  • Fix so that the Advanced Search property filter evaluates definition properties correctly.

Web Hooks

  • Fix so that web hooks do not fire multiple times on import.


Cloud CMS Release 3.2.85

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

Upgrade Considerations

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

Enhancements

Container

  • Improvements to graceful termination of container due to out-of-memory exceptions. These are now pre-emptively detected and the running container is allowed to gracefully sigterm/shutdown more quickly. This solves for some edge cases where the JVM could potentially run out of memory ahead of the Kubernetes or ECS agent determining there was an OOM or memory limit tripped.

Find

  • Improve find methods so as to reduce the number of DB operations and/or Elastic Search queries needed to support the ordered concatenation of result sets. The result is faster and more efficient find operations. The impact is particularly notable for increasingly larger result sets.

GraphQL

  • Optimize the GraphQL Node ID batch loader to utilize paginated reads while reducing counts and excess field loading.

Jobs

  • Additional configuration options for all job types, allowing per-job customization of concurrency (both globally and per-platform for multi-tenant support) along with any additional properties. These new configuration options are loaded at system startup and can also be modififed and adjusted at runtime.
  • Adjusted the default configuration settings for typical jobs to provide for better job flow, reducing bottlenecks and improving out-of-the-box job execution throughput.
  • Added and improved service methods for pause, resume and bounce, allowing jobs to easily bounce from one container to another within the cluster, to ease the intended restart or forced migration of jobs due to containers being brought offline or crashing. This allows jobs to transition between servers, as needed, while executing or in the event of intended or unintended container downtime.

Locks

  • Refactored and improved support for local and distributed, cluster-wide locks so as to better take advantage of Hazelcast CP subsystem and reentrant locks. More rigid and dutiful handling of timeouts and retries.

Performance

  • Reduce the number of internal query calls that perform count operations so as to reduce drag on the database in several places. This results in faster operations and faster API throughput.

Query

  • Improvements to method that retrieves node IDs for a given query so that it is paginated and performance optimized.

Scripts

  • Each rule and/or behavior script now has access to the platformId for the repository, branch and node against which the script executes.
  • The platformId is now automatically applied to any platform-bearing actions that are spawned via the actions root-scoped object within an executing script. This ensures that any spawned child actions have access to the same platform ID for jobs reporting purposes.

Tags

  • The merge and transfer export/import system now matches nodes on tag values (in addition to _doc, QName and path) allowing tags to seamlessly merge between branches and upon release, publish or import.

User Interface

  • The application internal caches are now managed within IndexedDB to increase storage and improve performance while clicking through the editorial interface.

Bug Fixes

Dictionary

  • Fix so that dictionary event handlers are invoked properly on transaction commit. This ensures that all add and remove events trigger for all cases, keeping the dictionary state lock-step with the branch tip content for all creates, updates and deletes.

General

  • Fix so that thread local variables clean up in the correct order for an edge case that resulted in additional, errant logging when authenticating.
  • Fix so that behavior bindings running in parallel are better protected against concurrent updates to the bindings map.

GraphQL

  • Fix so that GraphQL cache state is properly updated on branch commit for cases where nodes are deleted.

Inline Links

  • Fix so certain null values do not prevent inline links from being parsed and populated.

Jobs

  • Fix so that job kill operations work more consistently across the cluster.

Multi-Factor Authentication

  • Fix so that the trusted authenticator (using TOTP algorithm) works consistently for cases where the generated code may have lapses for up to N time periods).

Policy / Scripts

  • Fix so that dynamic policy models are correcly populated on a per-invocation basis ahead of firing through into the script service. This ensures that the model that the executing script sees is as accurate as possible.

Search

  • Fix so that malformed search queries are detected earlier and thrown outright, preventing them from being processed by downstream search engines.

Transfer

  • Fix so that the import sequence counter uses an incremental identifier that no longer based on insertion time so as to prevent non-deterministic ordering.

User Interface

  • Fix so that session storage is always cleared on logout.
  • Fix so that the MFA login process shows an informative message for cases where back-end API server communication fails.


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.









Ready to Get Started?

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


Try Gitana for free Ask for a demo