============================================================================== 
Simba MongoDB ODBC Driver with SQL Connector Release Notes 
============================================================================== 

The release notes provide details of enhancements, features, known issues, 
and workflow changes in Simba MongoDB ODBC Driver 2.3.13, as well as the 
version history. 

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.3.13 =======================================================================

Released 2021-01-19

Enhancements & New Features 

 * [MDBO-725] 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.
   
 * [MDBO-726] Updated OpenSSL version

   The driver now uses OpenSSL version 1.1.1g. Previously, the driver used 
   OpenSSL version 1.1.1d.    


Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.13.

 * [MDBO-719] In some cases, when querying MAX(<varchar column>) in 
   SQL_WVARCHAR or SQL_VARCHAR with column lengths larger than 8000, the 
   string is truncated.
  

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

 * [MDBO-691] The driver does not support executing SQLStatistics on views.
 
   This is a limitation of the MongoDB server.

 * [MDBO-501] When connecting through a client application in which 
   auto-commit mode is disabled, the connection fails and the driver returns 
   an error.

   Connections where auto-commit is disabled in the client application are 
   not supported by default.
   
   As a workaround, set the IgnoreTransactions property to 1. For more 
   information, see the Installation and Configuration Guide.

 * When mixed type filtering is disabled, the driver fails to filter boolean
   data when the data includes Boolean and other types.
   
   To successfully filter this kind of data, you must enable mixed type 
   filtering by selecting the "Enable Mixed Type Filter" check box in the DSN 
   Setup dialog box or by setting the EnableMixedTypeFilter connection 
   property to 1.

 * On AIX, you cannot create new schema definitions using the Schema Editor.
 
   The Schema Editor application is not supported on AIX, so you cannot create 
   and save new schema definitions. When connecting to a database, the AIX 
   driver must use a temporary schema definition that is generated during 
   connection time or a persistent schema definition that was created on 
   another platform.

 * Driver does not use the maximum string column length specified through the 
   Schema Editor.

   As a workaround, configure the maximum string column length by using the 
   String Column Size configuration option (the DefaultStringColumnLength key) 
   in the driver instead.

 * Driver does not prevent you from specifying MongoDB column and table names 
   that contain invalid syntax.

 * UPDATE statements are not supported for columnar views of arrays.

 * Aggregation passdown requires the field being passed down to contain data 
   that is all of the same type. 
   
 
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 ---------------------------------------------------------------------

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.

 * [MDBO-641][MDBO-647][MDBO-649] Removing support for multiple operating 
   systems

   As early as February 2021, the driver will no longer support the following
   operating systems:
   - Windows 7
   - Windows Server 2008 and 2008 R2
   - CentOS 6
   - Red Hat Enterprise Linux (RHEL) 6
   - macOS 10.9, 10.10, 10.11, and 10.12

   For a list of supported operating systems, see the Installation and 
   Configuration Guide.

 * [MDBO-645] Removing support for the Visual C++ Redistributable for 
   Visual Studio 2013

   As early as February 2021, the driver will require 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.


2.3.13 -----------------------------------------------------------------------

 * [MDBO-734] Removed support for MongoDB 3.4
  
  Beginning with this release, the driver no longer supports MongoDB 3.4.

 * [MDBO-727] PWD and ENCRYPTED_PWD values
 
   On Windows, when both PWD and ENCRYPTED_PWD are provided in the connection
   string or the registry, the PWD value takes precedence. If PWD is not
   provided, the value from ENCRYPTED_PWD is read. Previously, the password
   was always read from ENCRYPTED_PWD if it was provided.

  
2.3.10 -----------------------------------------------------------------------

 * Updated JSON records

   Previously, if an existing record had key-value pairs that were not 
   specified in an incoming update, these values would continue to exist as 
   part of the JSON record. With this release, the driver default behavior now 
   deletes any key-value pairs that are not specified in a new JSON record. If 
   you want to preserve key-value pairs under these circumstances, you can 
   configure this behavior using the ReplaceDocumentAsJsonOnUpdate property. 
   For more information, see the Installation and Configuration Guide.
  
  
2.3.5 ------------------------------------------------------------------------

 * Removed support for MongoDB 3.0 and 3.2
 
   Beginning with this release, the driver no longer supports MongoDB server 
   versions 3.0 and 3.2. For a list of supported MongoDB versions, see the 
   Installation and Configuration Guide.
   
 
Version History ==============================================================

2.3.12 -----------------------------------------------------------------------

Released 2020-08-28

