Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency io.fabric8:kubernetes-client to v6 #287

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mend-for-github-com[bot]
Copy link

@mend-for-github-com mend-for-github-com bot commented Jun 16, 2024

This PR contains the following updates:

Package Type Update Change
io.fabric8:kubernetes-client compile major 4.8.0 -> 6.9.1

By merging this PR, the below issues will be automatically resolved and closed:

Severity CVSS Score CVE GitHub Issue
Critical 9.8 CVE-2022-1471 #162
High 7.5 CVE-2017-18640 #4
High 7.5 CVE-2022-25857 #141

By merging this PR, the below issues will be automatically resolved and closed:

Severity CVSS Score CVE GitHub Issue
High 7.5 CVE-2023-3635 #231

Release Notes

fabric8io/kubernetes-client (io.fabric8:kubernetes-client)

v6.9.1

Compare Source

Bugs

v6.9.0

Compare Source

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

v6.8.1

Compare Source

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

v6.8.0

Compare Source

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

v6.7.2

Compare Source

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

v6.7.1

Compare Source

Bugs
  • Fix #​5200: KubernetesSerialization.registerKubernetesResource(Class) reuses KubernetesDeserializer.Mapping.addMapping which is better supported when manually registering KubernetesResource classes
  • Fix #​5202: OkHttp needs to default to unlimited read timeout so that log watches and http watches do not time out

v6.7.0

Compare Source

Bugs
  • Fix #​5117: corrected the trace httpclient logging of large response bodies
  • Fix #​5125: TLS 1.3 only should be supported
  • Fix #​5126: fallback to changeit only if null/empty does not work
  • Fix #​5145: (java-generator) handle additionalProperties: true emitting a field of type AnyType
  • Fix #​5152: preventing JDK WebSocket errors from terminating watches and improving watch termination and its logging
  • Fix #​5164: (java-generator) handle more special characters in field names
Improvements
  • Fix #​1335: HttpClient Factory additionalConfig consistently applied for all client types
Dependency Upgrade
  • Fix #​4989: Upgrade Tekton Model to v0.47.0
  • Fix #​5107: The Camel-k extension has been deprecated in favor of the official release of the generated one
New Features
  • Fix #​4184: Add utility methods for creating ConfigMap from files/directories in KubernetesResourceUtil
  • Fix #​4829: Gradle Plugin for Java Generation from CRD
  • Fix #​5086: Allow for supporting socks proxies via proxy urls with the socks4 or socks5 protocol. Note that the JDK client does not support socks, and the Jetty client does not support socks5
Note: Breaking changes
  • Fix #​4911: Config/RequestConfig.scaleTimeout has been deprecated along with Scalable.scale(count, wait) and DeployableScalableResource.deployLatest(wait). withTimeout may be called before the operation to control the timeout.
  • Fix #​4911: Config/RequestConfig.websocketTimeout has been removed. Config/RequestConfig.requestTimeout will be used for websocket connection timeouts.
  • Fix #​4911: HttpClient api/building changes - writeTimeout has been removed, readTimeout has moved to the HttpRequest
  • Fix #​4662: removed deprecated classes/methods: ReflectUtils, ReplaceValueStream, ParameterNamespaceListVisitFromServerGetDeleteRecreateWaitApplicable, ResourceCompare, and Serialization methods taking parameters
  • Fix #​4662: deprecated serialization static logic: several IOHelpers methods, Serialization methods, such as access to the static jsonMapper. Please use KubernetesSerialization methods instead.
  • Fix #​4662: deprecated Helper.getAnnotationValue, use HasMetadata methods instead.
  • Fix #​5125: support for TLSv1.3 is now enabled by default
  • Fix #​5125: usage of TlsVersion.TLS_1_1, TLS_1_0, and SSL_3_0 have been deprecated
  • Fix #​1335: The JDK and OkHttp clients will default to using the VM's standard configuration for proxies if an applicable proxy configuration is not found in the Kubernetes client Config

v6.6.2

Compare Source

Bugs

Fix #​5121: RequestConfig is propagated to derived HttpClient instances

v6.6.1

Compare Source

