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

The release notes provide details of enhancements, features, known issues, and
workflow changes in Simba Spark JDBC Driver with SQL Connector 2.6.11.

For information about upcoming support deprecations or removals, see the 
Workflow Changes section. Deprecated features will not receive any updates,
but will continue to be usable in their current state until support is removed
in a future release.


2.6.11 =======================================================================

Released 2020-02-03

Enhancements & New Features

 * [SPARKJ-250][SPARKJ-217]  Updated Apache Spark support

   The driver now supports Apache Spark versions 1.6 through 2.4, including
   support for the latest patches.

 * [SPARKJ-231] Support for JDBC 4.2

   The driver now supports JDBC 4.2.

 * [SPARKJ-233] New JDBC class names

   The driver now supports the following class names for Driver and 
   DataSource that are independent of the JDBC version used:
   - com.simba.spark.jdbc.Driver
   - com.simba.spark.jdbc.DataSource

   The previous JDBC-version-specific class names for 4.0 and 4.1 are still 
   supported.

 * [SPARKJ-206] Custom socket factory and DNS resolver

   The driver now supports connecting to the data source using a Virtual
   Private Cloud. To access this feature, use the following connection
   properties:
   - SocketFactory
   - SocketFactoryArg
   - DnsResolver
   - DnsResolverArg

   For more information about these properties, see the Installation and 
   Configuration Guide.

 * [SPARKJ-262][SPARKJ-246][SPARKJ-245][SPARKJ-222][SPARKJ-216][SPARKJ-196]
   [SPARKJ-199][SPARKJ-294] Updated third-party libraries

   The driver has been updated to use the following libraries:
   - jackson-core 2.10.1
   - jackson-databind 2.10.1
   - jackson-annotation 2.10.1 for JDBC 4.1 and 4.2 only
   - Log4j 1.2.17
   - slf4j-api and slfj-log4j12 1.7.25
   - Thrift 0.12.0 for JDBC 4.0 and JDBC 4.1, Thrift 0.13.0 for JDBC 4.2
   - Zookeeper 3.4.14

 * [SPARKJ-198] Updated Hive Service support

   The driver now uses Hive Service 3.1.1 for HiverServer2 connections.


Resolved Issues
The following issues have been resolved in Simba Spark JDBC Driver 2.6.11.

 * [SPARKJ-267] The JDBC 4.1 version of the driver fails to connect to servers 
   that require encryption using TLS 1.2.

   This issue has been resolved. However, be aware that this issue still
   persists for the JDBC 4.0 version of the driver. For more information, see
   the "Known Issues" section.

 * [SPARKJ-271] When you use the com.simba.spark.jdbc.DataSource class to
   connect with the JDBC 4.1 or 4.2 version of the driver, the driver returns 
   a class cast exception.

 * [SPARKJ-252] When running a query with an IN clause on a BOOLEAN type 
   column, the driver fails to convert "1" or "0" values to "true" or "false",
   causing the query to fail.

 * [SPARKJ-251] During SSL verification, the host name verification step fails
   because the driver resolves host names into IP addresses.

 * [SPARKJ-227] The driver incorrectly treats SSL properties as server-side 
   properties. 

 * [SPARKJ-209] The driver incorrectly returns a TIMESTAMP type when 
   UseNativeQuery is not set to 1.

 * [SPARKJ-220] If a SQL query ends in a semicolon, the driver reports an 
   error.

   This issue has been resolved. The driver now removes trailing semicolons 
   from queries before sending them to the server.

 * [SPARKJ-194] In some cases, when executing parameterized queries, the
   driver unnecessarily escapes regex characters.


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

 * [SPARKJ-267] The JDBC 4.0 version of the driver fails to connect to servers 
   that require encryption using TLS 1.1 or later.

   When you attempt to connect to the server, the connection fails and the
   driver returns an SSL handshake exception. This issue occurs only when you
   run the driver using Java Runtime Environment (JRE) 6.0. 

   As a workaround, run the driver using JRE 7.0 or 8.0.

 * When retrieving data from a BINARY column, a ClassCastException error 
   occurs.

   In Spark 1.6.3 or earlier, the server sometimes returns a 
   ClassCastException error when attempting to retrieve data from a BINARY 
   column.

   This issue is fixed as of Spark 2.0.0.

   For more information, see the JIRA issue posted by Apache named "When
   column type is binary, select occurs ClassCastException in Beeline" at
   https://issues.apache.org/jira/browse/SPARK-12143.


