Skip to content

Releases: aws/amazon-redshift-odbc-driver

v2.1.9

14 Aug 22:55
Compare
Choose a tag to compare
  1. Fixed row-wise parameter binding in SQLBindParameter by implementing correct length indicator pointer and stride calculations.

Full Changelog: v2.1.8...v2.1.9

v2.1.8

02 Jul 01:13
Compare
Choose a tag to compare
  1. Added support to change the connection to read-write using mode SQL_ATTR_ACCESS_MODE after the connection was established.
  2. Fixed the return data type for Date/Time columns in SQLColumns API to match the configured ODBC version set via SQL_ATTR_ODBC_VERSION.
  3. Fixed incorrect streaming cursor state handling after SQLTables API catalog list retrieval.
  4. Fixed an issue where the driver incorrectly treated NULL parameters as empty strings in SQLTables when using SQL_ALL_CATALOGS, which caused it to return a catalog list instead of the expected table list.
  5. Removed legacy code containing unused libpq quoting functions.
  6. Resolved build issues when compiling the Windows driver from GitHub source code.
  7. Added support for all Glue Data type in the SQLColumns metadata API, enabling accurate column type information retrieval from AWS Glue catalogs.
  8. Enhanced the ODBC driver's data retrieval functionality by implementing proper offset tracking and buffer management through SQLGetData API to correctly handle large data sets retrieved in chunks, ensuring sequential data access rather than repeated retrieval of initial data segments.
  9. Fixed a memory leak that occurred when initializing result set fields in SQLTables and SQLColumns API calls.

Full Changelog: v2.1.7...v2.1.8

v2.1.7

06 Mar 20:02
Compare
Choose a tag to compare
  1. Fixed an issue with batch insertion parameters where SQL_ATTR_PARAMSET_SIZE updates were not being properly applied between SQLPrepare and SQLExecute calls.
  2. Updated to latest OpenSSL 1.1.1.
  3. Fixed SQLTables metadata API to properly include external schemas when listing all schemas in the current database.
  4. Corrected SQLTables metadata API result ordering to properly sort by catalog name.
  5. Added support for serverless cluster authentication via GetClusterCredentials API - connect to workgroups by prefixing “redshift-serverless” to ClusterId field (server field optional).
  6. Added support for network load balancer (NLB) hostnames in server name fields.

Full Changelog: v2.1.6...v2.1.7

v2.1.6

24 Dec 08:12
Compare
Choose a tag to compare
  1. Introduced token caching support for Browser IdC Auth plugin.
  2. Updated the logic for retrieving database metadata through the SQLTables() and SQLColumns() API methods.
  3. Addressed security issues as detailed in CVE-2024-12746
  4. Fixed an issue where data types returned for the BUFFER_LENGTH, DECIMAL_DIGITS, NUM_PREC_RADIX, and NULLABLE columns in the SQLColumns ODBC API call result set for external schema did not conform to the ODBC specification.
  5. Increased buffer size of MAX_IDEN_LEN to support connection parameter inputs up to 1024 characters.
  6. Improved build system, removed prebuilt dependencies and introduced an automated script to build driver dependencies from source.

Full Changelog: v2.1.4...v2.1.6

v2.1.4

