Releases: GoogleContainerTools/jib
Releases · GoogleContainerTools/jib
jib-core v0.14.0
Major Changes
- Fixed the problem not inheriting
USERcontainer configuration from a base image. (#2421) - Fixed an issue when using a base image whose image creation timestamp contains timezone offset. (#2428)
- Fixed wrong capitalization of JSON properties in a loadable Docker manifest when building a tar image. (#2430)
- The following classes in
com.google.cloud.tools.jib.apihas been moved tocom.google.cloud.tools.jib.api.buildplan:AbsoluteUnixPath,RelativeUnixPath,Port,FilePermissions, andImageFormat. (#2328) LayerConfigurationandLayerEntryare deprecated. UseFileEntriesLayerandFileEntryincom.google.cloud.tools.jib.api.buildplan. (#2334)- New public API package hierarchy
com.google.cloud.tools.jib.api.buildplanfor Container Build Plan Specification and API. ContainerBuildPlan,FileEntriesLayer,FileEntry, andLayerObjectincom.google.cloud.tools.jib.api.buildplanas part of the Container Build Plan API. (#2338, #2328)ImageReference#toStringWithTaghas been renamed totoStringWithQualifier.ImageReference#isValidTagno longer returnstruefor digests.ImageReference#isTagDigesthas been removed; use#getDigestwithOptional#isPresent()to check if anImageReferenceuses a digest.ImageReference#withTaghas been removed; usewithQualifier()instead.ImageReference#isDefaultTagandusesDefaultTagno longer returntruefornullor empty tags.- Multiple additions to
ImageReferenceto separatetaganddigest. (#1481)of(registry, repository, tag, digest)to create an image from a tag and digest.isValidDigest(digest)to check if a string is a valid digest.getDigest()to get the digest.parse()now supports image reference strings containing both a tag and a digest.getQualifier()to return the digest, or the tag if no digest is set.withQualifier()to change the image's tag or digest (old behavior ofwithTag())
See CHANGELOG.md for more details.
jib-maven-plugin v2.2.0
Major Changes
- Glob pattern support for
<extraDirectories><permissions>. - Support for image references with both a tag and a digest.
- The
DOCKER_CONFIGenvironment variable specifying the directory containing docker configs is now checked during credential retrieval. <container><creationTime>now accepts more timezone formats:+HHmm. This allows for easier configuration of creationTime by external systems.
See CHANGELOG.md for more details.
jib-gradle-plugin v2.2.0
Major Changes
- Glob pattern support for
jib.extraDirectories.permissions. - Support for image references with both a tag and a digest.
- The
DOCKER_CONFIGenvironment variable specifying the directory containing docker configs is now checked during credential retrieval. jib.container.creationTimenow accepts more timezone formats:+HHmm. This allows for easier configuration of creationTime by external systems.
See CHANGELOG.md for more details.
jib-maven-plugin v2.1.0
Major Changes
- Additionally reads credentials from
~/.docker/.dockerconfigjsonand legacy Docker config (~/.docker/.dockercfg). Also searches for$HOME/.docker/*(in addition to currentSystem.get("user.home")/.docker/*). This may help retrieve credentials, for example, on Kubernetes. - New skaffold configuration options that modify how jib's build config is presented to skaffold. See changelog for more details.
- Fixed a
skaffold initissue with projects containing submodules specifying different parent poms. - Fixed authentication failure with error
server did not return 'WWW-Authenticate: Bearer' headerin certain cases (for example, on OpenShift). - Fixed an issue where using local Docker images (by
docker://...) on Windows caused an error.
See CHANGELOG.md for more details.
jib-gradle-plugin v2.1.0
Major Changes
- Additionally reads credentials from
~/.docker/.dockerconfigjsonand legacy Docker config (~/.docker/.dockercfg). Also searches for$HOME/.docker/*(in addition to currentSystem.get("user.home")/.docker/*). This may help retrieve credentials, for example, on Kubernetes. - New skaffold configuration options that modify how jib's build config is presented to skaffold. See changelog for more details.
- Fixed authentication failure with error
server did not return 'WWW-Authenticate: Bearer' headerin certain cases (for example, on OpenShift). - Fixed an issue where using local Docker images (by
docker://...) on Windows caused an error. - Fixed build failures with Skaffold when the Gradle Java Platform plugin is applied.
- For Spring Boot projects using
containerizingMode = 'packaged', Jib now overridesarchiveClassifierof thejartask only when safe and necessary. - Fixed an issue where user-configured task dependencies for the Jib task is overwritten and thus ineffective.
See CHANGELOG.md for more details.
jib-core v0.13.1
Major Changes
- Fixed authentication failure with error
server did not return 'WWW-Authenticate: Bearer' headerin certain cases (for example, on OpenShift). - Fixed an issue where using local Docker images (by
docker://...) on Windows caused an error.
See CHANGELOG.md for more details.
jib-maven-plugin v2.0.0
Major Changes
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
- Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
- Now
<containerizingMode>packagedworks as intended with Spring Boot projects that generate a fat JAR. - Removed deprecated
<extraDirectory>configuration in favor of<extraDirectories>. - Removed deprecated
<container><useCurrentTimestamp>configuration in favor of<container><creationTime>withUSE_CURRENT_TIMESTAMP. - The default base image cache location has been changed on MacOS and Windows.
- MacOS (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/to$XDG_CACHE_HOME/Google/Jib/ - MacOS (
$XDG_CACHE_HOMEnot defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/to$HOME/Library/Caches/Google/Jib/ - Windows (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\to$XDG_CACHE_HOME\Google\Jib\Cache\ - Windows (
$XDG_CACHE_HOMEnot defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\to%LOCALAPPDATA%\Google\Jib\Cache\ - Initial builds will be slower until the cache is repopulated, unless you manually move the cache from the old location to the new location
- MacOS (
- Added json output file for image metadata after a build is complete. Writes to
target/jib-image.jsonby default, configurable with<outputPaths><imageJson>. - Fixed
<extraDirectories><permissions>being ignored if<paths>are not explicitly defined. jib:buildTarwith<container><format>OCInow builds a correctly formatted OCI archive.- Now
<containerizingMode>packagedcorrectly identifies the packaged JAR generated at a non-default location when configured with the Maven Jar Plugin's<classifier>and<outputDirectory>. - When giving registry credentials in
settings.xml, specifying port in<server><id>is no longer required. - Fixed an issue where configuring the
<warName>property of the Maven WAR plugin fails the build.
See CHANGELOG.md for more details.
jib-gradle-plugin v2.0.0
Major Changes
- Requires Gradle 5.1 or newer (up from 4.9).
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
- Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
- Now
jib.containerizingMode='packaged'works as intended with Spring Boot projects that generate a fat JAR. - Removed
jibDockerBuild.dockerClientin favor ofjib.dockerClient. - Removed deprecated
jib.extraDirectoryconfiguration in favor ofjib.extraDirectories. - Removed deprecated
jib.container.useCurrentTimestampconfiguration in favor ofjib.container.creationTimewithUSE_CURRENT_TIMESTAMP. - The default base image cache location has been changed on MacOS and Windows.
- MacOS (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/to$XDG_CACHE_HOME/Google/Jib/ - MacOS (
$XDG_CACHE_HOMEnot defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/to$HOME/Library/Caches/Google/Jib/ - Windows (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\to$XDG_CACHE_HOME\Google\Jib\Cache\ - Windows (
$XDG_CACHE_HOMEnot defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\to%LOCALAPPDATA%\Google\Jib\Cache\ - Initial builds will be slower until the cache is repopulated, unless you manually move the cache from the old location to the new location
- MacOS (
- Added json output file for image metadata after a build is complete. Writes to
build/jib-image.jsonby default, configurable withjib.outputPaths.imageJson. jibBuildTarwithjib.container.format='OCI'now builds a correctly formatted OCI archive.
See CHANGELOG.md for more details.
jib-core v0.13.0
Major Changes
- New method:
JibContainerBuilder#describeContainerwhich returns new class:JibContainerDescription, containing a selection of information used for the Jib build. - Each local base image layer is pushed immediately after being compressed, rather than waiting for all layers to finish compressing before starting to push.
- HTTP redirection URLs are no longer sanitized in order to work around an issue with certain registries that do not conform to HTTP standards. This resolves an issue with using Red Hat OpenShift and Quay registries.
Containerizer.DEFAULT_BASE_CACHE_DIRECTORYhas been changed on MacOS and Windows.- MacOS (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME/google-cloud-tools-java/jib/to$XDG_CACHE_HOME/Google/Jib/ - MacOS (
$XDG_CACHE_HOMEnot defined): from$HOME/Library/Application Support/google-cloud-tools-java/jib/to$HOME/Library/Caches/Google/Jib/ - Windows (
$XDG_CACHE_HOMEdefined): from$XDG_CACHE_HOME\google-cloud-tools-java\jib\to$XDG_CACHE_HOME\Google\Jib\Cache\ - Windows (
$XDG_CACHE_HOMEnot defined): from%LOCALAPPDATA%\google-cloud-tools-java\jib\to%LOCALAPPDATA%\Google\Jib\Cache\
- MacOS (
Containerizer#setAllowInsecureRegistries(boolean)and thesendCredentialsOverHttpsystem property are now effective for authentication service server connections.- Fixed inefficient communications when interacting with insecure registries and servers (when
Containerizer#setAllowInsecureRegistries(boolean)is set). - Building a tarball with
OCIformat now builds a correctly formatted OCI archive. - Now automatically refreshes Docker registry authentication tokens when expired, fixing the issue that long-running builds may fail with "401 unauthorized."
See CHANGELOG.md for more details.
jib-maven-plugin v1.8.0
Major Changes
<allowInsecureRegistries>and thesendCredentialsOverHttpsystem property are now effective for authentication service server connections.- Fixed reporting wrong module name when
skaffold initis run on multi-module projects. - Optimized building to a registry with local base images.
- Fixed inefficient communications when interacting with insecure registries and servers (when
<allowInsecureRegistries>is set).
See CHANGELOG.md for more details.