Hi All,
We are pleased to announce Fabric8 Kubernetes Client 5.4.0 was just released. You can find the release at Maven Central [1].
These are the features and fixes included in 5.4.0:
- Fix #3040: Consistently order printer columns by JSON path to prevent undue changes in generated CRDs [2]
- Fix #3041: Properly output `additionalProperties` field for Maps, output warning for unsupported complex maps [3]
- Fix #3036: Fix file descriptor leak when loading cacerts file [4]
- Fix #3038: Upgrade TLS versions in mock servers to 1.2. [5]
- Fix #3037: Account for JsonProperty annotations when computing properties' name [6]
- Fix #3014: Resync Future is canceled and resync executor is shutdown on informer stop [7]
- Fix #2529: SelfSubjectAccessReview not working with OpenShiftClient [8]
- Fix #2978: Fix SharedInformer NPE on initial requests while syncing [9]
- Fix #2989: serialization will generate valid yaml when using subtypes [10]
- Fix #2991: reduced the level of ReflectWatcher event received log [11]
- Fix #2992: allowing Watch auto-reconnect for shared informers [12]
- Fix #2994: updating the SharedIndexInformer indexer state for a delete event generated by resync [13]
- Fix #2996: Generating CRDs from the API should now properly work [14]
- Fix #3000: Set `no_proxy` in the okhttp builder in case the `proxy_url` is null [15]
- Fix #3011: properly handle enum types for additional printer columns [16]
- Fix #3020: annotations should now properly have their associated values when processing CRDs from the API [17]
- Fix #3016: Use scheduleWithFixedDelay for resync task execution [18]
- Fix #2991: reduced the level of ReflectWatcher event received log [19]
- Fix #3027: fix NPE when sorting events in KubernetesResourceUtil [20]
- Fix #3054: missing entry for Trigger in TektonTriggersResourceMappingProvider [21]
- Fix #3047: NPE when getting version when there is no build date [22]
- Fix #3024: stopAllRegisteredInformers will not call startWatcher [23]
- Fix #3067: Added a patch(PatchContext, item) operation to be more explicit about patching and diffing behavior [24]
- Fix #3097: refresh token with autoconfigure even if authprovider is null [25]
- Fix #2788: Support FIPS mode in kubernetes-client with BouncyCastleFipsProvider [26]
- Fix #2910: Move crd-generator tests from kubernetes-itests to kubernetes-tests [27]
- Fix #3005: Make it possible to select which CRD version is generated / improve output [28]
- Fix #3015: Thread interruption in a nominal case (like closing the client) are now logged in debug [29]
- Fix #3057: Removed debug calls for CustomResource during deserialization [30]
- Fix #3050: More enforcement of the informer lifecycle [31]
- Fix #3061: Removed the deltafifo from the informer logic [32]
- Fix #3081: Use apiGroupName in generated package for OpenShiftClient Handler/OperationsImpl classes [33]
- Fix #3089: Allowing patch/edit to infer context from the item [34]
- Fix #3066: Added replaceStatus (PUT), editStatus (JSON PATCH), and patchStatus (JSON MERGE PATCH) methods to support non-locking status updates [35]
- Fix #2979: Update Kubernetes Model to v1.21.0 [36]
- Fix #3099: Update Tekton Triggers Model to v0.13.0 [37]
- Fix #3118: Update to sundrio 0.40.1 [38]
- Fix #2984: Add support for `
flowcontrol.apiserver.k8s.io/v1beta1` FlowSchema and PriorityLevelConfiguration [39]
- Fix #2980: Add DSL Support for `apps/v1#ControllerRevision` resource [40]
- Fix #2981: Add DSL support for `
storage.k8s.io/v1beta1` CSIDriver, CSINode and VolumeAttachment [41]
- Fix #2912: Add DSL support for `
storage.k8s.io/v1beta1` CSIStorageCapacity [42]
- Fix #2701: Better support for patching in KuberntesClient [43]
- Fix #3034: Added a SharedInformer.isRunning method [44]
- Fix #3088: mock server will assume /status is a subresource, and other refinements to match kube behavior [45]
- Fix #3111: Add DSL Support for `
config.openshift.io/v1` resources in OpenShiftClient [46]
- `client.batch().jobs()` deprecated, suggestion to move to `client.batch().v1().jobs()`
- `client.batch().cronjobs()` deprecated, suggestion to move to `client.batch().v1().cronjobs()` or `client.batch().v1beta1().cronjobs()`
- `client.policy().podSecurityPolicies()` deprecated, suggestion to move to `client.policy().v1beta1().podSecurityPolicies()`
- `client.policy().podDisruptionBudget()` deprecated, suggestion to move to `client.policy().v1().podDisruptionBudget()` or `client.policy().v1beta1().podDisruptionBudget()`
- Classes in `io.fabric8.kubernetes.api.model.batch` have been moved to `io.fabric8.kubernetes.api.model.batch.v1` and `io.fabric8.kubernetes.api.model.batch.v1beta1`
- Classes in `io.fabric8.kubernetes.api.model.policy` have been moved to `io.fabric8.kubernetes.api.model.policy.v1` and `io.fabric8.kubernetes.api.model.policy.v1beta1`
Your feedback is highly appreciated, you can provide it replying to the mailing list or through the usual channels. [47] [48]
[1]
https://repo1.maven.org/maven2/io/fabric8/kubernetes-client/5.4.0/[2]
https://github.com/fabric8io/kubernetes-client/issues/3040[3]
https://github.com/fabric8io/kubernetes-client/issues/3041[4]
https://github.com/fabric8io/kubernetes-client/issues/3036[5]
https://github.com/fabric8io/kubernetes-client/issues/3038[6]
https://github.com/fabric8io/kubernetes-client/issues/3037[7]
https://github.com/fabric8io/kubernetes-client/issues/3014[8]
https://github.com/fabric8io/kubernetes-client/issues/2529[9]
https://github.com/fabric8io/kubernetes-client/issues/2978[10]
https://github.com/fabric8io/kubernetes-client/issues/2989[11]
https://github.com/fabric8io/kubernetes-client/issues/2991[12]
https://github.com/fabric8io/kubernetes-client/issues/2992[13]
https://github.com/fabric8io/kubernetes-client/issues/2994[14]
https://github.com/fabric8io/kubernetes-client/issues/2996[15]
https://github.com/fabric8io/kubernetes-client/issues/3000[16]
https://github.com/fabric8io/kubernetes-client/issues/3011[17]
https://github.com/fabric8io/kubernetes-client/issues/3020[18]
https://github.com/fabric8io/kubernetes-client/issues/3016[19]
https://github.com/fabric8io/kubernetes-client/issues/2991[20]
https://github.com/fabric8io/kubernetes-client/issues/3027[21]
https://github.com/fabric8io/kubernetes-client/issues/3054[22]
https://github.com/fabric8io/kubernetes-client/issues/3047[23]
https://github.com/fabric8io/kubernetes-client/issues/3024[24]
https://github.com/fabric8io/kubernetes-client/issues/3067[25]
https://github.com/fabric8io/kubernetes-client/issues/3097[26]
https://github.com/fabric8io/kubernetes-client/issues/2788[27]
https://github.com/fabric8io/kubernetes-client/issues/2910[28]
https://github.com/fabric8io/kubernetes-client/issues/3005[29]
https://github.com/fabric8io/kubernetes-client/issues/3015[30]
https://github.com/fabric8io/kubernetes-client/issues/3057[31]
https://github.com/fabric8io/kubernetes-client/issues/3050[32]
https://github.com/fabric8io/kubernetes-client/issues/3061[33]
https://github.com/fabric8io/kubernetes-client/issues/3081[34]
https://github.com/fabric8io/kubernetes-client/issues/3089[35]
https://github.com/fabric8io/kubernetes-client/issues/3066[36]
https://github.com/fabric8io/kubernetes-client/issues/2979[37]
https://github.com/fabric8io/kubernetes-client/issues/3099[38]
https://github.com/fabric8io/kubernetes-client/issues/3118[39]
https://github.com/fabric8io/kubernetes-client/issues/2984[40]
https://github.com/fabric8io/kubernetes-client/issues/2980[41]
https://github.com/fabric8io/kubernetes-client/issues/2981[42]
https://github.com/fabric8io/kubernetes-client/issues/2912[43]
https://github.com/fabric8io/kubernetes-client/issues/2701[44]
https://github.com/fabric8io/kubernetes-client/issues/3034[45]
https://github.com/fabric8io/kubernetes-client/issues/3088[46]
https://github.com/fabric8io/kubernetes-client/issues/3111[47]
https://github.com/fabric8io/kubernetes-client[48]
https://gitter.im/fabric8io/kubernetes-client