13 Nov 03:37
Compare
Choose a tag to compare
  1. Increased the session token buffer size from 1024 bytes to 2048 bytes to accommodate larger V2 tokens during IAM authentication processes.
  2. Improved regex processing of user provided URIs in all IAM authentication workflows.
  3. Improved String Manipulation Functions: stristr (Case-Insensitive String Search), strcasewhole (Whole Word Case-Insensitive Comparison), strcasestr (Custom Case-Insensitive Substring Search for windows), and findSQLClause (SQL Clause Extraction).
  4. Fixed Unicode Handling in getParamVal for Prepared Query Processing.
  5. Updated the version of aws-sdk-cpp to 1.11.336 (windows).
  6. Implemented mandatory default functionality for aws-sdk-cpp's WinSyncHttpClient::DoQueryDataAvailable and WinSyncHttpClient::GetActualHttpVersionUsed methods, ensuring compliance with the AWS SDK.
  7. Upgraded the c-ares library dependency for Windows to version 1.29.0
  8. Upgraded the googletest library dependency for Windows to version 1.14.0
  9. Updated the cmake_minimum_required version from 3.12 to 3.20
  10. Migrated the Windows build process to utilize the CMake build system. To build and package for Windows, execute the build64.bat script located in the project's root directory.
  11. Added support for building ODBC2.x Windows driver in both Release and Debug modes, ensuring that the required dependencies are available in their respective Debug and Release subfolders, enabling more comprehensive testing and debugging scenarios.
  12. Enhanced the build scripts by removing unused build and test files, and implemented a consistent naming convention by prefixing internal CMake variables with RS_ for better organization and maintainability.
  13. Removed the use of the -MMD, -MP, and -MF compiler options in the CMake build configuration for Linux, resolving compatibility issues with C++17 std::string_view.
  14. Fixed an issue where the data types returned for the BUFFER_LENGTH, DECIMAL_DIGITS, NUM_PREC_RADIX, and NULLABLE columns in the result set of the SQLColumns ODBC API call were not conforming to the ODBC specification.
  15. Updated the SQL data type representations in the rscatalog component for date, time, timetz, time with time zone, timestamp without time zone, timestamptz, and timestamp to use the non-concise data type instead of the concise data type.
  16. Added support to connect to Redshift via managed Virtual Private Cloud (VPC) endpoints.

Full Changelog: v2.1.3...v2.1.4

v2.1.3

01 Aug 00:44
Compare
Choose a tag to compare
  1. Fixed an inconsistent metadata issue for Redshift type timestamptz in SQLColumns and SQLDescribeCol by changing the return value for Data type column in SQLColumns API from 2014 to SQL_TYPE_TIMESTAMP (93) and in SQLDescribeCol API from SQL_VARCHAR (12) to SQL_TYPE_TIMESTAMP (93).
  2. Fixed an issue when invoking SQLBindParameter with the C type SQL_C_DEFAULT by converting SQL_C_DEFAULT to a new C type based on the SQL type. Also, added enhanced logging to provide informational and error messages related to SQL_C_DEFAULT conversions.
  3. Added missing group federation checkbox in JWT IAM Auth Plugin ODBC DSN GUI in Windows.
  4. Fixed an issue where an incorrect return value was generated when calling SQLGetData with the C type SQL_C_DEFAULT.
  5. Added support for a new browser authentication plugin called BrowserIdcAuthPlugin to facilitate single-sign-on integration with AWS IAM Identity Center.

Full Changelog: v2.1.2...v2.1.3

v2.1.2

05 Jun 20:51
Compare
Choose a tag to compare
  1. Upgraded the deprecated minimum TLS functions in OpenSSL to more versatile TLS methods that can support multiple TLS protocol versions.
  2. Updated the default minimum TLS version to the more secure and faster TLS 1.2, changed from the previous default of TLS 1.0.
  3. Added new options in the Windows ODBC DSN GUI to allow setting the minimum TLS version to any supported version.
  4. Fixed a bug where the user option to provide the database username in the connection string was not working when connecting to Redshift using a database username and password.
  5. Fixed an issue with querying large geometry data type using SQLGetData.
  6. Fixed an issue in SQLFetch function where query buffer offset was not being reset properly, causing function execution to hang.
  7. Fixed issues in unicode conversion utility methods used internally. Updated calls to these conversion methods in the SQLForeignKeysW, SQLPrimaryKeysW, SQLColumnsW and SQLDriverConnectW APIs.
  8. Added missing OID mapping for Redshift Text data type.
  9. Added missing invalid SQL type validation in SQLBindParameter API.
  10. Fixed bug where databaseMetadataCurrentDbOnly flag was not using its default value when it is not included in DSN in Linux.
  11. Updated catalog filter to use LIKE instead of = to allow filter patterns with '%' in catalog name in ODBC metadata APIs like SQLTables.
  12. Fixed a bug where datatype of DECIMAL_DIGITS, NUM_PREC_RADIX, and NULLABLE columns in SQLColumns API result set were not following ODBC specification. This can impact behavior on some clients and tools.

