Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package buildpacks-cli for openSUSE:Factory checked in at 2026-06-25 10:55:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/buildpacks-cli (Old) and /work/SRC/openSUSE:Factory/.buildpacks-cli.new.2088 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "buildpacks-cli" Thu Jun 25 10:55:01 2026 rev:20 rq:1361526 version:0.40.7 Changes: -------- --- /work/SRC/openSUSE:Factory/buildpacks-cli/buildpacks-cli.changes 2026-05-17 18:57:17.073428391 +0200 +++ /work/SRC/openSUSE:Factory/.buildpacks-cli.new.2088/buildpacks-cli.changes 2026-06-25 10:58:09.715354369 +0200 @@ -1,0 +2,19 @@ +Wed Jun 24 05:28:57 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.40.7: + * Features + - fix(buildpack): correct yank registry issue body (add yank = + true + code fence) (#2631 by @MD-Mushfiqur123) + - chore: remove direct dependency on github.com/docker/docker + (#2617 by @jjbustamante) + - Suggest heroku/builder:26 instead of heroku/builder:24 (#2611 + by @runesoerensen) + * Dependencies + - build(deps): bump Go directive to 1.25.11 for stdlib security + fixes (#2642) + - build(deps): bump x/crypto, x/net, and go-git for security + fixes (#2641) + - chore: remove direct dependency on github.com/docker/docker + (#2617) + +------------------------------------------------------------------- Old: ---- buildpacks-cli-0.40.5.obscpio New: ---- buildpacks-cli-0.40.7.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ buildpacks-cli.spec ++++++ --- /var/tmp/diff_new_pack.vStwn0/_old 2026-06-25 10:58:11.107402410 +0200 +++ /var/tmp/diff_new_pack.vStwn0/_new 2026-06-25 10:58:11.107402410 +0200 @@ -19,7 +19,7 @@ %define executable_name pack Name: buildpacks-cli -Version: 0.40.5 +Version: 0.40.7 Release: 0 Summary: CLI for building apps using Cloud Native Buildpacks License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.vStwn0/_old 2026-06-25 10:58:11.143403652 +0200 +++ /var/tmp/diff_new_pack.vStwn0/_new 2026-06-25 10:58:11.147403791 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/buildpacks/pack</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.40.6</param> + <param name="revision">v0.40.7</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.vStwn0/_old 2026-06-25 10:58:11.175404757 +0200 +++ /var/tmp/diff_new_pack.vStwn0/_new 2026-06-25 10:58:11.179404895 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/buildpacks/pack</param> - <param name="changesrevision">7640af991ccd0ed30c2365bf91175271ba9b05b7</param></service></servicedata> + <param name="changesrevision">2df3b8c3b0955ea41aec010783ddfe70cbc17c56</param></service></servicedata> (No newline at EOF) ++++++ buildpacks-cli-0.40.5.obscpio -> buildpacks-cli-0.40.7.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/.grype.yaml new/buildpacks-cli-0.40.7/.grype.yaml --- old/buildpacks-cli-0.40.5/.grype.yaml 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/.grype.yaml 2026-06-23 18:53:35.000000000 +0200 @@ -3,5 +3,18 @@ - vulnerability: CVE-2021-22570 # false positive, see https://github.com/anchore/grype/issues/558 - vulnerability: CVE-2024-41110 # non-impactful as we only use docker as a client - vulnerability: GHSA-v23v-6jw2-98fq # non-impactful as we only use docker as a client - - vulnerability: GHSA-x744-4wpc-v9h2 # AuthZ plugin bypass; not exploitable as pack only uses docker as a client. Fixed in moby/moby/v2 but not backported to docker/docker module. - - vulnerability: GHSA-pxq6-2prw-chj9 # plugin privilege validation off-by-one; not exploitable as pack only uses docker as a client. Fixed in moby/moby/v2 but not backported to docker/docker module. + # docker/docker daemon-side advisories: not exploitable as pack only uses docker as a client + # (imports api/types, client, volume/mounts and pkg/* helpers, never the daemon code paths). + # Fixed only in github.com/moby/moby/v2, not backported to the github.com/docker/docker module. + # NOTE: grype matches the printed primary ID, not aliases, so we list every ID form that can + # surface across the go-module (binary) scan and the released-image scan. + - vulnerability: GO-2026-4887 # AuthZ plugin bypass (CVE-2026-34040 / GHSA-x744-4wpc-v9h2) + - vulnerability: GHSA-x744-4wpc-v9h2 + - vulnerability: GO-2026-4883 # plugin privilege validation off-by-one (CVE-2026-33997 / GHSA-pxq6-2prw-chj9) + - vulnerability: GHSA-pxq6-2prw-chj9 + - vulnerability: GHSA-x86f-5xw2-fm2r # decompression-binary RCE via container filesystem (daemon-side) + - vulnerability: GHSA-rg2x-37c3-w2rh # docker cp bind-mount redirect race (CVE-2026-42306, daemon-side) + - vulnerability: GHSA-vp62-88p7-qqf5 # docker cp symlink-swap race (CVE-2026-41568, daemon-side) + # docker/cli: installed v29.4.3 is already newer than the fixed v29.2.0; grype mis-orders the + # +incompatible pseudo-version. Already remediated, kept here to silence the false positive. + - vulnerability: GO-2026-4610 # GHSA / CVE for docker/cli auth, fixed in 29.2.0 (we ship >= 29.4.3) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/acceptance/assertions/output.go new/buildpacks-cli-0.40.7/acceptance/assertions/output.go --- old/buildpacks-cli-0.40.5/acceptance/assertions/output.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/acceptance/assertions/output.go 2026-06-23 18:53:35.000000000 +0200 @@ -229,7 +229,7 @@ } var herokuBuilders = []string{ - "heroku/builder:24", + "heroku/builder:26", } func (o OutputAssertionManager) IncludesHerokuBuilders() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/go.mod new/buildpacks-cli-0.40.7/go.mod --- old/buildpacks-cli-0.40.5/go.mod 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/go.mod 2026-06-23 18:53:35.000000000 +0200 @@ -13,7 +13,7 @@ github.com/docker/docker v28.5.2+incompatible github.com/dustin/go-humanize v1.0.1 github.com/gdamore/tcell/v2 v2.13.9 - github.com/go-git/go-git/v5 v5.19.0 + github.com/go-git/go-git/v5 v5.19.1 github.com/golang/mock v1.6.0 github.com/google/go-cmp v0.7.0 github.com/google/go-containerregistry v0.21.5 @@ -33,13 +33,13 @@ github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 github.com/sclevine/spec v1.4.0 github.com/spf13/cobra v1.10.2 - golang.org/x/crypto v0.51.0 + golang.org/x/crypto v0.53.0 golang.org/x/mod v0.36.0 golang.org/x/oauth2 v0.36.0 - golang.org/x/sync v0.20.0 - golang.org/x/sys v0.44.0 - golang.org/x/term v0.43.0 - golang.org/x/text v0.37.0 + golang.org/x/sync v0.21.0 + golang.org/x/sys v0.46.0 + golang.org/x/term v0.44.0 + golang.org/x/text v0.38.0 gopkg.in/yaml.v3 v3.0.1 ) @@ -118,12 +118,10 @@ github.com/moby/buildkit v0.29.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/patternmatcher v0.6.1 // indirect - github.com/moby/sys/atomicwriter v0.1.0 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/moby/sys/user v0.4.0 // indirect github.com/moby/sys/userns v0.1.0 // indirect github.com/moby/term v0.5.2 // indirect - github.com/morikuni/aec v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/opencontainers/selinux v1.13.1 // indirect github.com/pjbgf/sha1cd v0.6.0 // indirect @@ -150,11 +148,11 @@ go.opentelemetry.io/otel/trace v1.43.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.53.0 // indirect + golang.org/x/net v0.55.0 // indirect google.golang.org/protobuf v1.36.11 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) replace github.com/BurntSushi/toml => github.com/BurntSushi/toml v1.3.2 -go 1.25.10 +go 1.25.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/go.sum new/buildpacks-cli-0.40.7/go.sum --- old/buildpacks-cli-0.40.5/go.sum 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/go.sum 2026-06-23 18:53:35.000000000 +0200 @@ -169,8 +169,8 @@ github.com/go-git/go-billy/v5 v5.9.0/go.mod h1:jCnQMLj9eUgGU7+ludSTYoZL/GGmii14RxKFj7ROgHw= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.19.0 h1:+WkVUQZSy/F1Gb13udrMKjIM2PrzsNfDKFSfo5tkMtc= -github.com/go-git/go-git/v5 v5.19.0/go.mod h1:Pb1v0c7/g8aGQJwx9Us09W85yGoyvSwuhEGMH7zjDKQ= +github.com/go-git/go-git/v5 v5.19.1 h1:nX27AnaU43/K5bKktKwgBmR9lawoYVe1Ckg0rgzzN00= +github.com/go-git/go-git/v5 v5.19.1/go.mod h1:Pb1v0c7/g8aGQJwx9Us09W85yGoyvSwuhEGMH7zjDKQ= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -278,8 +278,6 @@ github.com/moby/moby/client v0.4.1/go.mod h1:z52C9O2POPOsnxZAy//WtKcQ32P+jT/NGeXu/7nfjGQ= github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= -github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= -github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= @@ -432,8 +430,8 @@ golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI= -golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8= +golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= +golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= @@ -455,8 +453,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA= -golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs= +golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= +golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= @@ -469,8 +467,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= -golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= +golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -495,15 +493,15 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= -golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= +golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= -golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= +golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= +golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -512,8 +510,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= +golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/build/phase_test.go new/buildpacks-cli-0.40.7/internal/build/phase_test.go --- old/buildpacks-cli-0.40.5/internal/build/phase_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/build/phase_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -14,15 +14,11 @@ "sync" "testing" - // "github.com/docker/docker/api/types/volume" - "github.com/buildpacks/imgutil/local" "github.com/buildpacks/lifecycle/auth" - dcontainer "github.com/moby/moby/api/types/container" - - // "github.com/docker/docker/api/types/filters" "github.com/google/go-containerregistry/pkg/authn" "github.com/heroku/color" + dcontainer "github.com/moby/moby/api/types/container" "github.com/moby/moby/client" "github.com/sclevine/spec" "github.com/sclevine/spec/report" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/builder/trusted_builder.go new/buildpacks-cli-0.40.7/internal/builder/trusted_builder.go --- old/buildpacks-cli-0.40.5/internal/builder/trusted_builder.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/builder/trusted_builder.go 2026-06-23 18:53:35.000000000 +0200 @@ -25,21 +25,21 @@ { Vendor: "Heroku", Image: "heroku/builder:26", - DefaultDescription: "Ubuntu 26.04 AMD64+ARM64 base image with buildpacks for .NET, Go, Java, Node.js, Python & Scala", - Suggested: false, + DefaultDescription: "Ubuntu 26.04 AMD64+ARM64 base image with buildpacks for .NET, Go, Java, Node.js, PHP, Python, Ruby & Scala.", + Suggested: true, Trusted: true, }, { Vendor: "Heroku", Image: "heroku/builder:24", - DefaultDescription: "Ubuntu 24.04 AMD64+ARM64 base image with buildpacks for Go, Java, Node.js, PHP, Python, Ruby & Scala.", - Suggested: true, + DefaultDescription: "Ubuntu 24.04 AMD64+ARM64 base image with buildpacks for .NET, Go, Java, Node.js, PHP, Python, Ruby & Scala.", + Suggested: false, Trusted: true, }, { Vendor: "Heroku", Image: "heroku/builder:22", - DefaultDescription: "Ubuntu 22.04 AMD64 base image with buildpacks for Go, Java, Node.js, PHP, Python, Ruby & Scala.", + DefaultDescription: "Ubuntu 22.04 AMD64 base image with buildpacks for .NET, Go, Java, Node.js, PHP, Python, Ruby & Scala.", Suggested: false, Trusted: true, }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/commands/build_test.go new/buildpacks-cli-0.40.7/internal/commands/build_test.go --- old/buildpacks-cli-0.40.5/internal/commands/build_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/commands/build_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -120,9 +120,9 @@ Return(nil) logger.WantVerbose(true) - command.SetArgs([]string{"image", "--builder", "heroku/builder:24"}) + command.SetArgs([]string{"image", "--builder", "heroku/builder:26"}) h.AssertNil(t, command.Execute()) - h.AssertContains(t, outBuf.String(), "Builder 'heroku/builder:24' is trusted") + h.AssertContains(t, outBuf.String(), "Builder 'heroku/builder:26' is trusted") }) }) @@ -133,9 +133,9 @@ Return(nil) logger.WantVerbose(true) - command.SetArgs([]string{"image", "--builder", "heroku/builder:22"}) + command.SetArgs([]string{"image", "--builder", "heroku/builder:24"}) h.AssertNil(t, command.Execute()) - h.AssertContains(t, outBuf.String(), "Builder 'heroku/builder:22' is trusted") + h.AssertContains(t, outBuf.String(), "Builder 'heroku/builder:24' is trusted") }) }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/commands/builder_inspect_test.go new/buildpacks-cli-0.40.7/internal/commands/builder_inspect_test.go --- old/buildpacks-cli-0.40.5/internal/commands/builder_inspect_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/commands/builder_inspect_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -273,7 +273,7 @@ assert.Matches(outBuf.String(), regexp.MustCompile(`Paketo Buildpacks:\s+'paketobuildpacks/builder-jammy-base'`)) assert.Matches(outBuf.String(), regexp.MustCompile(`Paketo Buildpacks:\s+'paketobuildpacks/builder-jammy-full'`)) - assert.Matches(outBuf.String(), regexp.MustCompile(`Heroku:\s+'heroku/builder:24'`)) + assert.Matches(outBuf.String(), regexp.MustCompile(`Heroku:\s+'heroku/builder:26'`)) }) }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/commands/inspect_builder_test.go new/buildpacks-cli-0.40.7/internal/commands/inspect_builder_test.go --- old/buildpacks-cli-0.40.5/internal/commands/inspect_builder_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/commands/inspect_builder_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -215,7 +215,7 @@ assert.Matches(outBuf.String(), regexp.MustCompile(`Paketo Buildpacks:\s+'paketobuildpacks/builder-jammy-base'`)) assert.Matches(outBuf.String(), regexp.MustCompile(`Paketo Buildpacks:\s+'paketobuildpacks/builder-jammy-full'`)) - assert.Matches(outBuf.String(), regexp.MustCompile(`Heroku:\s+'heroku/builder:24'`)) + assert.Matches(outBuf.String(), regexp.MustCompile(`Heroku:\s+'heroku/builder:26'`)) }) }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/container/run.go new/buildpacks-cli-0.40.7/internal/container/run.go --- old/buildpacks-cli-0.40.5/internal/container/run.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/container/run.go 2026-06-23 18:53:35.000000000 +0200 @@ -5,7 +5,7 @@ "fmt" "io" - "github.com/docker/docker/pkg/stdcopy" + "github.com/moby/moby/api/pkg/stdcopy" dcontainer "github.com/moby/moby/api/types/container" dockerClient "github.com/moby/moby/client" "github.com/pkg/errors" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/ioutil/readcloser.go new/buildpacks-cli-0.40.7/internal/ioutil/readcloser.go --- old/buildpacks-cli-0.40.5/internal/ioutil/readcloser.go 1970-01-01 01:00:00.000000000 +0100 +++ new/buildpacks-cli-0.40.7/internal/ioutil/readcloser.go 2026-06-23 18:53:35.000000000 +0200 @@ -0,0 +1,19 @@ +package ioutil + +import "io" + +type readCloserWrapper struct { + io.Reader + closeFn func() error +} + +// NewReadCloserWrapper returns an io.ReadCloser that reads from r and runs +// closeFn on Close. It replaces github.com/docker/docker/pkg/ioutils.NewReadCloserWrapper, +// which is not part of the moby/moby split modules. +func NewReadCloserWrapper(r io.Reader, closeFn func() error) io.ReadCloser { + return &readCloserWrapper{Reader: r, closeFn: closeFn} +} + +func (w *readCloserWrapper) Close() error { + return w.closeFn() +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/registry/registry_cache.go new/buildpacks-cli-0.40.7/internal/registry/registry_cache.go --- old/buildpacks-cli-0.40.5/internal/registry/registry_cache.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/registry/registry_cache.go 2026-06-23 18:53:35.000000000 +0200 @@ -36,11 +36,11 @@ } const GithubIssueTitleTemplate = "{{ if .Yanked }}YANK{{ else }}ADD{{ end }} {{.Namespace}}/{{.Name}}@{{.Version}}" -const GithubIssueBodyTemplate = ` -id = "{{.Namespace}}/{{.Name}}" +const GithubIssueBodyTemplate = "```\n" + + `id = "{{.Namespace}}/{{.Name}}" version = "{{.Version}}" -{{ if .Yanked }}{{ else if .Address }}addr = "{{.Address}}"{{ end }} -` +{{ if .Yanked }}yank = true{{ else if .Address }}addr = "{{.Address}}"{{ end }} +` + "```\n" const GitCommitTemplate = `{{ if .Yanked }}YANK{{else}}ADD{{end}} {{.Namespace}}/{{.Name}}@{{.Version}}` // Entry is a list of buildpacks stored in a registry diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/sshdialer/ssh_dialer.go new/buildpacks-cli-0.40.7/internal/sshdialer/ssh_dialer.go --- old/buildpacks-cli-0.40.5/internal/sshdialer/ssh_dialer.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/sshdialer/ssh_dialer.go 2026-06-23 18:53:35.000000000 +0200 @@ -17,7 +17,6 @@ "time" "github.com/docker/cli/cli/connhelper" - "github.com/docker/docker/pkg/homedir" "golang.org/x/crypto/ssh" "golang.org/x/crypto/ssh/agent" "golang.org/x/crypto/ssh/knownhosts" @@ -374,9 +373,17 @@ return signer, nil } +// homeDir returns the current user's home directory, or an empty string if it +// cannot be determined. It replaces github.com/docker/docker/pkg/homedir.Get, +// which is not part of the moby/moby split modules. +func homeDir() string { + h, _ := os.UserHomeDir() + return h +} + func createHostKeyCallback(userCallback HostKeyCallback) ssh.HostKeyCallback { return func(hostPort string, remote net.Addr, pubKey ssh.PublicKey) error { - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") fileCallback, err := knownhosts.New(knownHosts) if err != nil { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/sshdialer/ssh_dialer_test.go new/buildpacks-cli-0.40.7/internal/sshdialer/ssh_dialer_test.go --- old/buildpacks-cli-0.40.5/internal/sshdialer/ssh_dialer_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/sshdialer/ssh_dialer_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -17,7 +17,6 @@ "text/template" "time" - "github.com/docker/docker/pkg/homedir" "github.com/pkg/errors" "github.com/sclevine/spec" "github.com/sclevine/spec/report" @@ -28,6 +27,11 @@ th "github.com/buildpacks/pack/testhelpers" ) +func homeDir() string { + h, _ := os.UserHomeDir() + return h +} + type args struct { connStr string credentialConfig sshdialer.Config @@ -566,9 +570,9 @@ return func(t *testing.T) func() { t.Helper() - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") - err := os.MkdirAll(filepath.Join(homedir.Get(), ".ssh"), 0700) + err := os.MkdirAll(filepath.Join(homeDir(), ".ssh"), 0700) th.AssertNil(t, err) _, err = os.Stat(knownHosts) @@ -607,9 +611,9 @@ return func(t *testing.T) func() { t.Helper() - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") - err := os.MkdirAll(filepath.Join(homedir.Get(), ".ssh"), 0700) + err := os.MkdirAll(filepath.Join(homeDir(), ".ssh"), 0700) th.AssertNil(t, err) _, err = os.Stat(knownHosts) @@ -650,9 +654,9 @@ func withBrokenKnownHosts(t *testing.T) func() { t.Helper() - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") - err := os.MkdirAll(filepath.Join(homedir.Get(), ".ssh"), 0700) + err := os.MkdirAll(filepath.Join(homeDir(), ".ssh"), 0700) th.AssertNil(t, err) _, err = os.Stat(knownHosts) @@ -676,9 +680,9 @@ func withInaccessibleKnownHosts(t *testing.T) func() { t.Helper() - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") - err := os.MkdirAll(filepath.Join(homedir.Get(), ".ssh"), 0700) + err := os.MkdirAll(filepath.Join(homeDir(), ".ssh"), 0700) th.AssertNil(t, err) _, err = os.Stat(knownHosts) @@ -699,9 +703,9 @@ func withEmptyKnownHosts(t *testing.T) func() { t.Helper() - knownHosts := filepath.Join(homedir.Get(), ".ssh", "known_hosts") + knownHosts := filepath.Join(homeDir(), ".ssh", "known_hosts") - err := os.MkdirAll(filepath.Join(homedir.Get(), ".ssh"), 0700) + err := os.MkdirAll(filepath.Join(homeDir(), ".ssh"), 0700) th.AssertNil(t, err) _, err = os.Stat(knownHosts) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/termui/fakes/docker_stdwriter.go new/buildpacks-cli-0.40.7/internal/termui/fakes/docker_stdwriter.go --- old/buildpacks-cli-0.40.5/internal/termui/fakes/docker_stdwriter.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/termui/fakes/docker_stdwriter.go 2026-06-23 18:53:35.000000000 +0200 @@ -1,12 +1,34 @@ package fakes import ( + "encoding/binary" "io" "time" - "github.com/docker/docker/pkg/stdcopy" + "github.com/moby/moby/api/pkg/stdcopy" ) +const stdWriterPrefixLen = 8 + +// stdFrameWriter emits the multiplexed stream format consumed by +// stdcopy.StdCopy: an 8-byte header [streamType, 0, 0, 0, uint32be(len)] +// followed by the payload. The new stdcopy package no longer ships a +// NewStdWriter, so the framing is reproduced here for tests. +type stdFrameWriter struct { + w io.Writer + t stdcopy.StdType +} + +func (f *stdFrameWriter) Write(p []byte) (int, error) { + header := [stdWriterPrefixLen]byte{} + header[0] = byte(f.t) + binary.BigEndian.PutUint32(header[4:], uint32(len(p))) + if _, err := f.w.Write(header[:]); err != nil { + return 0, err + } + return f.w.Write(p) +} + type DockerStdWriter struct { wOut io.Writer wErr io.Writer @@ -14,8 +36,8 @@ func NewDockerStdWriter(w io.Writer) *DockerStdWriter { return &DockerStdWriter{ - wOut: stdcopy.NewStdWriter(w, stdcopy.Stdout), - wErr: stdcopy.NewStdWriter(w, stdcopy.Stderr), + wOut: &stdFrameWriter{w: w, t: stdcopy.Stdout}, + wErr: &stdFrameWriter{w: w, t: stdcopy.Stderr}, } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/internal/termui/termui.go new/buildpacks-cli-0.40.7/internal/termui/termui.go --- old/buildpacks-cli-0.40.5/internal/termui/termui.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/internal/termui/termui.go 2026-06-23 18:53:35.000000000 +0200 @@ -8,8 +8,8 @@ "path/filepath" "strings" - "github.com/docker/docker/pkg/stdcopy" "github.com/gdamore/tcell/v2" + "github.com/moby/moby/api/pkg/stdcopy" dcontainer "github.com/moby/moby/api/types/container" "github.com/rivo/tview" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/pkg/archive/archive.go new/buildpacks-cli-0.40.7/pkg/archive/archive.go --- old/buildpacks-cli-0.40.5/pkg/archive/archive.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/pkg/archive/archive.go 2026-06-23 18:53:35.000000000 +0200 @@ -10,9 +10,9 @@ "path/filepath" "time" - "github.com/docker/docker/pkg/ioutils" "github.com/pkg/errors" + "github.com/buildpacks/pack/internal/ioutil" "github.com/buildpacks/pack/internal/paths" ) @@ -83,7 +83,7 @@ errChan <- closeErr }() - return ioutils.NewReadCloserWrapper(pr, func() error { + return ioutil.NewReadCloserWrapper(pr, func() error { var completeErr error // closing the reader ensures that if anything attempts diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/pkg/blob/blob.go new/buildpacks-cli-0.40.7/pkg/blob/blob.go --- old/buildpacks-cli-0.40.5/pkg/blob/blob.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/pkg/blob/blob.go 2026-06-23 18:53:35.000000000 +0200 @@ -6,9 +6,9 @@ "io" "os" - "github.com/docker/docker/pkg/ioutils" "github.com/pkg/errors" + "github.com/buildpacks/pack/internal/ioutil" "github.com/buildpacks/pack/pkg/archive" ) @@ -54,7 +54,7 @@ return nil, errors.Wrap(err, "create gzip reader") } - rc := ioutils.NewReadCloserWrapper(gzr, func() error { + rc := ioutil.NewReadCloserWrapper(gzr, func() error { defer fh.Close() return gzr.Close() }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/pkg/buildpack/oci_layout_package.go new/buildpacks-cli-0.40.7/pkg/buildpack/oci_layout_package.go --- old/buildpacks-cli-0.40.5/pkg/buildpack/oci_layout_package.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/pkg/buildpack/oci_layout_package.go 2026-06-23 18:53:35.000000000 +0200 @@ -9,10 +9,10 @@ "path" "strings" - "github.com/docker/docker/pkg/ioutils" v1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" + "github.com/buildpacks/pack/internal/ioutil" "github.com/buildpacks/pack/internal/paths" "github.com/buildpacks/pack/internal/style" "github.com/buildpacks/pack/pkg/archive" @@ -174,7 +174,7 @@ } } - return ioutils.NewReadCloserWrapper(finalReader, func() error { + return ioutil.NewReadCloserWrapper(finalReader, func() error { if err := finalReader.Close(); err != nil { return err } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/pkg/cache/volume_cache_test.go new/buildpacks-cli-0.40.7/pkg/cache/volume_cache_test.go --- old/buildpacks-cli-0.40.5/pkg/cache/volume_cache_test.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/pkg/cache/volume_cache_test.go 2026-06-23 18:53:35.000000000 +0200 @@ -5,6 +5,7 @@ "context" "os" "path/filepath" + "regexp" "strings" "testing" @@ -12,7 +13,6 @@ "github.com/buildpacks/pack/pkg/cache" "github.com/buildpacks/pack/pkg/logging" - "github.com/docker/docker/daemon/names" "github.com/google/go-containerregistry/pkg/name" "github.com/heroku/color" "github.com/moby/moby/client" @@ -22,6 +22,10 @@ h "github.com/buildpacks/pack/testhelpers" ) +// restrictedNamePattern mirrors docker's container/volume name validation +// (github.com/docker/docker/daemon/names.RestrictedNamePattern). +var restrictedNamePattern = regexp.MustCompile(`^[a-zA-Z0-9][a-zA-Z0-9_.-]+$`) + func TestVolumeCache(t *testing.T) { h.RequireDocker(t) color.Disable(true) @@ -125,7 +129,7 @@ subject, _ := cache.NewVolumeCache(ref, cache.CacheInfo{}, "some-suffix", dockerClient, logger) h.AssertContains(t, subject.Name(), "fedora_httpd_version1.0") - h.AssertTrue(t, names.RestrictedNamePattern.MatchString(subject.Name())) + h.AssertTrue(t, restrictedNamePattern.MatchString(subject.Name())) }) when("PACK_VOLUME_KEY", func() { @@ -288,7 +292,7 @@ subject, _ := cache.NewVolumeCache(ref, cache.CacheInfo{}, "some-suffix", dockerClient, logger) h.AssertContains(t, subject.Name(), "fedora_httpd_version1.0") - h.AssertTrue(t, names.RestrictedNamePattern.MatchString(subject.Name())) + h.AssertTrue(t, restrictedNamePattern.MatchString(subject.Name())) }) }) }) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/pkg/image/fetcher.go new/buildpacks-cli-0.40.7/pkg/image/fetcher.go --- old/buildpacks-cli-0.40.5/pkg/image/fetcher.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/pkg/image/fetcher.go 2026-06-23 18:53:35.000000000 +0200 @@ -16,9 +16,9 @@ "github.com/buildpacks/imgutil/local" "github.com/buildpacks/imgutil/remote" "github.com/buildpacks/lifecycle/auth" - "github.com/docker/docker/pkg/jsonmessage" "github.com/google/go-containerregistry/pkg/authn" "github.com/moby/moby/client" + "github.com/moby/moby/client/pkg/jsonmessage" ocispec "github.com/opencontainers/image-spec/specs-go/v1" "github.com/pkg/errors" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/buildpacks-cli-0.40.5/testhelpers/testhelpers.go new/buildpacks-cli-0.40.7/testhelpers/testhelpers.go --- old/buildpacks-cli-0.40.5/testhelpers/testhelpers.go 2026-05-15 16:42:52.000000000 +0200 +++ new/buildpacks-cli-0.40.7/testhelpers/testhelpers.go 2026-06-23 18:53:35.000000000 +0200 @@ -26,12 +26,12 @@ "github.com/buildpacks/imgutil/fakes" - "github.com/docker/docker/pkg/jsonmessage" - "github.com/docker/docker/pkg/stdcopy" "github.com/go-git/go-git/v5" "github.com/google/go-cmp/cmp" "github.com/heroku/color" + "github.com/moby/moby/api/pkg/stdcopy" dcontainer "github.com/moby/moby/api/types/container" + "github.com/moby/moby/api/types/jsonstream" "github.com/moby/moby/client" "github.com/pkg/errors" @@ -428,7 +428,7 @@ continue } - var msg jsonmessage.JSONMessage + var msg jsonstream.Message err := json.Unmarshal(line, &msg) if err != nil { return errors.Wrapf(err, "expected JSON: %s", string(line)) ++++++ buildpacks-cli.obsinfo ++++++ --- /var/tmp/diff_new_pack.vStwn0/_old 2026-06-25 10:58:14.779529140 +0200 +++ /var/tmp/diff_new_pack.vStwn0/_new 2026-06-25 10:58:14.799529829 +0200 @@ -1,5 +1,5 @@ name: buildpacks-cli -version: 0.40.5 -mtime: 1778856172 -commit: 7640af991ccd0ed30c2365bf91175271ba9b05b7 +version: 0.40.7 +mtime: 1782233615 +commit: 2df3b8c3b0955ea41aec010783ddfe70cbc17c56 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/buildpacks-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.buildpacks-cli.new.2088/vendor.tar.gz differ: char 13, line 1
