==============================================================================
Magnitude Simba PostgreSQL ODBC Data Connector Release Notes
==============================================================================

The release notes provide details of enhancements, features, known issues, and
workflow changes in Simba PostgreSQL ODBC Connector 1.4.54, as well as the 
version history.


1.4.54 =======================================================================

Released 2022-06-30

Enhancements & New Features

 * [PGODBC-1104][PGODBC-1520][PGODBC-1521] Updated PostgreSQL and data type
   support

   The connector now supports PostgreSQL versions 12, 13, and 14. The 
   following data types are supported: 
   - datemultirange
   - int4multirange
   - int8multirange
   - jsonpath
   - nummultirange
   - regcollation
   - tsmultirange
   - tstzmultirange
   - xid8
   
   The following polymorphic pseudo data types (cannot be in columns) are 
   supported: 
   - anycompatible
   - anycompatiblearray
   - anycompatiblenonarray
   - anycompatiblerange

   The out parameters in procedures are also now supported. For more
   information, see https://www.postgresql.org/docs/14/sql-call.html
   and https://www.postgresql.org/docs/current/sql-createprocedure.htm.
   
 * [PGODBC-1553] Application name support

   You can now set the name of the current application on the server. To do 
   this, set the ApplicationName property to application name. For more 
   information, see the Installation and Configuration Guide.

 * [PGODBC-1425] Connection timeout support

   You can now set the maximum wait time for connections. To do this, set the
   ConnectionTimeout property to the time in seconds. For more information, 
   see the Installation and Configuration Guide.

 * [PGODBC-1528][PGODBC-1544] Updated third-party libraries 

   The connector has been updated to use the following libraries:
   - Expat 2.4.6 (previously 2.2.9)
   - OpenSSL 1.1.1n (previously 1.1.1l)


Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Connector
1.4.54.

 * [PGODBC-1297] When multiple threads are creating and destroying the 
   environment handle, the connector becomes unresponsive or terminates 
   unexpectedly.

 * [PGODBC-1440][PGODBC-1540] In some cases, when querying with TIMESTAMPADD
   scalar function, the connector returns inaccurate results.

 * [PGODBC-1559] When terminating the connection from the server using
   Declare or Fetch mode, the connector terminates unexpectedly.


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

 * Timestamps do not accept negative values.

   The connector does not support the use of negative values in timestamps.
   

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

The following changes may disrupt established workflows for the connector. 


1.4.54 -----------------------------------------------------------------------

 * [PGODBC-1104] Updated PostgreSQL 12 behavior

   The following behaviors have been updated for PostgreSQL 12: 
   - All of the key column's names are used when selecting default constraint 
     names for foreign keys.
   - Improved rounding performance of real and double precision values.

   For more information, see https://www.postgresql.org/docs/12/release-12.html.

 * [PGODBC-1521] Updated Minimum TLS default value

   The default value for Minimum TLS is now 1.2. Previously, it was 1.0. For 
   more information, see the Installation and Configuration Guide.


1.4.28 -----------------------------------------------------------------------

 * [PGODBC-1038] Updated EnforceSingleStatement and UseMultipleStatements
   description 
 
   The description of the EnforceSingleStatement and UseMultipleStatements 
   options have been changed to reflect the actual behavior. For more 
   information, see the Installation and Configuration Guide.

 * [PGODBC-1038] Updated query processing modes behavior

   The connector's behavior for the query processing modes have been updated.
   For more information, see the Installation and Configuration Guide.
 
 * [PGODBC-1358] Removed support for CentOS 6 and RHEL 6

   Beginning with this release, support for CentOS 6 and RHEL 6 have been 
   removed. For a list of supported Linux versions, see the Installation and
   Configuration Guide.


1.4.18 -----------------------------------------------------------------------

 * Removing support for earlier versions of operating systems

   Beginning with this release, the driver no longer supports the following 
   operating systems:
   - Windows 7 SP1
   - Windows Server 2008 R2 SP1
   - SUSE Linux Enterprise Server (SLES) 11
   - Debian 7
   - Ubuntu 14.04

   For a list of supported operating systems, see the Installation and 
   Configuration Guide.
   
 * [PGODBC-1277] New default value for Bytea As LongVarBinary
 
   The default value of the Bytea As LongVarBinary option 
   (ByteaAsLongVarBinary connection property) is now Enabled (1). Previously,
   the default value was Disabled (0). For more information, see the
   Installation and Configuration Guide.   


