Skip to content

Releases: eclipse-jkube/jkube

1.20.0 (2026-07-21)

Choose a tag to compare

@ash-thakur-rh ash-thakur-rh released this 21 Jul 15:25
  • Fix #3903: Log pack CLI stderr output via kitLogger.error on buildpacks build failure
  • Fix #3923: Jetty 12 hot deployment in k8s:watch/oc:watch copy mode (scanInterval=1 set by the Jetty handler when watch mode is copy)
  • Fix #3923: Gradle k8sWatch/ocWatch now resolve generators in WATCH mode (previously BUILD), activating Spring Boot DevTools wiring that was previously only functional in the Maven plugin
  • Fix #3947: Spring Boot DevTools watcher resolves application.properties from project.resourcesOutputDirectory for Gradle compatibility
  • Fix #3916: Add explicit base-image JDK selection via jkube.java.version property for Java generators
  • Fix #3925: StatefulSet selector.matchLabels no longer includes version label (immutable field, prevented redeploy after version bump)
  • Fix #3926: DaemonSet selector.matchLabels no longer includes version label (immutable field, prevented redeploy after version bump)
  • Fix #3917: Update quickstart image references to jkube-images 0.0.28
  • Fix #3874: Deprecate jkube-jetty9 base image in favor of jkube-jetty12; log a warning when jkube.generator.webapp.server=jetty9 is explicitly selected
  • Fix #3873: Update JettyAppSeverHandler to select jkube-jetty12 as the default Jetty image and add jetty9 opt-in for legacy projects (potentially breaking for legacy JavaEE webapps using javax.*; set jkube.generator.webapp.server=jetty9 to keep Jetty 9)
  • Fix #3918: Update documentation for jkube-images 0.0.28 changes
  • Fix #3902: Bump pack CLI from 0.34.2 to 0.40.7 and update default builder image to paketobuildpacks/builder-jammy-base
  • Fix #3904: Bump jib-core from 0.27.3 to 0.28.1
  • Fix #3900: BuildPackBuildService honors global imagePullPolicy when no per-image policy is set
  • Fix #3875: Per-image imagePullPolicy in build configuration now overrides global pull policy
  • Fix #3859: kubernetes-maven-plugin compatibility with Maven 3.9.13+ SecDispatcher changes (decrypt registry/Helm passwords via Maven's SettingsDecrypter; deprecate <helm><security>/jkube.helm.security in favor of -Dsettings.security)
  • Fix #3834: Improve docs for jkube-volume-permission enricher
  • Fix #3848: fix kube-api-test binary download failures due to deprecated kubebuilder-tools storage
  • Fix #2758: Inconsistency when merging fragments with same file name with different profiles

New Contributors

Full Changelog: v1.19.0...v1.20.0

1.19.0 (2026-02-09)

Choose a tag to compare

@manusa manusa released this 09 Feb 12:17
  • Fix #3840: Bump helm-java to 0.0.19
  • Fix #3833: BuildConfig resource fragment loading should use local file instead of fetching from server
  • Fix #3820: Skip flag does not work for helm tasks
  • Fix #3823: Update native binary S2I base image from UBI 8 to UBI 9
  • Fix #3819: Env variable wrapper for easy interaction with system env variables
  • Fix #3812: Clean jkube-temp working directory before running resource task/goal
  • Fix #3809: Actuator liveness and readiness probe not getting generated with Spring boot 4.x.x
  • Fix #3775: Missing IngressClassName in NetworkingV1IngressGenerator
  • Fix #3732: ECR registry Auth with AWS SDK java v2
  • Fix #3707: Setting readOnly flag in VolumeConfig has no effect
  • Fix #3591: Fix windows line endings for yaml literal blocks, json serialization config updated
  • Fix #3781: Native Generator does not work in Windows system, always finds multiple native executable
  • Fix #2286: Remove Guava dependency where ever possible
  • Fix #1458: Consideration of "ssl.enabled" properties to enable liveness/readiness probe for Spring Boot Actuator
  • Fix #3690: jkube-healthcheck-spring-boot enricher: rename property management.health.probes.enabled

New Contributors

Full Changelog: v1.18.2...v1.19.0

1.18.2 (2025-11-03)

Choose a tag to compare

@manusa manusa released this 03 Nov 14:17
v1.18.2
58895d6

What's Changed

  • Fix #3750: Remove unneeded XMLUtil.createNewDocument method
  • Fix #3740: Add verbose extension prop as per the gradle plugin docs
  • Fix #3754: Bumped Jackson to 2.19.2
  • Fix #3779: Compatibility with gradle 9
  • Fix #3780: ImageName should respect project.build.outputTimestamp when present

