dive

Infrastructure & DevOps

A tool for exploring each layer in a docker image

Latest v0.13.1 · by wagoodmanWebsitewagoodman/diveRSS

Changelog

v0.13.1

Latest
Added 2
  • Publish dive to ghcr.io
  • Add x-cmd method to install dive
Fixed 4
  • Fix layer selection to select only one layer at a time
  • Fix Gitlab-ci integration broken with latest docker image
  • Fix failed container creation after upgrading to 0.13.0
  • Fix exec: getent executable file not found in $PATH

From dive

Bug Fixes
  • Fix layer selection to select only one layer at a time [#585 @wagoodman]
  • Gitlab-ci integration is broken with latest docker image [#580 #586 @wagoodman]
  • Failed to Create Container After Upgrading to 0.13.0 [#576 #586 @wagoodman]
  • exec: "getent": executable file not found in $PATH [#582 #586 @wagoodman]
  • Publish dive to ghcr.io [#573 #577 @wagoodman]
Additional Changes
  • Add x-cmd method to install dive [#550 @lunrenyi]

(Full Changelog)

View originalPermalink
How v0.13.1 went

v0.13.0

Added 5
  • Add winget support
  • Add ppc64le support
  • Show setuid, setgid and sticky attributes
  • Add layer-wise filesystem information to the analysis json file
  • Add vim like arrow, scroll, and close filtering motions
Fixed 11
  • Use socket from current docker context
  • Work with colima engine
  • Layers panel scrolls when many layers exist
  • Layers pane scrolls when navigating to layer below visible region
  • Scroll through layers
  • Inspect docker:23.0.1 through podman

From dive

Added Features
  • Add winget support [#346 @Okeanos]
  • Added ppc64le support [#551 @pooja0805]
  • Show setuid, setgid and sticky attributes [#524 @AlexanderYastrebov]
  • Add layer-wise filesystem information to the analysis json file [#458 @Akash-Nayak]
  • Add vim like arrow, scroll, and close filtering motions [#129 #499 #501 @mehmetumit @gwendolyngoetz @joschi ]
Bug Fixes
  • Doesn't use socket from current docker context [#495 #412 #490 #570 @joschi @rajiv-k]
  • Does not work with colima engine [#397 #490 #570 @joschi @rajiv-k]
  • Document how to use dive with M1 and colima [#408 #490 #570 @joschi @rajiv-k]
  • Layers panel doesn't scroll when many layers exist [#540 #473 #520 @mark2185 @pov1ba]
  • Layers pane doesn't scroll when navigating to layer below visible region [#469 #478 #473 #570 #522 @joschi @mark2185 @moaimullet @st-gr]
  • Cannot scroll through layers [#494 #473 #521 #570 @joschi @mark2185 @st-gr]
  • Can't inspect docker:23.0.1 through podman [#475 #476 #570 @joschi @abitrolly]
  • Docker containerd format fails to parse layers with dive 0.12.0 [#510 @Maddog2050]
  • Cannot find 'blobs/sha256/...' in parsed layers using dive 0.12.0 [#507 @Maddog2050]
  • Does not work with docker v26+ [#534 @Maddog2050]
  • Line wrap toggle does not update the status bar indicator [#496 #497 #570 @joschi @Scomocouk]
  • Close temp iid files used for docker and podman build [#517 @testwill]
Additional Changes
  • Update dependencies [#535 @reneleonhardt]
  • Fix typos [#531 @kianmeng]
  • Make README.md installation commands easier to copy and paste [#506 @ames0k0]
  • Update the README go install command to the latest version [#509 @tgross35]
  • Remove repetitive words [#515 @thirdkeyword]
  • Fix phony ci-release target [#530 @st3iny]
  • Add warning message for snap installation approach on Ubuntu/Debian [#552 @YuanfengZhang]
  • Update curl commands used for installation with -f [#533 @guoard]
  • Describe what "Fetching" is really doing [#482 @docwhat]
  • Login to GHCR as owner not actor [#574 @polarathene]
  • Update README.md with DOCKER_HOST env var instructions [#565 @benjamin-brady]

(Full Changelog)

View originalPermalink
How v0.13.0 went

v0.12.0

Added 2
  • Support for docker layer wise scan for vulnerability detection
  • Support for using Dive in GitLab CI securely
Fixed 2
  • Dive failing when trying to fetch local image
  • Unable to analyze image with Docker 25+ compatibility
Security 1
  • Upgrade golang.org/x/net to 0.17.0

From dive

Changelog

v0.12.0 (2024-02-02)

Full Changelog

Added Features
  • Can we do docker layer wise scan for vulnerability detection [Issue #465]
  • How to use Dive in gitlab CI Securely? [Issue #493]
Bug Fixes
Additional Changes
View originalPermalink
How v0.12.0 went

v0.11.0

Added 8
  • Allow for autodetecting both .yaml and .yml config files
  • Allow for vertical and horizontal scrolling on all views
  • Support Ctrl-Z for job control
  • Quit on q
  • Support dive with podman on MacOS
  • Add more details to Image Details section
  • Add viewing command Details
  • Add support for alternative ordering strategies
Changed 2
  • Update the deprecated ioutil dependency
  • Bump module versions to resolve vulnerabilities
Fixed 5
  • Fix stream podman command hanging
  • Fix rendering for multi-line commands
  • Fix layers selection area pushing other UI elements offscreen
  • Fix Command details being truncated in UI
  • Fix dive crashing when browsing layers of paketobuildpacks/run:base-cnb image

From dive

Changelog

v0.11.0 (2023-07-07)

Full Changelog

Added Features
Bug Fixes
Additional Changes
View originalPermalink
How v0.11.0 went

v0.10.0

Added 7
  • Add wrapping tree key
  • Add image name to details view
  • Add support for docker-archive format including kaniko
  • Allow setting source in config file
  • Add support for freebsd/arm64
  • Add option to ignore image parsing errors
  • Add description to RPM packages
Changed 3
  • Fix detail wrap option
  • Update gocui module
  • Require golang 1.10+
Fixed 1
  • Remove unnecessary use of fmt.Sprintf

From dive

Changelog

6488097 add ci integration test with kaniko image 764a228 Merge pull request #339 from breun/document-macports-install 4457be0 Document MacPorts install b8d2d3d Merge pull request #332 from cxsu/wrap-tree 341239b Merge branch 'master' into wrap-tree 6f15b4c Merge pull request #331 from cxsu/update-gocui aadcbcb Add wrapping tree key d4a9c08 Fix detail wrap option b310bdb Add module awesome-gocui/keybinding 5e9380d Update gocui module 3430221 Add image name to details view (#325) 739416b Merge pull request #327 from avisiedo/add-support-for-docker-archives ec6b227 docker-archive: Add support for kaniko bed359c Merge pull request #320 from gliptak/patch-2 92bcd30 Merge pull request #321 from gliptak/patch-3 7da7e2d Merge pull request #313 from MaxPeal/patch-1 3858fd2 Merge pull request #319 from gliptak/patch-1 62d2c64 Bring Go current for GH build 1c4bb9a Bring Go current for CircleCI 4961bb3 Bring Alpine to 3.12 in Dockerfile 2db716d Merge pull request #317 from lpmi-13/typo_fix d06c3cf fix simple typos 04ecad5 update to alpine 3..12 103b05f Merge pull request #290 from tklauser/go-mod-tidy 322c46f Tidy up go dependencies d8ce26d Merge pull request #291 from tklauser/remove-unnecessary-fmt-sprintf 8fe31e8 Merge pull request #289 from abitrolly/patch-1 915e5ba Remove unnecessary use of fmt.Sprintf f5b5a42 Fix linter S1039: unnecessary use of fmt.Sprintf (gosimple) 86ac01b Require golang 1.10+ (closes #278) c6bb237 Merge pull request #287 from wagoodman/ignore-parse-errors 76631e3 fix import adc3e19 Merge branch 'master' into ignore-parse-errors f9e29dc Merge pull request #283 from abitrolly/sourceconfig fa9c486 Merge pull request #282 from MikaelUrankar/freebsd-aarch64 ca9fe96 Merge pull request #284 from abitrolly/patch-1 4291fd0 Add description to RPM packages (fixes #280) e15a2aa Make errcheck happy aea85a1 Allow setting source in config file (fixes #267) 357dcb3 Add support for freebsd/arm64 a9c2e48 add option to ignore image parsing errors; closes #258 4026276 fix release entrypoint

Docker images
  • docker pull wagoodman/dive:latest
  • docker pull wagoodman/dive:v0.10.0
  • docker pull wagoodman/dive:v0
  • docker pull wagoodman/dive:v0.10
View originalPermalink
How v0.10.0 went

v0.9.2

Added 1
  • Slim layout option for the user interface
Changed 2
  • Layout is now reactive
  • Skip empty keybinding configs
Fixed 7
  • Expand bug for details pane and bottom status bar
  • Filetree attribute header display
  • Footer and onLayoutChange propagation on view hide
  • Error propagation from parsing keybinding
  • Do not ignore missing file from --config option
  • Nil log destination and clean tar paths
  • Diff.hide configuration

From dive

Changelog

0872cc1 cut release 89ea9da no more prereleases b461809 Merge pull request #277 from wagoodman/add-slim-layout 04038ec Merge pull request #266 from abitrolly/confix 16fde15 fix expand bug for details pane and bottom status bar 8818b99 reactive layout; addresses #179 338953d debug format 65f40c2 partially complete with slim layer cc40317 skip empty keybinding configs bf90d13 Merge pull request #268 from wagoodman/tree-dim-overflow 25c3017 Merge pull request #269 from abitrolly/keyfix 20ec5cf Simplify nil check for slice bf7dd66 Propagate error from parsing keybinding (#129) ba6b754 Do not ignore missing file from --config option (fixes #265) b68bce1 fix filetree attribute header 8c6a7ce expand right column 8d8c84c Merge pull request #256 from wagoodman/simple-layout-manager 776c1f9 add tests e8301be rm unused cursor methods 27ef402 fix footer + onLayoutChange propagation on view hide 94699db introduce area obj + breakup layout function 8a3642a central header formatter 1470615 added simple layout manager 700332b Merge pull request #255 from kyounger/patch-1 8c763fc diff.hide fix 119040e Merge pull request #254 from wagoodman/gha-on-pr f470820 enforce gha on prs 35db1ec Merge pull request #252 from wagoodman/fix-log-and-tar-paths 6b659d9 linting fcb50f0 Merge branch 'master' into fix-log-and-tar-paths fe158e4 Merge pull request #250 from wagoodman/add-package-tests 74be19b move goreleaser to makefile ba307fb lock goreleaser version 17742e7 add test for formatting/rejecting relative path in filetree ed57565 fix nil log dest; clean tar paths 3c8dc62 add funding options daa0089 add funding info ba7b39c add package install tests + basic execution of dive 9e4fec2 Merge pull request #249 from wagoodman/enhance-gha-pipeline 873f578 fix/improve circle tests 7a5992f enhance gha pipeline for release 9a34db4 Merge pull request #245 from 1138-4EB/alpine 168e67c Merge branch 'master' into alpine 0edf35e use separate goreleaser config file to generate docker images based on alpine

Docker images
  • docker pull wagoodman/dive:latest
  • docker pull wagoodman/dive:v0.9.2
  • docker pull wagoodman/dive:v0
  • docker pull wagoodman/dive:v0.9
View originalPermalink
How v0.9.2 went

v0.9.1

Changed 1
  • Use alpine as the base image
Removed 1
  • Remove the libpod dependency while still allowing for podman support

From dive

  • Removes the libpod dependency, while still allowing for podman support.
  • Using alpine as the base image
View originalPermalink
How v0.9.1 went
v0.9.0Pre-release

Add initial Podman support!

Added 3
  • Add ability to process images stored in Podman image locations
  • Allow users to provide an image from a custom --source such as docker, podman, and docker-archive
  • Support schema prefix for image sources such as podman://docker.io/mongo:latest
Changed 2
  • Refactor UI code
  • Swap base image from alpine to debian

From dive

  • Add ability to process images stored in Podman image locations.
  • Allow users to provide an image from a custom --source such as docker, podman, and docker-archive (output from docker image save ... command). This source can also be provided with a schema prefix (e.g. podman://docker.io/mongo:latest).
  • Refactor UI code
  • Swap base image from alpine back to debian (due to podman dependencies)
View originalPermalink
How v0.9.0 went

v0.8.1

Pre-release
  • Fixes #225: ctrl-F exits instead of displaying file filter
View originalPermalink
How v0.8.1 went

v0.8.0

Pre-release
Added 1
  • Add file report to CI results
Changed 3
  • Move dive to homebrew-core
  • Clarify ratios vs percentages in CI config
  • Update docker images

From dive

  • Move dive to homebrew-core
  • Adding file report to CI results
  • Clarify ratios vs percentages in CI config
  • Update docker images
View originalPermalink
How v0.8.0 went
View all

Discussion

If you publish dive, you can claim this product by proving you administer its repository.