1.4.14 -----------------------------------------------------------------------

 * [PGODBC-1186] Removed support for the Visual C++ Redistributable for 
   Visual Studio 2013

   Beginning with this release, the driver now requires the 2015 version of 
   this dependency instead of the 2013 version.

   To download the installation packages for the Visual C++ Redistributable 
   for Visual Studio 2015, go to 
   https://www.microsoft.com/en-ca/download/details.aspx?id=48145 


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

1.4.45 -----------------------------------------------------------------------

Released 2021-12-13

Enhancements & New Features

 * [PGODBC-1472] Updated Ubuntu support

   The connector now supports Ubuntu 20.04. For more information on supported
   versions, see the Installation and Configuration Guide.

 * [PGODBC-1483] Updated OpenSSL library

   The connector has been updated to use version 1.1.1l of the OpenSSL 
   library. Previously, the connector used 1.1.1k. 

 * [PGODBC-1466] Client SSL certificate and key file support

   You can now specify the client SSL certificate and key file. For more
   information, see the Installation and Configuration Guide.


Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Connector
1.4.45.

 * [PGODBC-1478] When using UPDATE, INSERT, or DELETE statements, the
   connector returns an "a statement is already in progress" error message.

 * [PGODBC-1480] When rounding floating point numbers, the connector returns
   an incorrect value.  


1.4.41 -----------------------------------------------------------------------

Released 2021-09-30

Enhancements & New Features

 * [PGODBC-1375] Updated OpenSSL library
   
   The connector has been updated to use version 1.1.1k of the OpenSSL 
   library. Previously, the connector used version 1.1.1i.   
   

Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Connector
1.4.41.

 * [PGODBC-1324] When calling SQLMoreResults without retrieving the current 
   result set in a statement containing multiple queries, the connector does 
   not return SQL_SUCCESS.

 * [PGODBC-1423] On Linux and macOS, when a query is executed and the results 
   are retrieved from different threads, the connector becomes unresponsive.

 * [PGODBC-1449] The precision and scale of SQLProcedureColumns do not match
   its definition.
   
   This issue has been resolved. Now, SQLProcedureColumns is set to the 
   following:

   - DECIMAL_DIGITS for INTEGER type: 0

 * [PGODBC-1453] SQL_MAX_CATALOG_NAME_LEN, SQL_MAX_SCHEMA_NAME_LEN, and 
   SQL_MAX_COLUMN_NAME_LEN in SQLGetInfo are set to a maximum of 64 
   characters.
   
   This issue has been resolved. These properties are now set to the database 
   maximum of 63 characters.   

 * [PGODBC-1453] When a filter column supports search patterns, the connector 
   does not properly check the filter column lengths in catalog functions. 


1.4.32 -----------------------------------------------------------------------

Released 2021-06-14

Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Connector
1.4.32.

 * [PGODBC-1396] When calling SQLEndTran() to complete a transaction and the 
   server has terminated the connection, the connector incorrectly returns 
   SQL_SUCCESS.
   
 * [PGODBC-1398] When executing DDL and DML statements, the connector becomes 
   unresponsive without closing the cursor or freeing the statement handle.

 * [PGODBC-1401] When querying SQLSpecialColumns(), the connector returns the
   incorrect data type for the SCOPE column.

 * [PGODBC-1403] When a query in a statement handle fails during SQLPrepare(),
   the connector incorrectly returns an "Error occurred while trying to run 
   statement: a statement is already in progress" error message in another 
   statement handle.
   

1.4.28 -----------------------------------------------------------------------

Released 2021-04-30

