﻿============================================================================= 
Simba Athena JDBC Driver with SQL Connector Release Notes 
============================================================================= 

The release notes provide details of enhancements, features, and known issues 
in Simba Athena JDBC Driver 2.0.2, as well as the version history. 


2.0.2 ======================================================================= 

Released 2018-04-06

Enhancements & New Features 

 * Improved AWS Glue workflow
  
   AWS Glue availability detection logic now calls an API in Glue to speed 
   up detection logic. If the API fails, the driver falls back to the
   original method.

 * Jackson library updated

   The driver now uses Jackson library version 2.9.5 because of the security
   vulnerabilities reported against the earlier versions of the library. 
   Because Jackson libraries 2.9.5 support Java 1.7 and higher, the JDBC 
   driver is offered for JDBC API 4.1 and 4.2, but not for JDBC API 4.0,
   which requires JDK 6. JDK 6 and Java 1.6 are not supported by Jackson 
   2.9.5.

 * Array type support
 
   The driver now supports returning ResultSet data as an Array. This is
   configured using the UseArraySupport configuration option. For more
   information, see the Installation and Configuration Guide.
   
 
Resolved Issues
The following issue has been resolved in Simba Athena JDBC Driver 2.0.2.

 * When the driver executes a query containing comments, it incorrectly
   returns a row-count result set.


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

The following changes may disrupt workflows from earlier versions.


2.0.2 -----------------------------------------------------------------------

 * Removed support for JDBC 4.0

   As of this release, the driver no longer supports JDBC 4.0. Please refer
   to the release notes item "Jackson library updated" in the "Enhancements &
   New Features" section of this release for more details.

   
2.0.0 -----------------------------------------------------------------------

 * SDK interfaces

   The following AWS SDK interfaces are no longer shaded in the driver jar,
   they are included with the original AWS SDK package names. Any custom
   credential providers that use the old shaded package names for these
   interfaces must be updated.  
   - com.amazonaws.auth.AWSCredentials
   - com.amazonaws.auth.AWSCredentialsProvider
   - com.amazonaws.auth.AWSSessionCredentials
   - com.amazonaws.auth.AWSSessionCredentialsProvider   


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

2.0.1 ----------------------------------------------------------------------- 

2018-03-14

Enhancements & New Features 

 * Support for CHAR and FLOAT data types

   The driver now supports CHAR and FLOAT data.


Resolved Issues
The following issues were resolved in Simba Athena JDBC Driver 2.0.1.

 * When the driver executes a query containing Common Table Expression (CTE) 
   syntax, it incorrectly returns a row-count result set.

 * In the connection URL, if the Host or Catalog properties end with a 
   backslash ( / ), the driver returns an error.
   

2.0.0 ----------------------------------------------------------------------- 

2018-02-02

Enhancements & New Features 

 * AWS STS library

   The AWS STS library is now bundled with the driver as a shaded jar file.

 * Configuration option aliases

   Aliases have been added for some configuration options. Recognized options
   include: 

   - s3_staging_dir: alias for S3OutputLocation
   - query_results_encryption_option: alias for S3OutputEncOption
   - query_results_aws_kms_key: alias for S3OutputEncKMSKey
   - aws_credentials_provider_class: alias for AwsCredentialsProviderClass
   - aws_credentials_provider_arguments: alias for AwsCredentialsProviderArguments
   - max_error_retries: alias for MaxErrorRetry
   - connection_timeout (time in milliseconds): alias for ConnectTimeout (time in seconds)
   - socket_timeout (time in milliseconds): alias for SocketTimeout (time in seconds)

   If a conflict occurs, the driver setting takes precedence over the alias.
   See the Installation and Configuration Guide for full details.

 * Improved class loading

   The driver and data source can now be loaded using the same class name
   for any JDBC version. The new class names are com.simba.athena.jdbc.Driver
   and com.simba.athena.jdbc.DataSource. Old class names continue to work.

 * Updated driver identification details

   The DatabaseMetadata.getDatabaseProductName() call now returns 
   "AWS.Athena".
   The DatabaseMetadata.getDriverName() now returns "Simba Athena JDBC
   Driver".	
   The driver now populates UserAgentPrefix within the Athena SDK. The prefix
   is "sbAthenaJDBCDriver/DRIVER_VERSION", where DRIVER_VERSION is the
   major.minor version of the driver. For example, this release of the driver
   would use the UserAgentPrefix "sbAthenaJDBCDriver/2.0".
   
 * Endpoint handling

   You can now pass an endpoint in the form "athena.[REGION].amazonaws.com:
   443;" in the connection string, instead of specifying the region using the
   AWSRegion configuration option. The region is parsed out of this endpoint
   and used to connect to Athena and Glue services. If an endpoint and
   AWSRegion are present in the connection string the AWSRegion takes
   precedence.

 * Column name handling

   The driver right-trims the column names when using the JDBC getColumns API
   call. This only applies when the driver uses a query to get the metadata
   for AWS regions that don’t support Glue or haven’t been upgraded to use
   Glue.

 * AWS SDK support
 
   The driver now uses AWS SDK version 1.11.271.

 * Jackson support
 
   The driver now uses Jackson version 2.9.4. The JDBC 4 version of the driver
   still uses jackson-databind-2.7.9.1 as newer versions are not compatible
   with JDK 1.6.
 
Resolved Issues
The following issue was resolved in Simba Athena JDBC Driver 2.0.0.

 * The precision and scale for integer type columns in the ResultSetMetaData
   of the getColumns JDBC API call are both 1.

   This has been resolved. The correct values, 10 and 0 respectively, have 
   been implemented.


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