JDBC Driver for Apache Kafka

Build 24.0.9175

変更履歴

General Changes

DateBuild
Number
Change
Type
Description
12/17/20249117Apache KafkaAdded
  • 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/20249097GeneralAdded
  • Added ThreadId to LogModule output. Logfile lines now include the Thread ID associated with the action being performed.
11/20/20249090Apache KafkaAdded
  • Added support for Google Managed Service. For information on how to authenticate to Google Managed Service, see "Establishing a Connection."
11/05/20249075Apache KafkaChanged
  • 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/20249057Apache KafkaChanged
  • 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/20248963Apache KafkaChanged
  • .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/20248931Apache KafkaDeprecated
  • The AggregateMessages and ProduceMeta connection properties.
  • The RegistryType connection property. Use MessageKeyType or SerializationFormat to specify the type of schema.
06/11/20248928Apache KafkaChanged
  • 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/20248917Apache KafkaChanged
  • 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/20248900Apache KafkaDeprecated
  • The Topic connection property. The property is now redundant with the driver's support for dynamic metadata.
05/09/20248895GeneralChanged
  • The ROUND function previously did not accept negative precision values. That feature has now been restored.
05/08/20248894Apache KafkaChanged
  • 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/20248889Apache KafkaAdded
  • 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/20248851Apache KafkaAdded
  • 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/20248840GeneralAdded
  • 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/20248802Apache KafkaChanged
  • 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/20238733GeneralChanged
  • 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/20238732GeneralAdded
  • Added the HMACSHA256 formatter to allow for secrets to be decoded if it is in base64 format
11/13/20238717Apache KafkaChanged
  • 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/20238700JDBCChanged
  • Added support for Connection.abort() method.
08/22/20238634Apache KafkaAdded
  • Added support for authenticating to Azure Event Hubs with OAuth. AzureAD, AzureServicePrincipal, AzureServicePrincipalCert, and AzureMSI are all supported.
08/03/20238615Apache KafkaChanged
  • 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/20238571GeneralAdded
  • Added the new sys_lastresultinfo system table.
04/25/20238515GeneralRemoved
  • Removed support for the SELECT INTO CSV statement. The core code doesn't support it anymore.
04/19/20238509Apache KafkaAdded
  • 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/20238473Apache KafkaAdded
  • 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/20228383GeneralChanged
  • Added the Default column to the sys_procedureparameters table.
11/22/20228361Apache KafkaAdded
  • 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/20228334Apache KafkaChanged
  • 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/20228308GeneralChanged
  • Added the IsPath column to the sys_procedureparameters table.
08/05/20228252Apache KafkaAdded
  • 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/20228234Apache KafkaAdded
  • 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/20228197JDBCChanged
  • The method GetJDBCMinorVersion() and GetJDBCMajorVersion() return 4.2 as the supported JDBC major / minor version.
05/03/20228158Apache KafkaAdded
  • 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/20228153JDBCChanged
  • Removed support for JRE 1.6. JRE 1.8 and above is now required.
04/20/20228145Apache KafkaAdded
  • 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/20228132Apache KafkaChanged
  • 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/20228124Apache KafkaAdded
  • Added support for authenticating using SCRAM-SHA-512.
02/25/20228091JDBCChanged
  • 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/20228090JDBCChanged
  • Corrected the return value of method DatabaseMetaData.supportsOuterJoins(), which used to return an incorrect value.
12/13/20218017Apache KafkaRemoved
  • Removed unnecesary dependencies relating to embedded Kafka servers. This also removes the log4j component which was affected by the recent CVE reports.
10/27/20217970JDBCChanged
  • Added support for JDK 17
09/23/20217936Apache KafkaAdded
  • Added support for Authenticating with Kerberos on both JDBC and ADO editions.
09/12/20217925JDBCRemoved
  • 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/20217915GeneralAdded
  • Added support for the STRING_SPLIT table-valued function in the CROSS APPLY clause.
08/26/20217908Apache KafkaAdded
  • Added support for AWS Glue Schema Registry service. Now we support Confluent and AWS Glue Schema Registry types.
08/07/20217889GeneralChanged
  • Added the KeySeq column to the sys_foreignkeys table.
08/06/20217888GeneralChanged
  • Added the new sys_primarykeys system table.
07/23/20217874GeneralChanged
  • 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/20217863Apache KafkaRemoved
  • Removed the Topic static table. Previously it was used only to retrieve some static columns. Now it's no longer needed.
06/23/20217844Apache KafkaAdded
  • Added support for JSON Scheme type on SchemaRegistry mode. Now we support AVRO and JSON schema types.
04/23/20217783GeneralChanged
  • 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/20217776GeneralChanged
  • Reduced the length to 255 for varchar primary key and foreign key columns.

Changed
  • Updated index naming convention to avoid duplicates.
04/16/20217776GeneralChanged
  • 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.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 24.0.9175