| |
| Date | Build Number | Change Type | Description |
| 10/09/2025 | 9413 | Apache Kafka | Updated
- Updated OpenSSL to 3.3.5.
|
| 10/06/2025 | 9410 | General | Added
- Support for parsing datetime formats using ".S" and ",S" for milliseconds and nanoseconds.
|
| 10/01/2025 | 9405 | JDBC | Added
- Added the following methods to the cdata.jdbc.apachekafka.ApacheKafkaDriver class. If you pass these methods an exception with no error records, an InvalidArgumentException is thrown.
- containsErrorSource: Returns true if the exception contains an error record for the provided source name, or false if otherwise.
- getErrorCodeFromSource: Returns the numeric error code from the error record with the given source, or -1 if there is no error record from that source.
- containsErrorCode: Returns true if the exception contains an error record with the provided error code, or false otherwise.
- findErrorProperty: Returns the value of the property with the given name, or null if no property with that name is defined.
- formatErrorRecords: Returns a string containing all the exception's error records. Includes the messages, codes, properties, and error location for each record.
|
| 09/12/2025 | 9386 | General | Added
- Added the IsInsertable, IsUpdateable, and IsDeleteable columns to the sys_tables table.
|
| 09/10/2025 | 9384 | General | Changed
- All columns in statically defined Views are now reported as read-only.
|
| 09/03/2025 | 9377 | General | Changed
- Corrected the behavior when IN criteria with NULL values are used in the projection part. It now returns NULL instead of 0. For example, "NULL IN (1,2)" returns "NULL".
|
| 09/01/2025 | 9375 | General | Added
- Added support for using the CAST function with infinity values. This function can cast "inf" and "-inf" to DOUBLE, FLOAT, or REAL.
|
| 08/25/2025 | 9368 | Apache Kafka | Added
- Added the ExposeQueueMetadataColumns connection property, which determines whether the Partition, Offset, and Timestamp columns are exposed.
- Added the option KafkaOAuthClient in the AuthScheme connection property. This authentication scheme supports KIP-768 OpenID authentication. Refer to "KIP-768: Extend SASL/OAUTHBEARER with Support for OIDC" in Kafka's documentation for more information.
|
| 08/21/2025 | 9364 | General | Changed
- Report behavior change:
- Fixed inconsistent string value comparisons in non-table queries.
- For example, "SELECT 'A' = 'a'" previously returned false, but it now returns true.
|
| 08/13/2025 | 9356 | General | Changed
- Changed the maximum number of pages held in memory from 15 to 5 for the page providers to decrease heap usage.
|
| 06/25/2025 | 9307 | General | Removed
- Removed the "ADLS Gen 1" value from the ConnectionType property.
|
| 06/20/2025 | 9302 | General | Added
- Created the following functions:
- TEXT_ENCODE: encodes a string into a different charset (UTF8 → UTF7 and returns a binary array as the result).
- TEXT_DECODE: takes a binary array and decodes it back into a string when provided the charset.
- BASE64_ENCODE: takes a binary array and encodes it as a base64 string (varchar).
- BASE64_DECODE: takes a base 64-encoded string and decodes it into a binary array.
|
| 06/18/2025 | 9300 | General | Changed
- The internal code for exception handling has been refactored. Exception messages returned during certain error conditions may now have different wording or formatting.
|
| 06/11/2025 | 9293 | Apache Kafka | Added
- Added support for a new property, AllowKeyOnlyRegistryTopics. This property specifies whether schema registry topics that have only a -key schema are exposed as tables. Previously a topic could not be available as a table unless it had a -value schema.
|
| 05/29/2025 | 9280 | Apache Kafka | Changed
- .NET editions now reference Confluent.Kafka 2.10.0 and its dependencies. See its NuGet page for a complete list: https://www.nuget.org/packages/Confluent.Kafka/.
- Java editions now bundle: kafka-clients 4.0.0, lz4-java 1.8.0, slf4j-api 1.7.36, snappy-java 1.1.10.5, zstd-jni 1.5.6-6, jackson-annotations 2.16.2, jackson-core 2.16.2, jackson-databind 2.16.2, jackson-datatype-jdk8 2.16.2, jose4j 0.9.4, opentelemetry-proto 1.0.0-alpha, org.osgi.core 6.0.0, protobuf-java 3.25.5.
Removed
- Java 11 is required due to updates in the kafka-clients dependency, which has removed support for Java 8. Users who utilize JDBC generally do not need to worry about this change, as everything is bundled together. Requiring a new Java runtime version represents a significant change.
|
| 05/27/2025 | 9278 | General | Removed
- Removed the "Proprietary" enum option from ProxyAuthscheme.
|
| 05/01/2025 | 9252 | Apache Kafka | Added
- Added support for JSON Schemas that are not objects. JSON Schemas that allow non-object types are reported as a single column, similar to TypeDetectionScheme=MessageOnly.
|
| 03/11/2025 | 9201 | Apache Kafka | Changed
- Changed how topics with unsupported schema registry formats are reported. Now, if a registry schema is in an unsupported format (currently just PROTOBUF), the driver treats that the same as the SerializationFormat/MessageKeyType being set to binary mode. The message/key is treated as a binary blob and reported as a base64 value.
|
| 02/15/2025 | 9177 | General | Added
- Added support for converting unsigned integer types to the nearest signed data type that has enough precision to hold the unsigned value.This is done for JDBC only because it does not have support for unsigned data types.
|
| 12/17/2024 | 9117 | Apache Kafka | Added
- Added support for reading data using multiple versions of Avro schemas from Confluent registries. Refer to the documentation for the SchemaMergeMode property to understand how different modes impact the data model and their applicable restrictions.
|
| 11/27/2024 | 9097 | General | Added
- Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
|
| 11/20/2024 | 9090 | Apache Kafka | Added
- Added support for Google Managed Service. For information on how to authenticate to Google Managed Service, see "Establishing a Connection."
|
| 11/05/2024 | 9075 | Apache Kafka | Changed
- The driver is updated to support Confluent.Kafka library version 2.6.0. This library only supports versions of .NET that support .NET Standard 2.0 (.NET Framework 4.6.1 and later, .NET Core 2.0 and later).
|
| 10/18/2024 | 9057 | Apache Kafka | Changed
- Due to a change in how we package libraries from the Kafka project, three libraries are now separately provided: zstd-jni, lz4-java, and snappy-java. Customers using JDBC now need to include the bundled JAR files and these three libraries on the JAVA classpath.
|
| 07/16/2024 | 8963 | Apache Kafka | Changed
- .NET editions now reference Confluent.Kafka 2.5.0 and its dependencies. See its NuGet page for a complete list: https://www.nuget.org/packages/Confluent.Kafka/
|
| 06/14/2024 | 8931 | Apache Kafka | Deprecated
- The AggregateMessages and ProduceMeta connection properties.
- The RegistryType connection property. Use MessageKeyType or SerializationFormat to specify the type of schema.
|
| 06/11/2024 | 8928 | Apache Kafka | Changed
- The driver no longer exposes a ‘Producer’ table when TypeDetectionScheme=RowScan for use with the Topic connection property.
Deprecated
- The Topic connection property is deprecated.
|
| 05/31/2024 | 8917 | Apache Kafka | Changed
- The AuthScheme property default is now None. Users who have been connecting with a username and password and have not previously set AuthScheme must now explicitly set AuthScheme=Plain.
- The RegistryAuthScheme default is now None. Users who authenticate via any kind of registry authentication must now explicitly set a RegistryAuthscheme. (Previously, users were only rarely required to set a RegistryAuthScheme.)
|
| 05/14/2024 | 8900 | Apache Kafka | Deprecated
- The Topic connection property. The property is now redundant with the driver's support for dynamic metadata.
|
| 05/09/2024 | 8895 | General | Changed
- The ROUND function previously did not accept negative precision values. That feature has now been restored.
|
| 05/08/2024 | 8894 | Apache Kafka | Changed
- Java editions now bundle: kafka-clients 3.7.0, lz4-java 1.8.0, slf4j-api 1.7.36, snappy-java 1.1.10.5, zstd-jni 1.5.5-6, Jackson 2.16.0 (jackson-annotations, jackson-core, jackson-databind, jackson-datatype-jdk8), jose4j 0.9.4, opentelemetry-proto 1.0.0-alpha, org.osgi.core 6.0.0, protobuf-java 3.23.4
|
| 05/03/2024 | 8889 | Apache Kafka | Added
- Extend SerializationFormat and MessageKeyType to support the same primitive and complex types. The driver can now read and write message keys in structured formats (JSON, Avro, CSV, XML), and message values in primitive formats (binary integers, floats and strings).
- Support SchemaRegistry type detection for Avro and JSON message keys, when using a Confluent schema registry.
Changed
- Schema files created on previous versions of the driver must be re-recorded. The extra formats supported in SerializationFormat and MessageKeyType require metadata that is not part of older schema files.
Removed
- Removed support for renaming CSV columns using schema files.
|
| 03/26/2024 | 8851 | Apache Kafka | Added
- Added support for reading Avro decimal fields, as well as fixed-length binary fields generally. Decimal fields are reported as the SQL DECIMAL type. Fixed-length binary fields are reported as BINARY and decoded like the Avro bytes type.
- Added support for resolving references within Avro schemas on Confluent schema registries.
Changed
- Topics in Confluent schema registries that belong to contexts (with the ":." prefix) are no longer listed as tables. This matches the default behavior of the Confluent schema-registry library.
|
| 03/15/2024 | 8840 | General | Added
- Created a new SQL function called STRING_COMPARE that provides java's String.compare() ability to SQL queries. Returns a number representative of the compared value of two strings
|
| 02/06/2024 | 8802 | Apache Kafka | Changed
- Java editions now bundle: kafka-clients 3.6.1, lz4-java 1.8.0, slf4j-api 1.7.36, snappy-java 1.1.10.5, zstd-jni 1.5.5-1, Jackson 2.13.5 (jackson-annotations, jackson-core, jackson-databind, jackson-datatype-jdk8), jose4j 0.9.3, org.osgi.core 6.0.0
|
| 11/29/2023 | 8733 | General | Changed
- The ROUND function doesn't accept the negative precision values anymore.
Changed
- The returning types of the FDMonth, FDQuarter, FDWeek, LDMonth, LDQuarter, LDWeek functions are changed from Timestamp to Date.
- The return type of the ABS function will be consistent with the parameter value type.
|
| 11/28/2023 | 8732 | General | Added
- Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
|
| 11/13/2023 | 8717 | Apache Kafka | Changed
- Java editions now bundle: kafka-clients 3.6.0, lz4-java 1.8.0, slf4j-api 1.7.36, snappy-java 1.1.10.4, zstd-jni 1.5.5-1, Jackson 2.13.5 (jackson-annotations, jackson-core, jackson-databind, jackson-datatype-jdk8), jose4j 0.9.3, org.osgi.core 6.0.0
- .NET editions now reference Confluent.Kafka 2.3.0 and its dependencies (check its NuGet page for a complete list)
|
| 10/27/2023 | 8700 | JDBC | Changed
- Added support for Connection.abort() method.
|
| 08/22/2023 | 8634 | Apache Kafka | Added
- Added support for authenticating to Azure Event Hubs with OAuth. AzureAD, AzureServicePrincipal, AzureServicePrincipalCert, and AzureMSI are all supported.
|
| 08/03/2023 | 8615 | Apache Kafka | Changed
- ProduceMessage now uses MessageText/MessageBytes to provide the message body, with corresponding inputs for the key.
Removed
- ProduceMessage no longer accepts input streams for providing raw keys and messages.
|
| 06/20/2023 | 8571 | General | Added
- Added the new sys_lastresultinfo system table.
|
| 04/25/2023 | 8515 | General | Removed
- Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
|
| 04/19/2023 | 8509 | Apache Kafka | Added
- Added ProduceMessage stored procedure for producing messages. It can be used to publish raw messages to topics regardless of the connection TypeDetectionScheme.
- Added support for binary message keys by setting MessageKeyType=binary.
|
| 03/14/2023 | 8473 | Apache Kafka | Added
- Added support for reading and writing specific partitions. A SELECT that filters on a specific value (or set of values) from the Partition column will subscribe to just those partitions. This increases read performance when many partitions are present. An INSERT can provide a value for the Partition column to write a message to a partition instead of having it auto-assigned.
|
| 12/14/2022 | 8383 | General | Changed
- Added the Default column to the sys_procedureparameters table.
|
| 11/22/2022 | 8361 | Apache Kafka | Added
- Added support for detecting the correct serialization format when performing an INSERT. The driver will determine this from either the schema registry or by row scan, depending upon the TypeDetectionScheme property. This allows connections with SerializationFormat=AUTO to insert data when the serialization format is unknown or different across topics. Other values of SerializationFormat keep their old behavior and skip this format detection.
|
| 10/26/2022 | 8334 | Apache Kafka | Changed
- Updated the versions of the Kafka libraries used in both Java and .NET. JDBC now bundles kafka-clients 3.3.1 while ADO.NET is built against Confluent.Kafka 1.9.3. The new version of Confluent.Kafka only supports .NET Framework versions 4.6.2 and up. The supported versions for other .NET variants (.NET Standard and .NET 5+) are unaffected.
|
| 09/30/2022 | 8308 | General | Changed
- Added the IsPath column to the sys_procedureparameters table.
|
| 08/05/2022 | 8252 | Apache Kafka | Added
- Added support for CreateTablePartitions and CreateTableReplicationFactor. This allows CREATE TABLE to be used on smaller clusters, and to be tuned for better read throughput or higher failover redundancy.
|
| 07/18/2022 | 8234 | Apache Kafka | Added
- Added support for ConsumerProperties and ProducerProperties options. These allow for direct configuration of the underlying Kafka client libraries, in cases where the driver doesn't expose its own version of a property.
|
| 06/11/2022 | 8197 | JDBC | Changed
- The method GetJDBCMinorVersion() and GetJDBCMajorVersion() return 4.2 as the supported JDBC major / minor version.
|
| 05/03/2022 | 8158 | Apache Kafka | Added
- RegistryClientCert and related properties, as well as RegistryServerCert. These properties are used for the schema registry specifically and support the same SSL options as other providers. They are added to avoid confusion between what SSL properties apply to the schema registry vs. the Kafka broker.
Deprecated
- The SSLKey, SSLCert and SSLCertPassword properties as well as TrustStorePassword and TrustStorePath. These hidden properties were required to connect to brokers via SSL, but they were specific to each edition and did not expose all of the certificate formats that the Kafka client libraries could accept.
Replacements
- SSLClientCert and related properties, as well as SSLServerCert and related properties. Internally these configure the same Kafka client properties, but the names and values of these options more consistent with the registry SSL options. Only a subset of certificate types are supported due to limitations of the Kafka client libraries.
|
| 04/28/2022 | 8153 | JDBC | Changed
- Removed support for JRE 1.6. JRE 1.8 and above is now required.
|
| 04/20/2022 | 8145 | Apache Kafka | Added
- Added support for Confluent-compatible Avro encoding with the UseConfluentAvroFormat option. The default format is still the Avro file block format, but setting this option allows the provider to produce messages which can be read and validated by Confluent tools and libraries.
|
| 04/07/2022 | 8132 | Apache Kafka | Changed
- Updated the versions of the Kafka libraries used in both Java and .NET. .NET now requires the following assemblies to be present at runtime: Confluent.Kafka (and librdkafka.redist) : 1.8.2.0 System.Memory: 4.5.2 System.Buffers: 4.5.1 System.Runtime.CompilerServices.Unsafe: 4.5.3
|
| 03/30/2022 | 8124 | Apache Kafka | Added
- Added support for authenticating using SCRAM-SHA-512.
|
| 02/25/2022 | 8091 | JDBC | Changed
- The method DatabaseMetaData.getTypeInfo() now returns all of the data types that the driver supports. Previously, it was returning only a portion of the data types. The types include: tinyint, smallint, int, bigint, float, double, numeric, decimal, bit, date, datetime, time, varchar, binary, uuid.
|
| 02/24/2022 | 8090 | JDBC | Changed
- Corrected the return value of method DatabaseMetaData.supportsOuterJoins(), which used to return an incorrect value.
|
| 12/13/2021 | 8017 | Apache Kafka | Removed
- Removed unnecesary dependencies relating to embedded Kafka servers. This also removes the log4j component which was affected by the recent CVE reports.
|
| 10/27/2021 | 7970 | JDBC | Changed
|
| 09/23/2021 | 7936 | Apache Kafka | Added
- Added support for Authenticating with Kerberos on both JDBC and ADO editions.
|
| 09/12/2021 | 7925 | JDBC | Removed
- Removed the IS_READONLY, IS_KEY, NUMERIC_PRECISION, and DECIMAL_DIGITS columns from DatabaseMetadata.GetColumns(), as they are not part of the JDBC Specification. This information is still available via other metadata calls.
|
| 09/02/2021 | 7915 | General | Added
- Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
|
| 08/26/2021 | 7908 | Apache Kafka | Added
- Added support for AWS Glue Schema Registry service. Now we support Confluent and AWS Glue Schema Registry types.
|
| 08/07/2021 | 7889 | General | Changed
- Added the KeySeq column to the sys_foreignkeys table.
|
| 08/06/2021 | 7888 | General | Changed
- Added the new sys_primarykeys system table.
|
| 07/23/2021 | 7874 | General | Changed
- Updated the Literal Function Names for relative date/datetime functions. Previously, relative date/datetime functions resolved to a different value when used in the projection as opposed to the predicate. For example: SELECT LAST_MONTH() AS lm, Col FROM Table WHERE Col > LAST_MONTH(). Formerly, the two LAST_MONTH() methods would resolve to different datetimes. Now, they will match.
- As a replacement for the previous behavior, the relative date/datetime functions in the criteria may have an 'L' appended to them. For example: WHERE col > L_LAST_MONTH(). This will continue to resolve to the same values that were previously calculated in the criteria. Note that the "L_" prefix will only work in the predicate - it not available for the projection.
|
| 07/12/2021 | 7863 | Apache Kafka | Removed
- Removed the Topic static table. Previously it was used only to retrieve some static columns. Now it's no longer needed.
|
| 06/23/2021 | 7844 | Apache Kafka | Added
- Added support for JSON Scheme type on SchemaRegistry mode. Now we support AVRO and JSON schema types.
|
| 04/23/2021 | 7783 | General | Changed
- Updated how display sizes are determined for varchar primary key and foreign key columns so they will match the reported length of the column.
|
| 04/16/2021 | 7776 | General | Changed
- Reduced the length to 255 for varchar primary key and foreign key columns.
Changed
- Updated index naming convention to avoid duplicates.
|
| 04/16/2021 | 7776 | General | Changed
- Updated implicit and metadata caching to improve performance and support for multiple connections. Old metadata caches are not compatible - you need to generate new metadata caches if you are currently using CacheMetadata.
|