Bugs
  • Fix #​5095: moving the enforcement of requestTimeout
  • Fix #​5100: lessened the level of the non-conflicting httpclient implementation warning
  • Fix #​5102: wait on scale to 0 was not completing
  • Fix #​5112: Expose put method with InputStream argument in HttpRequest class

v6.6.0

Compare Source

Bugs
  • Fix #​4793: (java-generator) Fix broken POJO generation when two schema properties collide into a single field name
  • Fix #​4802: config.refresh() erases token specified when building initial config
  • Fix #​4910: Pod file upload will now detect if it's not completely sent to the api server
  • Fix #​4963: Openshift Client return 403 when use websocket
  • Fix #​4985: triggering the immediate cleanup of the okhttp idle task
  • Fix #​4988: Ensuring that previous requests are closed before retry
  • Fix #​4993: Quantity class should have @​JsonIgnore on the additionalProperties parameter
  • Fix #​5000: Remove clashing v1alpha apigroup packages in istio-model-v1beta1
  • Fix #​5002: Jetty response completion accounts for header processing
  • Fix #​5009: addressing issue with serialization of wrapped polymorphic types
  • Fix #​5015: executing resync as a locking operation to ensure resync event ordering
  • Fix #​5020: updating the resourceVersion on a delete with finalizers
  • Fix #​5033: port forwarding for clients other than okhttp needs to specify the subprotocol
  • Fix #​5035: allowed client.authentication.k8s.io/v1 to work for the ExecConfig
  • Fix #​5036: Better websocket error handling for protocol / client enforced errors, also update frame/message limits
  • Fix #​5044: disable Vert.x instance file caching
  • Fix #​5059: Vert.x InputStreamReader uses an empty Buffer sentinel to avoid NPE
  • Fix #​5085: Vert.x HTTP Client InputStreamReadStream works in Native mode
Improvements
  • Fix #​4434: Update CronJobIT to use batch/v1 CronJob instead
  • Fix #​4477: exposing LeaderElector.release to force an elector to give up the lease
  • Fix #​4935: improve HTTP client implementation selection messages
  • Fix #​4975: exposing scale operations for all Resources
  • Fix #​4992: Optimize Quantity parsing to avoid regex overhead
  • Fix #​4998: removing the internal usage of the Serialization yaml mapper
  • Fix #​5005: status operations use the context subresource setting
  • Fix #​5022: adding additional buffering to ExecWatchInputStream
  • Fix #​5052: add Quantity.fromNumericalAmount, the inverse of getNumericalAmount
  • Fix #​5073: NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl extends ServerSideApplicable
  • Fix #​5080: minimizing debug logs related to the backoff interval
Dependency Upgrade
  • Fix #​5006: Bump BouncyCastle to 1.72
  • Fix #​5006: Use BouncyCastle JDK 1.8 compatible jars
New Features
  • Fix #​5037: OkHttp-specific logging interceptor replacement. Introducing a generic HTTP interceptor to log HTTP and WS requests.
  • Fix #​5041: exposed Client.raw methods for arbitrary calls
Note: Breaking changes
  • Fix #​4875: Removed unused options from the java-generator
  • Fix #​4910: all Pod file uploads require commons-compress
  • Fix #​4998: Serialization.yamlMapper and Serialization.clearYamlMapper have been deprecated

v6.5.1

Compare Source

Bugs
  • Fix #​4960: NPE in OpenIDConnectionUtils if idp-certificate-authority-data absent in auth-provider config
  • Fix #​4970: OpenShiftOAuthInterceptor should not refresh on 403 response code
  • Fix #​4981: Prevent StackOverflowError in Vert.x HttpClient caused by fast InputStream buffer extraction

v6.5.0

Compare Source