Enhancements & New Features 

 * [MDBO-669] Persist schema maps 

   You can now configure the driver to persist schema maps to a file or 
   publish to MongoDB without using the Schema Editor. To do this, set the
   PersistMetadata property to 1 or 2. For more information, see the
   Installation and Configuration Guide.
   
 * [MDBO-714] Optimize connection time when generating schema maps

   You can now configure the driver to optimize the connection time when 
   connecting to a MongoDB instance with UseJsonColumn enabled and generating
   a schema map. To do this, set the SampleCollections property to 0. For more
   information, see the Installation and Configuration Guide.  

 * [MDBO-692] Bypass schema validation

   You can now configure the driver to bypass schema validation. To do this,
   select the Enable BypassDocumentValidation check box (set the
   BypassDocumentValidation connection property to 1). For more information,
   see the Installation and Configuration Guide.    

 * [MDBO-708] Updated third-party library
 
   The driver now uses Mongo-c-driver version 1.17.0. Previously, the driver
   used Mongo-c-driver version 1.15.3.
   

2.3.11 -----------------------------------------------------------------------

Released 2020-07-10

Enhancements & New Features 

 * [MDBO-625] Updated MongoDB support
 
   The driver now supports MongoDB 4.2. For a complete list of supported 
   MongoDB versions, see the Installation and Configuration Guide.

 * [MDBO-701][MDBO-704] Support for additional operating systems

   The driver now supports the following operating systems:
   - Windows Server 2019
   - macOS 10.15 "Catalina"

   For a complete list of supported operating systems, see the Installation 
   and Configuration Guide.

 * [MDBO-643] Support for notarization

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

 * [MDBO-644] Code-signed driver files

   The Windows and macOS versions of the driver are now code-signed.

 * [MDBO-670][MDBO-688]]MDBO-699] Updated third-party libraries

   The driver now uses the following versions of these third-party libraries:
   - expat 2.2.9 (previously 2.2.0)
   - Mongo-c-driver 1.15.3 (previously 1.13.0)
   - OpenSSL 1.1.1d (previously 1.1.0j)


Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.11.

 * [MDBO-700] 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.  
   

2.3.10 -----------------------------------------------------------------------

Released 2019-11-08

Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.10.

 * [MDBO-597] When updating JSON records, if the existing record has key-
   value pairs that are not specified of the update, these values continue to 
   exist as part of the record.

   This issue has been resolved. By default, the driver now deletes any key-
   value pairs that are not specified in the incoming JSON record. If you want 
   to preserve key-value pairs under these circumstances, you can configure 
   this behavior using the ReplaceDocumentAsJsonOnUpdate property. For more 
   information, see the Installation and Configuration Guide.   


2.3.9 ------------------------------------------------------------------------

Released 2019-10-04

Enhancements & New Features 

 * [MDBO-554] Updated support for Debian installation

   The Linux driver now includes installation packages specific to Debian 
   systems. For more information, see the Installation and Configuration 
   Guide.
   

Resolved Issues
The following issue was resolved in Simba MongoDB ODBC Driver 2.3.9.

 * [MDBO-597] If the driver attempts to insert invalid JSON into a 
   DocumentAsJSON column, the driver terminates unexpectedly and no error 
   information is logged.

   This issue has been resolved. The drive now logs an error message in this 
   case.
   

2.3.8 ------------------------------------------------------------------------

Released 2019-08-16

Enhancements & New Features 

 * [MDBO-575][MDBO-589] Internal driver improvements

   The driver has been updated with minor internal improvements.
   
 * [MDBO-586] 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.
   
 * [MDBO-590] Updated third-party library linking for Linux 

   In the Linux driver, minor internal improvements have been implemented for 
   the linking between the third-party libraries and the main driver library.


2.3.7 ------------------------------------------------------------------------

Released 2019-04-12

Enhancements & New Features 

 * [MDBO-542] Standardized log file names

   When logging is enabled, the driver now produces the following log files:

   - A simbamongodbodbcdriver.log file that logs driver activity that is not
     specific to a connection.

   - A simbamongodbodbcdriver_connection_[Number].log for each connection made
     to the database, where [Number] is a number that identifies each log file.
     This file logs driver activity that is specific to the connection.

 * Updated OpenSSL
 
    The driver now uses OpenSSL 1.1.0j. Previously the driver used 1.1.0h.


Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.7.

 * [MDBO-360] Driver versions 2.1.0 and later fail to connect using Kerberos 
   authentication.


2.3.6 ------------------------------------------------------------------------

Released 2019-02-08

Enhancements & New Features 

 * [MDBO-529] Dynamically linked third-party libraries 

   The Linux driver has been updated to use dynamically linked libraries for 
   ICU and OpenSSL. The installation directory now includes a "ThirdParty" 
   directory which contains all required runtime libraries for the driver. 
   
 * [MDBO-531] Updated ICU version

   The driver now uses ICU version 58.2. Previously, the driver used ICU 
   version 53.1.


Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.6.

 * [MDBO-528] When the driver is installed on a machine that uses Turkish 
   locale settings, if you try to connect using a connection string where one 
   or more of the property names contains a lower-case "i" character, the 
   driver fails to parse the string and does not connect to the server.