Full Changelog: v2.1.1...v2.1.2

v2.1.1

02 Apr 12:07
Compare
Choose a tag to compare

v2.1.1 (2024-04-01)

  1. Corrected the data type of the bind offset pointer to SQLLEN from long for the plBindOffsetPtr variable in RS_DESC_HEADER to ensure compatibility
  2. Modified the default value for SQL_BOOKMARK_PERSISTENCE from SQL_BP_UPDATE | SQL_BP_SCROLL to SQL_BP_DROP
  3. Upgraded logging capabilities and streamlined the logging system to boost speed and transparency.
  4. Expanded unicode library capabilities by introducing wchar16_to_utf8_char() to convert 16-bit wide characters to UTF-8 char array.
  5. Improved buffer safety checks in unicode function char_utf8_to_wchar_utf16() to make it more robust.
  6. Enhanced unicode conversion within SQLTablesW and SQLPrepareW for improved compatibility and accuracy.
  7. Resolved issues causing Power Query container crashes in Microsoft products.
  8. The catalog filter was updated to use 'LIKE' instead of '+' to allow filter patterns with '%' which impacted metadata ODBC APIs like SQLTables.
  9. In case the IAM authentication client cannot deduce the workgroup configuration from the serverless destination address, use the user-provided DSN setting as an alternative.
  10. Invoke both cmake.find_library() and cmake.find_package() functions to locate the Gtest library, so that if one method fails to find Gtest, the other can be used as a fallback option.
  11. Ensure that CaFile and CaPath connection settings are available to both IAM as well as Idp authentication plugins.
  12. The TCP Proxy implementation in the DSN GUI was improved by fixing issues related to saving and loading proxy settings. Additionally, the connection handling routines in lipbq's library were enhanced to better support connections made through proxies. Specifically, the connect_using_proxy, connectDBStart, PQconnectPoll, and internal_cancel functions were updated to properly handle proxy configurations.
  13. Updated the registry path that stores Windows DSN log settings for the ODBC driver, from "HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\ODBC" to "HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\Amazon Redshift ODBC Driver (x64)\Driver".

Full Changelog: v2.1.0.0...v2.1.1

v2.1.0.0

02 Apr 12:07
Compare
Choose a tag to compare
  1. Added support for LZ4 and ZSTD compression over wire protocol communication between Redshift server and the client/driver. Compression is turned off by default and can be set using a new connection parameter compression=off or lz4 or zstd.
  2. Added support for unit-testing using Google Test framework.
  3. Upgrade unixODBC dependency from v2.3.1 to v2.3.7 (Linux release).
  4. Fix handling of null termination during unicode processing in SQLDescribeColW API.

v2.0.1.0

25 Jan 21:55
Compare
Choose a tag to compare
  1. Added support for Serverless Custom Name. Upgraded windows aws-sdk-cpp to 1.11.218 accordingly.
  2. Added support for interval data types: SQL_INTERVAL_YEAR_TO_MONTH and SQL_INTERVAL_DAY_TO_SECOND. They can be retrieved as text or using the C structures SQL_YEAR_MONTH_STRUCT and SQL_DAY_SECOND_STRUCT.
  3. Migrated Linux to cmake build system.
  4. Build base libraries statically into librsodbc64.so including libgcc and libstdc++.
  5. Fixed CaFile and CaPath connection options and default root certificate name for IAM and non-IAM connections.
  6. Fixed support for group_federation connection parameter that allows customers to use getClusterCredentialsWithIAM in provisioned clusters.
  7. Removed ssooidc dependencies from build system.

Full Changelog: v2.0.0.11...v2.0.1.0