Release Notes

TigerGraph Server 3.9.1 LTS was released on March 22, 2023.

TigerGraph Server 3.9.0 LTS was released on February 28th, 2023.

LTS versions are supported for 24 months from their initial release (X.X.0) and should be the choice for production deployments.

Key New Features

Detailed List of New Features

TigerGraph Server

GSQL Command and Querying Language


  • Moved data connector setup from gadmin to GSQL. Streamlined the user experience for creating loading jobs for data stored in AWS, GCP, and Azure, directly integrating the data streaming connector with GSQL and reducing the steps needed to load data.

    • Introduced a new STREAM data loading type that simplifies the data loading process from remote data storage.

  • Added a new set of loading job token functions for string manipulation.


Querying and Query Management

  • to_string() is now a built-in GSQL function, supporting all primitive and scalar accumulator data types. This means user-defined functions in Exprfunctions.hpp may no longer use the name to_string() (case-insensitive).

  • Added support for batch deletion of multiple edges between vertices, both with GSQL DELETE and as a REST endpoint.

  • Standardized SHOW PACKAGE for packaged queries to follow the same behavior as other SHOW catalog commands.

Kubernetes Operator


TigerGraph Suite Updates

Admin Portal

  • Reworked the Admin Portal dashboard to show the relationship hierarchy and status of all TigerGraph components for at-a-glance understanding of the TigerGraph system.

GDS Library and ML Workbench

TigerGraph Insights

  • Added support for multi-user editing and sharing of the same applications.

  • Added the ability for users to save a widget independently instead of tying it to an application.

  • Added a mini-map to the graph widgets for easier navigation.

Fixed issues

Fixed and Improved in 3.9.1

  • Fixed sorting issue in a script for upgrading a cluster with more than 9 nodes.

  • If a user runs gadmin and the ~/.tg.cfg link is missing, display an error message with guidance on how to recreate the link.

  • Fixed: GraphStudio not displaying queries for users with the QueryReader role.

  • Removed extraneous automatic backup at 12:00am UTC if the user sets System.Backup.Local.Enable to true.

  • Fixed accidental erasure of the UserCatalog.yaml file, which caused users to lose access to the database.

  • Added support for DATETIME datatype in PRINT … TO_CSV statements.

  • Added error handling in the case of a name conflict or use of reserved query names among UDF functions.

  • Fixed an issue with nested group access in LDAP.

  • Fixed an issue with perceived "schema error", which then causes an upgrade to abort.

  • Fixed issue with DISTRIBUTED QUERY not able to insert on edge.

  • Removed C++ headers not on the allowlist from default UDF files.

  • Fixed a GSE crash in rare synchronization circumstances in HA clusters.

  • Fixed an issue with a query syntax error not being detected at the root cause stage where a clear error message could be issued.

  • Added options to configure the frequency of checking for license key violations

  • Fixed: GSE does not start or restart after upgrading to 3.9.0 due to change in log synchronization.

  • Fixed an issue with lost attribute of a local vertex having PRIMARY_ID_AS_ATTRIBUTE =true.

  • Fixed inability to enable SSL in an HA cluster via the AdminPortal.

  • Fixed issue with GPE crashing during heavy workload of a backup retore operation.

Fixed in 3.9.0

  • Improved stability and security across all components.

  • Fixed an issue with the GSQL SELECT * FROM and PRINT functions converting some special characters from UTF-8 to UTF-16. Previously affected character sets included the Unicode range 0080 to 00A0 and 2000 to 2100 (Near Eastern scripts and some special typographical marks).

  • The SELECT * FROM and PRINT functions no longer convert large integers to strings before printing, which had resulted in quotation marks printed along with the number.

  • Cluster resizing no longer requires a graph schema.

  • Extended the timeout length for queries in the wait queue so that they are not timed out early.

Known issues

  • Upgrading a cluster with 10 or more nodes to v3.9.0 requires a patch. Please contact TigerGraph Support if you have a cluster this large. Clusters with nine or fewer nodes do not require the patch. (This issue is fixed in 3.9.1)

  • Downsizing a cluster to have fewer nodes requires a patch. Please contact TigerGraph Support.

  • During peak system load, loading jobs may sometimes display an inaccurate loading status. This issue can be remediated by continuing to run SHOW LOADING STATUS periodically to display the up-to-date status.

  • When managing many loading jobs, pausing a data loading job may result in longer-than-usual response time.

  • Schema change jobs may fail if the server is experiencing a heavy workload. To remedy this, avoid applying schema changes during peak load times.

  • User-defined Types (UDT) do not work if exceeding string size limit. Avoid using UDT for variable length strings that cannot be limited by size.

  • Unable to handle the tab character \t properly in AVRO or Parquet file loading. It will be loaded as \\t.

  • If System.Backup.Local.Enable is set to true, this also enables a daily full backup at 12:00am UTC (fixed in 3.9.1)

  • The data streaming connector does not handle NULL values; the connector may operate properly if a NULL value is submitted. Users should replace NULL with an alternate value, such as empty string "" for STRING data, 0 for INT data, etc. (NULL is not a valid value for the TigerGraph graph data store.)

  • The DATETIME data type is not supported by the PRINT … TO CSV statement (fixed in 3.9.1).

  • The LDAP keyword memberOf for declaring group hierarchy is case-sensitive.

Compatibility Issues

  • v3.9+: Some user-defined functions (UDFs) may no longer be accepted due to increased security screening.

    • UDFs may no longer be called to_string(). This is now a built-in GSQL function.

    • UDF names may no longer use the tg_ prefix. Any user-defined function that began with tg_ must be renamed or removed in ExprFunctions.hpp.


  • Kubernetes classic mode (non-operator) is deprecated, as of v3.9.

  • The WRITE_DATA RBAC privilege is deprecated, as of v3.7.