Linux
curl -LO https://storage.googleapis.com/container-diff/v0.17.0/container-diff-linux-amd64 && mv container-diff-linux-amd64 container-diff && chmod +x container-diff && sudo mv container-diff /usr/local/bin/
macOS
curl -LO https://storage.googleapis.com/container-diff/v0.17.0/container-diff-darwin-amd64 && mv container-diff-darwin-amd64 container-diff && chmod +x container-diff && sudo mv container-diff /usr/local/bin/
Windows https://storage.googleapis.com/container-diff/v0.17.0/container-diff-windows-amd64.exe
Note from the maintainers: container-diff has been moved to maintenance mode, but this does NOT mean the project is shutting down! Unfortunately, our team at Google does not have the bandwidth to actively maintain this project, and we want to be sure that the OSS community knows that we're not ignoring our users and contributors. We'll continue to provide critical fixes, and review and ship new contributions as they're submitted to the project.
Fixes:
- Resolve symlink issue. #355
- Remove global variable #349
- Code improvement in function readErrorsFromChannel() #347
Huge thank you to all of our dedicated contributors:
- Leonor Resende
- Nick Kubala
- nicolasdilley
- zhongjie
Linux
curl -LO https://storage.googleapis.com/container-diff/v0.16.0/container-diff-linux-amd64 && mv container-diff-linux-amd64 container-diff && chmod +x container-diff && sudo mv container-diff /usr/local/bin/
macOS
curl -LO https://storage.googleapis.com/container-diff/v0.16.0/container-diff-darwin-amd64 && mv container-diff-darwin-amd64 container-diff && chmod +x container-diff && sudo mv container-diff /usr/local/bin/
Windows https://storage.googleapis.com/container-diff/v0.16.0/container-diff-windows-amd64.exe
Note from the maintainers: container-diff has been moved to maintenance mode, but this does NOT mean the project is shutting down! Unfortunately, our team at Google does not have the bandwidth to actively maintain this project, and we want to be sure that the OSS community knows that we're not ignoring our users and contributors. We'll continue to provide critical fixes, and review and ship new contributions as they're submitted to the project.
Highlights:
- container-diff now supports packages installed with Emerge!
New Features:
- feat: support emerge packages analyzer #337
- Add two options to handle self-signed certificates registries #327
Fixes:
- version: Move vX.Y.Z to version.go so it works with
go get
, add git info #304 - Fix RPM differ to to include release of version #315
- --help: List available analyzers, improve Usage line #303
- Fix concurrent map write for hardlink #324
- Remove unnecessary flag parsing #330
Updates:
Docs Updates:
- README: mention archlinux-specific instructions #307
- Document official support level from Google #342
Huge thanks goes out to all of our contributors for this release:
- Ben Einaudi
- Beni Cherniavsky-Paskin
- Callum Reardon
- Don McCasland
- Lexus Lee
- Luis Plazas
- Nick Kubala
- Santiago Torres
- Update deps #298
- Fix result switch while viewing with type history #296
- Use PKG-INFO and METADATA to infer package names in pip analysis #292
- Remove characters from cache path that are invalid on Windows #285
- Use top_level.txt when analyzing pip modules #291
- Strip colons from file path before creating cache dir #290
- Adding Github Action to run Container Diff #286
- Enhancement - save to file #279
- Fixed concurrent map write in image diffing #278
- Adding custom cache envar and command line argument #274
- Split lines prior to diffing #272
- Move all image processing logic into utils, and expose publically #270
- Enhancement - save to file #279
- Fixed concurrent map write in image diffing #278
- Adding custom cache envar and command line argument #274
- Split lines prior to diffing #272
- Move all image processing logic into utils, and expose publically #270
- Update go-containerregistry to pick up docker API client negotiation #267
- Fix unintended variable shadowing #263
- Change the default analysis type from apt to size #266
- Add script to list all pull requests for each release #258
- Fix deps #260
- Backfill changelog #257
- Add maintainers file and new issue template #259
- Add size analyzer #256
- Fix destination path for clone in contrib guidance. #255
- Add rpmlayer differ #252
- Handle error gracefully when we can't retrieve an image #251
- Layered analysis for single version packages #248
- Reuse cached filesystems for layers #247
- Don't overwrite loaded tarball image
- Use local RPM binary (when possible) in RPM differ
- Switch to github.com/google/go-containerregistry
- Fix entrypoint in RPM differ
- Various metadata diffing fixes
- Remove Bazel
- Add metadata diffing
- Sanitize filepaths before joining to prevent filepath traversal
- Fix appending of latest tag to tar files
- Correctly clean up image filesystems
- Set/unset write bit when unpacking directories out of permission scope
- Add all docker config fields to image config
- Various bug/panic fixes
- Allow updating env vars on MutableSource image
- Save temp layers in cache directory instead of /tmp
- Allow accessing and modifying MutableSource config
- Fixed appending latest tag to images with no tag provided
- Created default ImageSource if none is provided to prepper
- Fixed issue where remote:// prefix was not being stripped correctly
- Download remote:// images in RPMAnalyzer
- Add support for custom formatting strings
- Refactors to the cache and image unpacking code
- Add Label to ConfigObject
- Add MutableSource for basic image modifications
- Fix issue with user.Current not working in some environments
- Fix incorrect version in binary
- Add support for diffing RPM packages
- Fix a few unpack errors for images with whiteout layers
- Switch dependency management from godep to dep
- Various docs fixes
- Fix Makefile to preserve all build artifacts
- Change types flag from comma separated --types list to repeated --type flag
- Added --filename flag to show diffs of individual files
- Added layer caching
- Apt diffing now done by default
- Add support for building single platform with Bazel
- Move util methods to new
pkgutil
package for vendoring - Add support for specifying local vs remote images with
daemon://
andremote://
prefixes - Remove Docker dependency for local images
- Fixed error with running container-diff with no analyzer specified
- Fixed error where container-diff version was outputting an incorrect value
- Added single image analysis #20
- Added file/package output sorting by size #36
- Changed CLI to use "--types" flag #68
- Various cleaning and refactoring