Enhancements & New Features

 * [PGODBC-1339] Updated OpenSSL library
   
   The connector has been updated to use version 1.1.1i of the OpenSSL 
   library. Previously, the connector used 1.1.1g. 

 * [PGODBC-1358] Updated dynamically linked libraries for Linux

   The connector has been updated to use the following libraries:
   - libstdc++ version 6.0.21 or later (previously 6.0.20 or later)
   - GCC 5.5 or later (previously 4.9 or later)


Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Connector
1.4.28.

 * [PGODBC-1038] When executing multiple concurrent queries in the same 
   connection, the connector terminates unexpectedly.

 * [PGODBC-1206] When querying SQLSpecialColumns(), the connector returns
   incorrect results. 

 * [PGODBC-1260] On Linux, when calling ODBC API calls such as 
   SQLGetCursorName(), the connector returns a bad_alloc exception. 
   
   This issue has been resolved. This is caused by an overflow when computing
   the buffer size. The connector now returns a warning if the buffer size is
   not appropriate.

 * [PGODBC-1281] When calling SQL_DESC_DISPLAY_SIZE, SQL_COLUMN_LENGTH, and 
   SQL_DESC_OCTET_LENGTH, the connector returns 0 for binary data types. 

   This issue has been resolved. SQL_DESC_DISPLAY_SIZE, SQL_COLUMN_LENGTH, and
   SQL_DESC_OCTET_LENGTH now returns with SQL_NO_TOTAL for binary data types.
   Note that SQL_DESC_LENGTH returns with 0.

 * [PGODBC-1297] In some cases, when multiple threads are creating and
   destroying the connection handle, the connector hangs or terminates
   unexpectedly.

 * [PGODBC-1314] When calling SQLExtendedFetch() and different sizes of 
   SQL_ROWSET_SIZE is used, the connector returns incorrect data. 

 * [PGODBC-1328] The ODBCMessages.xml file contains duplicate error keys.

 * [PGODBC-1330] When using Power Pivot to query the server, the connector
   returns a "Requested property not supported" error. 

 * [PGODBC-1370] When querying SQLForeignKeys(NULL, 0, PKSchemaName, SQL_NTS,
   PKTableName, SQL_NTS, NULL, 0, FKSchemaName, SQL_NTS, NULL, 0) or 
   SQLForeignKeys(NULL, 0, PKSchemaName, SQL_NTS, NULL, 0, NULL, 0, 
   FKSchemaName, SQL_NTS, FKTableName, SQL_NTS), the connector returns an 
   error.

 * [PGODBC-1370] When querying SQLForeignKeys(), the connector returns the
   result set in an incorrect order. 
   

1.4.21 -----------------------------------------------------------------------

Released 2020-12-11

Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Driver
1.4.21.

 * [PGODBC-1297] In some cases, when multiple threads are creating and
   destroying the environment handle, the driver hangs or terminates
   unexpectedly.

 * [PGODBC-1304] When SQL_ATTR_AUTOCOMMIT is set to SQL_AUTOCOMMIT_OFF after
   the connection, the driver incorrectly returns a "current transaction is 
   aborted, commands ignored until end of transaction block" error.
   
 * [PGODBC-1319] When SQL_ATTR_ACCESS_MODE is set to SQL_MODE_READ_ONLY before
   the connection, the driver log incorrectly shows "Failed to execute query
   before connecting to the server: SET readonly = true" where the query is
   not executed.

   This issue has been resolved. The log now shows "Query is not executed
   because connection has not been established: SET readonly = true" in this 
   case, and "Query executed: SET readonly = true" when the query is executed.   


1.4.19 -----------------------------------------------------------------------

Released 2020-10-28

Resolved Issues
The following issue has been resolved in Simba PostgreSQL ODBC Driver
1.4.19.

 * [PGODBC-1308] When SQLPutData is called multiple times for the same 
   parameter, the data gets truncated.  
   

1.4.18 -----------------------------------------------------------------------

Released 2020-10-13