2.3.5 ------------------------------------------------------------------------

Released 2018-12-14

Enhancements & New Features 

 * [MDBO-513] Updated MongoDB support
 
   The driver now supports MongoDB 4.0.
   
 * [MDBO-450] Updated third-party library
 
   The driver now uses Mongo-c-driver version 1.13.0.


2.3.4 ------------------------------------------------------------------------

Released 2018-10-12

Enhancements & New Features 

 * [MDBO-386][MDBO-509] Support for omitting null values from INSERT
   operations
 
   You can now specify whether explicitly provided null values are written 
   to columns during an INSERT operation. To set this, configure the new 
   Omit Explicit NULL Columns On Insert (or OmitColumns) connection property. 
   For more information, see the Installation and Configuration Guide.

 * [MDBO-501] Support for clients without auto-commit
 
   The driver can now connect to client applications in which auto-commit 
   mode is disabled. To connect, set the new IgnoreTransactions connection 
   property to 1. For more information, see the Installation and Configuration 
   Guide.


Resolved Issues
The following issue has been resolved in Simba MongoDB ODBC Driver 2.3.4.

 * [MDBO-385] When executing an INSERT statement that specifies the bottom-
   level index of an array, the driver returns an error.

   This issue has been resolved. The driver can now successfully execute 
   INSERT statements that contain the bottom-level index value. 


2.3.3 ------------------------------------------------------------------------

Released 2018-05-31

Enhancements & New Features 

 * [MDBO-407] String values supported for _id columns of type ObjectId
 
   You can now also insert String values in the _id column when the column is 
   of type ObjectId. Before, the driver only allowed ObjectId values to be 
   inserted into the column in this case. You can enable or disable this 
   support for String values by configuring the new 
   AlternativeSourceTypeAsString connection property. For more information, 
   see the Installation and Configuration Guide.
   
 * Array column in base table
 
   In specific cases, the driver now adds a schema column that enables you to 
   view any array content present in the root-level document as JSON strings. 
   This column is available only when you upgrade from an earlier 2.x version
   of the driver to version 2.2.8 or later, and if you are using a persistent 
   schema that is stored in a local file or the database.
   
   The column has a source type of ARRAY and is read-only. By default, it is
   hidden. To use this column, you must unhide it.
   
 * [MDBO-467] Support for additional comparison operators
 
   The driver now supports a wider selection of MongoDB comparison query
   operators under the following conditions:
   - Mixed-type filtering is disabled.
   - The _id column contains values of type ObjectId.
   
   Earlier versions of the driver only supported equality comparisons under
   these conditions.

 * [MDBO-477] Upgraded OpenSSL library

   The driver now uses OpenSSL 1.1.0h. Previously, the driver used OpenSSL 
   1.1.0g.


Resolved Issues
The following issues have been resolved in Simba MongoDB ODBC Driver 2.3.3.

 * [MDBO-385] When executing an INSERT statement that specifies the bottom-
   level index of an array, the driver returns an error.
   
   This issue has been resolved. The driver can now successfully execute 
   INSERT statements that contain the bottom-level index value. 
   
   The bottom-level index value is no longer required as of driver version 
   2.0.0, and it is recommended that you omit it from your INSERT statements. 
   
 * [MDBO-467] When mixed type filtering is disabled, filtering does not work 
   correctly on the ObjectId (_id column) field. 
   
   This issue has been resolved. In previous versions, the driver did not
   return a result set when mixed type filtering was disabled and the filter
   condition used an ObjectID value. The driver now returns the expected
   result set if the filter condition is an equality comparison on ObjectID.

 * [MDBO-475] When connection pooling is enabled and the driver attempts to 
   reuse a connection from the pool, the following error message is returned: 
   "Table or view not found".
   
   This issue has been resolved. Connections can now be reused when connection
   pooling is enabled.

 * [MDBO-328] The driver does not use the column lengths specified in the
   schema definition.
   
   This issue has been resolved. When column lengths are specified in the
   schema definition, the driver uses those values instead of the default
   value of the String Column Size option (the DefaultStringColumnLength
   property).
   
 * [MDBO-463] The driver requires user credentials even when the Mechanism 
   option is set to No Authentication (AuthMechanism=None).
   
   This issue has been resolved. When the Mechanism option is set to No
   Authentication (AuthMechanism=None), the driver now allows you to connect
   to the database without specifying a user name and password.
   
 * [MDBO-464] The driver appends numbers to virtual table names even when
   there is no naming conflict between table names.
   
   This issue has been resolved. The driver now only appends numbers to
   virtual table names if the name is identical to another table name in
   the database.


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