1"use strict";(self.webpackChunk_marcnuri_blog_marcnuri_com=self.webpackChunk_marcnuri_blog_marcnuri_com||[]).push([[2535],{31678:function(e,t,n){n.r(t),n.d(t,{default:function(){return s}});var r=n(28453),a=n(96540);function l(e){const t=Object.assign({p:"p",a:"a",code:"code",h2:"h2",ul:"ul",li:"li",h3:"h3",blockquote:"blockquote",strong:"strong",pre:"pre",img:"img"},(0,r.RP)(),e.components),{NewVersion:n}=t;return n||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("NewVersion",!0),a.createElement(a.Fragment,null,a.createElement(n,{project:"fabric8"}),"\n",a.createElement(t.p,null,"On behalf of the ",a.createElement(t.a,{href:"post#kubernetes-client-java-fabric8-introduction"},"Fabric8"),"\nteam and everyone who has contributed, I'm happy to announce that the Fabric8 Kubernetes Client ",a.createElement(t.code,null,"7.6.1")," has been\n",a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client/releases/tag/v7.6.1"},"released")," and is now available from\n",a.createElement(t.a,{href:"https://repo1.maven.org/maven2/io/fabric8/kubernetes-client/7.6.1/"},"Maven Central")," ð."),"\n",a.createElement(t.p,null,"This marks the sixth minor release of the Fabric8 Kubernetes Client 7, bringing new features, bug fixes, and improvements while keeping the breaking changes minimal."),"\n",a.createElement(t.p,null,"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.\nWe really appreciate your help, keep it up!"),"\n",a.createElement(t.h2,{id:"whats-new"},"What's new?"),"\n",a.createElement(t.p,null,"Without further ado, let's have a look at the most significant updates:"),"\n",a.createElement(t.ul,null,"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"#kubernetes-135",title:"Link to the Kubernetes 1.35 section"},"Kubernetes 1.35 support (Timbernetes)")),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"#vertx-5",title:"Link to the Vert.x 5 section"},"New Vert.x 5 HTTP client implementation")),"\n",a.createElement(t.li,null,a.createElement(t.a,{href:"#okhttp-5",title:"Link to the OkHttp 5 section"},"OkHttp upgraded to version 5")),"\n",a.createElement(t.li,null,"ð Many other bug fixes and minor improvements"),"\n"),"\n",a.createElement(t.p,null,"You can find the full changelog for this version in our GitHub ",a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client/releases/tag/v7.6.1"},"release page"),"."),"\n",a.createElement(t.h3,{id:"kubernetes-135"},"Kubernetes 1.35 support (Timbernetes)"),"\n",a.createElement(t.p,null,"This release adds support for Kubernetes v1.35 (Timbernetes), ensuring you have access to the latest API resources and CRDs."),"\n",a.createElement(t.blockquote,{className:"admonition-note"},"\n",a.createElement(t.p,null,"Please note that you can still access newer Kubernetes clusters with ",a.createElement(t.strong,null,"older")," versions of the Fabric8 client."),"\n",a.createElement(t.p,null,"The client provides a GenericKubernetesResources class to interact with resources that are not yet supported by the client.\nWe do recommend always using the ",a.createElement(t.strong,null,"latest")," version of the client to benefit from the latest features and bug fixes, but it's not mandatory."),"\n"),"\n",a.createElement(t.h3,{id:"vertx-5"},"New Vert.x 5 HTTP client implementation"),"\n",a.createElement(t.p,null,"A new Vert.x 5 HTTP client implementation has been added with improved async handling and WebSocket separation.\nThe ",a.createElement(t.code,null,"kubernetes-httpclient-vertx-5")," module includes a runtime check for Vert.x 5 classes to provide a clear error message when a Vert.x 4/5 conflict occurs."),"\n",a.createElement(t.p,null,"The HTTP client factory priority has also been fixed: ",a.createElement(t.code,null,"VertxHttpClientFactory")," (the default) now has priority -1, while ",a.createElement(t.code,null,"OkHttpClientFactory")," is restored to priority 0."),"\n",a.createElement(t.p,null,"Note that the ",a.createElement(t.code,null,"kubernetes-httpclient-vertx")," (Vert.x 4.x) and ",a.createElement(t.code,null,"kubernetes-httpclient-vertx-5")," (Vert.x 5.x) modules are ",a.
1createElement(t.strong,null,"mutually exclusive")," and must not be included together in your project dependencies.\nWhen using Vert.x 5, exclude the default Vert.x 4 client and add the Vert.x 5 module:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-xml",title:"pom.xml"},"<dependency>\n <groupId>io.fabric8</groupId>\n <artifactId>kubernetes-client</artifactId>\n <exclusions>\n <exclusion>\n <groupId>io.fabric8</groupId>\n <artifactId>kubernetes-httpclient-vertx</artifactId>\n </exclusion>\n </exclusions>\n</dependency>\n<dependency>\n <groupId>io.fabric8</groupId>\n <artifactId>kubernetes-httpclient-vertx-5</artifactId>\n</dependency>\n")),"\n",a.createElement(t.h3,{id:"okhttp-5"},"OkHttp upgraded to version 5"),"\n",a.createElement(t.p,null,"OkHttp has been upgraded from version 4.12.0 to 5.3.2.\nThis update removes internal API usage and fixes deprecated OkHttp 5 calls.\nWhile the versions are binary compatible, the major version upgrade might cause side effects in some projects."),"\n",a.createElement(t.h2,{id:"using-this-release"},"Using this release"),"\n",a.createElement(t.p,null,"If your project is based on Maven, you just need to add the Fabric8 Kubernetes Client to your Maven dependencies:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-xml",title:"pom.xml"},"<dependency>\n <groupId>io.fabric8</groupId>\n <artifactId>kubernetes-client</artifactId>\n <version>7.6.1</version>\n</dependency>\n")),"\n",a.createElement(t.p,null,"If your project is based on Gradle, you just need to add the Fabric8 Kubernetes Client to your Gradle dependencies:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-groovy",title:"build.gradle"},'dependencies {\n api "io.fabric8:kubernetes-client:7.6.1"\n}\n')),"\n",a.createElement(t.p,null,"Once your project is ready, you can create a new instance of the client to perform operations.\nIn the following code snippet, I show you how to instantiate the client and retrieve a list of Pods:"),"\n",a.createElement(t.pre,null,a.createElement(t.code,{className:"language-java"},"try (KubernetesClient client = new KubernetesClientBuilder().build()) {\n client.pods().list().getItems().forEac
1h(p -> System.out.println(p.getMetadata().getName()));\n}\n")),"\n",a.createElement(t.h2,{id:"how-can-you-help"},"How can you help?"),"\n",a.createElement(t.p,null,"If you're interested in helping out and are a first-time contributor, check out\nthe ",a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client/labels/good%20first%20issue"},'"good first issue"')," tag in the issue repository.\nWe've tagged extremely easy issues so that you can get started contributing to Open Source."),"\n",a.createElement(t.p,null,"We're also excited to read articles and posts mentioning our project and sharing the user experience.\nGiving a star to the project, and spreading the word in general, helps us reach more users and broaden the\nfeedback. Feedback is the only way to improve."),"\n",a.createElement(t.p,null,a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client"},"Project Page")," |\n",a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client/issues"},"Issues")," |\n",a.createElement(t.a,{href:"https://github.com/fabric8io/kubernetes-client/discussions"},"Discussions")," |\n",a.createElement(t.a,{href:"https://gitter.im/fabric8io/kubernetes-client"},"Gitter")," |\n",a.createElement(t.a,{href:"https://stackoverflow.com/questions/tagged/fabric8"},"Stack Overflow")),"\n",a.createElement(t.img,{src:"../../images/fabric8/fabric8-logo.png",alt:"The logo of Fabric8 Kubernetes Client",title:"Fabric8 Kubernetes Client"}))}var i=function(e){void 0===e&&(e={});const{wrapper:t}=Object.assign({},(0,r.RP)(),e.components);return t?a.createElement(t,e,a.createElement(l,e)):l(e)};var o=n(37698);const c=e=>a.createElement(o.TP,{pageContext:e.pageContext},a.createElement(o.n$,Object.assign({comments:e.pageContext.comments,frontmatter:e.pageContext.frontmatter},e)));function s(e){return a.createElement(c,e,a.createElement(i,e))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.