Release Date: April 1, 2019
For v2.1 and older, contact TigerGraph Support.
For the running log of bug fixes, see the Change Log.
Load real-time streaming data using industry standard Apache Kafka
Easy to configure: CREATE, GRANT... ready to use!
Fault-tolerant and distributed
For full details, see the Kafka Loader User Guide.
Documentation at GSQL Graph Algorithm Library
✅ Schema: Vertex Attribute as PRIMARY_KEY
In classic GSQL, vertex Primary_ID is special, not consider an attribute. This minimizes storage space.
New option to treat the Primary_ID as a regular attribute.
✅ MultiGraph: Different graphs can use the same query names and job names.
✅ Loading: User can choose how to handle edges with missing source or target vertex.
Default: If either the source id or target id of a new edge refers to a nonexistent text, then the system will create the necessary vertices with default values.
New option: If the source or target vertex doesn't exist, don't create the edge.
✅ Catalog Display: Enhanced SHOW command
Show vertices, edges, jobs, or queries.
Accepts a regEx or glob pattern argument to show only selected items
See the relevant sections of the GraphStudio UI Guide
More universal: vertex type & edge type can be specified at runtime.
Similarity: New algorithms: Cosine and Jaccard
Path: More variations of Shortest Path
Community: More accurate implementation of Louvain modularity
User-defined tuples as attributes are supported (already supported in GSQL).
When displaying a directed edge, only show the forward edge and not its companion reverse edge.
Text size of vertex and edge label is adjustable.
After a query is compiled, show its REST endpoint.
See graph schema while writing GSQL queries.
Better editing and installing experience for queries with dependencies.
Single Sign On: The security.sso.saml.sp.hostname parameter is replaced by security.sso.saml.sp.url, which must be a full URL, not just a local path.
If a query is issued while another query is being installed, the query will wait rather than exit.
CHANGE: PRIMARY_ID as INT or UINT is no longer deprecated. To support more general use of attributes as PRIMARY_ID, the following data types may be used: STRING, INT, UINT
The keyword COMMENT is no longer reserved.
The built-in REST endpoint POST /ddl (Online Post) is deprecated. Its functionality is already covered by the improved and unified LOADING JOB introduced in v2.0
NEW: Kafka Loader User Guide
All of the spec changes and new algorithms are described in the relevant selections of the documentation at docs.tigergraph.com:
For documentation of TigerGraph versions prior to 2.2, please see doc-archive.tigergraph.com.
Distributed Graph support, MultiGraph, and certain enterprise features are available in the Enterprise Edition only. They do not pertain to the Developer Edition.
Release Date 2019-04-01
GSQL: The built-in count() function may give the incorrect value for clustered systems after some vertices have been deleted.
GraphStudio: Send query pre-install dependency analysis result through WebSocket
GraphStudio: filter out improper attributes in when building filter expressions
GPE: fix wrong enumerator id issue
GPE: avoid using /tmp
GPE: handle exceptions for LIKE <expr>
GPE: Fix crash due to writing wrong size of STRING_LIST
GPE: Fix global schema change error which added local vertex twice
GSE (Developer Edition): Keep one copy of segment
Release Date 2019-02-19
See Release Notes-TigerGraph 2.3
GSQL: The built-in count() function may give the incorrect value for clustered systems after some vertices have been deleted.
Install: The IP list fetched by the installer could be incomplete.
Loading: Speed up batch-delta loading.
GraphStudio: Disable Install Query button for queryreader users.
GraphStudio: Re-initialize the database after import.
GraphStudio: Could not drop query with non-default username/password.
AdminPortal: Queries-Per-Second display didn't work if RESTPP authorization was enabled.
Schema change: Improve schema change stability by reducing schema change history and increasing gRPC max message limit.
GPE: Improve query HA stability.
GPE: Fix crash under certain conditions.
Core: Memory leak due to yamlcpp.
Core: compatibility issue between libc and ssh utility.
IUM: Fix exceptions due to legacy config entries.
Release Date: 2018-12-13
Distributed System: Fix possible deadlock and race conditions
GSE Storage Engine: Fix disk seek overflow
RESTPP: Optimize the memory consumption when system is idle
RESTPP: Optimize config reload time
GSQL: Fix query installation error with option -optimize
GSQL: Fix a code generation bug related to static variable
GSQL: Fix a compilation error when a statement is in nested if statement
GraphStudio: Security update for npm-run-all
GraphStudio: Change Help button to point to new docs.tigergraph.com site
Gadmin: Fix gadmin/ts3 restart and status error after changing port of TS3
Release Date: 2018-11-30
GraphStudio: Fix schema change bug (Note: In 2.2, GraphStudio now does not drop all data when making a schema change.)
GraphStudio: Fix display issue in Graph Explore when switch to a new graph
GraphStudio: Improve password security
GraphStudio: Modify URL to AdminPortal for better universal support
IUM: Fix kafka-loader configuration after cluster expansion
IUM: Resolve python module name conflict
IUM: Fix ssh_port is always 1 under bash interactive mode
GSE Storage Engine: Reduce memory consumption
RESTPP: Improve logging messages
Release Date: 2018-11-05
See Release Notes-TigerGraph 2.2
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft
Admin Portal: Number of nodes in the cluster is reported as 0 when no graph yet exists
Release Date: 2018-11-05
GBAR Backup fails if HA is enabled
GSE status shows unknown with HA enabled
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
GSQL server error if schema is too large
In a cluster, not all servers may be aware of deleted vertices.
PAM limit set-up issue in installer
In MultiGraph, a local (FROM *, TO *) local edge has global side effects.
RESTPP's default API version is not set after installation
An engine bug which occasionally causes crash
SSH port configuration in installer.
Installation script checks that the machine meets the minimum RAM (8GB) and CPU (2-core) requirements.
For Ubuntu 16.04/18.04, support logon with systemd service.
Release Date: 2018-08-20
GBAR backup fails if HA is enabled.
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
Cluster configuration with HA enabled is wrong if the number of nodes is odd (3, 5, 7, 9...).
GraphStudio and GSQL inconsistent checking for some keywords
GBAR backup and restore fail if special character is in tag name
Release Date: 2018-08-15
Cluster configuration with HA enabled is wrong if the number of nodes is odd (3, 5, 7, 9...).
GraphStudio: When both a query draft and an installed query exist, Export Solution will keep the installed query code instead of the query draft.
TS3 fails to collect QPS when RESTPP Authentication is enabled (Admin Portal QPS monitor will be unavailable in this case).
Admin Portal: Number of cluster nodes is reported as 0 when no graph exists.
GSQL null pointer exception during schema change if a directed edge is dropped but its partner reverse edge is kept.
Some complex attribute types cannot be correctly posted via /graph endpoint.
In some cases, tuple on reverse edge crashes GPE.
GraphStudio throws an authentication error if RESTPP authentication is enabled.
License level control of MultiGraph functionality.
Release Date: 2018-07-24
GSQL null pointer exception during schema change if a directed edge is dropped but its partner reverse edge is kept.
Some complex attribute types cannot be correctly posted via /graph endpoint.
In some cases, tuple on reverse edge crashes GPE.
GraphStudio Export package is occasionally incomplete.
GSE status is always "not ready" if schema is too large.
Cannot modify RESTPP port configuration.
IUM error in a cluster when not running on node m1
Release Date: Nov 5, 2018
Getting Started
Reference (currently at TG 2.1. Will be updated to 2.2 soon.)
Developer Resources - videos, knowledge base, use cases, community forum
Example:
CREATE QUERY q1 (STRING vType, STRING eType) FOR GRAPH g1 {
Start = {vType.*};
Result = SELECT t
FROM Start:s -(eType:e)-> vType:t
...
}
Most query features are now supported in Distributed mode.
CREATE DISTRIBUTED QUERY q1 ( ...) { ... }
INSTALL QUERY -DISTRIBUTED q1
Calling a query from within a query has always been supported.
The user is must be careful not to create an infinite recursion.
Useful when you need unique integers for many vertices, because getvid(v) runs faster than getting the primary_id or an attribute value.
Similar to functions available in the query language.
SumAccum<STRING COMPRESS>
is not supported
gsql command: The -p password option is now shown in the gsql syntax summary.
loading job syntax: The "any" prefix option is now shown in the filepath_string syntax summary.
ORDER BY clause of SELECT statement: items which cannot be sorted are listed after all the sorted items.
For clarify, this section lists changes between adjacent release versions separately (e.g., v1.1 → v1.2 is separate from v1.2 → v2.0).
System Management
GSQL
GraphStudio UI
GSQL
DEPRECATED : In CREATE QUERY, the "TO REPLACE" option (e.g., CREATE OR REPLACE QUERY) is deprecated.
NEW : In CREATE QUERY, there is is a new option: DISTRIBUTED (e.g., CREATE DISTRIBUTED QUERY).
GraphStudio UI
NEW : Data Filter in Map Data to Graph page.
CHANGED : Data Mapping is automatically changed publishing a revised graph schema.
GBAR
CHANGED : New backup archive format. Restore command has stricter requirements.
Graph and User Management
CHANGED : The "architect" role is renamed "designer". The "public" role is renamed "observer".
GSQL Language
NEW : Queries can construct FILE objects, and pass the FILE objects as parameters, for enhanced flexibility for writing data to files.
NEW : PRINT to a FILE object or FILE.println
NEW : Unified syntax for loading jobs
NEW : Commands to manage loading jobs: SHOW LOADING STATUS, ABORT/RESUME LOADING JOB.
NEW : CREATE/SHOW/DROP GROUP commands, used for LDAP support.
NEW : The heapAccum now has a pop() function
NEW : Three new string functions: lower(), upper(), and trim()
CHANGED : The + operator can be used to add two ListAccums, SetAccums, or MapAccums.The old semantics for (ListAccum + element) is dropped.
CHANGED : In the SELECT statement, the LIMIT...OFFSET option may only be used when the ORDER BY clause is also used.
GraphStudio UI
NEW : Full log in support, including user-based and graph-based access control, LDAP, and Single Sign-On.
Graph and User Management
NEW/ CHANGED : The MultiGraph service introduces changes to how graphs are managed, even when there is only a single graph.
User roles are granted or revoked on a per-graph basis.
A user can work with only one graph at a time. The user must set their working graph, either with the -g option for the GSQL command, or with the USE GRAPH statement. This requirement holds even when there is only a single graph in existence.
The privileges of the admin and designer (architect) roles have been reduced. They can no longer CREATE or DROP a VERTEX/EDGE/GRAPH. However, they can CREATE and RUN a SCHEMA_CHANGE JOB, which accomplishes much the same thing.
The admin and designer (architect) roles can no longer run DROP ALL or CLEAR GRAPH STORE.
DROP GRAPH <gname> only drops vertex and edge types which are exclusive to that graph. It does not drop shared types.
When a new user is created, previously the user began with the public (observer) role. Now, the new user has no role until assigned one.
GSQL Language
REMOVED : In the CREATE VERTEX schema definition statement, the WITH STATS = "outdegree" option is no longer supported. The "outdegree_by_edgetype" and "null" options are still available.
REMOVED : The gsql -s option is dropped. A secret cannot be used in place of a password.
System Configuration
CHANGED : The default TCP/IP port numbers for GraphStudio and its related services have changed, to avoid the possibility of conflict with other services. These port numbers are not mandatory. As before, users can set the port number with gadmin --configure
GraphStudio (and other Nginx services): from 44240 to 14240
GraphStudio.WebSocket.Port: from 44241 to 14241
GraphStudio.Web.Private_port: from 44242 to 14242
GraphStudio UI
NEW : In the Map Data to Graph step, users can now load a constant value (string or numeric). The constant value can either be applied directly to an attribute, or it can be one input of a token function.
Bug Fix
REST API output format for tuple type data is now consistent with standard JSON.
available as a Docker Image or VM Image
machine images available on and Marketplaces
Connector Ecosystem on Github:
Graph Algorithm Library
Code on Github:
Documentation at
New command to automate the cluster expansion process See the document
Queries: The vertex type and edge type for graph traversal be specified at runtime using input parameters.
Queries: Expanded functionality for Distributed mode
See the document
Queries: Distributed mode can be specified either at CREATE or INSTALL time:
Queries: Recursive queries are supported.
Queries: New function getvid(v)
returns internal ID [int] of the vertex v.
Loading: New string token functions gsql_upper(str), gsql_lower(str), gsql_trim(str)
See the relevant sections of the
:
Can display with either light or dark theme.
Supports token authorization.
:
Graph data are preserved when revising the schema.
:
Can run installed queries.
Can filter by attribute value.
Can define expressions to control vertex color, vertex radius, and edge thickness.
Can edit vertex or edge attributes with LIST, SET and MAP type.
:
Can install all queries in one shot.
A loading job may not include both DELETE and LOAD statements.
The keywords CONDITION and LOCATION are no longer reserved.
After enabling or disabling REST token authentication, you must restart the vis service, in addition to restpp and nginx:
gadmin restart restpp nginx vis -y
Schema: PRIMARY_ID should be string type. Other types are deprecated.
CREATE OR REPLACE QUERY is deprecated.
Clarification: You may not concatenate a STRING to a STRING COMPRESS:
NEW : - updated tutorial to learn how to use GSQL to define a graph, load data, write parameterized queries and run them, in about 1 hour.
NEW :
NEW:
Corrections and Clarifications:
In the built-in SELECT query, described in (and which corresponds to the GET /graph REST endpoint), a maximum of 10240 items can be returned.
NEW: Streamlined process for expanding a cluster.
CHANGED: Installation script checks for a minimum of 8GiB RAM and 2 CPU cores.
NEW : In loading jobs, the string functions upper(), lower(), and trim() are added.
NEW : In queries, the vertex types and edge type may be specified at runtime.
NEW: In queries, Distributed mode can be specified at either CREATE or INSTALL.
IMPROVED: In queries: most features are supported for Distributed mode queries.
NEW : In queries, the function getvid() returns the internal ID of a vertex.
IMPROVED: In queries, recursive queries are supported.
CHANGED: The keywords CONDITION and LOCATION are no longer reserved
CHANGED: In a loading job, you may not include both DELETE and LOAD.
NEW: General: Can display with either light or dark theme.
NEW: General: Supports token authorization.
NEW: Design Schema: Graph data are preserved when revising the schema.
NEW: Design Schema:Can add attributes with LIST, SET, or MAP type.
NEW: Explore Graph: Can run installed queries
NEW: Explore Graph: Can filter by attribute value
NEW: Explore Graph: Can define expressions to control vertex color, vertex radius, and edge thickness
NEW : Choose which graph to work with. See for details.
NEW : Container type attributes (e.g., a LIST or SET) can be updated (assigned a new value) in a query. Previously, only simple type attributes could be updated. See the examples of Update statement in the Data Modification Statements chapter of the