Support and certification

Visit the following web pages for the latest support and certification information.

Changes Since the 6.1.0 Release

  • Driver Enhancements
    • The driver has been enhanced to comply with FIPS standards for data encryption. As part of this enhancement, the driver was tested with FIPS 140-3 enabled using a Red Hat OpenJDK 21 on a Red Hat Universal Base Image 9 instance. See FIPS (Federal Information Processing Standard) for details.
    • The driver has been enhanced to support the TLSv1.3 cryptographic protocol. See CryptoProtocolVersion for details.
    • The driver has been enhanced to allow you to configure whether the driver inserts String values that exceed the column length defined in the relational schema. You can configure this behavior using the new StringTruncationMethodForWrites property. See StringTruncationMethodForWrites for details.
    • The driver has been enhanced to allow you to increase the default length of VARCHAR columns to increase the size of data values you can insert with the driver. You can configure the new MinVarcharSize property to specify minimum default length of fields mapped to VARCHAR. See MinVarcharSize for details.
    • The driver has been enhanced to allow you to specify the format in which the driver renders the MongoDB composite timestamp. This allows you to specify the format of the MongoDB composite timestamp that is most appropriate for your use case. You can configure this driver behavior using the new TimestampFormat property. See TimestampFormat for details.
    • The driver has been enhanced to support replacing the internal mapping files at connection. When the CreateMap property is set to ForceNew, the driver replaces the schema map files specified by the SchemaMap property with newly generated files at the same location. In addition, if you are upgrading from driver version 6.0 to 6.1, the driver retains a copy of the 6.0 version of the schema map files as a backup when generating the 6.1 version of the files. See CreateMap for details.
    • The driver has been enhanced to support data compression for all messages passed between the client and server. Data compression can significantly reduce network traffic, which, in turn, can lower data transfer costs for cloud services. See NetworkMessageCompressors for details.
    • The driver has been enhanced to support MongoDB views created in the database. MongoDB views are discovered during the sampling process and mapped using the same schema format used for your collections. See MongoDB views for details.
    • The driver has been enhanced to support generating legacy virtual keys for newly-discovered nested objects. For driver versions earlier than 6.1, the driver used legacy virtual keys (unique identifiers) as a foreign key to associate the child table back to the parent. When the new LegacyVirtualKeys property is set to true, the driver generates legacy virtual keys in the object_name_GENERATED_ID column in new and migrated schemas. This functionality allows you to maintain consistent column naming for driver generated virtual key columns when migrating normalized schema maps from the 6.0 format. See LegacyVirtualKeys for details.
    • The driver has been enhanced to support connections to Microsoft Azure Cosmos DB for MongoDB. See Microsoft Azure Cosmos DB for MongoDB for details.
    • The driver has been enhanced to support the JavaScript and Regex data types. See Data types for details.
    • The new JSONColumns property allows you to determine whether the driver exposes complex columns as JSON values in addition to their normalized mapping. See JSONColumns for details.
    • The new FlattenArrayBase property allows you to specifies the starting ordinal value appended to column names for flattened arrays. When flattening arrays, column names are appended with an underscore and the ordinal value (<array_name>_<oridinal_location>). This property allows you to determine whether the first ordinal value in the series as either a 0 or a 1. See FlattenArrayBase for details.
    • The driver has been enhanced with the new ArrayNormalizationThreshold connection property. ArrayNormalizationThreshold allows you to specify the length of arrays (in elements) at which the driver begins to normalize arrays to child tables when generating a flattened view. This provides you with a method to control the size and focus of your parent table when encountering large arrays or nested arrays. See ArrayNormalizationThreshold for details.
    • The driver has added support for the MinKey and MaxKey special values. See MinKey and MaxKey values for details.
    • The driver has been enhanced to support LDAP (Lightweight Directory Access Protocol) authentication. See LDAP authentication for details.
    • The driver has been enhanced to support the SCRAM-SHA-256 authentication method for user ID and password authentication. When user ID and password authentication is enabled (AuthenticationMethod=UserIDPassword), the driver detects and uses the most secure method supported by the server. See AuthenticationMethod for details.
  • Changed behavior
    • The connection property SpyAttributes has been updated to exclude the attribute load=classname, which was previously used to load the driver specified by the given class name. See SpyAttributes for details.
    • The driver no longer compresses messages passed between the client and the server by default. Additional research has uncovered that network compression might not provide the best performance in all environments. As a result, the default behavior of the NetworkMessageCompressors property has been changed to none. See NetworkMessageCompressors for details.
    • The SchemaDefinition property has been added as an alias for the SchemaMap property. This change allows users to continue using their configurations for earlier versions of the driver until they are able update their connection settings. Note that SchemaDefinition is a deprecated property and may not be supported in future versions of the driver. See SchemaMap for details.

