This page documents all of the KIPs related to Connect since AK 0.10.0.0 (the release after Connect was first introduced in 0.9.0.0), and identifies the default behaviors that may make sense to change in AK 3.0.0. See the list of release plans for the list of all KIPs.

Most (if not all) Connect changes to date have been backward compatible with respect to:

  1. worker configurations
  2. log configuration
  3. connector configurations
  4. connector implementations

This means that users that are operating Connect can easily do a rolling upgrade of their Connect clusters without having to change their worker configurations, Log4J configurations, or any persisted connector configurations and without having to upgrade any connector implementations. Likewise, users operating Connect can choose when to upgrade individual connector implementations.

The changes proposed below continue to avoid requiring changes to persisted connector configurations or requiring upgrades of connector implementations. Many of the proposed changes have been recommended for some time, but making them in the AK 3.0.0 major release may require some users to make small changes to their worker configuration and Log4J worker configurations during the upgrade process.

This page is not a KIP.

Discussion thread: here


AK ReleaseKIPDefault BehaviorDesired Change for AK 3.0.0Deprecation KIP (if different)Jira Issue
0.10.0.0KIP-51 - List Connectors REST APIAdds new REST resourcesNonen/an/a

KIP-52: Connector Control APIsAdds new REST resourcesNonen/an/a

KIP-56: Allow cross origin HTTP requests on all HTTP methodsAdds to the worker config the `access.control.allow.methods` property with a default that allows cross origin requests for GET, POST and HEADNonen/an/a
0.10.1.0KIP-65: Expose timestamps to ConnectModifies the record interfaces to support timestampsNonen/an/a

KIP-75 - Add per-connector ConvertersAdds option of defining converters in connector configurationsNonen/an/a
0.10.2.0KIP-66: Single Message Transforms for Kafka ConnectAdded SMTs to connector configurationsNonen/an/a

KIP-89: Allow sink connectors to decouple flush and offset commitChanged sink task interfacesNonen/an/a
0.11.0.0KIP-66: Single Message Transforms for Kafka Connectoptionally used in connector configsNonen/an/a

KIP-128: Add ByteArrayConverter for Kafka Connectoptionally used in worker and/or connector configsNonen/an/a

KIP-146 - Classloading Isolation in Connectbehavior enabled by defaultNonen/an/a

KIP-151 Expose Connector type in REST APIchange in selected REST responsesNonen/an/a

KIP-154 Add Kafka Connect configuration properties for creating internal topicsdefaults remain sensibleNonen/an/a
1.0.0KIP-196: Add metrics to Kafka Connect frameworkadded new metricsNonen/an/a

KIP-197 Connect REST API should include the connector type when describing a connectorchange in selected REST responsesNonen/an/a
1.1.0KIP-145 - Expose Record Headers in Kafka Connectadded new interfaces and APIsNonen/an/a

KIP-208: Add SSL support to Kafka Connect REST interface

SSL is not enabled by default. KIP-573 changed the ssl.protocol default to "TLSv1.3" for JDK 11 and "TLSv1.2" for older JDKs, and changed the ssl.enabled.protocols default to "TLSv1.2,TLSv1.3" for JDK 11 and "TLSv1.2" for older JDKs.

Deprecates `rest.host.name` and `rest.port` for removal in a future major release.

Remove the `rest.host.name` and `rest.port` worker configuration properties deprecated in KIP-208 (AK 1.1). Removing these may break external examples and demos where these are still used, but those would be better to use the preferred listener configs now anyway.

We will not enable SSL by default since that requires the user to set up a keystore and truststore, which Connect can't do by default.

Removal already approved in KIP-208

Unable to render Jira issues macro, execution error.


KIP-212: Enforce set of legal characters for connector namesnew connector names must only use legal characters, and may not have leading and trailing whitespace.Nonen/an/a

KIP-215: Add topic regex support for Connect sinksadded `topics.regex` sink connector configuration property.None. Removing the `topics` sink connector configuration property would be invasive, and it has not been deprecated.n/an/a

KIP-238: Expose Kafka cluster ID in Connect REST APIchange in selected REST responsesNonen/an/a
2.0.0

KIP-174 - Deprecate and remove internal converter configs in WorkerConfig


deprecated these two worker configs, stating that they will be removed in a subsequent major release.Remove the deprecated `internal.key.converter` and `internal.value.converter` worker configuration properties. Connect has been logging usage of these as warnings for some time, and it is likely using something other than the defaults is fragile and may not work due to the assumption in Connect.Already approved in KIP-174, though removal explicitly approved in KIP-738: Removal of Connect's internal converter properties

Unable to render Jira issues macro, execution error.


KIP-285: Connect Rest Extension Pluginoptionally used in worker configNonen/an/a

