==============================================================================
Simba Neo4j JDBC Driver with SQL Connector Release Notes 
==============================================================================

The release notes provide details of enhancements, features, known issues, and 
workflow changes in Simba Neo4j JDBC Driver 1.0.7, as well as the version 
history.


1.0.7 ========================================================================

Released 2021-01-15

Enhancements & New Features

 * [NEOJ-87] Cypher-backed Views feature

   You can now define views based on a Cypher query. To use Cypher-backed 
   Views, in the connection URL, specify the full path to the View Definition
   file using the ViewDefinitionFile property. For more information, see the
   Installation and Configuration Guide.

 * [NEOJ-106] Support for cancelling data retrieval 

   The driver now supports cancelling operations at the data retrieval stage.

 * [NEOJ-150][NEOJ-169][NEOJ-127] Upgraded driver dependency

   The driver now uses the Neo4j Java driver 4.1.1 dependency. Previously, it
   used Neo4j Java Driver 4.0.1. This version of the Neo4j Java driver 
   contains the 4.1.51 version of the netty library and the 3.3.5 version of
   reactor core bundled and shaded within in.

 * [NEOJ-155][NEOJ-87] Updated third-party libraries
 
   The JDBC 4.1 driver has been updated to use the following libraries:
   - log4j 2.13.3 (previously 1.2.17)
   - slf4j 1.7.30 (previously 1.7.28) 
   - jackson 2.10.4 


Resolved Issues
The following issues have been resolved in Simba Neo4j JDBC Driver 1.0.7.

 * [NEOJ-170] When querying RIGHT OUTER JOIN with an IS NOT NULL condition,
   the driver returns an error. 

 * [NEOJ-176] In some cases, when executing large queries with multiple joins, 
   the driver returns extra null rows. 

 * [NEOJ-178] When node IDs with multiple LEFT OUTER JOINs are queried, the 
   driver returns incomplete rows in the result set. 


Known Issues
The following are known issues that you may encounter due to limitations in
the data source, the driver, or an application.

 * When comparing strings with different lengths, the driver handles the "="
   condition on strings differently from the Neo4j server.

   The driver pads the value with whitespaces, while the server does not. For
   more information about join passdown, see the Installation and 
   Configuration Guide.

 * [NEOJ-128][NEOJ-130] In certain versions of Tableau, on the Data Source 
   tab, when you view data from a table, the error message "An error occurred 
   while communicating with the data source" is returned.

   As a workaround, use Tableau version 20194.19.1010.1202 or later.

 * The driver handles SUM(NULL) differently from the Neo4j server.

   The driver returns NULL for SUM(NULL), while the Neo4j server returns 0 
   for SUM(NULL). This might result in a discrepancy between queries that are 
   passed down and queries that are resolved by the driver. For more 
   information about aggregate function passdown, see the Installation and 
   Configuration Guide.

 * [NEOJ-70] If a property contains time values that have fractional second
   precision beyond milliseconds, the value truncates to milliseconds
   fractional seconds precision. 
   
   For example, a time value of 13:59:23.123456 in the Neo4j database is
   represented by the driver in the result set as 13:59:23.123.
   
   A SQL query that filters on a time value stored in the Neo4j server with
   fractional seconds precision beyond milliseconds results in an empty result
   set.
   
 * [NEOJ-84] Aggregate values calculated by the server can be different than
   values calculated by the driver. For more information, see the Installation
   and Configuration Guide. 

 * [NEOJ-107] If you connect to a single-instance Neo4j 3.5 server using
   Tableau, the driver becomes unresposive during the query execution stage
   and eventually returns a timeout error.
   
   This occurs because you are connecting to a Neo4j 3.5 single-instance
   server that does not have a routing table, and therefore connection should
   only be attempted using the bolt scheme. To resolve this,
   set the connection property StrictlyUseBoltScheme as "true". For more 
   information, see the Installation and Configuration Guide. 


Version History ==============================================================

1.0.6 ------------------------------------------------------------------------

Released 2020-09-29

Enhancements & New Features

 * [NEOJ-124] Support for Java 11
 
   The driver now supports Java 11.

 * [NEOJ-143][NEOJ-83] Join passdown 

   The driver can now can pass down join operations to the Neo4j server for
   execution. This improves performance for these queries. For more 
   information, see the Installation and Configuration Guide.


1.0.5 ------------------------------------------------------------------------

Released 2020-08-05

Enhancements & New Features

 * [NEOJ-149] Support for UNION query syntax

   The driver now supports UNION in SQL queries. For example:

   SELECT * FROM Table1 UNION SELECT * FROM Table2

 * [NEOJ-148] Support for POSITION() function

   The driver now supports the POSITION() SQL function.


1.0.4 ------------------------------------------------------------------------

Released 2020-06-19