Changes for the 6.1.0 Release

  • Driver Enhancements
    • The normalization algorithm has been upgraded to improve sampling performance and optimize the generation of tables in the relational view. In addition, the new SchemaFormat connection property allows you to determine to which relational view the driver maps data, including normalized, mixed, and flattened views. See Mapping objects to tables for details.

    • The driver supports migrating schema maps and internal files created with the 6.0 version of the driver so that they can be used by the 6.1 driver. By migrating these files, you can continue to execute the same SQL statements that you did with the 6.0 driver, while still leveraging the advantages of the 6.1 driver. See Migrating schema maps and native files to 6.1 for details.

    • The new SchemaFilter connection property allows you to specify the database and collections pairs for which you want the driver to fetch metadata. Using this property can significantly improve connection times by limiting the collections for which metadata is fetched to only those that are required by your application. See SchemaFilter for details.
    • The new QualifyNormalizedNames property allows you to determine whether names of relational child-tables normalized from arrays, objects, subdocuments are prefixed with the collection name and names of any parent objects. See QualifyNormalizedNames for details.

    • The new SpecialCharBehavior property allows you to determines how the driver handles the mapping of native identifiers containing characters that would require them to be quoted in SQL statements. This property provides a method to choose to continue using identifiers that require quotation marks or for the driver to modify affected identifier names so that quotation marks are not required. See SpecialCharBehavior for details.

    • The driver has been enhanced to support replica set failover for write operations. This feature can be enabled by specifying your replica set name using the new ReplicaSetName connection property. See Replica set failover for write operations and ReplicaSetName for details.

    • The driver has been enhanced to support connections to MongoDB Atlas clusters through a domain. Instead of specifying connection information for individual nodes, the driver allows you to specify the name of the domain using the ServerName property. The driver then uses a DNS lookup to discover the member nodes in the cluster to which it can connect. See MongoDB Atlas clusters for details.
    • The new EnableDNSLookup property specifies whether the driver performs a DNS lookup to discover member nodes of a cluster when connecting. When enabled (the default), the driver will discover and connect to the nodes of a cluster when a domain is specified by the ServerName property. Alternatively, if not connecting to cluster, you can experience improved connection times by disabling this property. See EnableDNSLookup for details.
    • The driver now includes the MongoDB Configuration Manager for quick configuration and testing of your driver in a web browser. The tool allows you to:
      • Generate and edit connection URLs
      • Test connect your connection URLs
      • Execute SQL commands for testing

      For details, see Generating connection URLs with the Configuration Manager and Testing connections and queries.

    • The driver has been enhanced to use proxy server settings defined in the JVM system properties by default. If no proxy settings are defined in the connection string or data source, the driver will attempt to use the values of the http.proxyHost and http.proxyPort JVM system properties to connect to the database.

    • Interactive SQL is now installed with the product. Interactive SQL is a command-line interface that supports connecting your driver to a data source, executing SQL statements and retrieving results in a terminal. This tool provides a method to quickly test your drivers in an environment that does not support GUIs. See Interactive SQL for details.
    • The driver has been enhanced to allow you to limit sampling to only new collections when refreshing the schema map. This provides for quicker processing times if you only want to map new collections or if existing collections are unchanged. You can limit sampling to only new collections by specifying the NEW option in a Refresh Map statement. See Refresh Map (EXT) for details.
    • The driver has been enhanced to support the native Decimal128 data type, which maps to the Decimal JDBC type by default. See Data types for details.
  • Changed Behavior
    • The default mapping behavior of the driver has been changed from generating a normalized view of data to one that is a mixture of normalized and flattened views. The mixed view reduces the number of tables generated while providing a more intuitive data model. You can configure the mapping behavior using the new SchemaFormat property. For details see Mixed view and SchemaFormat for details.

    • The Schema Tool and manual customizations of the schema map are not currently supported. However, you can modify schema using the mapping connection properties. See Connection property descriptions for details.

    • The purpose of the AuthenticationDatabase property has been changed. The property is now used for user id and password authentication (AuthenticationMethod=userIdPassword) to specify the database in which the user id was created. This allows you to explicitly select a set of credentials when the same user ID was created on multiple databases.

      As part of this change, AuthenticationDatabase is ignored when using Kerberos authentication. The driver now uses $external as the authentication database for all Kerberos-enabled connections. See AuthenticationDatabase for details.

    • CreateDB connection property has been replaced by the CreateMap property. The valid values and behavior are identical for both properties. See CreateMap for details.

    • The ConfigOptions connection property has been deprecated. As a result, the driver has been enhanced to support setting each of the configuration options formerly supported by ConfigOptions as standalone connection properties. See Connection property descriptions for details.
    • The following Config Options are no longer supported:
      • DefaultVarcharSize
      • MaxVarcharSize
      • MinVarcharSize

      To determine the default length of VARCHAR fields, the driver multiplies the largest discovered field by 1.5. For example, if the largest detected field has a length of 100 characters, the driver sets the default length to 150 characters.

    • Supports has ended for versions earlier than MongoDB 3.6.