Skip to content

Releases: fabric8io/kubernetes-client

6.12.1 (2024-04-18)

18 Apr 13:16
e4ddf55
Compare
Choose a tag to compare

Bugs

  • Fix #5880: OpenID Connect token refreshed in loaded Config
  • Fix #5911: (crd-generator) Improve error message for detected cycles
  • Fix #5898: Kube API module resolvable from Maven Central

New Contributors

Full Changelog: v6.12.0...v6.12.1

6.12.0 (2024-04-12)

12 Apr 11:50
640a4f9
Compare
Choose a tag to compare

Bugs

  • Fix #5845: (crd-generator) Fail generating if multiple versions are marked as stored
  • Fix #5847: Missing Log4j2Plugins.dat descriptor in Kubernetes Lookup
  • Fix #5853: (java-generator) Gracefully handle colliding enum definitions
  • Fix #5860: Corrections to java-generator gradle plugin extension
  • Fix #5817: NPE on EKS OIDC cluster when token needs to be refreshed

Improvements

  • Fix #5843: Support existingJavaTypes extension in java-generator

6.11.0 (2024-03-25)

25 Mar 14:01
81711c1
Compare
Choose a tag to compare

Bugs

  • Fix #5729: ensure that kind is set for generic resource lists
  • Fix #3032: JUnit5 Kubernetes Extension works with Nested tests
  • Fix #5759: Don't annotate KubeSchema and ValidationSchema classes
  • Fix #5781: Use UTF-8 for basic authentication
  • Fix #5508: (crd-generator) Ensure deterministic ordering of CustomResourceDefinitionVersions

Improvements

  • Fix #5701: Owner reference validity check regarding scope and namespace
  • Fix #5353: added KubernetesClientBuilder.editOrNewConfig
  • Fix #5357: adding additional Quantity methods
  • Fix #5635: refined LeaderElector lifecycle and logging
  • Fix #5787: (crd-generator) add support for deprecated versions for generated CRDs
  • Fix #5788: (crd-generator) add support for Kubernetes validation rules
  • Fix #5735: Replace usages of UUID.randomUUID() with UUID created via AtomicLong

New Features

  • Fix #5636: Add new extension open-virtual-networking to manage resources in k8s.ovn.org/v1 API group.
  • Fix #5711: Kube API Test - Kubernetes API Server JUnit Test Support
  • Fix #5772: Add openshift model io.fabric8.openshift.api.model.DeploymentConfigRollback
  • Fix #5718: Add a kubernetes-log4j module to lookup Kubernetes attributes in a Log4j Core configuration.

Note: Breaking changes

  • KubeSchema and Validation Schema generated classes are no longer annotated with Jackson, Lombok, and Sundrio annotations.
    This implies that builders will no longer be generated for these classes and that they won't have special deserialization/serialization behavior.

New Contributors

Full Changelog: v6.10.0...v6.11.0

6.10.0 (2024-01-10)

10 Jan 13:12
Compare
Choose a tag to compare

Bugs

  • Fix #5527: Unable to transfer file to pod if /tmp is read-only
  • Fix #5580: (java-generator) Correctly handle defaults for IntOrString types
  • Fix #5584: Fix CRD generation when EnumMap is used
  • Fix #5626: Prevent memory accumulation from informer usage
  • Fix #5656: Enable EC private key usage for mTLS auth
  • Fix #5694: ExecCredential doesn't fail with unsupported command output

Improvements

  • Fix #5429: moved crd generator annotations to generator-annotations instead of crd-generator-api. Using generator-annotations introduces no transitive dependencies.
  • Fix #5496: Added PodResource.patchReadinessGateStatus and a general subresource method to use any of the patch/edit/update methods with any subresource
  • Fix #5535: Add lombok and sundrio dependencies to the generated bom

Dependency Upgrade

  • Fix #5485: Updated okio to version 1.17.6 to avoid CVE-2023-3635
  • Fix #5643: Updated Kubernetes Model to Kubernetes v1.29.0
  • Fix #5673: Updated sigs.k8s.io/gateway-api go dependency to v1.0.0
  • Fix #5691: Updated github.com/cert-manager/cert-manager to latest available version (v1.14.0-alpha.0.0.20240105200543-3234974a3865)

New Features

  • Fix #5608 Support authentication with certificate in exec-credentials

Note: Breaking changes

  • Deleted resources in Kubernetes 1.29.0 flowcontrol.apiserver.k8s.io/v1alpha1, please migrate to flowcontrol.apiserver.k8s.io/v1 resources (available via client.flowControl().v1() DSL)
    • io.fabric8.kubernetes.api.model.flowcontrol.v1alpha1.FlowSchema removed
    • io.fabric8.kubernetes.api.model.flowcontrol.v1alpha1.PriorityLevelConfiguration removed
  • ClusterCIDR has been removed from Kubernetes 1.29.0 Networking Model
    • io.fabric8.kubernetes.api.model.networking.v1alpha1.ClusterCIDR removed
    • DSL entrypoint client.network().v1alpha1().clusterCIDRs() has been removed from KubernetesClient

