xGT Release Notes
1.1.0 (02-21-2019)
- Removed the REST API from the Python library, server, and documentation.
- Added support for an SSL-encrypted gRPC connection between client and server.
- Removed the option to run in 'local' (unixsocket) mode as that security need has been replaced by the SSL-encrypted gRPC connection.
- Added the ability for the client to detect when the server has restarted and notify the user they need to reestablish a connection.
- Improved the hierarchical organization of exception messages.
- Improved the text of many errors returned to the Python user.
- Improved load and insert error reporting to return a usable frame with the valid data and an error table with all the invalid data and errors instead of throwing on the first error detected in the data.
- Improved logging of out-of-memory errors.
- Added error reporting when a cypher statement compares a vertex with an edge.
- Added documentation for xGT datatypes.
- Added compiler optimizations to improve performance of some queries.
- Improved the client-server connection to reduce latency.
- Improved ingestion performance for large edge frames when implicitly filling the vertex frame.
- Fixed numerous bugs where Null values weren't handled correctly or were handled differently from Cypher's behavior.
- Fixed numerous bugs where datatype conversion wasn't being handled correctly.
- Fixed a bug where xGT ran out of memory when ingesting large edge frames due to fragmentation when plenty of memory was available.
- Fixed a deadlock that could occur during load or insert operations.
- Fixed some client-server connection bugs when a Jupyter Notebook is used as the client.
1.0.0 (12-01-2018)
- Improved stability and performance of connection between Python client and xgtd server by switching to using gRPC instead of REST as the default communication protocol. The REST protocol is now deprecated.
- Added ability to query a TableFrame using syntax for querying a VertexFrame.
- Added check when creating VertexFrame that the key parameter is given and is a valid column in the schema.
- Added check when creating EdgeFrame that the source_key and target_key parameters are given and are valid columns in the schema.
- Modified behavior when dropping frames to prevent a user from dropping a frame on which other frames depend.
- Modified behavior when creating frames to require a name for the frame.
- Modified allowed characters for names to allow for unicode characters.
- Disallowed the creation of frames with names containing periods.
- Renamed xgtd configuration file from .gemsconfig to .xgtd.conf, and now look for it in /etc if the file doesn't exist in the user's home directory.
- In xgtd.conf, renamed the property 's3_key_id' to 'aws_access_key_id' and 's3_key' to 'aws_secret_access_key' to be consistent with the naming in the aws credentials file.
- Errors are now reported when .xgtd.conf contains invalid property names or values of the wrong type.
- Modified exceptions to use new naming scheme.
- Improved handling of filename paths passed to I/O commands to make all filename paths unambiguous as to the location of the file.
- Added support for loading CSV files where some of the lines have more columns than the required number.
- Improved documentation and tutorials.
- Fixed a rare bug where simultaneously creating and dropping frames caused an error.
- Fixed a bug where frames with numeric names couldn't be dropped.
- Fixed a bug where using a list of tuples as the schema to create a frame had stopped working.
- Fixed a bug where exceptions were sometimes reported to the wrong job when multiple jobs were running simultaneously.
- Fixed numerous bugs that occurred when loading data.
0.18.0 (10-24-2018)
- Modified the API for creating and destroying graphs. See the Python API documentation for details.
- Simplified the specification of source and target keys by supporting only a single key column.
- Names now have to be unique across all objects vs. unique only for a particular type of object.
- Improved type checking in the query compiler to provide better error messages to users for invalid queries.
- Improved error messages in some cases to make them more understandable.
- Fixed a bug where exceptions were sometimes reported to the wrong job when multiple jobs were running simultaneously.
- Fixed a bug where exceptions sometimes had malformed json.
- Fixed a segfault that occassionally occurred in the job manager.
- Changed working directory of AWS marketplace daemon to /srv/xgtd/data from /home/ec2-user/.
0.17.0 (10-01-2018)
- Added additional error messages.
- Added query annotations to more types of invalid cypher query error messages.
- Fixed some unicode bugs.
- Fixed a segfault occurring when an exception is thrown while ingesting.
- Can now read AWS credentials directly from .aws/credentials.
0.16.0 (09-01-2018)
- Improved query compiler to automatically infer the vertex or edge type when there is a single type.
- Improved compatibility between Python 2 and 3.
- Fixed spurious warnings about numpy datatype incompatibilities.
- Standarized error message handling between
run_job()
andwait_for_jobs()
. - Improved error reporting to give more meaningful error messages.
- Fixed many cases where errors were not being reported to the user.
- Fixed numerous bugs.