New Contributors

Full Changelog: v1.18.1...v1.18.2

1.18.1 (2025-02-11)

Choose a tag to compare

@manusa manusa released this 03 Nov 11:05

What's Changed

  • Fix #3642: Config properties resolved for generated images
  • Fix #3660: remote-dev issue with ssh user (locked)

New Contributors

Full Changelog: v1.18.0...v1.18.1

1.18.0 (2025-01-15)

Choose a tag to compare

@manusa manusa released this 15 Jan 13:02

What's Changed

  • Fix #1125: Support WebFlux SpringBoot projects when it comes to generate probes for actuators
  • Fix #2844: oc:build on openshift use pods/log to retrieve logs from build
  • Fix #2375: Add support for generating helm test resources via fragments
  • Fix #2667: Add new helm test goal task (k8s:helm-test for maven and k8sHelmTest for gradle)
  • Fix #3326: Micronaut healthcheck enricher infers overridden server port in application.properties
  • Fix #3354: Build fails with imageStream for buildRecreate value
  • Fix #3578: Skip executable libs when searching Spring Boot native binary
  • Fix #3623: Updated jkube-images to 0.0.25

New Contributors

Full Changelog: v1.17.0...v1.18.0

1.17.0 (2024-08-13)

Choose a tag to compare

@rohanKanojia rohanKanojia released this 13 Aug 12:38

  • Fix #494: Support for Micronaut Framework Native Images
  • Fix #1989: Remove storageClass related fields from VolumePermissionEnricher
  • Fix #2098: Add support for multi-platform container image builds in jib build strategy
  • Fix #2110: Add new helm dependency update goal task (k8s:helm-dependency-update for maven and k8sHelmDependencyUpdate for gradle)
  • Fix #2335: Add support for configuring nodeSelector spec for controller via xml/groovy DSL configuration
  • Fix #2381: All base images provide support for Java 21
  • Fix #2459: Allow configuring Buildpacks build via ImageConfiguration
  • Fix #2462: k8s:debug throws error when using buildpacks build strategy
  • Fix #2463: Buildpacks should clear build cache when nocache option is enabled
  • Fix #2470: Add configuration option for overriding buildpack builder image
  • Fix #2662: Sanitize VCS remote URL used in jkube.eclipse.org/git-url annotation
  • Fix #2663: Add new helm install goal task (k8s:helm-install for maven and k8sHelmInstall for gradle)
  • Fix #2665: Added support for explicit path for readiness and liveness probes in SpringBootHealthCheckEnricher
  • Fix #2666: Add new helm uninstall goal task (k8s:helm-uninstall for maven and k8sHelmUninstall for gradle)
  • Fix #2860: Correctly pass Docker build-arg from the build configuration to the Openshift build strategy
  • Fix #2885: Provide a way to set labels on images defined by Generators
  • Fix #2901: Ensure Docker build arguments from properties are used during images pre-pulling
  • Fix #2904: docker.buildArg.* properties not taken into account in OpenShift plugins
  • Fix #2911: Base images don't use manual container detection and rely on Java's built-in mechanisms
  • Fix #3007: Kubernetes Maven Plugin generating resource manifests with line feeds on Windows
  • Fix #3067: Helm Push uses configured docker global and push registries instead of pull
  • Fix #3122: JKube should also pass project directory in buildpacks build strategy
  • Fix #3161: JavaExecGenerator should honor %t setting and not unconditionally add latest tag
  • Fix #2467: Add support for specifying imagePullSecrets via resource configuration
  • Fix #3220: ImageEnricher#mergeEnvVariables causes error for empty env
  • Fix #3228: Springboot 3.3.1 layertools output format breaks LayeredJarGenerator
  • Fix #3294: MicronautGenerator not getting invoked for Micronaut4 Maven project

Note:

  • defaultStorageClass and useStorageClassAnnotation fields have been removed from VolumePermissionEnricher (jkube-volume-permission). Users are advised to use these fields from PersistentVolumeClaimStorageClassEnricher (jkube-persistentvolumeclaim-storageclass) instead.

New Contributors

Full Changelog: v1.16.2...v1.17.0

1.16.2 (2024-03-27)

Choose a tag to compare

@manusa manusa released this 27 Mar 12:40
  • Fix #2461: k8s:watch/k8sWatch should throw error in buildpacks build strategy
  • Fix #2852: Bump version.kubernetes-client from 6.10.0 to 6.11.0
  • Fix #2847: OpenShift Routes use spec.port.targetPort instead of spec.port.port