Bugs
  • Fix #​4723: (java-generator) Fix a race in the use of JavaParser hitting large CRDs
  • Fix #​4784: json-schema draft-05 is a (404). Updating to draft-07 (http://json-schema.org/draft-07/schema#)
  • Fix #​4791: handle the NullPointerException in Thread.currentThread().getContextClassLoader()
  • Fix #​4794: improving the semantics of manually calling informer stop
  • Fix #​4797: OkHttpClientFactory.additionalConfig can be used to override the default OkHttp Dispatcher
  • Fix #​4798: fix leader election release on cancel
  • Fix #​4803: Windows .kube/config file with spaces in command can be deserialized
  • Fix #​4815: (java-generator) create target download directory if it doesn't exist
  • Fix #​4818: (java-generator) Escape */ in generated JavaDocs
  • Fix #​4823: (java-generator) handle special characters in field names
  • Fix #​4832: NO_PROXY can match cidr with bit suffix <10
  • Fix #​4846: allowed for pod read / copy operations to distinguish when the target doesn't exist
  • Fix #​4851: adding buffer cloning to ensure buffers cannot be modified after sending
  • Fix #​4885: addresses a potential hang in the jdk client with exec stream reading
  • Fix #​4888: narrowing where the 0 initial list resourceVersion is used for informers - in particular if a limit is set or initialState is used, then we should not use 0. Additionally for the informOnCondition / wait methods we'll also not use 0 - it's not expected that the user should test any state prior to the latest.
  • Fix #​4891: address vertx not completely reading exec streams
  • Fix #​4899: BuildConfigs.instantiateBinary().fromFile() does not time out
  • Fix #​4908: using the response headers in the vertx response
  • Fix #​4910: addressing inconsistent behavior with pod exec operations
  • Fix #​4923: addressing inconsistent behavior with pod exec operations
  • Fix #​4928: allows non-okhttp clients to handle invalid status
  • Fix #​4931: using coarse grain locking for all mock server operations
  • Fix #​4947: typo in HttpClient.Factory scoring system logic
  • Fix #​4954: disabling expect continue support by default in the jdk client
Improvements
  • Fix #​4675: adding a fully client side timeout for informer watches
  • Fix #​3805: DeletionTimestamp and Finalizer support in Mock server.
  • Fix #​4638: adding a way to set the full object meta on a leadership election lock, this can be used to set owner references
  • Fix #​4644: generate CRDs in parallel and optimize code
  • Fix #​4659: added a generic support(apiversion, kind) method in addition to the class based check
  • Fix #​4724: Private configuration classes cause trouble with Java native (reflection)
  • Fix #​4739: honor optimistic concurrency control semantics in the mock server for PUT and PATCH requests.
  • Fix #​4747: migrate to SnakeYAML Engine
  • Fix #​4788: moved retry logic into the standard client so that it applies to all requests, including websockets
  • Fix #​4795: don't print warning message when service account token property is unset
  • Fix #​4800: (java-generator) Reflect the scope field when implementing the Namespaced interface
  • Fix #​4853: adding a wait on the pod for log operations
  • Fix #​4848: Vert.x async DNS resolver is disabled
  • Fix #​4863: default HttpClient retry logic to 100ms interval
  • Fix #​4863: default HttpClient retry logic to 10 attempts
  • Fix #​4865: (java-generator) performance improvements
  • Fix #​4873: Update all samples in kubernetes-examples/ module to use up to date code
  • Fix #​4906: URLFromIngressImpl considers Ingress in networking.k8s.io apiGroup while resolving Ingress
Dependency Upgrade
  • Fix #​4655: Upgrade Fabric8 Kubernetes Model to Kubernetes v1.26.0
  • Fix #​4804: Update Kubernetes Model GatewayApi to v0.6.0
  • Fix #​4804: Update CertManager Model to v1.11.0
New Features
  • Fix #​4758: added support for pod ephemeral container operations
  • Fix #​4929: added support for kustomize api v1beta1