6.9.2 (2023-11-02)

02 Nov 14:14
b8b4ca8
Compare
Choose a tag to compare

Bugs

  • Fix #5560: bump com.marcnuri.plugins:gradle-api-maven-plugin to v0.0.5, allows compilation behind a proxy
  • Fix #5564: remove redundant lombok.Setter and lombok.experimental.Accessors annotations
  • Fix #5565: bump sundrio to 0.101.3 to fix Visitor problems

New Contributors

Full Changelog: v6.9.1...v6.9.2

6.9.1 (2023-10-26)

26 Oct 16:28
0926f38
Compare
Choose a tag to compare

What's Changed

Bugs

  • Fix #5501: (crd-generator) Fix fallback value of Default annotation in presence of multiple accessors
  • Fix #5522: type inference fixed by bumping Sundrio to 0.101.2 (see sundrio/sundrio#431)
  • Fix #5554: move certificates in kubernetes-client-api to avoid collisions with those from mockwebserver

Full Changelog: v6.9.0...v6.9.1

6.9.0 (2023-10-05)

05 Oct 16:35
b8c00eb
Compare
Choose a tag to compare

Bugs

  • Fix #5466: OperationSupport should not fail trying to parse Status
  • Fix #5382: (java-generator) Allow to deserialize more valid RFC3339 date-time and make the format customizable
  • Fix #5380: (java-generator) Avoid to emit Java Keywords as package names
  • Fix #5457: (java-generator) Correctly handle numeric enums
  • Fix #5379: ensuring informOnCondition and waitUntilCondition commple with exception when the client closes
  • Fix #5463: ensures that onStopLeading is called with releaseOnCancel even when leadership is already lost
  • Fix #5423: OkHttpClientImpl supports setting request method for empty payload requests

Improvements

  • Fix #5316: support read-only system KeyStores with Kube CA Certs
  • Fix #5327: added proactive shutdown of informers on client close
  • Fix #5432: (java-generator) Add the possibility to always emit additionalProperties on generated POJOs
  • Fix #5410: (crd-generator) added support for default
  • Fix #5368: added support for additional ListOptions fields
  • Fix #5377: added a createOr and unlock function to provide a straight-forward replacement for createOrReplace.
  • Fix #4624: added Config.onlyHttpWatches to control whether watches should only use regular HTTP requests, and not attempt WebSocket connections.
  • Fix #5388: (crd-generator) Generate deterministic CRDs
  • Fix #5135: added per instance methods to create a builder - instead on new PodBuilder(pod), you may use pod.toBuilder()
  • Fix #5257: Add ErrorStreamMessage and StatusStreamMessage to ease mocking of pods/exec requests
  • Fix #5220: refinements and clarifications to the validation of names

Dependency Upgrade

  • Fix #5286: Update Fabric8 OpenShift Model as per OpenShift 4.13.12
  • Fix #5373: Gradle base API based on v8.2.1
  • Fix #5401: Upgrade Fabric8 Kubernetes Model to Kubernetes v1.28.2

New Features

  • Fix #5430: Mock Web Server migrated to this repository

Note: Breaking changes

  • Fix #5343: Removed io.fabric8.kubernetes.model.annotation.PrinterColumn, use io.fabric8.crd.generator.annotation.PrinterColumn
  • Fix #5368: ListOptions parameter ordering is now alphabetical. If you are using non-crud mocking for lists with options, you may need to update your parameter order.
  • Fix #5391: Removed the vertx-uri-template dependency from the vertx client, if you need that for your application, then introduce your own dependency.
  • Fix #5220: KubernetesResourceUtil.isValidLabelOrAnnotation has been deprecated because the rules for labels and annotations are different

New Contributors

Full Changelog: v6.8.1...v6.9.0

6.8.1 (2023-08-14)

14 Aug 11:48
1cd1032
Compare
Choose a tag to compare

Bugs

  • Fix #5382: (java-generator) Allow to deserialize more valid RFC3339 date-time and make the format customizable
  • Fix #5380: (java-generator) Avoid to emit Java Keywords as package names

Full Changelog: v6.8.0...v6.8.1

6.8.0 (2023-07-24)

24 Jul 09:55
Compare
Choose a tag to compare

