The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Thanks m8719-github for the contributions!
- Opens
HttpsContextBuilder
for extension PR-84 - Updates internal dependency Http Components from 4.5.13 -> 4.5.14
- Updates internal dependency com.fasterxml.jackson.core from 2.14.1 -> 2.14.3
- Updates internal dependency log4j2-api from 2.19.0 -> 2.22.2
- Updates internal dependency com.fasterxml.jackson.core from 2.13.4 -> 2.14.1
- Adds
KafkaConnectClient::restartConnector(final PostConnectorRestart connectorRestartRequest)
Issue-78. - Fix Javadoc on KafkaConnectClient::deleteConnector(). issue-76.
- Add Constructors to various internal "DTO" classes, this allows for easier testing/mocking of responses.
- com.fasterxml.jackson.core from 2.13.3 -> 2.13.4
- com.fasterxml.jackson.core from 2.13.0 -> 2.13.3
- org.apache.logging.log4j.log4j-api from 2.17.1 -> 2.18.0
Note: Major release version updated purely out of abundance of caution.
Internal dependency on Google Guava was removed. Functionally nothing about this library's API has changed as a result of removing this dependency. However, if you were making use of Google Guava via a transitive dependency previously provided by this library, you will need to update your project to include this dependency directly.
- Update /connector/<connector name>/restart requests to support the
includeTasks
andonlyFailed
parameters added in Kafka-Connect version 3.0.0.
- Removed Google Guava as a dependency.
- com.fasterxml.jackson.core from 2.12.2 -> 2.13.0.
- Issue-55 Create new HttpContext for every request.
- PR-59 Adds supported method to modify the underlying configuration of HttpClient via HttpClientConfigHooks interface.
Usage of these hooks would look like:
// Directly create underlying RestClient and pass your HttpClientConfigHooks implementation.
final RestClient restClient = new HttpClientRestClient(new HttpClientConfigHooks {
// Override methods as needed to modify behavior.
});
// Create KafkaConnectClient, passing configuration and RestClient implementation
final KafkaConnectClient client = new KafkaConnectClient(configuration, restClient);
// Use client as normal...
- Issue-54 Resolution for issue-54
- org.apache.logging.log4j from 2.13.2 -> 2.14.1
- org.slf4j:slf4j from 1.7.30 -> 1.7.32
-
Issue-51 Can't set request timeout Previously
ConfigurationBuilder::useRequestTimeoutInSeconds()
was incorrectly setting the request time to live property instead of the request time out property. It's been updated to correctly set the request timeout value on the underlying http client. AdditionallyConfigurationBuilder::useConnectionTimeToLiveInSeconds()
was added to allow for setting the request time to live property on the underlying http client.Thanks IvanZhilyakov28 for supplying the bugfix!
- com.fasterxml.jackson.core from 2.10.4 -> 2.12.2
- org.apache.httpcomponents from 4.5.12 -> 4.5.13
- com.google.guava:guava from 29.0-jre -> - 30.1.1-jre
- Add support for
/connectors/<connector-name>/topics
and/connectors/<connector-name>/topics/reset
endpoints added in Kafka 2.5.0 viagetConnectorTopics()
andresetConnectorTopics()
methods on KafkaConnectClient.
- com.google.guava:guava from 28.2-jre -> 29.0-jre
- org.apache.httpcomponents from 4.5.11 -> 4.5.12
- com.fasterxml.jackson.core from 2.10.2 -> 2.10.4
- Checkstyle plugin from 8.24 -> 8.32
-
Removed
org.apache.logging.log4j
dependency, instead relying on the org.slf4j logging interface/facade dependency explicitly.- If your project was NOT depending on this transitive dependency, no changes are required to upgrade.
- If your project WAS depending on this transitive dependency, you may need to add it to your own project:
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.12.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.12.1</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.12.1</version> </dependency>
- Checkstyle plugin from 8.19 -> 8.24
- com.fasterxml.jackson.core from 2.9.9 -> 2.10.2
- org.apache.logging.log4j from 2.11.2 -> 2.12.1
- org.apache.httpcomponents from 4.5.8 -> 4.5.11
- com.google.guava:guava from 27.1-jre -> 28.2-jre
- org.eclipse.jetty:jetty-server (test dependency) from 9.4.17.v20190418 -> 9.4.27.v20200227
- org.mockito:mockito-core (test dependency) from 2.27.0 -> 2.28.2
- Added support to retrieve information about the Kafka-Connect server being queried.
/**
* Retrieve details about the Kafka-Connect service itself.
* @return ConnectServerVersion
*/
public ConnectServerVersion getConnectServerVersion()
- Added support for Expanded Connectors API Endpoint KIP-465.
Only supported by Kafka-Connect servers running version 2.3.0+ the following methods were added:
/**
* Get a list of deployed connectors, including the status for each connector.
* https://docs.confluent.io/current/connect/references/restapi.html#get--connectors
*
* Requires Kafka-Connect 2.3.0+
*
* @return All deployed connectors, and their respective statuses.
*/
public ConnectorsWithExpandedStatus getConnectorsWithExpandedStatus()
/**
* Get a list of deployed connectors, including the definition for each connector.
* https://docs.confluent.io/current/connect/references/restapi.html#get--connectors
*
* Requires Kafka-Connect 2.3.0+
*
* @return All deployed connectors, and their respective definition.
*/
public ConnectorsWithExpandedInfo getConnectorsWithExpandedInfo()
/**
* Get a list of deployed connectors, including all metadata available.
* Currently includes both 'info' {@see getConnectorsWithExpandedInfo} and 'status' {@see getConnectorsWithExpandedStatus}
* metadata.
* https://docs.confluent.io/current/connect/references/restapi.html#get--connectors
*
* Requires Kafka-Connect 2.3.0+
*
* @return All deployed connectors, and their respective metadata.
*/
public ConnectorsWithExpandedMetadata getConnectorsWithAllExpandedMetadata()
- Update Jackson dependency from 2.9.8 to 2.9.9 CVE-2019-12086.
- Updated ConnectorPluginConfigValidationResults classes to be publicly scoped. Thanks tchiotludo!
- Updated Google Guava from 27.0.1-JRE to 27.1-JRE
- Updated HttpComponents from 4.5.7 to 4.5.8
PR: Fix connector tasks & plugins query
tchiotludo discovered and fixed a bug in the KafkaConnectClient::getConnectorPlugins()
and
KafkaConnectClient::getConnectorTasks()
client methods.
Previous to this version these methods incorrectly returned a
Collection<Map<>>
instead of Collection<ConnectorPlugin>
and Collection<Task>
respectively.
This release fixes these two methods to return the correct types as defined by their signatures. Any users of this library who were interacting with this incorrect return type will need to update their code for this release.
- Added ability to configure sending a client certificate in order to authenticate Kafka-Connect REST endpoints.
- Added ability to authenticate with Kafka-Connect REST endpoints utilizing Basic-Authentication.
- Added ability to communicate with Kafka-Connect REST endpoints using SSL. More can be found in README.
- Updated Guava from 24.0-JRE to 27.0-JRE for CVE-2018-10237.
- Replace internal calls to Guava's Preconditions with Objects.requireNonNull()
- Jackson updated from 2.9.5 to 2.9.8 for several CVEs.
- More specific exception classes thrown when requests fail.
- More specific exception classes thrown when requests fail.
- Mark internal classes as not final to allow mocking more easily.
- Update Jackson dependency to 2.9.5 CVE-2018-7489.
- Initial release!