Note: Breaking changes
  • Fix #​4708: The signature of the Interceptor methods changed to pass the full HttpRequest, rather than just the headers, and explicitly pass request tags - in particular the RequestConfig. To simplify authentication concerns the following fields have been removed from RequestConfig: username, password, oauthToken, and oauthTokenProvider. Not all HttpClient implementation support setting the connectionTimeout at a request level, thus it was removed from the RequestConfig as well.
  • Fix #​4659: The SupportTestingClient interface has been deprecated. Please use one of the supports methods or getApiGroup to determine what is available on the api server.
  • Fix #​4802: to ease developer burden, and potentially bad behavior with the vertx client, the callbacks for Watcher and ResourceEventHandler will no longer be made by an HttpClient thread, but rather from the thread pool associated with the KubernetesClient. Please ensure that if you are customizing the Executor supplied to the client that it has sufficient threads to handle these callbacks.
  • Fix #​4825: removed or deprecated/moved methods that are unrelated to the rolling timeout from ImageEditReplacePatchable. Deprecated rollout methods for timeout and edit - future versions will not support
  • Fix #​4826: removed RequestConfig upload connection and rolling timeouts. Both were no longer used with no plans to re-introduce their usage.
  • Fix #​4861: several breaking changes related to resourceVersion handling and the replace operation:
    • replace is deprecated, you should use update instead. If you set the resourceVersion to null it will not be optimistically locked.
    • createOrReplace is deprecated, you should use server side apply instead.
    • edit uses now optimistic locking by default. To disable locking you should change your methods to follow this pattern: .edit(pod -> new PodBuilder(pod).editMetadata().withResourceVersion(null)//...
    • JSON patch methods using an item for the diff generation such as edit or patch will no longer omit the resourceVersion in the patch. If you want the patch to be unlocked, then set the resourceVersion to null on the item to be patched.
    • internal logic to mimic an apply that modify an item prior to a JSON patch is deprecated - you should instead build the item to be patched off of base version, such as with the edit method.
Note: Deprecations
  • Fix #​4875: Deprecated all the java-generator options identified for deletion in a following release

v6.4.1

Compare Source

Bugs
  • Fix #​4795: don't print warning message when service account token property is unset
  • Fix #​4809: VertxHttpClientBuilder is public
  • Fix #​4811: HttpClient.Factory instances can be prioritized

v6.4.0

Compare Source

Bugs
  • Fix #​4249: prevent the over-logging of errors after the websocket has been closed
  • Fix #​4563: fallback to current class-loader when looking for HttpClient implementations
  • Fix #​4650: allowing for comments at the end of certificate files
  • Fix #​4668: use acme.cert-manager.io ApiGroup for Orders and Challenges
  • Fix #​4726: prevent the over-logging of errors after the websocket has been closed
  • Fix #​4729: ensuring CompletableFuture cancel will close / cancel the underlying resource
  • Fix #​4735: StandardHttpClient sends Expect 100-continue header value
Improvements
  • Fix #​4622: Java Generator Maven Plugin can use CRDs from remote URLs
  • Fix #​4633: provided inline access to all RunConfig builder methods via run().withNewRunConfig()
  • Fix #​4637: all pod operations that require a ready / succeeded pod may use withReadyWaitTimeout, which supersedes withLogWaitTimeout.
  • Fix #​4654: Fix GatewayClass to not implement Namespaced interface
  • Fix #​4670: the initial informer listing will use a resourceVersion of 0 to utilize the watch cache if possible. This means that the initial cache state when the informer is returned, or the start future is completed, may not be as fresh as the previous behavior which forced the latest version. It will of course become more consistent as the watch will already have been established.
  • Fix #​4694: (java-generator) Option to override the package name of the generated code.
  • Fix #​4698: changes were made to improve authentication logic. If a username and password are specified and you are using a base KuberentesClient, then that will always be used as a basic auth header value. If a username and password are specified and you are using an OpenShiftClient, then a token will still be used if present, but upon an auth failure the username and password will be used to obtain a fresh token. If a new token is obtained it will be saved in the kubeconfig if one were used to create the Config.
  • Fix #​4720: interceptors close any response body if the response is not a 2xx response.
  • Fix #​4734: @​KubernetesTest annotation can be used in base test classes
  • Fix #​4734: @​KubernetesTest creates an ephemeral Namespace optionally (can opt-out)
New Features
  • Fix #​2764: Vert.x HttpClient implementation
Note: Breaking changes
  • Fix #​3972: deprecated Parameterizable and methods on Serialization accepting parameters - that was only needed as a workaround for non-string parameters. You should instead include those parameter values in the map passed to processLocally.
  • Fix #​3972: OpenShiftClient.load will no longer implicitly process templates. Use OpenShiftClient.templates().load instead.
  • Fix #​3972: WARNING: future client versions will not provide the static yaml and json ObjectMappers on Serialization.
  • Fix #​4574: fromServer has been deprecated - it no longer needs to be called. All get() operations will fetch the resource(s) from the api server. If you need the context item that was passed in from a resource, load, or resourceList methods, use the item or items method.
  • Fix #​4633: client.run().withRunConfig was deprecated. Use withNewRunConfig instead.
  • Fix #​4663: Config.maxConcurrentRequests and Config.maxConcurrentRequestsPerHost will no longer be used. Instead they will default to unlimited for all clients. Due to the ability of the fabric8 client to start long running requests (either websocket or regular http) and how this is treated by the underlying clients you can easily exhaust these values and enter a state where the client is unresponsive without any additional information on what is occurring.
  • Fix #​4769: java-generator Fix encoding of empty strings as valid enums

v6.3.1

Compare Source

Bugs
  • Fix #​4666: fixed okhttp calls not explicitly closing
  • Fix #​4673: fixes a regression in sharing the OpenShiftOAuthInterceptor token
  • Fix #​4677: java-generator Fix default encoding of enums

v6.3.0

Compare Source

Bugs
  • Fix #​4159: ensure the token refresh obeys how the Config was created
  • Fix #​4447: isSupported doesn't check all the applicable API Groups
  • Fix #​4473: correcting backoff interval regression introduced in #​4365 (6.2.0)
  • Fix #​4491: added a more explicit shutdown exception for okhttp
  • Fix #​4509: do not reuse KeyFactory instance after a failure
  • Fix #​4510: Fix StackOverflow on cyclic references involving collections
  • Fix #​4534: Java Generator CLI default handling of skipGeneratedAnnotations
  • Fix #​4535: The shell command string will now have single quotes sanitized
  • Fix #​4543: (Java Generator) additionalProperties JsonAny setter method generated as setAdditionalProperty
  • Fix #​4590: only using a builder if there are visitors
  • Fix #​4540: treating GenericKubernetesResource and RawExtension as buildable
  • Fix #​4547: preventing timing issues with leader election cancel
  • Fix #​4569: fixing jdk httpclient regression with 0 timeouts
  • Fix #​4581: "float" types in spec for CRD generator are supported
  • Fix #​4610: inconsistent additionalPrinterColumns jsonPath
  • Fix #​4641: fixed regression with missing initial watch event
Improvements
  • Fix #​4014: added support for OpenShift Build log version.
  • Fix #​4201: Removed sendAsync from the individual http client implementations
  • Fix #​4355: for exec, attach, upload, and copy operations the container id/name will be validated or chosen prior to the remote call. You may also use the kubectl.kubernetes.io/default-container annotation to specify the default container.
  • Fix #​4363: exposed ResourceCompare.metadataChanged
  • Fix #​4530: generalizing the Serialization logic to allow for primitive values and clarifying the type expectations.
New Features
  • Fix #​4136: added support for fieldValidation as a dsl method for POST/PUT/PATCH operations
  • Fix #​3896: added dsl support for server side apply
  • Fix #​4582: updated client.secrets createOrReplace document
  • Fix #​4516: added support for blocking delete operations using the withTimeout methods: op.withTimeout(1, TimeUnit.MINUTE).delete() - will wait for up to 1 minute for the resources to be fully deleted. This makes for a more concise replacement of the deletingExisting method.
Note: Breaking changes
  • Fix #​3923: removed KubernetesResourceMappingProvider - a META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource list of resources is used instead.
  • Fix #​4515: files located at the root of jars named model.properties, e.g. core.properties, have been removed
  • Fix #​4579: the implicit registration of resource and list types that happens when using the resource(class) methods has been removed. This makes the behavior of the client more predictable as that was an undocumented side-effect. If you expect to see instances of a custom type from an untyped api call - typically KubernetesClient.load, KubernetesClient.resourceList, KubernetesClient.resource(InputStream|String), then you must either create a META-INF/services/io.fabric8.kubernetes.api.model.KubernetesResource file (see above #​3923), or make calls to KubernetesDeserializer.registerCustomKind - however since KubernetesDeserializer is an internal class that mechanism is not preferred.
  • Fix #​4597: remove the deprecated support for javax.validation.constraints.NotNull in the crd-generator, to mark a property as required it needs to be annotated with io.fabric8.generator.annotation.Required
  • Fix #​4363: deprecated existing ResourceCompare methods such as compareKubernetesResource as they are not for general use

v6.2.0

Compare Source

Bugs
  • Fix #​3733: The authentication command from the .kube/config won't be discarded if no arguments are specified
  • Fix #​4312: fix timestamp can't be deserialized for IstioCondition
  • Fix #​4369: Informers will retry with a backoff on list/watch failure as they did in 5.12 and prior.
  • Fix #​4350: SchemaSwap annotation is now repeatable and is applied multiple times if classes are used more than once in the class hierarchy.
  • Fix #​3733: The authentication command from the .kube/config won't be discarded if no arguments are specified
  • Fix #​4441: corrected patch base handling for the patch methods available from a Resource - resource(item).patch() will be evaluated as resource(latest).patch(item). Also undeprecated patch(item), which is consistent with leaving patch(context, item) undeprecated as well. For consistency with the other operations (such as edit), patch(item) will use the context item as the base when available, or the server side item when not. This means that patch(item) is only the same as resource(item).patch() when the patch(item) is called when the context item is missing or is the same as the latest.
  • Fix #​4442: TokenRefreshInterceptor doesn't overwrite existing OAuth token with empty string
  • Fix #​4350: SchemaSwap annotation is now repeatable and is applied multiple times if classes are used more than once in the class hierarchy.
  • Fix #​4459: Fixed OSGi startup exceptions while using KubernetesClient/OpenShiftClient
  • Fix #​4460: removing split packages. Converting Default clients into adapters rather than real instances.
  • Fix #​4473: Fix regression in backoff interval introduced in #​4365
  • Fix #​4478: Removing the resourceVersion bump with null status
  • Fix #​4482: Fixing blocking behavior of okhttp log watch
  • Fix #​4487: Schema for multimaps is now generated correctly
  • Fix #​4496: Removing watch handling of lists
Improvements
  • Fix #​4471: Adding KubernetesClientBuilder.withHttpClientBuilderConsumer to further customize the HttpClient for any implementation.
  • Fix #​4348: Introduce specific annotations for the generators
  • Fix #​4441: refactoring TokenRefreshInterceptor
  • Fix #​4365: The Watch retry logic will handle more cases, as well as perform an exceptional close for events that are not properly handled. Informers can directly provide those exceptional outcomes via the SharedIndexInformer.stopped CompletableFuture.
  • Fix #​4396: Provide more error context when @​Group/@​Version annotations are missing
  • Fix #​4384: The Java generator now supports the generation of specific annotations (min, max, pattern, etc.), as defined by #​4348
  • Fix #​4408: Allowing informers started via the start() method to have configurable exception / retry handling.
  • Fix #​3864: Change ManagedOpenShiftClient OSGi ConfigurationPolicy to REQUIRE
  • Fix #​4414: RawExtension as default fall-back type for KubernetesResource deserialization
  • Fix #​4470: Added timestamps support for deployment logs and other resources.
  • Fix #​4476: (crd-generator) Support custom Annotations and Labels to be emitted in the CRD
Dependency Upgrade
  • Fix #​4243: Update Tekton pipeline model to v0.39.0
  • Fix #​4243: Update Tekton triggers model to v0.20.2
  • Fix #​4383: bump snakeyaml from 1.30 to 1.31
  • Fix #​4347: Update Kubernetes Model to v1.25.0
  • Fix #​4413: Update sundrio to 0.93.1
New Features
  • Fix #​4398: add annotation @​PreserveUnknownFields for marking generated field have x-kubernetes-preserve-unknown-fields: true defined
  • Fix #​4351: add javax.annotation.processing.Generated to classes generated with the java-generator
Note: Breaking changes in the API
  • Fix #​4350: SchemaSwap's fieldName parameter now expects a field name only, not a method or a constructor.
  • Module io.fabric8:tekton-model-triggers which contained Tekton triggers v1alpha1 model has been removed. We have introduced separate modules io.fabric8:tekton-model-v1alpha1 and io.fabric8:tekton-model-v1beta1 for Tekton triggers v1alpha1 and v1beta1 apigroups respectively. Users who are using io.fabric8:tekton-client dependency directly should be unaffected by this change.
  • Fix #​3864: Now it's compulsory to provide `etc/io.fabr

@mend-for-github-com mend-for-github-com bot added the security fix Security fix generated by WhiteSource label Jun 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
security fix Security fix generated by WhiteSource
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants