Skip to content

Release v0.3.0

Compare
Choose a tag to compare
@puerco puerco released this 07 Jul 02:16
· 722 commits to main since this release
cfe8435

This release of bom introduces a ton of new features including JSON support document querying reading SBOMs from STDIN and more. bom now has a website too!. Thanks to our contributors for making this our biggest release so far :)

Release Notes

Changes by Kind

Feature

  • --file now works with glob patterns (#70, @sbs2001)
  • Added support for verifying whole directories via bom validate -d. (#123, @saschagrunert)
  • Bom now adds ExternalRefs with Package URLs (purls) for all system packages, go dependencies and OCI images. (#69, @puerco)
  • Feat: upgrade ko, utilize KOCACHE (#66, @developer-guy)
  • SBOM can now parse spdx+json documents which means that they can be outlined and queried just as their tag-value counterparts. (#133, @puerco)
  • SBOMs can now be read from STDIN by passing - as a path wherever a filename is expected
    • Added support to render and parse PackageSupplier, PackageHomePage, LicenseComments and PackageLicenseComments
    • Fixed a bug where the creator organization was missing from the SBOM output. (#63, @puerco)
  • Upgrade go to 1.18 (#107, @cpanato)
  • We now have image promotion manifests for canary jobs (#90, @puerco)
  • bom can now validate artifacts! We now have a new validate subcommand that can be used to check files attached to the top of the SBOM: bom validate sbom.spdx file.txt. No more checksum.txt files! 🎉 (#46, @puerco)

Documentation

Bug or Regression

  • Added externalDocumentRefs to the json types (#130, @puerco)
  • Fixed a panic where bom would die when no OS packages could be read from a debian base layer.
    • Fixed a bug that disconnected the entire document subcommand from the main cobra command (#84, @puerco)
  • Fixes a bug in the go dependency generator where var scope was handled wrong and errors were not being surfaced correctly
    • The go module parser is now more permissive preventing a fatal error when a dependency cannot be converted to a SPDX package
    • Fixed a bug where the go module being analyzed was incorrectly listed as a dependency of itself (#97, @puerco)
  • Reverted licenseclassifier update because it includes a runtime panic regression. (#128, @saschagrunert)
  • Update github.com/google/go-containerregistry to v0.9.0
    • update k8s.gcr.io reference to use registry.k8s.io (#109, @cpanato)

Other (Cleanup or Flake)

  • Cobra commands in the CLI now can be reused and now share the same import pattern (#68, @puerco)
  • Package names generated from go modules do not include the module's version anymore. (#99, @puerco)
  • The bom project now features canary releases published to the staging bucket (#93, @puerco)
  • Update version command to use the one from release-utils (#60, @cpanato)

Uncategorized

Dependencies

Added

  • 4d63.com/gochecknoglobals: v0.1.0
  • bitbucket.org/creachadair/shell: v0.0.6
  • cloud.google.com/go/compute: v1.6.1
  • cloud.google.com/go/spanner: v1.7.0
  • contrib.go.opencensus.io/exporter/stackdriver: v0.13.4
  • github.com/Antonboom/errname: v0.1.5
  • github.com/Antonboom/nilnil: v0.1.0
  • github.com/Djarvur/go-err113: aea10b5
  • github.com/Masterminds/goutils: v1.1.0
  • github.com/Masterminds/semver: v1.5.0
  • github.com/Masterminds/sprig: v2.22.0+incompatible
  • github.com/OpenPeeDeeP/depguard: v1.0.1
  • github.com/StackExchange/wmi: v1.2.1
  • github.com/alexkohler/prealloc: v1.0.0
  • github.com/aokoli/goutils: v1.0.1
  • github.com/ashanbrown/forbidigo: v1.2.0
  • github.com/ashanbrown/makezero: b626158
  • github.com/bketelsen/crypt: v0.0.4
  • github.com/bkielbasa/cyclop: v1.2.0
  • github.com/blizzy78/varnamelen: v0.3.0
  • github.com/bombsimon/wsl/v3: v3.3.0
  • github.com/breml/bidichk: v0.1.1
  • github.com/butuzov/ireturn: v0.1.1
  • github.com/charithe/durationcheck: v0.0.9
  • github.com/chavacava/garif: e8a0a40
  • github.com/common-nighthawk/go-figure: 734e95f
  • github.com/coreos/go-etcd: v2.0.0+incompatible
  • github.com/cpuguy83/go-md2man: v1.0.10
  • github.com/daixiang0/gci: v0.2.9
  • github.com/denis-tingajkin/go-header: v0.4.2
  • github.com/esimonov/ifshort: v1.0.3
  • github.com/ettle/strcase: v0.1.1
  • github.com/fatih/structtag: v1.2.0
  • github.com/fullstorydev/grpcurl: v1.6.0
  • github.com/fzipp/gocyclo: v0.3.1
  • github.com/go-critic/go-critic: v0.6.1
  • github.com/go-ole/go-ole: v1.2.6
  • github.com/go-redis/redis: v6.15.8+incompatible
  • github.com/go-sql-driver/mysql: v1.5.0
  • github.com/go-task/slim-sprig: 348f09d
  • github.com/go-toolsmith/astcast: v1.0.0
  • github.com/go-toolsmith/astcopy: v1.0.0
  • github.com/go-toolsmith/astequal: v1.0.1
  • github.com/go-toolsmith/astfmt: v1.0.0
  • github.com/go-toolsmith/astinfo: 9809ff7
  • github.com/go-toolsmith/astp: v1.0.0
  • github.com/go-toolsmith/pkgload: v1.0.0
  • github.com/go-toolsmith/strparse: v1.0.0
  • github.com/go-toolsmith/typep: v1.0.2
  • github.com/go-xmlfmt/xmlfmt: d5b6f63
  • github.com/gobwas/glob: v0.2.3
  • github.com/gofrs/flock: v0.8.1
  • github.com/golangci/check: cfe4005
  • github.com/golangci/dupl: 3e9179a
  • github.com/golangci/go-misc: 927a3d8
  • github.com/golangci/gofmt: 244bba7
  • github.com/golangci/golangci-lint: v1.43.0
  • github.com/golangci/lint-1: 297bf36
  • github.com/golangci/maligned: b1d8939
  • github.com/golangci/misspell: v0.3.5
  • github.com/golangci/revgrep: c22e500
  • github.com/golangci/unconvert: 28b1c44
  • github.com/google/certificate-transparency-go: v1.1.1
  • github.com/google/trillian: v1.3.11
  • github.com/gookit/color: v1.4.2
  • github.com/gordonklaus/ineffassign: 2e10b26
  • github.com/gorhill/cronexpr: 88b0669
  • github.com/gostaticanalysis/analysisutil: v0.7.1
  • github.com/gostaticanalysis/comment: v1.4.2
  • github.com/gostaticanalysis/forcetypeassert: 01d4955
  • github.com/gostaticanalysis/nilerr: v0.1.1
  • github.com/gostaticanalysis/testutil: v0.4.0
  • github.com/hashicorp/go-version: v1.2.1
  • github.com/hashicorp/go.net: v0.0.1
  • github.com/huandu/xstrings: v1.2.0
  • github.com/jgautheron/goconst: v1.5.1
  • github.com/jhump/protoreflect: v1.6.1
  • github.com/jingyugao/rowserrcheck: v1.1.1
  • github.com/jirfag/go-printf-func-name: 7558a9e
  • github.com/jmespath/go-jmespath/internal/testify: v1.5.1
  • github.com/jmoiron/sqlx: v1.2.0
  • github.com/josharian/txtarfs: 0702f00
  • github.com/juju/ratelimit: v1.0.1
  • github.com/julz/importas: 841f0c0
  • github.com/k0kubun/colorstring: 9440f19
  • github.com/kulti/thelper: v0.4.0
  • github.com/kunwardeep/paralleltest: v1.0.3
  • github.com/kylelemons/godebug: v1.1.0
  • github.com/kyoh86/exportloopref: v0.1.8
  • github.com/ldez/gomoddirectives: v0.2.2
  • github.com/ldez/tagliatelle: v0.2.0
  • github.com/letsencrypt/pkcs11key/v4: v4.0.0
  • github.com/lib/pq: v1.10.3
  • github.com/logrusorgru/aurora: a7b3b31
  • github.com/lufia/plan9stats: 39d0f17
  • github.com/maratori/testpackage: v1.0.1
  • github.com/matoous/godox: 6504466
  • github.com/mattn/go-sqlite3: v1.9.0
  • github.com/mattn/goveralls: v0.0.2
  • github.com/mbilski/exhaustivestruct: v1.2.0
  • github.com/mgechev/dots: e955255
  • github.com/mgechev/revive: v1.1.2
  • github.com/mitchellh/copystructure: v1.0.0
  • github.com/mitchellh/go-ps: v1.0.0
  • github.com/mitchellh/gox: v0.4.0
  • github.com/mitchellh/iochan: v1.0.0
  • github.com/mitchellh/reflectwalk: v1.0.1
  • github.com/mohae/deepcopy: c48cc78
  • github.com/moricho/tparallel: v0.2.1
  • github.com/mozilla/scribe: fb71baf
  • github.com/mozilla/tls-observatory: 7bc4285
  • github.com/mwitkow/go-proto-validators: v0.2.0
  • github.com/nakabonne/nestif: v0.3.1
  • github.com/nbutton23/zxcvbn-go: fa2cb28
  • github.com/nishanths/exhaustive: v0.2.3
  • github.com/nishanths/predeclared: v0.2.1
  • github.com/opentracing/opentracing-go: v1.1.0
  • github.com/otiai10/copy: v1.2.0
  • github.com/otiai10/curr: v1.0.0
  • github.com/otiai10/mint: v1.3.1
  • github.com/package-url/packageurl-go: d704593
  • github.com/pborman/uuid: v1.2.0
  • github.com/phayes/checkstyle: bfd46e6
  • github.com/pkg/diff: 20ebb0f
  • github.com/polyfloyd/go-errorlint: 910bb79
  • github.com/pseudomuto/protoc-gen-doc: v1.3.2
  • github.com/pseudomuto/protokit: v0.2.0
  • github.com/quasilyte/go-consistent: c6f3937
  • github.com/quasilyte/go-ruleguard/dsl: v0.3.10
  • github.com/quasilyte/go-ruleguard/rules: 545e0d2
  • github.com/quasilyte/go-ruleguard: v0.3.13
  • github.com/quasilyte/regex/syntax: 30656e2
  • github.com/rs/cors: v1.7.0
  • github.com/russross/blackfriday: v1.6.0
  • github.com/ryancurrah/gomodguard: v1.2.3
  • github.com/ryanrolds/sqlclosecheck: v0.3.0
  • github.com/sanposhiho/wastedassign/v2: v2.0.6
  • github.com/securego/gosec/v2: v2.9.1
  • github.com/shazow/go-diff: b6b7b67
  • github.com/shirou/gopsutil/v3: v3.21.10
  • github.com/shurcooL/go-goon: 37c2f52
  • github.com/shurcooL/go: 9e1955d
  • github.com/sivchari/tenv: v1.4.7
  • github.com/sonatard/noctx: v0.0.1
  • github.com/sourcegraph/go-diff: v0.6.1
  • github.com/ssgreg/nlreturn/v2: v2.2.1
  • github.com/sylvia7788/contextcheck: v1.0.4
  • github.com/tdakkota/asciicheck: e657995
  • github.com/tenntenn/modver: v1.0.1
  • github.com/tenntenn/text/transform: 7eef512
  • github.com/tetafro/godot: v1.4.11
  • github.com/timakin/bodyclose: cb62158
  • github.com/tklauser/go-sysconf: v0.3.9
  • github.com/tklauser/numcpus: v0.3.0
  • github.com/tomarrell/wrapcheck/v2: v2.4.0
  • github.com/tomasen/realip: f0c99a9
  • github.com/tommy-muehle/go-mnd/v2: v2.4.0
  • github.com/ugorji/go/codec: d75b2dc
  • github.com/ultraware/funlen: v0.0.3
  • github.com/ultraware/whitespace: v0.0.4
  • github.com/uudashr/gocognit: v1.0.5
  • github.com/valyala/bytebufferpool: v1.0.0
  • github.com/valyala/fasthttp: v1.30.0
  • github.com/valyala/quicktemplate: v1.7.0
  • github.com/valyala/tcplisten: v1.0.0
  • github.com/viki-org/dnscache: c70c1f2
  • github.com/xo/terminfo: ca9a967
  • github.com/yeya24/promlinter: v0.1.0
  • github.com/yudai/gojsondiff: v1.0.0
  • github.com/yudai/golcs: ecda9a5
  • github.com/yudai/pp: v2.0.1+incompatible
  • go.mozilla.org/mozlog: 4bb1313
  • go.uber.org/tools: 2cfd321
  • gopkg.in/gcfg.v1: v1.2.3
  • mvdan.cc/gofumpt: v0.1.1
  • mvdan.cc/interfacer: c200402
  • mvdan.cc/lint: adc824a
  • mvdan.cc/unparam: aac4ce9

Changed

Removed

  • bazil.org/fuse: 371fbbd
  • github.com/Azure/azure-sdk-for-go: v16.2.1+incompatible
  • github.com/Azure/go-autorest/autorest/adal: v0.9.5
  • github.com/Azure/go-autorest/autorest/date: v0.3.0
  • github.com/Azure/go-autorest/autorest/mocks: v0.4.1
  • github.com/Azure/go-autorest/autorest: v0.11.1
  • github.com/Azure/go-autorest/logger: v0.2.0
  • github.com/Azure/go-autorest/tracing: v0.6.0
  • github.com/Azure/go-autorest: v14.2.0+incompatible
  • github.com/DataDog/datadog-go: v3.2.0+incompatible
  • github.com/Microsoft/hcsshim/test: 43a75bb
  • github.com/Microsoft/hcsshim: v0.8.23
  • github.com/NYTimes/gziphandler: 56545f4
  • github.com/PuerkitoBio/purell: v1.1.1
  • github.com/PuerkitoBio/urlesc: de5bf2a
  • github.com/Shopify/logrus-bugsnag: 577dee2
  • github.com/alexflint/go-filemutex: 72bdc8e
  • github.com/asaskevich/govalidator: f61b66f
  • github.com/bitly/go-simplejson: v0.5.0
  • github.com/bits-and-blooms/bitset: v1.2.0
  • github.com/bmizerany/assert: b7ed37b
  • github.com/bshuster-repo/logrus-logstash-hook: v0.4.1
  • github.com/buger/jsonparser: f4dd9f5
  • github.com/bugsnag/bugsnag-go: b1d1530
  • github.com/bugsnag/osext: 0dd3f91
  • github.com/bugsnag/panicwrap: e2c2850
  • github.com/cenkalti/backoff/v4: v4.1.1
  • github.com/checkpoint-restore/go-criu/v4: v4.1.0
  • github.com/checkpoint-restore/go-criu/v5: v5.0.0
  • github.com/cilium/ebpf: v0.6.2
  • github.com/circonus-labs/circonus-gometrics: v2.3.1+incompatible
  • github.com/circonus-labs/circonusllhist: v0.1.3
  • github.com/containerd/aufs: v1.0.0
  • github.com/containerd/btrfs: v1.0.0
  • github.com/containerd/cgroups: v1.0.1
  • github.com/containerd/console: v1.0.2
  • github.com/containerd/containerd: v1.5.8
  • github.com/containerd/continuity: v0.1.0
  • github.com/containerd/fifo: v1.0.0
  • github.com/containerd/go-cni: v1.0.2
  • github.com/containerd/go-runc: v1.0.0
  • github.com/containerd/imgcrypt: v1.1.1
  • github.com/containerd/nri: v0.1.0
  • github.com/containerd/ttrpc: v1.1.0
  • github.com/containerd/typeurl: v1.0.2
  • github.com/containerd/zfs: v1.0.0
  • github.com/containernetworking/cni: v0.8.1
  • github.com/containernetworking/plugins: v0.9.1
  • github.com/containers/ocicrypt: v1.1.1
  • github.com/coreos/bbolt: v1.3.2
  • github.com/coreos/go-iptables: v0.5.0
  • github.com/coreos/go-oidc: v2.1.0+incompatible
  • github.com/cyphar/filepath-securejoin: v0.2.2
  • github.com/d2g/dhcp4: a1d1b6c
  • github.com/d2g/dhcp4client: v1.0.0
  • github.com/d2g/dhcp4server: 7d4a0a7
  • github.com/d2g/hardwareaddr: e7d9fbe
  • github.com/denverdino/aliyungo: a747050
  • github.com/dgryski/go-sip13: e10d5fe
  • github.com/dnaeon/go-vcr: v1.0.1
  • github.com/docker/go-events: e31b211
  • github.com/docker/go-metrics: v0.0.1
  • github.com/docker/libtrust: fa56704
  • github.com/docker/spdystream: 449fdfc
  • github.com/docopt/docopt-go: ee0de3b
  • github.com/elazarl/goproxy: 947c36d
  • github.com/emicklei/go-restful: v2.9.5+incompatible
  • github.com/evanphx/json-patch: v4.9.0+incompatible
  • github.com/form3tech-oss/jwt-go: v3.2.2+incompatible
  • github.com/frankban/quicktest: v1.11.3
  • github.com/fullsailor/pkcs7: d7302db
  • github.com/garyburd/redigo: 535138d
  • github.com/go-ini/ini: v1.25.4
  • github.com/go-openapi/jsonpointer: v0.19.3
  • github.com/go-openapi/jsonreference: v0.19.3
  • github.com/go-openapi/spec: v0.19.3
  • github.com/go-openapi/swag: v0.19.5
  • github.com/godbus/dbus: ade71ed
  • github.com/gogo/googleapis: v1.4.0
  • github.com/googleapis/gnostic: v0.4.1
  • github.com/gorilla/handlers: 60c7bfd
  • github.com/hashicorp/go-retryablehttp: v0.5.3
  • github.com/iancoleman/strcase: v0.2.0
  • github.com/j-keck/arping: 2cf9dc6
  • github.com/lyft/protoc-gen-star: v0.5.3
  • github.com/mailru/easyjson: v0.7.0
  • github.com/marstr/guid: v1.1.0
  • github.com/mattn/go-shellwords: v1.0.3
  • github.com/mistifyio/go-zfs: f784269
  • github.com/mitchellh/osext: 5e2d6d4
  • github.com/moby/locker: v1.0.1
  • github.com/moby/sys/mountinfo: v0.4.1
  • github.com/moby/sys/symlink: v0.1.0
  • github.com/mrunalp/fileutils: v0.5.0
  • github.com/munnerz/goautoneg: a7dc8b6
  • github.com/mxk/go-flowrate: cca7078
  • github.com/ncw/swift: v1.0.47
  • github.com/oklog/ulid: v1.3.1
  • github.com/opencontainers/runc: v1.0.2
  • github.com/opencontainers/runtime-spec: 1c3f411
  • github.com/opencontainers/runtime-tools: 1d69bd0
  • github.com/opencontainers/selinux: v1.8.2
  • github.com/pquerna/cachecontrol: 0dec1b3
  • github.com/prometheus/tsdb: v0.7.1
  • github.com/safchain/ethtool: 42ed695
  • github.com/satori/go.uuid: v1.2.0
  • github.com/seccomp/libseccomp-golang: v0.9.1
  • github.com/stefanberger/go-pkcs11uri: 78d3cae
  • github.com/syndtr/gocapability: 42c35b4
  • github.com/tchap/go-patricia: v2.2.6+incompatible
  • github.com/tv42/httpunix: b75d861
  • github.com/ugorji/go: v1.1.4
  • github.com/vishvananda/netlink: d40f988
  • github.com/vishvananda/netns: db3c7e5
  • github.com/willf/bitset: v1.1.11
  • github.com/yvasiyarov/go-metrics: 57bccd1
  • github.com/yvasiyarov/gorelic: a9bba5b
  • github.com/yvasiyarov/newrelic_platform_go: b21fdbd
  • go.mozilla.org/pkcs7: 432b235
  • google.golang.org/cloud: 975617b
  • gopkg.in/airbrake/gobrake.v2: v2.0.9
  • gopkg.in/gemnasium/logrus-airbrake-hook.v2: v2.1.2
  • gopkg.in/inf.v0: v0.9.1
  • gopkg.in/natefinch/lumberjack.v2: v2.0.0
  • gopkg.in/square/go-jose.v2: v2.5.1
  • gotest.tools: v2.2.0+incompatible
  • k8s.io/api: v0.20.6
  • k8s.io/apimachinery: v0.20.6
  • k8s.io/apiserver: v0.20.6
  • k8s.io/client-go: v0.20.6
  • k8s.io/component-base: v0.20.6
  • k8s.io/cri-api: v0.20.6
  • k8s.io/gengo: 3a45101
  • k8s.io/kube-openapi: d219536
  • k8s.io/kubernetes: v1.13.0
  • sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.0.15
  • sigs.k8s.io/structured-merge-diff/v4: v4.0.3