Bugs
- Fix #3040: Consistently order printer columns by JSON path to prevent undue changes in generated CRDs
- Fix #3041: Properly output
additionalProperties
field for Maps, output warning for unsupported complex maps - Fix #3036: Fix file descriptor leak when loading cacerts file
- Fix #3038: Upgrade TLS versions in mock servers to 1.2.
- Fix #3037: Account for JsonProperty annotations when computing properties' name
- Fix #3014: Resync Future is canceled and resync executor is shutdown on informer stop
- Fix #2529: SelfSubjectAccessReview not working with OpenShiftClient
- Fix #2978: Fix SharedInformer NPE on initial requests while syncing
- Fix #2989: serialization will generate valid yaml when using subtypes
- Fix #2991: reduced the level of ReflectWatcher event received log
- Fix #2992: allowing Watch auto-reconnect for shared informers
- Fix #2994: updating the SharedIndexInformer indexer state for a delete event generated by resync
- Fix #2996: Generating CRDs from the API should now properly work
- Fix #3000: Set
no_proxy
in the okhttp builder in case theproxy_url
is null - Fix #3011: properly handle enum types for additional printer columns
- Fix #3020: annotations should now properly have their associated values when processing CRDs from the API
- Fix #3016: Use scheduleWithFixedDelay for resync task execution
- Fix #2991: reduced the level of ReflectWatcher event received log
- Fix #3027: fix NPE when sorting events in KubernetesResourceUtil
- Fix #3054: missing entry for Trigger in TektonTriggersResourceMappingProvider
- Fix #3047: NPE when getting version when there is no build date
- Fix #3024: stopAllRegisteredInformers will not call startWatcher
- Fix #3067: Added a patch(PatchContext, item) operation to be more explicit about patching and diffing behavior
- Fix #3097: refresh token with autoconfigure even if authprovider is null
Improvements
- Fix #2788: Support FIPS mode in kubernetes-client with BouncyCastleFipsProvider
- Fix #2910: Move crd-generator tests from kubernetes-itests to kubernetes-tests
- Fix #3005: Make it possible to select which CRD version is generated / improve output
- Fix #3015: Thread interruption in a nominal case (like closing the client) are now logged in debug
- Fix #3057: Removed debug calls for CustomResource during deserialization
- Fix #3050: More enforcement of the informer lifecycle
- Fix #3061: Removed the deltafifo from the informer logic
- Fix #3081: Use apiGroupName in generated package for OpenShiftClient Handler/OperationsImpl classes
- Fix #3089: Allowing patch/edit to infer context from the item
- Fix #3066: Added replaceStatus (PUT), editStatus (JSON PATCH), and patchStatus (JSON MERGE PATCH) methods to support non-locking status updates
Dependency Upgrade
- Fix #2979: Update Kubernetes Model to v1.21.0
- Fix #3099: Update Tekton Triggers Model to v0.13.0
- Fix #3118: Update to sundrio 0.40.1
New Features
- Fix #2984: Add support for
flowcontrol.apiserver.k8s.io/v1beta1
FlowSchema and PriorityLevelConfiguration - Fix #2980: Add DSL Support for
apps/v1#ControllerRevision
resource - Fix #2981: Add DSL support for
storage.k8s.io/v1beta1
CSIDriver, CSINode and VolumeAttachment - Fix #2912: Add DSL support for
storage.k8s.io/v1beta1
CSIStorageCapacity - Fix #2701: Better support for patching in KuberntesClient
- Fix #3034: Added a SharedInformer.isRunning method
- Fix #3088: mock server will assume /status is a subresource, and other refinements to match kube behavior
- Fix #3111: Add DSL Support for
config.openshift.io/v1
resources in OpenShiftClient
Note: Breaking changes in the API
DSL Changes:
client.batch().jobs()
deprecated, suggestion to move toclient.batch().v1().jobs()
client.batch().cronjobs()
deprecated, suggestion to move toclient.batch().v1().cronjobs()
orclient.batch().v1beta1().cronjobs()
client.policy().podSecurityPolicies()
deprecated, suggestion to move toclient.policy().v1beta1().podSecurityPolicies()
client.policy().podDisruptionBudget()
deprecated, suggestion to move toclient.policy().v1().podDisruptionBudget()
orclient.policy().v1beta1().podDisruptionBudget()
Model Changes:
- Classes in
io.fabric8.kubernetes.api.model.batch
have been moved toio.fabric8.kubernetes.api.model.batch.v1
andio.fabric8.kubernetes.api.model.batch.v1beta1
- Classes in
io.fabric8.kubernetes.api.model.policy
have been moved toio.fabric8.kubernetes.api.model.policy.v1
andio.fabric8.kubernetes.api.model.policy.v1beta1