Fabric8 Kubernetes Client 7.0 is now available!
On behalf of the Fabric8
team and everyone who has contributed, I'm happy to announce that the Fabric8 Kubernetes Client 7.0.0
has been
released and is now available from
Maven Central 🎉.
This marks the seventh major release of the Fabric8 Kubernetes Client, bringing numerous new features, bug fixes, and improvements while keeping the breaking changes minimal. To assist you with the transition, we've prepared a migration guide to help you update your code to this new version.
Thanks to all of you who have contributed with issue reports, pull requests, feedback, and spreading the word with blogs, videos, comments, and so on. We really appreciate your help, keep it up!
What's new?
Without further ado, let's have a look at the most significant updates:
- Java 11 as the minimum supported version
- Vert.x as default HttpClient implementation
- CRD Generator v2
- MockWebServer based on Vert.x
- 🐛 Many other bug fixes and minor improvements
You can find the full changelog for this version in our GitHub release page.
Be sure to check out the migration guide for a smooth upgrade.
Java 11 as the minimum supported version
Starting with this release, the Fabric8 Kubernetes Client no longer supports Java 8. The minimum supported version is now Java 11.
Java 8 was released over a decade ago, and it's time to move on to newer versions. We've opted to support Java 11 as the minimum version because it's the first LTS release after Java 8, and we are aware that many users are still using it.
We'll continue to monitor the adoption of newer Java versions and adjust our support accordingly.
Vert.x as default HttpClient implementation
This release introduces Vert.x as the default HttpClient implementation, replacing OkHttp. For most users, this change will be seamless, with no noticeable difference in behavior—apart from potential performance improvements.
In addition, we've bumped the OkHttp version to 4.x (for its HttpClient implementation), which is the latest stable major version at the time of this release.
CRD Generator v2
The CRD Generator v2, introduced in preview mode in the latter releases of version 6, is now recommended as the default CRD generation tool. The previous version has been deprecated.
The new generator offers enhanced features and can be easily integrated into your project using a Maven plugin.
Please, check the documentation to learn more about the CRD Generator v2 and how to get started.
I want to take this opportunity to thank once again Bernhard Strähle for his continued work on this feature and involvement in the Fabric8 Kubernetes Client 🙌.
MockWebServer based on Vert.x
The former MockWebServer implementation was using OkHttp under the hood. In this release, we've switched to using Vert.x to provide a more lightweight and performant implementation.
This should serve as a drop-in replacement for the previous implementation, with provided replacements for all OkHttp and Okio classes used earlier. Most users should only need to update their import statements.
You can find more information about this change in the migration guide MockWebServer section.
Using this release
If your project is based on Maven, you just need to add the Fabric8 Kubernetes Client to your Maven dependencies:
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>7.0.0</version>
</dependency>
If your project is based on Gradle, you just need to add the Fabric8 Kubernetes Client to your Gradle dependencies:
dependencies {
api "io.fabric8:kubernetes-client:7.0.0"
}
Once your project is ready, you can create a new instance of the client to perform operations. In the following code snippet, I show you how to instantiate the client and retrieve a list of Pods:
try (KubernetesClient client = new KubernetesClientBuilder().build()) {
client.pods().list().getItems().forEach(p -> System.out.println(p.getMetadata().getName()));
}
How can you help?
If you're interested in helping out and are a first-time contributor, check out the "good first issue" tag in the issue repository. We've tagged extremely easy issues so that you can get started contributing to Open Source.
We're also excited to read articles and posts mentioning our project and sharing the user experience. Giving a star to the project, and spreading the word in general, helps us reach more users and broaden the feedback. Feedback is the only way to improve.
Project Page | Issues | Discussions | Gitter | Stack Overflow