KIP-297: Externalizing Secrets for Connect Configurationsoptionally used in worker configNonen/an/a

KIP-298: Error Handling in ConnectThe default behavior in Connect remains to kill the task on the first error in any stage. To change this behavior, several worker configurations must be enabled; the defaults are to not enable error logging, not include message details, and to not use a DLQ topic.None. Error handling and logging should remain opt-in.n/an/a

KIP-305: Add Connect primitive number convertersAdded new converter implementations, which are optionally specified in worker and connector configurations.Nonen/an/a
2.1.0NoneNoneNonen/an/a
2.2.0NoneNoneNonen/an/a
2.3.0KIP-411: Make default Kafka Connect worker task client IDs distinctChanged distributed worker configuration's default for `client.id`.Nonen/an/a

KIP-415: Incremental Cooperative Rebalancing in Kafka ConnectChanged worker configuration's default for `connect.protocol`, and added several other worker configurations.Nonen/an/a

KIP-449: Add connector contexts to Connect worker logsDefined ability to enable connector contexts in Log4J logs, but did not enable this by default.Change the `connect-log4j.properties` file to enable connector contexts in Log4J logs by default.KIP-721: Enable connector log contexts in Connect Log4j configuration

Unable to render Jira issues macro, execution error.


KIP-454: Expansion of the ConnectClusterState interfaceExpanded ConnectClusterState interface, added new interface, and changed selected REST responses.Nonen/an/a

KIP-458: Connector Client Config Override PolicyWorker config sets connector.client.config.override.policy=None by default to maintain backward compatibility.Change the default for `connector.client.config.override.policy` to `All`, still allowing connector configurations to override client behavior.KIP-722: Enable connector client overrides by default

Unable to render Jira issues macro, execution error.


KIP-465: Add Consolidated Connector Endpoint to Connect REST APIAdds optional query parameter to /connectors endpointNonen/an/a
2.4.0KIP-481: SerDe Improvements for Connect Decimal type in JSONAdded to JSON converter configuration a `decimal.format` property that defaults to `BASE64`, and that can optionally be set to `NUMERIC`None. Even though NUMERIC is probably a better default, changing this might require users to change potentially many existing persisted connector configurations before upgrading. This is not worth changing.n/an/a

KIP-495: Dynamically Adjust Log Levels in ConnectAdds new `/admin` REST endpoints.Nonen/an/a

KIP-507: Securing Internal Connect REST EndpointsChanged worker configuration's default for `connect.protocol`, and added several other worker configurations.Nonen/an/a

KIP-521: Enable redirection of Connect's log4j messages to a file by defaultModified default Log4J configuration to also write worker logs to a file, in addition to the console.Nonen/an/a
2.5.0KIP-558: Track the set of actively used topics by connectors in Kafka ConnectAdds new worker configuration properties, where behavior is enabled by defaultNonen/an/a
2.6.0KIP-131 - Add access to OffsetStorageReader from SourceConnectorAllowed source tasks to get OffsetStorageReader via task context.Nonen/an/a

KIP-158: Kafka Connect should allow source connectors to set topic-specific settings for new topicsAdded topic.creation.enable worker configuration option, defaulting to `true`. Adds multiple optional connector configuration properties with sensible defaults.Nonen/an/a

KIP-437: Custom replacement for MaskField SMTExpanded behavior of MaskField SMT to allow replacement literals.Nonen/an/a

KIP 577: Allow HTTP Response Headers to be Configured for Kafka ConnectAdded `response.http.headers.config` worker configuration, defaults to empty string.????


KIP-585: Filter and Conditional SMTsAdded new optional properties that can be used in connector configurationNonen/an/a

KIP-586: Deprecate commit records without record metadataDeprecates the SourceTask.commitRecord(SourceRecord record) method.None. We could remove the method, but that would prevent installing and running any connector implementation that still uses that method. Keeping the deprecated method is little effort yet still maximizes compatibility for connector implementations.n/an/a

KIP-605: Expand Connect Worker Internal Topic SettingsModifies the allowed values of several existing worker configuration properties, and adds optional worker configuration properties for topic settings.Nonen/an/a

KIP-606: Add Metadata Context to MetricsReporterModifies the MetricsReporter extension interface for Connect, Streams, and Broker.Nonen/an/a

KIP-610: Error Reporting in Sink ConnectorsAdds the ability for a sink task to get an error reporterNonen/an/a
2.7.0NoneNoneNonen/an/a
2.8.0KIP-661: Expose task configurations in Connect REST APIAdds `/{connector}/tasks-config` endpoint that returns configuration of connector's tasks. Does not add any worker or connector configurations.Nonen/an/a


  defaults may make sense to change. for which defaults were chosen to maintain backward compatibility, but which may be  with a major upgrade 

  • No labels