Enhancements & New Features

 * [NEOJ-93] Distinct passdown

   The driver now supports distinct passdown in SQL queries. This improves 
   performance for queries that involve obtaining distinct row data.

 * [NEOJ-122] NOT syntax

   The driver now supports NOT syntax for use with Boolean columns. For 
   example, the driver supports the statement "SELECT NOT booleanCol FROM 
   MyTable".

 * [NEOJ-131] SELECT without FROM

   The driver now supports SELECT queries that are run without a FROM clause.


Resolved Issues
The following issues have been resolved in Simba Neo4j JDBC Driver 1.0.4.

 * [NEOJ-123] In a searched CASE statement in a SQL query on a DECIMAL 
   column, if the ELSE part contains an integer value instead of a decimal 
   value, the driver returns an error.

 * [NEOJ-126] The driver does not support the CURRENT_TIMESTAMP, 
   CURRENT_DATE, or CURRENT_TIME functions without "()".

 * [NEOJ-135] During filtering, the driver cannot handle string literals that 
   contain single quotes.


1.0.3 ------------------------------------------------------------------------

Released 2020-05-06

Enhancements & New Features

 * [NEOJ-66] Java driver logging

   You can now log Neo4j Java driver activity by using the 
   EnableJavaDriverLogging connection URL option. The driver uses the
   following components to enable Neo4j Java driver activity to be logged: 
   - log4j-1.2.17
   - slf4j-api-1.7.28
   - slf4j-log4j12-1.7.28 
   
   For more information, see the Installation and Configuration Guide.

 * [NEOJ-84] Aggregate passdown

   The driver now supports passing down simple queries involving aggregate
   functions to the server for execution. This improves performance for these
   queries. For more information, see the Installation and 
   Configuration Guide.

 * [NEOJ-86] Sort passdown

   The driver now supports sort passdown for SQL queries. This improves
   performance for queries that involve sorting data.

 * [NEOJ-112] Upgraded driver dependency

   The driver now uses the Neo4j Java driver 4.0.1 dependency. Previously, it
   used Neo4j Java Driver 4.0.0.

 * [NEOJ-115] Support for EXTRACT scalar function

   You can now use the EXTRACT scalar function with the following data types:
   - YEAR
   - MONTH
   - DAY
   - HOUR
   - MINUTE
   - SECOND


Resolved Issues
The following issues have been resolved in Simba Neo4j JDBC Driver 1.0.3.

 * [NEOJ-70] SQL_TIMESTAMP values with nanoseconds fractional seconds
   precision are truncated to microseconds fractional seconds precision.

 * [NEOJ-70] Fractional seconds precision is not included for SQL_TIME values.
   
   This issue has been resolved. The driver now sets the maximum fractional 
   seconds precision for SQL_TIME values as milliseconds. For information on 
   the limitation of fractional seconds precision for SQL_TIME type values, 
   please see the Known Issues section below.
   
 * [NEOJ-117] The driver returns the error "A logic error occurred: null" for
   invalid cast operations.
   
   This issue has been resolved. The driver now returns the error "Invalid
   character value for cast specification".
   
 * [NEOJ-118] The maximum length of an identifier is 255 characters.
 
   This issue has been resolved. You can now configure this limitation with
   the MaxIdentifierLen connection URL option. For more information, see the
   Installation and Configuration Guide.

 * [NEOJ-116] When the driver retrieves results, the TOP or LIMIT value from
   the outer query is chosen as the value to be passed down to Neo4j.
 
   This issue has been resolved. The TOP or LIMIT clause condition specified
   in sub-queries is now taken into account when passing a query down to
   Neo4j.


1.0.2 ------------------------------------------------------------------------

Released 2020-03-20

Enhancements & New Features

 * [NEOJ-92] JRE 11 support

   The driver now supports JRE 11. For a complete list of supported JRE 
   versions, see the Installation and Configuration Guide.

 * [NEOJ-102] Authentication required by default

   By default, the driver now requires a user name and password to connect to 
   the data store. To disable authentication, set the Auth_Type property to 
   None. For more information, see the Installation and Configuration Guide.


Resolved Issues
The following issue has been resolved in Simba Neo4j BI Connector 1.0.2.

 * [NEOJ-96] If a query contains four or more inner joins, the driver returns 
   an incorrect result.


1.0.1 ------------------------------------------------------------------------

Released 2020-02-21

Enhancements & New Features

 * [NEOJ-88] New default separator for labels and relationship types

   The default value for RelNodeSeparator, the separator between labels and 
   relationship types, is now an underscore ( _ ). Previously, the default 
   separator was _lt_. For more information, see the Installation and 
   Configuration Guide.


1.0.0 ------------------------------------------------------------------------ 

Released 2020-02-15

 * Version 1.0.0 was the initial release of Simba Neo4j JDBC Driver.


==============================================================================