New Contributors

Full Changelog: v1.16.1...v1.16.2

1.16.1 (2024-02-27)

Choose a tag to compare

@rohanKanojia rohanKanojia released this 27 Feb 14:40
  • Fix #2582: Moved PortMapping class from package org.eclipse.jkube.kit.build.api.model to org.eclipse.jkube.kit.common
  • Fix #2726: helm-lint works seamlessly on MacOS aarch64

1.16.0 (2024-02-09)

Choose a tag to compare

@rohanKanojia rohanKanojia released this 09 Feb 15:09
  • Fix #1690: Base images based on ubi9
  • Fix #1700: Add Kubernetes Well Known labels to generated resources
  • Fix #2257: Provide guidance when the final project packaged file is not found in Quarkus projeicts
  • Fix #2070: build goals/tasks log warning if user forgets to run package/build goal/task
  • Fix #2314: Add chart name validation before doing Helm OCI push
  • Fix #2381: Container Images based on Java 21 (Java-exec, Tomcat, Jetty, Karaf)
  • Fix #2389: Helm values.yaml sorted alphabetically
  • Fix #2390: support for all missing Chart.yaml fields
  • Fix #2391: Automatically add values.schema.json file if detected
  • Fix #2423: Change default VolumePermissionEnricher's initContainer image from busybox to quay.io/quay/busybox
  • Fix #2444: Add support for Spring Boot application properties placeholders
  • Fix #2456: Add utility class to decompress archive files
  • Fix #2465: Add support for buildpacks build strategy with opinionated defaults (Zero config)
  • Fix #2472: Support for Helm Chart.yaml appVersion field defaulting to project version
  • Fix #2474: Remove Docker-related classes providing unused functionality
  • Fix #2477: Support for Spring Boot 3.2.0 (and newer) layered jar format
  • Fix #2500: oc:build does not add git annotations in Openshift Build resource
  • Fix #2503: Container Images Jolokia agent bumped to 2.0.0
  • Fix #2532: Bump version.kubernetes-client from 6.9.2 to 6.10.0
  • Fix #2613: Added new helm lint goal task (k8s:helm-lint / k8sHelmLint)
  • Fix #2541: Container image names can now be set as IPv6 addresses
  • Fix #2622: k8s:helm generated chart tar archive contains reference to tar archive

Note:
Kubernetes manifests generated by JKube would now contain the following labels by default:

  • app.kubernetes.io/component
  • app.kubernetes.io/managed-by
  • app.kubernetes.io/name
  • app.kubernetes.io/part-of
  • app.kubernetes.io/version

These are added in favor of deprecating and removing the current project labels in future releases:

  • app
  • group
  • provider
  • version

1.15.0 (2023-11-10)

Choose a tag to compare

@sunix sunix released this 10 Nov 12:36

1.15.0 (2023-11-10)

  • Fix #2138: Support for Spring Boot Native Image
  • Fix #2186: Reuse io.fabric8.kubernetes.client.utils.KubernetesResourceUtil ConfigMap utils methods
  • Fix #2200: Support for Helm values.yaml fragments
  • Fix #2356: Helm values.yaml parameter names preserve case
  • Fix #2369: Helm chart apiVersion can be configured
  • Fix #2379: Do not flatten image assembly layers in case of OpenShift Docker build strategy.
  • Fix #2386: Helm icon inferred from annotations in independent resource files (not aggregated kubernetes/openshift.yaml)
  • Fix #2397: Default JKube work directory (jkube.workDir) changed from ${project.build.directory}/jkube to ${project.build.directory}/jkube-temp
  • Fix #2393: Remove timestamp from org.label-schema.build-date LABEL to utilize docker cache
  • Fix #2399: Helm no longer generates default function; broadens support for different value types
  • Fix #2400: Helm supports complex values in values.yaml fragments (such as annotations or arrays)
  • Fix #2414: OpenShift Gradle Plugin picks up jkube.build.pushSecret property
  • Fix #2417: Don't pass Invalid port in host headers for Helm OCI push
  • Fix #2419: Fix Fabric8HttpUtil.extractAuthenticationChallengeIntoMap www-authenticate header parsing logic
  • Fix #2425: Bump JKube Base images to 0.0.20
  • Fix #2433: Bump default native base image to registry.access.redhat.com/ubi9/ubi-minimal:9.3
  • Fix #2436: Debug functionality works with Spring Boot Layered JARs

Note:

  • Container Images generated using jkube opinionated defaults no longer contain full timestamp in org.label-schema.build-date label. The label contains the build date in the format yyyy-MM-dd.