Releases: fabric8io/kubernetes-client
Releases Β· fabric8io/kubernetes-client
5.7.2 (2021-09-02)
Dependency Upgrade
- Fix: Revert #3427 bump jandex from 2.3.1.Final to 2.4.0.Final
5.7.1 (2021-09-01)
5.7.0 (2021-08-12)
Bugs
- Fix #3325: All Cluster Scoped Kubernetes resources should use NonNamespacedOperation
- Fix #3346: https configuration ignored for OpenShiftServer in CRUD mode
- Fix #3347: OpenShiftConfig missing some configurations from provided Config
- Fix #3379: using updateStatus rather than patchStatus in the Raw logic
Improvements
- Fix #3316: allow locking deletion to resource version
- Fix #3350: Replace references to impls with interfaces in several places in the the dsl
- Fix #3327: Removed generated ResourceHandlers
- Fix #3349: ensuring that dsl context values always are applied over user ListOptions
- Fix #3372: Add generatePackageSuffix option to Model Generator to allow flexible package names for generated model
- Fix #3336: Add ConversionReview in Kubernetes API Extensions model
- Fix #3367: Let CRDGenerator clients handle output (#3366, #3371)
New Features
- Fix #3380: Update chaos-mesh extension to v1.2.3. Add AwsChaos.
Note: Breaking changes in the API
DSL Changes:
- #3327 DSL methods mentioning customResources have been deprecated:
KubernetesClient.customResources
,SharedIndexInformerFactory.sharedIndexInformerForCustomResource
. See replacement resources and sharedIndexInformerFor methods instead. AlsoCustomeResourceDefinitionContext
has been replaced byResourceDefinitionContext
- for example inKubernetesClient.genericKubernetesResources
. - #3358 DSL return type replacements -
NamespacedCreateOnlyResourceOperationsImpl
has been replaced byNamespacedInOutCreateable
,ImageSignatureOperationsImpl
has been replaced byNameableCreateOrDeleteable
- #3364
VisitFromServerGetWatchDeleteRecreateWaitApplicable
now implementsEditable
to replace theVisitable
methods.ApplicableAnd
andRecreatable
have also been deprecated. - #3386
KubernetesClient.customResource(CustomResourceDefinitionContext)
has been deprecated. Please use the GenericKubernetesResource viaKubernetesClient.genericKubernetesResource(ResourceDefinitionContext)
5.6.0 (2021-07-21)
Bugs
- Fix #3304: Prevent NPE in after informer stop
- Fix #3083: CertificateException due to PEM being decoded in CertUtils
- Fix #3295: Fix wrong kind getting registered in KubernetesDeserializer in SharedInformerFactory
- Fix #3318: Informer relist add/update should not always be sync events
- Fix #3328: Allow for generic watches of known types
- Fix #3240: MicroTime serialises incorrectly; add custom serializer/deserializer for MicroTime
- Fix #3329: Moved the parsing of resource(String) to the common base client
- Fix #3330: Added usage of the openshift specific handlers for resource(String/HasMetadata) to pickup the right Readiness
Improvements
- Fix #3285: adding waiting for list contexts
Informable.informOnCondition
- Fix #3284: refined how builders are obtained / used by HasMetadataOperation
- Fix #3314: Add more detailed information about what is generated by the CRD generator
- Fix #3307: refined the support for
Readiable.isReady
- Fix #2887: Create Docker Registry secrets
- Fix #3314: add detailed information on CRD generation
Dependency Upgrade
- Fix #3290: Update Tekton Pipeline Model to v0.25.0
New Features
- Fix #3291: Retrying the HTTP operation in case of IOException too
- Fix #2712: Add support for watching logs in multi-container Controller resources (Deployments, StatefulSets, ReplicaSet etc)
Note: Breaking changes in the API
DSL Changes:
- #3307
Readiable.isReady
returns a boolean rather than a Boolean
5.5.0 (2021-06-30)
Bugs
- Fix #3064: KubernetesMockServer should not read local
.kube/config
while initializing client - Fix #3126: a KubernetesClientException will be thrown from patch/replace rather than a null being returned when the item does not exist
- Fix #3121: ServiceOperationImpl replace will throw a KubernetesClientException rather than a NPE if the item doesn't exist
- Fix #3189: VersionInfo contains null data in OpenShift 4.6
- Fix #3190: Ignore fields with name "-" when using the Go to JSON schema generator
- Fix #3144: walking back the assumption that resource/status should be a subresource for the crud mock server, now it will be only if a registered crd indicates that it should be
- Fix #3194: the mock server will now infer the namespace from the path
- Fix #3076: the MetadataObject for CustomResource is now seen as Buildable
- Fix #3216: made the mock server aware of apiVersions
- Fix #3225: Pod metric does not have corresponding label selector variant
- Fix #3243: pipes provided to exec command are no longer closed on connection close, so that client can fully read the buffer after the command finishes.
- Fix #3272: prevent index npe after informer sees an empty list
- Fix #3275: filter related dsl methods withLabel, withField, etc. should not modify the current context. If you need similar behavior to the previous use
Filterable.withNewFilter
. - Fix #3271: waitUntilReady and waitUntilCondition should handle resource too old
- Fix #3278:
Waitable
methods should not be available at a list context
Improvements
- Fix #3078: adding javadocs to further clarify patch, edit, replace, etc. and note the possibility of items being modified.
- Fix #3149: replace(item) will consult the item's resourceVersion for the first PUT attempt when not specifically locked on a resourceVersion
- Fix #3135: added mock crud support for patch status, and will return exceptions for unsupported patch types
- Fix #3072: various changes to refine how threads are handled by informers. Note that the SharedInformer.run call is now blocking when starting the informer.
- Fix #3143: a new SharedInformerEventListener.onException(SharedIndexInformer, Exception) method is available to determine which informer could not start.
- Fix #3170: made HttpClientUtils.createHttpClient(Config, Consumer<OkHttpClient.Builder>) public to allow overriding custom http client properties
- Fix #3202: make pod upload connection and request timeouts configurable
- Fix #3185: Introduce GenericKubernetesResource, used as delegate in RawCustomResourceOperationsImpl
- Fix #3001: WatchConnectionManager logs that provide little information are now logged at a lower level
- Fix #3186: WebSockets and HTTP connections are closed as soon as possible for Watches.
- Fix #2937: Add
SharedInformerFactory#getExistingSharedIndexInformers
method to return list of registered informers - Fix #3239: Add the
Informable
interface for context specific dsl methods to createSharedIndexInformer
s. - Fix #3101: making isWatching a health check for the informer
Dependency Upgrade
- Fix #2741: Update Knative Model to v0.23.0
New Features
- Fix #3133: Add DSL Support for
authorization.openshift.io/v1
resources in OpenShiftClient - Fix #3166: Add DSL Support for
machineconfiguration.openshift.io/v1
resources in OpenShiftClient - Fix #3142: Add DSL support for missing resources in
operator.openshift.io
andmonitoring.coreos.com
apiGroups - Fix #2565: Add support for CertManager extension
- Fix #3150: Add DSL support for missing resources in
template.openshift.io
,helm.openshift.io
,network.openshift.io
,user.openshift.io
apigroups - Fix #3087: Support HTTP operation retry with exponential backoff (for status code >= 500)
- Fix #3193: Add DSL support for
autoscaling.openshift.io
resources in OpenShiftClient - Fix #3209: Add DSL support for PodSecurityPolicySubjectReview, PodSecurityPolicyReview, PodSecurityPolicySelfSubjectReview in
security.openshift.io/v1
apiGroup to OpenShiftClient - Fix #3207: Add DSL support for OperatorCondition, Operator, PackageManifest in
operators.coreos.com
apiGroup to OpenShiftClient - Fix #3201: Add support for
tuned.openshift.io
apiGroup in OpenShiftClient DSL - Fix #3205: Add DSL support for ConsolePlugin and ConsoleQuickStart in
console.openshift.io
apiGroup - Fix #3222: Add DSL support for
user.openshift.io/v1
Identity in OpenShiftClient DSL - Fix #3222: Add DSL support for OpenShift Whereabouts CNI Model
whereabouts.cni.cncf.io
to OpenShiftClient DSL - Fix #3224: Add DSL support for OpenShift Kube Storage Version Migrator resources in OpenShiftClient DSL
- Fix #3228: Add support for Dynamic informers for custom resources in KubernetesClient
- Fix #3270: Add DSL support for ClusterInterceptors to TektonClient
Note: Breaking changes in the API
DSL Changes:
- #3127
StatusUpdatable.updateStatus
deprecated, please use patchStatus, editStatus, or replaceStatus - #3239 deprecated methods on SharedInformerFactory directly dealing with the OperationContext, withName, and withNamespace - the Informable interface should be used instead.
- #3271
Waitable.waitUntilReady
andWaitable.waitUntilCondition
with throw a KubernetesClientTimeoutException instead of an IllegalArgumentException on timeout. The methods will also no longer throw an interrupted exception.
Waitable.withWaitRetryBackoff
and the associated constants are now deprecated.
Util Changes:
5.4.1 (2021-06-01)
5.4.0 (2021-05-19)
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
5.3.1 (2021-04-26)
Bugs
- Fix #2991: reduced the level of ReflectWatcher event recieved 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 #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 #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
4.13.3 (2021-04-22)
Bugs
- Fix: Set no_proxy in the okhttp builder in case the proxy_url is null
- Fix #3027: fix NPE when sorting events in KubernetesResourceUtil
5.3.0 (2021-04-08)
Bugs
- Fix #2620: Add support for
config.openshift.io/v1
Ingress - Fix #2784: Not able to deserialize ClusterServiceVersion
- Fix #2935: CRD generator no longer treat enum values as properties (performance)
- Fix #2812: SharedIndexInformer EventHandler sees double updates at resync interval
- Fix #2937: SharedInformerFactory#getExistingSharedIndexInformer returns null when @kind is configured
- Fix #2924: Creating a CustomResourceInfo from a class doesn't result in the expected information
- Fix #2967: Copy to/from pods: fixed error message; removed debug output
- Fix #2923: Edit a CustomResource should result in a patch
Improvements
- Fix #2950: RawCustomResourceOperationsImpl should also work with standard resources
- Fix #2938: Make it possible to manage Tekton Triggers directly
- Fix #2921: Kubernetes server mock will generate missing metadata fields
- Fix #2946: Kubernetes server mock watch will generate initial ADDED events
- Fix #2925: Add CustomResource.getShortNames(Class) method
Dependency Upgrade
- Fix #2971: Upgrade to sundrio 0.30.0