Workflow Changes =============================================================

The following changes may disrupt established workflows for the driver. 

In addition to changes that are already implemented in the current version of 
the driver, this section describes potentially disruptive changes that will be 
implemented in a future version of the driver, so that you can plan 
accordingly.


Upcoming ---------------------------------------------------------------------

 * [SPARKJ-298] Removing support for Spark 1.6

   As early as December 2020, the driver will no longer support servers that
   run Spark version 1.6. For information about the supported Spark versions, 
   see the Installation and Configuration Guide.

 * [SPARKJ-296] Removing support for Spark 2.1 and 2.2

   As early as July 2020, the driver will no longer support servers that run
   Spark version 2.1 or 2.2. For information about the supported Spark 
   versions, see the Installation and Configuration Guide.

 * [SPARKJ-288] Removing support for JDBC 4.0 (Java 6)

   As early as April 2020, the driver will no longer support JDBC 4.0 (Java 
   6). For a list of supported JDBC versions, see the Installation and 
   Configuration Guide.


2.6.11 -----------------------------------------------------------------------

 * [SPARKJ-301] Removed support for Spark 1.5.2 and earlier, as well as 2.0

   Beginning with this release, the driver no longer supports servers that run
   any of the following Spark versions:
   - Versions 1.5.2 and earlier
   - Version 2.0

   For information about the supported Spark versions, see the Installation 
   and Configuration Guide.

 * [SPARKJ-296][SPARKJ-298] Deprecated support for Spark 1.6, 2.1, and 2.2

   Beginning with this release, support for Spark versions 1.6, 2.1, and 2.2 
   has been deprecated. For information about the supported Spark versions, 
   see the Installation and Configuration Guide.

 * [SPARKJ-288] Deprecated support for JDBC 4.0 (Java 6)
 
   Beginning with this release, support for JDBC 4.0 (Java 6) has been
   deprecated. Support will be removed in a future release. For a list of
   supported JDBC versions, see the Installation and Configuration Guide.


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

2.6.3 ------------------------------------------------------------------------

Released 2018-07-13

Enhancements & New Features

 * [SPARKJ-163] Support for Spark 2.3.0

   The driver now supports Spark 2.3.0.


2.6.2 ------------------------------------------------------------------------

Released 2018-05-30

Enhancements & New Features

 * Internal driver improvements

   The driver has been updated with minor internal improvements.


2.6.1 ------------------------------------------------------------------------ 

Released 2018-04-30

Enhancements & New Features

 * [SPARKJ-171] Updated Zookeeper support
   
   Zookeeper for the driver has been upgraded to 3.4.11.


Resolved Issues
The following issues have been resolved in Simba Spark JDBC Driver 2.6.1.

 * [SPARKJ-156] On Spark 1.6 and earlier, if you attempt to execute a SQL 
   statement that contains a newline character, the message "ERROR 
   processing query/statement" is displayed.

 * [SPARKJ-161] When the driver attempts to connect to the server using 
   Beeline, an error occurs on the server and an exception is logged by the 
   driver. 

   This issue has been resolved. Now, when connecting to the server using 
   Beeline, connection properties such as "driver" and "url" are no longer 
   treated as configuration properties for the server, and the driver does 
   not send SET queries to the server with these properties.

 * [SPARKJ-162] A string literal after a back-tick ( ` ) is treated as a 
   comment.
 

2.6.0 ------------------------------------------------------------------------ 

Released 2018-02-28

Enhancements & New Features

 * Improved installation process

   Third-party libraries are now bundled with the driver as a shaded jar file.

 * Updated hive-service

   The driver has been upgraded to use hive-service-2.0.1 with JDBC 4.1 and 
   hive-service-1.1.1 for JDBC 4.

 * Updated third-party libraries

   The driver has been upgraded to use http-client 4.5.3, http-core 4.4.6, 
   commons-codec 1.9, and commons-logging 1.2.


Resolved Issues
The following issues have been resolved in Simba Spark JDBC Driver 2.6.0.

 * The driver removes query comments and hints when the UseNativeQuery 
   property is set to 1.

 * The driver returns an error when calling catalog or schema functions 
   against a MapR Spark distribution.


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