Bugs

  • Fix #4225: [crd-generator] Principled generation of enum values instead of considering more properties
  • Fix #5113: Clashing package names in trigger model dependencies
  • Fix #5186: Support for Pod uploads with big numbers
  • Fix #5221: Empty kube config file causes NPE
  • Fix #5281: Ensure the KubernetesCrudDispatcher's backing map is accessed w/lock
  • Fix #5298: Prevent requests needing authentication from causing a 403 response
  • Fix #5327: Ensured that the informer reconnect task terminates after client close

Improvements

  • Fix #5166: Remove opinionated messages from Config's errorMessages and deprecate it
  • Fix #5233: Generalized SchemaSwap to allow for cycle expansion
  • Fix #5262: all built-in collections will omit empty in their serialized form.
  • Fix #5287: Add an option to filter the files processed by the java-generator, based on a suffix allowlist
  • Fix #5293: Mock server supports KubernetesClientBuilder customization
  • Fix #5315: Introduced kubernetes-junit-jupiter-autodetect to use with automatic extension registration
  • Fix #5339: @PrinterColumn annotation has configuration field for priority

Dependency Upgrade

  • Fix #5056: Update Kubernetes Model to v1.27.3
  • Fix #5140: Upgrade Fabric8 Knative Extension Model to v0.37.1
  • Fix #5308: sundrio was updated to the latest version. FluentImpl classes were removed, along with methods that had been previously deprecated. Some seldom used builder methods dealing manipulating buildable fields as a subtype such as withXXXField were removed in favor of using more general methods such as withField.

New Features

  • Fix #5133: Support for using TokenRequest for existing ServiceAccount

Note: Breaking changes

  • Fix #2718: KubernetesResourceUtil.isResourceReady was deprecated. Use client.resource(item).isReady() or Readiness.getInstance().isReady(item) instead.
  • Fix #5171: Removed Camel-K extension, use org.apache.camel.k:camel-k-crds instead.
  • Fix #5262: Built-in resources were in-consistent with respect to their serialization or empty collections. In many circumstances this was confusing behavior. In order to be consistent all built-in resources will omit empty collections by default. This is a breaking change if you are relying on an empty collection in a json merge or a strategic merge where the list has a patchStrategy of atomic. In these circumstances the empty collection will no longer be serialized. You may instead use a json patch, server side apply instead, or modify the serialized form of the patch.
  • Fix #5279: (java-generator) Add native support for date-time fields, they are now mapped to native java.time.ZonedDateTime
  • Fix #5315: kubernetes-junit-jupiter no longer registers the NamespaceExtension and KubernetesExtension extensions to be used in combination with junit-platform.properties>junit.jupiter.extensions.autodetection.enabled=trueconfiguration. If you wish to use these extensions and autodetect them, change your dependency to kubernetes-junit-jupiter-autodetect.
  • Deprecating io.fabric8.kubernetes.model.annotation.PrinterColumn in favor of: io.fabric8.crd.generator.annotation.PrinterColumn
  • Resource classes in resource.k8s.io/v1alpha1 have been moved to resource.k8s.io/v1alpha2 apiGroup in Kubernetes 1.27. Users are required to change package of the following classes:
    • io.fabric8.kubernetes.api.model.resource.v1alpha1.PodSchedulingContext -> - io.fabric8.kubernetes.api.model.resource.v1alpha2.PodSchedulingContext
    • io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaim -> - io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaim
    • io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClaimTemplate -> io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClaimTemplate
    • io.fabric8.kubernetes.api.model.resource.v1alpha1.ResourceClass -> io.fabric8.kubernetes.api.model.resource.v1alpha2.ResourceClass

New Contributors

Full Changelog: v6.7.2...v6.8.0

6.7.2 (2023-06-15)

15 Jun 16:43
Compare
Choose a tag to compare

Bugs

  • Fix #4225: Enum fields written in generated crd yaml
  • Fix #5194: prevented NPEs due to timing issues with KubernetesClient.visitResources
  • Fix #5214: null values are omitted by default, which means custom resources by in large won't need JsonIncludes annotations. The only time that is required is when null is to be preserved via @JsonInclude(value = Include.ALWAYS) on the relevant field.
  • Fix #5218: No export for io.fabric8.tekton.triggers.internal.knative.pkg.apis.duck.v1beta1 in tekton v1beta1 triggers model
  • Fix #5224: Ensuring jetty sets the User-Agent header
  • Fix #5229: Correcting the timeout units and behavior of withReadyWaitTimeout
  • Fix #5235: Vert.x doesn't need to track derived HttpClients - prevents leakage
  • Fix #5236: using scale v1beta1 compatible logic for DeploymentConfig
  • Fix #5238: Preserve folder structure again in PodUpload.upload()
  • Fix #5250: HttpLoggingInterceptor uses response body ByteBuffer copy

New Contributors

Full Changelog: v6.7.1...v6.7.2