Enhancements & New Features

 * [PGODBC-1291] Updated logging configurations
 
   You can now configure logging for the current connection by setting the
   logging configuration properties in the DSN or in a connection string. For
   more information, see the Installation and Configuration Guide. 
   
 * [PGODBC-1299] Updated third-party libraries

   The driver has been updated to use the following libraries:
   - OpenSSL 1.1.1g (previously 1.1.1d)
   - ICU 58.3 (previously 58.2)
   
 * Additional operating system support

   The driver now supports the following additional operating systems:
   - Windows Server 2019
   - Red Hat Enterprise Linux (RHEL) 8
   - CentOS 8
   - SUSE Linux Enterprise Server (SLES) 15
   - Ubuntu 18.04   

 * [PGODBC-1233] Support for GEOMETRY data type

   The driver now supports data of type GEOMETRY. For more information, see 
   the Installation and Configuration Guide. 
   
 * [PGODBC-1250] Updated TIME (WITH TIME ZONE) data type

   Data of type TIME (WITH TIME ZONE) is now mapped to to SQL_TYPE_TIME for 
   ODBC 3.0 or SQL_TIME for ODBC 2.0. For more information, see the 
   Installation and Configuration Guide.     
   
 * [PGODBC-1156] Support for read-only mode
 
   You can now configure the driver to enable read-only mode. To do this,
   select the Enable Read Only check box (set the ReadOnly connection property
   to 1). For more information, see the Installation and Configuration
   Guide.       
   
   Additionally, you can change the read-only settings by setting 
   SQL_ATTR_ACCESS_MODE to SQL_MODE_READ_WRITE or SQL_MODE_READ_ONLY.    


Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Driver
1.4.18.

 * [PGODBC-1233] When using SQLParamData and SQLPutData to select and insert, 
   the driver returns an error.
 
 * [PGODBC-1233] If autocommit is disabled and the query fails after 
   execution, the driver returns a "current transaction is aborted, commands
   ignored until end of transaction block" error.
   
 * [PGODBC-1199] When using SQLSetDescRec() with SQL_TYPE_DATE and 
   SQL_TYPE_TIMESTAMP, the driver returns an error. 

 * [PGODBC-1275] When the connection object's destructor calls 
   SQLDisconnect(), the driver terminates unexpectedly.

   This issue has been resolved. When using the driver with an object that has
   static storage duration (such as a global), you may run into destruction 
   order issues during application termination. The driver now returns 
   SQL_ERROR when SQLDisconnect() is called in this case.

 * [PGODBC-1271] When using a column filter, SQLProcedureColumns() returns 
   incorrect columns.

 * [PGODBC-1223] SQL_DATA_TYPE and SQL_DATETIME_SUB in SQLColumns return 
   incorrect values for date and time data types.

   This issue has been resolved. The driver now returns SQL_DATETIME for all
   date and time types in SQL_DATA_TYPE for SQLColumns. Additionally, the
   driver now returns SQL_CODE_DATE, SQL_CODE_TIME, or SQL_CODE_TIMESTAMP,
   depending on the type of date or time column, or null otherwise, in 
   SQL_DATETIME_SUB for SQLColumns.

 * [PGODBC-1201] When using SQLPrimaryKeys with a schema name, the driver 
   returns incorrect results.
   

1.4.14 -----------------------------------------------------------------------

Released 2020-05-28

Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Driver
1.4.14.

 * [PGODBC-1196] When the date, time, or timestamp escape sequences are
   applied, the SQLBindParameter function returns an error.
   
 * [PGODBC-1209] When the ColumnName filter is applied, the 
   SQLProcedureColumns function returns the incorrect column.

 * [PGODBC-1237] In some cases, the driver returns an error when arrays of  
   parameters are bound.
   

1.4.11 -----------------------------------------------------------------------

Released 2020-02-28

Enhancements & New Features
   
 * [PGODBC-1168] Support for notarization

   The driver now supports notarization on macOS systems, enabling it to be
   run on macOS versions 10.14.6 and 10.15.

 * [PGODBC-1183] Updated Expat library
 
   The driver has been updated to use Expat 2.2.9. Previously, the driver 
   used Expat 2.2.0.   
   

1.4.10 -----------------------------------------------------------------------

Released 2019-11-29

Enhancements & New Features
   
 * [PGODBC-1147] Improved driver security
 
   The driver's implementation of SQLTables and SQLColumns has been updated to 
   provide stronger protection against SQL injections.
   
 * [PGODBC-1154] Updated driver version information in Linux binary

   You can now check the Linux driver's version from the driver binary file. 
   To do this, open the .so file in a text editor, and search for the text 
   "$driver_version_sb$:". The driver's version number is listed after this 
   text. 

 * [PGODBC-1146] Updated OpenSSL library
   
   The driver has been updated to use version 1.1.1d of the OpenSSL library.
   
   
Resolved Issues
The following issues have been resolved in Simba PostgreSQL ODBC Driver
1.4.10.

 * [PGODBC-1146] The driver terminates unexpectedly when both of the following 
   occur:
   - Multiple database drivers are loaded to the same process.
   - One driver unloads and calls ICU's u_cleanup() function, while another 
     driver continues to run and tries to access the memory space that has 
     been cleaned up.
   
 * [PGODBC-1144] In some cases, when SQLForeignKeys is called, the returned
   data is not correctly filtered.


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