ChangeLog (Release Notes)

17.4.1.1 - 2019/07/17

Known Issues:

Fixed:
    - Fix for intermittent hang when Multiple Active Results Sets (MARS) is enabled
    - Fix connection resiliency hang when async notification is enabled
    - Fix crash when retrieving diagnostic records for multithreaded connection attempts
    - Fix 'Encryption not supported' upon reconnect after calling SQLGetInfo() with SQL_USER_NAME and SQL_DATA_SOURCE_READ_ONLY
    - Fix COM initialization error during Azure Active Directory Interactive Authentication
    - Fix SQLGetData() for multi-byte UTF8 data
    - Fix retrieving length of sql_variant columns using SQLGetData()
    - Fix importing of sql_variant columns containing more than 7992 bytes using bcp
    - Fix sending of correct encoding to server for narrow character data

Added:
    - Support Always Encrypted with Secure Enclaves
    - Support dynamic loading of OpenSSL
    - Support insertion of UTF8 data for SQL Server 2019
    - Support configurable TCP Keep Alive settings
    - Support Debian 10
    - Support RedHat 8
    - Support Ubuntu 19.04
    - Support connecting to named instances on Linux and Mac

17.3.1.1 - 2019/02/15

Known Issues:

Fixed:
    - Fix for detection of the current environment locale
    - Fix AE streaming encryption for short data values
    - Fix use-after-free for encrypted DAE parameters
    - Fix race conditions with multiple threads and sending data.
    - Fix SQLNumResultCols when SQLExecute returns SQL_NO_DATA_FOUND
    - Fix infinite loop in comment parsing

Added:
    - Support Azure Active Directory Managed Service Identity (system and user-assigned) authentication mode
    - Support SuSE 15
    - Support Ubuntu 18.10
    - Support macOS 10.14
    - Minor optimizations

17.3.0.1 - 2018/09/07

Known Issues:

Fixed:
    - Fix for tcp send notification event handle memory leak
    - Fix redefinition issue of enum _SQL_FILESTREAM_DESIRED_ACCESS in msodbcsql.h header file
    - Fix missing ACCESS_TOKEN and AUTHENTICATION related definition in msodbcsql.h header file for Linux and MAC

Added:
    - Support AE input parameter streaming
    - Support XA DTC

17.2.0.1 - 2018/06/20

Known Issues:

Fixed:
    - Fix Error Message about Azure Active Directory Authentication
    - Fix encoding detection when locale environment variables are set differently
    - Fix crash upon disconnect with connection recovery in progress
    - Fix detection of connection liveness
    - Fix incorrect detection of closed sockets
    - Fix the infinite wait when attempting to release a statement handle during failed recovery.

Added:
    - Support Ubuntu 18.04
    - Change the dependency to dynamic libcurl loading
            The libcurl for OpenSSL or NSS is required when using the Azure Key Vault or Azure Active Directory authentication.
            Manually install libcurl if it is not with the system by default.
    - Support Idle Connection Resiliency with ConnectRetryCount and ConnectRetryInterval keywords in connection string:
            Use the SQL_COPT_SS_CONNECT_RETRY_COUNT (read only) connection attribute to retrieve the number of connection retry attempts.
            Use the SQL_COPT_SS_CONNECT_RETRY_INTERVAL (read only) connection attribute to retrieve the length of the connection retry interval.
            Connection will be retried at least once by default.
    - Support UTF8 server encoding
    - Support Data Classification feature on Azure SQL Database and SQL Server
    - Support SQLBrowseConnect

17.1.0.1 - 2018/04/06

Known Issues:
    None

Fixed:
    - Fixed 1-second delay when calling SQLFreeHandle with MARS enabled and connection attribute "Encrypt=yes"
    - Fixed truncated ADAL error messages
    - Fixed an issue where inserting double into decimal field with Always Encrypted on would return data truncation error
    - Fixed a warning on MacOS installer
    
Added:
    - Support for SQL_COPT_SS_CEKCACHETTL and SQL_COPT_SS_TRUSTEDCMKPATHS connection attributes
            SQL_COPT_SS_CEKCACHETTL Allows controlling the time that the local cache of Column Encryption Keys exists, as well as flushing it
            SQL_COPT_SS_TRUSTEDCMKPATHS Allows the application to restrict AE operations to only use the specified list of Column Master Keys

    - Support for loading the .rll from default location
    
17.0.1.0 - 2017/01/16
Known Issues:
    None

Fixed:
    Fixed SQLGetData for encrypted varbinary(max) returned data only on first call
    Conversions to persian collation in column scenarios appears to result in data corruption.
    Data corruption when streaming UTF-16 or UTF-8 using SQLPutData with split octets or surrogate pairs
    With async notifications enabled, driver unable to recover from failure (Windows)
    High cpu consumption when ODBC async execution mode is enabled (Windows)
    Occasional crash during ODBC shutdown when async execution mode is enabled (Windows)
	
Added:
    Performance improvement for when ODBC async execution mode is enabled

17.0.0.5 - 2017/12/20

Known Issues:
    - macOS: Homebrew now filters out user set environment variables. You can now install the ODBC driver on macOS using the
      following command line:
        HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install --no-sandbox msodbcsql

Fixed:
    - Parameters bound with any convertable C type with the same precision & scale as a numeric/decimal column are now
      correctly converted to the appropriate numeric type with the specified precision and scale, and execute successfully
      instead of erroring our with Operand Type Clash.      
    - Screen reader usability improvements in DSN Wizard and Login Dialog
    - Encrypted numeric/decimal values now correctly normalize negative zeros
    - Hebrew data (varchar) is no longer chopped when returned as wide chars on Linux platforms
    - Fixed Invalid Descriptor Index error when using unencrypted XML column with AE in some scenarios
    - Fixed function sequence error when using DAE, SqlPutData, and AE
    - ODBC Driver on Windows now links directly to secur32.dll, instead of indirectly through security.dll

Added:
    - Support for macOS High Sierra
    - Support for Ubuntu 17.10
    - Always Encrypted support for BCP API
    - Greater than 10x performance improvement when driver converts to/from UTF-8/16.
    - New connection string attribute UseFMTOnly causes driver to use legacy metadata in special cases requiring temp tables.

--------------------------------------------------------------------------------

17.0.0.1 - 2017/10/06

Known Issues:
    None

Fixed:
    msodbcsql.h - Missing types and constants were added to Linux/Mac header
    CP1252 encoded files over 32MB were failing to import correctly with bcp on Linux. This has been fixed.
    Resolved an issue in Linux where system time changes could result in incorrect timeouts in the driver
    macOS - SQLGetInfo with SQL_DRIVER_NAME retruns .so value instead of .dylib

Added:
    Support for Debian 9
    Improved performance of driver character conversion from utf16
    Changed narrow functions of ODBC API to be sensitive to platform encoding, and not assume UTF-8. Wide encoding is expected to be UTF-16LE
    Removed Microsoft online service sign-in assistant check in ODBC driver for Windows

--------------------------------------------------------------------------------

13.1.9.0 - 2017/06/14

Known Issues:
 None

Fixed:
#10274176: DSN Wizard Help does not load CHM
#10034310: Fix buffer overrun upon UTF-8 character conversion - Now fully supports UTF-8

Added:
Support for Ubuntu 14.04.
Configurable driver location on Linux.  Simply copy the whole driver install directory to the location of your choice after normal installation.
  You must manually update the ODBCINST.INI file with the new location.


--------------------------------------------------------------------------------

13.1.8.0 - 2017/05/18

Known Issues:
- Due to the buffer overrun fix (#10034310, see below), UTF-8 non-ASCII
  characters may cause column truncation after conversion to UTF-16. In
  particular, use of SQLBulkOperations with column bindings may cause
  this to occur. A future release will fully support UTF-8. See
  https://docs.microsoft.com/en-us/sql/connect/odbc/linux/known-issues-in-this-version-of-the-driver
  for more information.

Fixed:
#10059224: Floating-point numbers formatted incorrectly in French locale
#10144395: SQLBindParameter input/output parameters may truncate prematurely
#10060645: Implicit cursor conversion due to comments
#10034310: Fix buffer overrun upon UTF-8 character conversion
#1080065: Fixed symbolic link creation for the RPM package

Added:
Support for SuSE 11 SP4 and Ubuntu 17.04.

--------------------------------------------------------------------------------

13.1.7.0 - 2017/04/11
Preview Release with support for OS X 10.11 (El Capitan), macOS 10.12 (Sierra), RedHat 6, RedHat 7, Suse 12, Debian 8
and Ubuntu 15.10, 16.04, and 16.10

Known Issues:
No new known issues. https://docs.microsoft.com/en-us/sql/connect/odbc/mac/known-issues-in-this-version-of-the-driver

Fixed:


Added:
#1081223: Support for Azure Active Directory authentication
#9861137: Add ODBC Docs section for TVP on Linux and Mac. https://docs.microsoft.com/en-us/sql/relational-databases/
native-client-odbc-table-valued-parameters/binding-and-data-transfer-of-table-valued-parameters-and-column-values
_____________________________________________________________________________________________________________
