Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package frizbee for openSUSE:Factory checked 
in at 2026-03-14 22:21:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frizbee (Old)
 and      /work/SRC/openSUSE:Factory/.frizbee.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "frizbee"

Sat Mar 14 22:21:58 2026 rev:5 rq:1338763 version:0.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/frizbee/frizbee.changes  2026-01-30 
18:33:53.582759349 +0100
+++ /work/SRC/openSUSE:Factory/.frizbee.new.8177/frizbee.changes        
2026-03-14 22:22:51.654288074 +0100
@@ -1,0 +2,39 @@
+Tue Mar 10 12:03:33 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.1.9:
+  * chore(deps): update anchore/sbom-action action to v0.23.1
+    (#373)
+  * chore(deps): update sigstore/cosign-installer action to v4.1.0
+    (#372)
+  * fix(deps): update module github.com/google/go-github/v66 to v84
+    (#363)
+  * chore(deps): update github/codeql-action digest to 0d579ff
+    (#365)
+  * chore(deps): update github artifact actions (#361)
+  * chore(deps): update anchore/sbom-action action to v0.23.0
+    (#360)
+  * chore(deps): bump github.com/moby/buildkit from 0.27.1 to
+    0.28.0 (#369)
+  * fix(deps): update module golang.org/x/sync to v0.20.0 (#371)
+  * fix(deps): update module github.com/go-git/go-billy/v5 to
+    v5.8.0 (#357)
+  * chore(deps): update aquasecurity/trivy-action action to v0.35.0
+    (#366)
+  * fix(deps): update module github.com/google/go-containerregistry
+    to v0.21.2 (#356)
+  * chore(deps): update goreleaser/goreleaser-action action to v7
+    (#355)
+  * fix(deps): update module github.com/google/go-containerregistry
+    to v0.21.0 (#352)
+  * fix(deps): update module github.com/google/go-github/v66 to v83
+    (#351)
+  * chore(deps): update aquasecurity/trivy-action action to v0.34.1
+    (#350)
+  * chore(deps): update anchore/sbom-action action to v0.22.2
+    (#348)
+  * chore(deps): update github/codeql-action digest to 89a39a4
+    (#347)
+  * chore(deps): update actions/checkout digest to de0fac2 (#337)
+  * chore: enable parallel runners for golangci-lint (#349)
+
+-------------------------------------------------------------------

Old:
----
  frizbee-0.1.8.obscpio

New:
----
  frizbee-0.1.9.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ frizbee.spec ++++++
--- /var/tmp/diff_new_pack.Z1S7ce/_old  2026-03-14 22:22:54.882421802 +0100
+++ /var/tmp/diff_new_pack.Z1S7ce/_new  2026-03-14 22:22:54.898422465 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           frizbee
-Version:        0.1.8
+Version:        0.1.9
 Release:        0
 Summary:        Throw a tag at and it comes back with a checksum
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Z1S7ce/_old  2026-03-14 22:22:55.226436054 +0100
+++ /var/tmp/diff_new_pack.Z1S7ce/_new  2026-03-14 22:22:55.258437379 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/stacklok/frizbee</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.1.8</param>
+    <param name="revision">v0.1.9</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Z1S7ce/_old  2026-03-14 22:22:55.390442848 +0100
+++ /var/tmp/diff_new_pack.Z1S7ce/_new  2026-03-14 22:22:55.422444173 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/stacklok/frizbee</param>
-              <param 
name="changesrevision">b4fa6e325885e635b817c860b427ad937c31ce30</param></service></servicedata>
+              <param 
name="changesrevision">44d6d5e71e156afb76d6c870862675f412a33775</param></service></servicedata>
 (No newline at EOF)
 

++++++ frizbee-0.1.8.obscpio -> frizbee-0.1.9.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/frizbee-0.1.8/Taskfile.yml 
new/frizbee-0.1.9/Taskfile.yml
--- old/frizbee-0.1.8/Taskfile.yml      2026-01-30 10:33:33.000000000 +0100
+++ new/frizbee-0.1.9/Taskfile.yml      2026-03-10 11:08:16.000000000 +0100
@@ -25,4 +25,4 @@
   lint:
     desc: Run linter
     cmds:
-      - golangci-lint run --timeout 5m0s --config .golangci.yml
\ No newline at end of file
+      - golangci-lint run --allow-parallel-runners --timeout 5m0s --config 
.golangci.yml
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/frizbee-0.1.8/go.mod new/frizbee-0.1.9/go.mod
--- old/frizbee-0.1.8/go.mod    2026-01-30 10:33:33.000000000 +0100
+++ new/frizbee-0.1.9/go.mod    2026-03-10 11:08:16.000000000 +0100
@@ -1,18 +1,19 @@
 module github.com/stacklok/frizbee
 
-go 1.25.0
+go 1.25.6
 
 require (
        github.com/deckarep/golang-set/v2 v2.8.0
-       github.com/go-git/go-billy/v5 v5.7.0
-       github.com/google/go-containerregistry v0.20.7
+       github.com/go-git/go-billy/v5 v5.8.0
+       github.com/google/go-containerregistry v0.21.2
        github.com/google/go-github/v66 v66.0.0
-       github.com/moby/buildkit v0.27.1
+       github.com/google/go-github/v84 v84.0.0
+       github.com/moby/buildkit v0.28.0
        github.com/olekukonko/tablewriter v1.1.3
        github.com/puzpuzpuz/xsync v1.5.2
        github.com/spf13/cobra v1.10.2
        github.com/stretchr/testify v1.11.1
-       golang.org/x/sync v0.19.0
+       golang.org/x/sync v0.20.0
        gopkg.in/h2non/gock.v1 v1.1.2
        gopkg.in/yaml.v3 v3.0.1
 )
@@ -21,19 +22,19 @@
        github.com/clipperhouse/displaywidth v0.8.0 // indirect
        github.com/clipperhouse/stringish v0.1.1 // indirect
        github.com/clipperhouse/uax29/v2 v2.4.0 // indirect
-       github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect
+       github.com/containerd/stargz-snapshotter/estargz v0.18.2 // indirect
        github.com/containerd/typeurl/v2 v2.2.3 // indirect
        github.com/cyphar/filepath-securejoin v0.6.0 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
-       github.com/docker/cli v29.1.4+incompatible // indirect
+       github.com/docker/cli v29.2.1+incompatible // indirect
        github.com/docker/distribution v2.8.3+incompatible // indirect
        github.com/docker/docker-credential-helpers v0.9.5 // indirect
        github.com/fatih/color v1.18.0 // indirect
        github.com/gogo/protobuf v1.3.2 // indirect
-       github.com/google/go-querystring v1.1.0 // indirect
+       github.com/google/go-querystring v1.2.0 // indirect
        github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 // indirect
        github.com/inconshreveable/mousetrap v1.1.0 // indirect
-       github.com/klauspost/compress v1.18.3 // indirect
+       github.com/klauspost/compress v1.18.4 // indirect
        github.com/mattn/go-colorable v0.1.14 // indirect
        github.com/mattn/go-isatty v0.0.20 // indirect
        github.com/mattn/go-runewidth v0.0.19 // indirect
@@ -49,6 +50,6 @@
        github.com/sirupsen/logrus v1.9.4 // indirect
        github.com/spf13/pflag v1.0.10 // indirect
        github.com/vbatts/tar-split v0.12.2 // indirect
-       golang.org/x/sys v0.40.0 // indirect
+       golang.org/x/sys v0.41.0 // indirect
        google.golang.org/protobuf v1.36.11 // indirect
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/frizbee-0.1.8/go.sum new/frizbee-0.1.9/go.sum
--- old/frizbee-0.1.8/go.sum    2026-01-30 10:33:33.000000000 +0100
+++ new/frizbee-0.1.9/go.sum    2026-03-10 11:08:16.000000000 +0100
@@ -4,8 +4,8 @@
 github.com/clipperhouse/stringish v0.1.1/go.mod 
h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA=
 github.com/clipperhouse/uax29/v2 v2.4.0 
h1:RXqE/l5EiAbA4u97giimKNlmpvkmz+GrBVTelsoXy9g=
 github.com/clipperhouse/uax29/v2 v2.4.0/go.mod 
h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g=
-github.com/containerd/stargz-snapshotter/estargz v0.18.1 
h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8=
-github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod 
h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q=
+github.com/containerd/stargz-snapshotter/estargz v0.18.2 
h1:yXkZFYIzz3eoLwlTUZKz2iQ4MrckBxJjkmD16ynUTrw=
+github.com/containerd/stargz-snapshotter/estargz v0.18.2/go.mod 
h1:XyVU5tcJ3PRpkA9XS2T5us6Eg35yM0214Y+wvrZTBrY=
 github.com/containerd/typeurl/v2 v2.2.3 
h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40=
 github.com/containerd/typeurl/v2 v2.2.3/go.mod 
h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk=
 github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod 
h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
@@ -15,8 +15,8 @@
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/deckarep/golang-set/v2 v2.8.0 
h1:swm0rlPCmdWn9mESxKOjWk8hXSqoxOp+ZlfuyaAdFlQ=
 github.com/deckarep/golang-set/v2 v2.8.0/go.mod 
h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
-github.com/docker/cli v29.1.4+incompatible 
h1:AI8fwZhqsAsrqZnVv9h6lbexeW/LzNTasf6A4vcNN8M=
-github.com/docker/cli v29.1.4+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
+github.com/docker/cli v29.2.1+incompatible 
h1:n3Jt0QVCN65eiVBoUTZQM9mcQICCJt3akW4pKAbKdJg=
+github.com/docker/cli v29.2.1+incompatible/go.mod 
h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
 github.com/docker/distribution v2.8.3+incompatible 
h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
 github.com/docker/distribution v2.8.3+incompatible/go.mod 
h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 github.com/docker/docker-credential-helpers v0.9.5 
h1:EFNN8DHvaiK8zVqFA2DT6BjXE0GzfLOZ38ggPTKePkY=
@@ -25,25 +25,28 @@
 github.com/fatih/color v1.18.0/go.mod 
h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
 github.com/go-git/go-billy/v5 v5.7.0 
h1:83lBUJhGWhYp0ngzCMSgllhUSuoHP1iEWYjsPl9nwqM=
 github.com/go-git/go-billy/v5 v5.7.0/go.mod 
h1:/1IUejTKH8xipsAcdfcSAlUlo2J7lkYV8GTKxAT/L3E=
+github.com/go-git/go-billy/v5 v5.8.0 
h1:I8hjc3LbBlXTtVuFNJuwYuMiHvQJDq1AT6u4DwDzZG0=
+github.com/go-git/go-billy/v5 v5.8.0/go.mod 
h1:RpvI/rw4Vr5QA+Z60c6d6LXH0rYJo0uD5SqfmrrheCY=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod 
h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/google/go-cmp v0.5.2/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
 github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
-github.com/google/go-containerregistry v0.20.7 
h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4phx0aUgzYzHW6I=
-github.com/google/go-containerregistry v0.20.7/go.mod 
h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM=
+github.com/google/go-containerregistry v0.21.2 
h1:vYaMU4nU55JJGFC9JR/s8NZcTjbE9DBBbvusTW9NeS0=
+github.com/google/go-containerregistry v0.21.2/go.mod 
h1:ctO5aCaewH4AK1AumSF5DPW+0+R+d2FmylMJdp5G7p0=
 github.com/google/go-github/v66 v66.0.0 
h1:ADJsaXj9UotwdgK8/iFZtv7MLc8E8WBl62WLd/D/9+M=
 github.com/google/go-github/v66 v66.0.0/go.mod 
h1:+4SO9Zkuyf8ytMj0csN1NR/5OTR+MfqPp8P8dVlcvY4=
-github.com/google/go-querystring v1.1.0 
h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
-github.com/google/go-querystring v1.1.0/go.mod 
h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
+github.com/google/go-github/v84 v84.0.0/go.mod 
h1:WwYL1z1ajRdlaPszjVu/47x1L0PXukJBn73xsiYrRRQ=
+github.com/google/go-querystring v1.2.0 
h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
+github.com/google/go-querystring v1.2.0/go.mod 
h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 
h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod 
h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
 github.com/inconshreveable/mousetrap v1.1.0 
h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
 github.com/inconshreveable/mousetrap v1.1.0/go.mod 
h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
 github.com/kisielk/errcheck v1.5.0/go.mod 
h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod 
h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.18.3 
h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
-github.com/klauspost/compress v1.18.3/go.mod 
h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
+github.com/klauspost/compress v1.18.4 
h1:RPhnKRAQ4Fh8zU2FY/6ZFDwTVTxgJ/EMydqSTzE9a2c=
+github.com/klauspost/compress v1.18.4/go.mod 
h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
 github.com/kr/pretty v0.3.1/go.mod 
h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -56,8 +59,8 @@
 github.com/mattn/go-runewidth v0.0.19/go.mod 
h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs=
 github.com/mitchellh/go-homedir v1.1.0 
h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
 github.com/mitchellh/go-homedir v1.1.0/go.mod 
h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
-github.com/moby/buildkit v0.27.1 
h1:qlIWpnZzqCkrYiGkctM1gBD/YZPOJTjtUdRBlI0oBOU=
-github.com/moby/buildkit v0.27.1/go.mod 
h1:99qLrCrIAFgEOiFnCi9Y0Wwp6/qA7QvZ3uq/6wF0IsI=
+github.com/moby/buildkit v0.28.0 
h1:rKulfRRSduHJPNpLTk481fHElqN9tps0VUx8YV/5zsA=
+github.com/moby/buildkit v0.28.0/go.mod 
h1:RCuOcj/bVsCriBG8NeFzRxjiCFQKnKP7KOVlNTS18t4=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32 
h1:W6apQkHrMkS0Muv8G/TipAy/FJl/rCYT0+EuS8+Z0z4=
 github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod 
h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms=
 github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 
h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc=
@@ -110,23 +113,25 @@
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod 
h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
-golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
+golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo=
+golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
 golang.org/x/sync v0.19.0/go.mod 
h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+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/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
-golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
+golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
-golang.org/x/text v0.32.0/go.mod 
h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
+golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
+golang.org/x/text v0.34.0/go.mod 
h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
 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=

++++++ frizbee.obsinfo ++++++
--- /var/tmp/diff_new_pack.Z1S7ce/_old  2026-03-14 22:22:56.246478309 +0100
+++ /var/tmp/diff_new_pack.Z1S7ce/_new  2026-03-14 22:22:56.282479801 +0100
@@ -1,5 +1,5 @@
 name: frizbee
-version: 0.1.8
-mtime: 1769765613
-commit: b4fa6e325885e635b817c860b427ad937c31ce30
+version: 0.1.9
+mtime: 1773137296
+commit: 44d6d5e71e156afb76d6c870862675f412a33775
 

++++++ vendor.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/containerd/stargz-snapshotter/estargz/estargz.go 
new/vendor/github.com/containerd/stargz-snapshotter/estargz/estargz.go
--- old/vendor/github.com/containerd/stargz-snapshotter/estargz/estargz.go      
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/containerd/stargz-snapshotter/estargz/estargz.go      
2026-03-10 11:08:16.000000000 +0100
@@ -237,7 +237,7 @@
                        if ent.Gname != "" {
                                gname[ent.GID] = ent.Gname
                        } else {
-                               ent.Gname = uname[ent.GID]
+                               ent.Gname = gname[ent.GID]
                        }
 
                        ent.modTime, _ = time.Parse(time.RFC3339, 
ent.ModTime3339)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/go-git/go-billy/v5/helper/polyfill/polyfill.go 
new/vendor/github.com/go-git/go-billy/v5/helper/polyfill/polyfill.go
--- old/vendor/github.com/go-git/go-billy/v5/helper/polyfill/polyfill.go        
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/go-git/go-billy/v5/helper/polyfill/polyfill.go        
2026-03-10 11:08:16.000000000 +0100
@@ -13,7 +13,7 @@
        c capabilities
 }
 
-type capabilities struct{ tempfile, dir, symlink, chroot bool }
+type capabilities struct{ tempfile, dir, symlink, chroot, chmod bool }
 
 // New creates a new filesystem wrapping up 'fs' the intercepts all the calls
 // made and errors if fs doesn't implement any of the billy interfaces.
@@ -28,6 +28,7 @@
        _, h.c.dir = h.Basic.(billy.Dir)
        _, h.c.symlink = h.Basic.(billy.Symlink)
        _, h.c.chroot = h.Basic.(billy.Chroot)
+       _, h.c.chmod = h.Basic.(billy.Chmod)
        return h
 }
 
@@ -87,6 +88,14 @@
        return h.Basic.(billy.Chroot).Chroot(path)
 }
 
+func (h *Polyfill) Chmod(path string, mode os.FileMode) error {
+       if !h.c.chmod {
+               return billy.ErrNotSupported
+       }
+
+       return h.Basic.(billy.Chmod).Chmod(path, mode)
+}
+
 func (h *Polyfill) Root() string {
        if !h.c.chroot {
                return string(filepath.Separator)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/go-git/go-billy/v5/osfs/os_bound.go 
new/vendor/github.com/go-git/go-billy/v5/osfs/os_bound.go
--- old/vendor/github.com/go-git/go-billy/v5/osfs/os_bound.go   2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/github.com/go-git/go-billy/v5/osfs/os_bound.go   2026-03-10 
11:08:16.000000000 +0100
@@ -126,6 +126,14 @@
                if err != nil {
                        return nil, err
                }
+
+               _, err = os.Stat(dir)
+               if err != nil && os.IsNotExist(err) {
+                       err = os.MkdirAll(dir, defaultDirectoryMode)
+                       if err != nil {
+                               return nil, err
+                       }
+               }
        }
 
        return tempFile(dir, prefix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go 
new/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go
--- old/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go     
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/authn/keychain.go     
2026-03-10 11:08:16.000000000 +0100
@@ -117,8 +117,8 @@
                if err != nil {
                        return nil, err
                }
-       } else if fileExists(os.Getenv("REGISTRY_AUTH_FILE")) {
-               f, err := os.Open(os.Getenv("REGISTRY_AUTH_FILE"))
+       } else if path := filepath.Clean(os.Getenv("REGISTRY_AUTH_FILE")); 
fileExists(path) {
+               f, err := os.Open(path)
                if err != nil {
                        return nil, err
                }
@@ -127,8 +127,8 @@
                if err != nil {
                        return nil, err
                }
-       } else if fileExists(filepath.Join(os.Getenv("XDG_RUNTIME_DIR"), 
"containers/auth.json")) {
-               f, err := os.Open(filepath.Join(os.Getenv("XDG_RUNTIME_DIR"), 
"containers/auth.json"))
+       } else if path := 
filepath.Clean(filepath.Join(os.Getenv("XDG_RUNTIME_DIR"), 
"containers/auth.json")); fileExists(path) {
+               f, err := os.Open(path)
                if err != nil {
                        return nil, err
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/v1/hash.go 
new/vendor/github.com/google/go-containerregistry/pkg/v1/hash.go
--- old/vendor/github.com/google/go-containerregistry/pkg/v1/hash.go    
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/v1/hash.go    
2026-03-10 11:08:16.000000000 +0100
@@ -84,27 +84,35 @@
 }
 
 func (h *Hash) parse(unquoted string) error {
-       parts := strings.Split(unquoted, ":")
-       if len(parts) != 2 {
+       algo, body, ok := strings.Cut(unquoted, ":")
+       if !ok || algo == "" || body == "" {
                return fmt.Errorf("cannot parse hash: %q", unquoted)
        }
 
-       rest := strings.TrimLeft(parts[1], "0123456789abcdef")
+       rest := strings.TrimLeft(body, "0123456789abcdef")
        if len(rest) != 0 {
                return fmt.Errorf("found non-hex character in hash: %c", 
rest[0])
        }
 
-       hasher, err := Hasher(parts[0])
-       if err != nil {
-               return err
+       var wantBytes int
+       switch algo {
+       case "sha256":
+               wantBytes = crypto.SHA256.Size()
+       default:
+               hasher, err := Hasher(algo)
+               if err != nil {
+                       return err
+               }
+               wantBytes = hasher.Size()
        }
+
        // Compare the hex to the expected size (2 hex characters per byte)
-       if len(parts[1]) != hasher.Size()*2 {
-               return fmt.Errorf("wrong number of hex digits for %s: %s", 
parts[0], parts[1])
+       if len(body) != hex.EncodedLen(wantBytes) {
+               return fmt.Errorf("wrong number of hex digits for %s: %s", 
algo, body)
        }
 
-       h.Algorithm = parts[0]
-       h.Hex = parts[1]
+       h.Algorithm = algo
+       h.Hex = body
        return nil
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/v1/mutate/mutate.go 
new/vendor/github.com/google/go-containerregistry/pkg/v1/mutate/mutate.go
--- old/vendor/github.com/google/go-containerregistry/pkg/v1/mutate/mutate.go   
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/v1/mutate/mutate.go   
2026-03-10 11:08:16.000000000 +0100
@@ -317,7 +317,7 @@
                                name = filepath.Join(dirname, basename)
                        }
 
-                       if _, ok := fileMap[name]; ok {
+                       if _, ok := fileMap[name]; ok && !tombstone {
                                continue
                        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/ping.go
 
new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/ping.go
--- 
old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/ping.go
   2026-01-30 10:33:33.000000000 +0100
+++ 
new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/transport/ping.go
   2026-03-10 11:08:16.000000000 +0100
@@ -15,6 +15,7 @@
 package transport
 
 import (
+       "cmp"
        "context"
        "errors"
        "fmt"
@@ -75,7 +76,10 @@
                resp.Body.Close()
        }()
 
-       insecure := scheme == "http"
+       // If resp.Request is set, we may have followed a redirect,
+       // so we want to prefer resp.Request.URL.Scheme (if it's set)
+       // falling back to the original request's scheme.
+       insecure := cmp.Or(resp.Request, req).URL.Scheme == "http"
 
        switch resp.StatusCode {
        case http.StatusOK:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go 
new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go
--- old/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go    
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/google/go-containerregistry/pkg/v1/remote/write.go    
2026-03-10 11:08:16.000000000 +0100
@@ -634,7 +634,7 @@
                }
        }
 
-       scopes := make([]string, 0)
+       scopes := make([]string, 0, len(scopeSet)+1)
        // Push scope should be the first element because a few registries just 
look at the first scope to determine access.
        scopes = append(scopes, repo.Scope(transport.PushScope))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-containerregistry/pkg/v1/zz_deepcopy_generated.go
 
new/vendor/github.com/google/go-containerregistry/pkg/v1/zz_deepcopy_generated.go
--- 
old/vendor/github.com/google/go-containerregistry/pkg/v1/zz_deepcopy_generated.go
   2026-01-30 10:33:33.000000000 +0100
+++ 
new/vendor/github.com/google/go-containerregistry/pkg/v1/zz_deepcopy_generated.go
   2026-03-10 11:08:16.000000000 +0100
@@ -1,5 +1,4 @@
 //go:build !ignore_autogenerated
-// +build !ignore_autogenerated
 
 // Copyright 2018 Google LLC All Rights Reserved.
 //
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/google/go-querystring/query/encode.go 
new/vendor/github.com/google/go-querystring/query/encode.go
--- old/vendor/github.com/google/go-querystring/query/encode.go 2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/github.com/google/go-querystring/query/encode.go 2026-03-10 
11:08:16.000000000 +0100
@@ -6,22 +6,21 @@
 //
 // As a simple example:
 //
-//     type Options struct {
-//             Query   string `url:"q"`
-//             ShowAll bool   `url:"all"`
-//             Page    int    `url:"page"`
-//     }
-//
-//     opt := Options{ "foo", true, 2 }
-//     v, _ := query.Values(opt)
-//     fmt.Print(v.Encode()) // will output: "q=foo&all=true&page=2"
+//     type Options struct {
+//             Query   string `url:"q"`
+//             ShowAll bool   `url:"all"`
+//             Page    int    `url:"page"`
+//     }
+//
+//     opt := Options{ "foo", true, 2 }
+//     v, _ := query.Values(opt)
+//     fmt.Print(v.Encode()) // will output: "q=foo&all=true&page=2"
 //
 // The exact mapping between Go values and url.Values is described in the
 // documentation for the Values() function.
 package query
 
 import (
-       "bytes"
        "fmt"
        "net/url"
        "reflect"
@@ -47,8 +46,8 @@
 //
 // Each exported struct field is encoded as a URL parameter unless
 //
-//     - the field's tag is "-", or
-//     - the field is empty and its tag specifies the "omitempty" option
+//   - the field's tag is "-", or
+//   - the field is empty and its tag specifies the "omitempty" option
 //
 // The empty values are false, 0, any nil pointer or interface value, any array
 // slice, map, or string of length zero, and any type (such as time.Time) that
@@ -59,19 +58,19 @@
 // field's tag value is the key name, followed by an optional comma and
 // options.  For example:
 //
-//     // Field is ignored by this package.
-//     Field int `url:"-"`
+//     // Field is ignored by this package.
+//     Field int `url:"-"`
 //
-//     // Field appears as URL parameter "myName".
-//     Field int `url:"myName"`
+//     // Field appears as URL parameter "myName".
+//     Field int `url:"myName"`
 //
-//     // Field appears as URL parameter "myName" and the field is omitted if
-//     // its value is empty
-//     Field int `url:"myName,omitempty"`
-//
-//     // Field appears as URL parameter "Field" (the default), but the field
-//     // is skipped if empty.  Note the leading comma.
-//     Field int `url:",omitempty"`
+//     // Field appears as URL parameter "myName" and the field is omitted if
+//     // its value is empty
+//     Field int `url:"myName,omitempty"`
+//
+//     // Field appears as URL parameter "Field" (the default), but the field
+//     // is skipped if empty.  Note the leading comma.
+//     Field int `url:",omitempty"`
 //
 // For encoding individual field values, the following type-dependent rules
 // apply:
@@ -88,8 +87,8 @@
 // "url" tag) will use the value of the "layout" tag as a layout passed to
 // time.Format.  For example:
 //
-//     // Encode a time.Time as YYYY-MM-DD
-//     Field time.Time `layout:"2006-01-02"`
+//     // Encode a time.Time as YYYY-MM-DD
+//     Field time.Time `layout:"2006-01-02"`
 //
 // Slice and Array values default to encoding as multiple URL values of the
 // same name.  Including the "comma" option signals that the field should be
@@ -103,9 +102,9 @@
 // from the "url" tag) will use the value of the "del" tag as the delimiter.
 // For example:
 //
-//     // Encode a slice of bools as ints ("1" for true, "0" for false),
-//     // separated by exclamation points "!".
-//     Field []bool `url:",int" del:"!"`
+//     // Encode a slice of bools as ints ("1" for true, "0" for false),
+//     // separated by exclamation points "!".
+//     Field []bool `url:",int" del:"!"`
 //
 // Anonymous struct fields are usually encoded as if their inner exported
 // fields were fields in the outer struct, subject to the standard Go
@@ -114,10 +113,10 @@
 //
 // Non-nil pointer values are encoded as the value pointed to.
 //
-// Nested structs are encoded including parent fields in value names for
-// scoping. e.g:
+// Nested structs have their fields processed recursively and are encoded
+// including parent fields in value names for scoping. For example,
 //
-//     "user[name]=acme&user[addr][postcode]=1234&user[addr][city]=SFO"
+//     "user[name]=acme&user[addr][postcode]=1234&user[addr][city]=SFO"
 //
 // All other values are encoded using their default string representation.
 //
@@ -125,6 +124,11 @@
 // as multiple URL values of the same name.
 func Values(v interface{}) (url.Values, error) {
        values := make(url.Values)
+
+       if v == nil {
+               return values, nil
+       }
+
        val := reflect.ValueOf(v)
        for val.Kind() == reflect.Ptr {
                if val.IsNil() {
@@ -133,10 +137,6 @@
                val = val.Elem()
        }
 
-       if v == nil {
-               return values, nil
-       }
-
        if val.Kind() != reflect.Struct {
                return nil, fmt.Errorf("query: Values() expects struct input. 
Got %v", val.Kind())
        }
@@ -209,6 +209,11 @@
                }
 
                if sv.Kind() == reflect.Slice || sv.Kind() == reflect.Array {
+                       if sv.Len() == 0 {
+                               // skip if slice or array is empty
+                               continue
+                       }
+
                        var del string
                        if opts.Contains("comma") {
                                del = ","
@@ -223,7 +228,7 @@
                        }
 
                        if del != "" {
-                               s := new(bytes.Buffer)
+                               s := new(strings.Builder)
                                first := true
                                for i := 0; i < sv.Len(); i++ {
                                        if first {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/klauspost/compress/README.md 
new/vendor/github.com/klauspost/compress/README.md
--- old/vendor/github.com/klauspost/compress/README.md  2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/README.md  2026-03-10 
11:08:16.000000000 +0100
@@ -7,7 +7,7 @@
 * Optimized [deflate](https://godoc.org/github.com/klauspost/compress/flate) 
packages which can be used as a dropin replacement for 
[gzip](https://godoc.org/github.com/klauspost/compress/gzip), 
[zip](https://godoc.org/github.com/klauspost/compress/zip) and 
[zlib](https://godoc.org/github.com/klauspost/compress/zlib).
 * [snappy](https://github.com/klauspost/compress/tree/master/snappy) is a 
drop-in replacement for `github.com/golang/snappy` offering better compression 
and concurrent streams.
 * [huff0](https://github.com/klauspost/compress/tree/master/huff0) and 
[FSE](https://github.com/klauspost/compress/tree/master/fse) implementations 
for raw entropy encoding.
-* [gzhttp](https://github.com/klauspost/compress/tree/master/gzhttp) Provides 
client and server wrappers for handling gzipped requests efficiently.
+* [gzhttp](https://github.com/klauspost/compress/tree/master/gzhttp) Provides 
client and server wrappers for handling gzipped/zstd HTTP requests efficiently.
 * [pgzip](https://github.com/klauspost/pgzip) is a separate package that 
provides a very fast parallel gzip implementation.
 
 [![Go 
Reference](https://pkg.go.dev/badge/klauspost/compress.svg)](https://pkg.go.dev/github.com/klauspost/compress?tab=subdirectories)
@@ -26,8 +26,14 @@
 Use the links above for more information on each.
 
 # changelog
+* Jan 16th, 2026 
[1.18.3](https://github.com/klauspost/compress/releases/tag/v1.18.3)
+       * Downstream CVE-2025-61728. See 
[golang/go#77102](https://github.com/golang/go/issues/77102).
 
-* Oct 20, 2025 - 
[1.18.1](https://github.com/klauspost/compress/releases/tag/v1.18.1)
+* Dec 1st, 2025 - 
[1.18.2](https://github.com/klauspost/compress/releases/tag/v1.18.2)
+       * flate: Fix invalid encoding on level 9 with single value input in 
https://github.com/klauspost/compress/pull/1115
+       * flate: reduce stateless allocations by @RXamzin in 
https://github.com/klauspost/compress/pull/1106
+
+* Oct 20, 2025 - 
[1.18.1](https://github.com/klauspost/compress/releases/tag/v1.18.1) - RETRACTED
   * zstd: Add simple zstd EncodeTo/DecodeTo functions  
https://github.com/klauspost/compress/pull/1079
   * zstd: Fix incorrect buffer size in dictionary encodes 
https://github.com/klauspost/compress/pull/1059
   * s2: check for cap, not len of buffer in EncodeBetter/Best by @vdarulis in 
https://github.com/klauspost/compress/pull/1080
@@ -603,7 +609,7 @@
 
 # deflate usage
 
-The packages are drop-in replacements for standard libraries. Simply replace 
the import path to use them:
+The packages are drop-in replacements for standard library 
[deflate](https://godoc.org/github.com/klauspost/compress/flate), 
[gzip](https://godoc.org/github.com/klauspost/compress/gzip), 
[zip](https://godoc.org/github.com/klauspost/compress/zip), and 
[zlib](https://godoc.org/github.com/klauspost/compress/zlib). Simply replace 
the import path to use them:
 
 Typical speed is about 2x of the standard library packages.
 
@@ -614,17 +620,15 @@
 | `archive/zip`    | `github.com/klauspost/compress/zip`   | 
[zip](https://pkg.go.dev/github.com/klauspost/compress/zip?tab=doc)     |
 | `compress/flate` | `github.com/klauspost/compress/flate` | 
[flate](https://pkg.go.dev/github.com/klauspost/compress/flate?tab=doc) |
 
-* Optimized [deflate](https://godoc.org/github.com/klauspost/compress/flate) 
packages which can be used as a dropin replacement for 
[gzip](https://godoc.org/github.com/klauspost/compress/gzip), 
[zip](https://godoc.org/github.com/klauspost/compress/zip) and 
[zlib](https://godoc.org/github.com/klauspost/compress/zlib).
-
-You may also be interested in [pgzip](https://github.com/klauspost/pgzip), 
which is a drop in replacement for gzip, which support multithreaded 
compression on big files and the optimized 
[crc32](https://github.com/klauspost/crc32) package used by these packages.
+You may also be interested in [pgzip](https://github.com/klauspost/pgzip), 
which is a drop-in replacement for gzip, which support multithreaded 
compression on big files and the optimized 
[crc32](https://github.com/klauspost/crc32) package used by these packages.
 
-The packages contains the same as the standard library, so you can use the 
godoc for that: [gzip](http://golang.org/pkg/compress/gzip/), 
[zip](http://golang.org/pkg/archive/zip/),  
[zlib](http://golang.org/pkg/compress/zlib/), 
[flate](http://golang.org/pkg/compress/flate/).
+The packages implement the same API as the standard library, so you can use 
the original godoc documentation: [gzip](http://golang.org/pkg/compress/gzip/), 
[zip](http://golang.org/pkg/archive/zip/), 
[zlib](http://golang.org/pkg/compress/zlib/), 
[flate](http://golang.org/pkg/compress/flate/).
 
 Currently there is only minor speedup on decompression (mostly CRC32 
calculation).
 
 Memory usage is typically 1MB for a Writer. stdlib is in the same range. 
 If you expect to have a lot of concurrently allocated Writers consider using 
-the stateless compress described below.
+the stateless compression described below.
 
 For compression performance, see: [this 
spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing).
 
@@ -684,3 +688,6 @@
 
 This code is licensed under the same conditions as the original Go code. See 
LICENSE file.
 
+
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/klauspost/compress/zstd/decoder.go 
new/vendor/github.com/klauspost/compress/zstd/decoder.go
--- old/vendor/github.com/klauspost/compress/zstd/decoder.go    2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/decoder.go    2026-03-10 
11:08:16.000000000 +0100
@@ -39,9 +39,6 @@
 
        frame *frameDec
 
-       // Custom dictionaries.
-       dicts map[uint32]*dict
-
        // streamWg is the waitgroup for all streams
        streamWg sync.WaitGroup
 }
@@ -101,12 +98,10 @@
                d.current.err = ErrDecoderNilInput
        }
 
-       // Transfer option dicts.
-       d.dicts = make(map[uint32]*dict, len(d.o.dicts))
-       for _, dc := range d.o.dicts {
-               d.dicts[dc.id] = dc
+       // Initialize dict map if needed.
+       if d.o.dicts == nil {
+               d.o.dicts = make(map[uint32]*dict)
        }
-       d.o.dicts = nil
 
        // Create decoders
        d.decoders = make(chan *blockDec, d.o.concurrent)
@@ -238,6 +233,21 @@
        return nil
 }
 
+// ResetWithOptions will reset the decoder and apply the given options
+// for the next stream or DecodeAll operation.
+// Options are applied on top of the existing options.
+// Some options cannot be changed on reset and will return an error.
+func (d *Decoder) ResetWithOptions(r io.Reader, opts ...DOption) error {
+       d.o.resetOpt = true
+       defer func() { d.o.resetOpt = false }()
+       for _, o := range opts {
+               if err := o(&d.o); err != nil {
+                       return err
+               }
+       }
+       return d.Reset(r)
+}
+
 // drainOutput will drain the output until errEndOfStream is sent.
 func (d *Decoder) drainOutput() {
        if d.current.cancel != nil {
@@ -930,7 +940,7 @@
 }
 
 func (d *Decoder) setDict(frame *frameDec) (err error) {
-       dict, ok := d.dicts[frame.DictionaryID]
+       dict, ok := d.o.dicts[frame.DictionaryID]
        if ok {
                if debugDecoder {
                        println("setting dict", frame.DictionaryID)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/klauspost/compress/zstd/decoder_options.go 
new/vendor/github.com/klauspost/compress/zstd/decoder_options.go
--- old/vendor/github.com/klauspost/compress/zstd/decoder_options.go    
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/decoder_options.go    
2026-03-10 11:08:16.000000000 +0100
@@ -20,10 +20,11 @@
        concurrent      int
        maxDecodedSize  uint64
        maxWindowSize   uint64
-       dicts           []*dict
+       dicts           map[uint32]*dict
        ignoreChecksum  bool
        limitToCap      bool
        decodeBufsBelow int
+       resetOpt        bool
 }
 
 func (o *decoderOptions) setDefault() {
@@ -42,8 +43,15 @@
 
 // WithDecoderLowmem will set whether to use a lower amount of memory,
 // but possibly have to allocate more while running.
+// Cannot be changed with ResetWithOptions.
 func WithDecoderLowmem(b bool) DOption {
-       return func(o *decoderOptions) error { o.lowMem = b; return nil }
+       return func(o *decoderOptions) error {
+               if o.resetOpt && b != o.lowMem {
+                       return errors.New("WithDecoderLowmem cannot be changed 
on Reset")
+               }
+               o.lowMem = b
+               return nil
+       }
 }
 
 // WithDecoderConcurrency sets the number of created decoders.
@@ -53,18 +61,23 @@
 // inflight blocks.
 // When decoding streams and setting maximum to 1,
 // no async decoding will be done.
+// The value supplied must be at least 0.
 // When a value of 0 is provided GOMAXPROCS will be used.
 // By default this will be set to 4 or GOMAXPROCS, whatever is lower.
+// Cannot be changed with ResetWithOptions.
 func WithDecoderConcurrency(n int) DOption {
        return func(o *decoderOptions) error {
                if n < 0 {
-                       return errors.New("concurrency must be at least 1")
+                       return errors.New("concurrency must be at least 0")
                }
+               newVal := n
                if n == 0 {
-                       o.concurrent = runtime.GOMAXPROCS(0)
-               } else {
-                       o.concurrent = n
+                       newVal = runtime.GOMAXPROCS(0)
                }
+               if o.resetOpt && newVal != o.concurrent {
+                       return errors.New("WithDecoderConcurrency cannot be 
changed on Reset")
+               }
+               o.concurrent = newVal
                return nil
        }
 }
@@ -73,6 +86,7 @@
 // non-streaming operations or maximum window size for streaming operations.
 // This can be used to control memory usage of potentially hostile content.
 // Maximum is 1 << 63 bytes. Default is 64GiB.
+// Can be changed with ResetWithOptions.
 func WithDecoderMaxMemory(n uint64) DOption {
        return func(o *decoderOptions) error {
                if n == 0 {
@@ -92,16 +106,20 @@
 // "zstd --train" from the Zstandard reference implementation.
 //
 // If several dictionaries with the same ID are provided, the last one will be 
used.
+// Can be changed with ResetWithOptions.
 //
 // [dictionary format]: 
https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary-format
 func WithDecoderDicts(dicts ...[]byte) DOption {
        return func(o *decoderOptions) error {
+               if o.dicts == nil {
+                       o.dicts = make(map[uint32]*dict)
+               }
                for _, b := range dicts {
                        d, err := loadDict(b)
                        if err != nil {
                                return err
                        }
-                       o.dicts = append(o.dicts, d)
+                       o.dicts[d.id] = d
                }
                return nil
        }
@@ -109,12 +127,16 @@
 
 // WithDecoderDictRaw registers a dictionary that may be used by the decoder.
 // The slice content can be arbitrary data.
+// Can be changed with ResetWithOptions.
 func WithDecoderDictRaw(id uint32, content []byte) DOption {
        return func(o *decoderOptions) error {
                if bits.UintSize > 32 && uint(len(content)) > dictMaxLength {
                        return fmt.Errorf("dictionary of size %d > 2GiB too 
large", len(content))
                }
-               o.dicts = append(o.dicts, &dict{id: id, content: content, 
offsets: [3]int{1, 4, 8}})
+               if o.dicts == nil {
+                       o.dicts = make(map[uint32]*dict)
+               }
+               o.dicts[id] = &dict{id: id, content: content, offsets: 
[3]int{1, 4, 8}}
                return nil
        }
 }
@@ -124,6 +146,7 @@
 // The Decoder will likely allocate more memory based on the WithDecoderLowmem 
setting.
 // If WithDecoderMaxMemory is set to a lower value, that will be used.
 // Default is 512MB, Maximum is ~3.75 TB as per zstandard spec.
+// Can be changed with ResetWithOptions.
 func WithDecoderMaxWindow(size uint64) DOption {
        return func(o *decoderOptions) error {
                if size < MinWindowSize {
@@ -141,6 +164,7 @@
 // or any size set in WithDecoderMaxMemory.
 // This can be used to limit decoding to a specific maximum output size.
 // Disabled by default.
+// Can be changed with ResetWithOptions.
 func WithDecodeAllCapLimit(b bool) DOption {
        return func(o *decoderOptions) error {
                o.limitToCap = b
@@ -153,17 +177,37 @@
 // This typically uses less allocations but will have the full decompressed 
object in memory.
 // Note that DecodeAllCapLimit will disable this, as well as giving a size of 
0 or less.
 // Default is 128KiB.
+// Cannot be changed with ResetWithOptions.
 func WithDecodeBuffersBelow(size int) DOption {
        return func(o *decoderOptions) error {
+               if o.resetOpt && size != o.decodeBufsBelow {
+                       return errors.New("WithDecodeBuffersBelow cannot be 
changed on Reset")
+               }
                o.decodeBufsBelow = size
                return nil
        }
 }
 
 // IgnoreChecksum allows to forcibly ignore checksum checking.
+// Can be changed with ResetWithOptions.
 func IgnoreChecksum(b bool) DOption {
        return func(o *decoderOptions) error {
                o.ignoreChecksum = b
                return nil
        }
 }
+
+// WithDecoderDictDelete removes dictionaries by ID.
+// If no ids are passed, all dictionaries are deleted.
+// Should be used with ResetWithOptions.
+func WithDecoderDictDelete(ids ...uint32) DOption {
+       return func(o *decoderOptions) error {
+               if len(ids) == 0 {
+                       clear(o.dicts)
+               }
+               for _, id := range ids {
+                       delete(o.dicts, id)
+               }
+               return nil
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/github.com/klauspost/compress/zstd/encoder.go 
new/vendor/github.com/klauspost/compress/zstd/encoder.go
--- old/vendor/github.com/klauspost/compress/zstd/encoder.go    2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/encoder.go    2026-03-10 
11:08:16.000000000 +0100
@@ -131,6 +131,22 @@
        s.frameContentSize = 0
 }
 
+// ResetWithOptions will re-initialize the writer and apply the given options
+// as a new, independent stream.
+// Options are applied on top of the existing options.
+// Some options cannot be changed on reset and will return an error.
+func (e *Encoder) ResetWithOptions(w io.Writer, opts ...EOption) error {
+       e.o.resetOpt = true
+       defer func() { e.o.resetOpt = false }()
+       for _, o := range opts {
+               if err := o(&e.o); err != nil {
+                       return err
+               }
+       }
+       e.Reset(w)
+       return nil
+}
+
 // ResetContentSize will reset and set a content size for the next stream.
 // If the bytes written does not match the size given an error will be returned
 // when calling Close().
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/vendor/github.com/klauspost/compress/zstd/encoder_options.go 
new/vendor/github.com/klauspost/compress/zstd/encoder_options.go
--- old/vendor/github.com/klauspost/compress/zstd/encoder_options.go    
2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/github.com/klauspost/compress/zstd/encoder_options.go    
2026-03-10 11:08:16.000000000 +0100
@@ -14,6 +14,7 @@
 
 // options retains accumulated state of multiple options.
 type encoderOptions struct {
+       resetOpt        bool
        concurrent      int
        level           EncoderLevel
        single          *bool
@@ -71,19 +72,28 @@
 
 // WithEncoderCRC will add CRC value to output.
 // Output will be 4 bytes larger.
+// Can be changed with ResetWithOptions.
 func WithEncoderCRC(b bool) EOption {
        return func(o *encoderOptions) error { o.crc = b; return nil }
 }
 
 // WithEncoderConcurrency will set the concurrency,
 // meaning the maximum number of encoders to run concurrently.
-// The value supplied must be at least 1.
+// The value supplied must be at least 0.
+// When a value of 0 is provided GOMAXPROCS will be used.
 // For streams, setting a value of 1 will disable async compression.
 // By default this will be set to GOMAXPROCS.
+// Cannot be changed with ResetWithOptions.
 func WithEncoderConcurrency(n int) EOption {
        return func(o *encoderOptions) error {
-               if n <= 0 {
-                       return fmt.Errorf("concurrency must be at least 1")
+               if n < 0 {
+                       return errors.New("concurrency must at least 0")
+               }
+               if n == 0 {
+                       n = runtime.GOMAXPROCS(0)
+               }
+               if o.resetOpt && n != o.concurrent {
+                       return errors.New("WithEncoderConcurrency cannot be 
changed on Reset")
                }
                o.concurrent = n
                return nil
@@ -95,6 +105,7 @@
 // A larger value will enable better compression but allocate more memory and,
 // for above-default values, take considerably longer.
 // The default value is determined by the compression level and max 8MB.
+// Cannot be changed with ResetWithOptions.
 func WithWindowSize(n int) EOption {
        return func(o *encoderOptions) error {
                switch {
@@ -105,6 +116,9 @@
                case (n & (n - 1)) != 0:
                        return errors.New("window size must be a power of 2")
                }
+               if o.resetOpt && n != o.windowSize {
+                       return errors.New("WithWindowSize cannot be changed on 
Reset")
+               }
 
                o.windowSize = n
                o.customWindow = true
@@ -122,6 +136,7 @@
 // n must be > 0 and <= 1GB, 1<<30 bytes.
 // The padded area will be filled with data from crypto/rand.Reader.
 // If `EncodeAll` is used with data already in the destination, the total size 
will be multiple of this.
+// Can be changed with ResetWithOptions.
 func WithEncoderPadding(n int) EOption {
        return func(o *encoderOptions) error {
                if n <= 0 {
@@ -215,12 +230,16 @@
 }
 
 // WithEncoderLevel specifies a predefined compression level.
+// Cannot be changed with ResetWithOptions.
 func WithEncoderLevel(l EncoderLevel) EOption {
        return func(o *encoderOptions) error {
                switch {
                case l <= speedNotSet || l >= speedLast:
                        return fmt.Errorf("unknown encoder level")
                }
+               if o.resetOpt && l != o.level {
+                       return errors.New("WithEncoderLevel cannot be changed 
on Reset")
+               }
                o.level = l
                if !o.customWindow {
                        switch o.level {
@@ -248,6 +267,7 @@
 // WithZeroFrames will encode 0 length input as full frames.
 // This can be needed for compatibility with zstandard usage,
 // but is not needed for this package.
+// Can be changed with ResetWithOptions.
 func WithZeroFrames(b bool) EOption {
        return func(o *encoderOptions) error {
                o.fullZero = b
@@ -259,6 +279,7 @@
 // Disabling this will skip incompressible data faster, but in cases with no 
matches but
 // skewed character distribution compression is lost.
 // Default value depends on the compression level selected.
+// Can be changed with ResetWithOptions.
 func WithAllLitEntropyCompression(b bool) EOption {
        return func(o *encoderOptions) error {
                o.customALEntropy = true
@@ -270,6 +291,7 @@
 // WithNoEntropyCompression will always skip entropy compression of literals.
 // This can be useful if content has matches, but unlikely to benefit from 
entropy
 // compression. Usually the slight speed improvement is not worth enabling 
this.
+// Can be changed with ResetWithOptions.
 func WithNoEntropyCompression(b bool) EOption {
        return func(o *encoderOptions) error {
                o.noEntropy = b
@@ -287,6 +309,7 @@
 // This is only a recommendation, each decoder is free to support higher or 
lower limits, depending on local limitations.
 // If this is not specified, block encodes will automatically choose this 
based on the input size and the window size.
 // This setting has no effect on streamed encodes.
+// Can be changed with ResetWithOptions.
 func WithSingleSegment(b bool) EOption {
        return func(o *encoderOptions) error {
                o.single = &b
@@ -298,8 +321,12 @@
 // slower encoding speed.
 // This will not change the window size which is the primary function for 
reducing
 // memory usage. See WithWindowSize.
+// Cannot be changed with ResetWithOptions.
 func WithLowerEncoderMem(b bool) EOption {
        return func(o *encoderOptions) error {
+               if o.resetOpt && b != o.lowMem {
+                       return errors.New("WithLowerEncoderMem cannot be 
changed on Reset")
+               }
                o.lowMem = b
                return nil
        }
@@ -311,6 +338,7 @@
 // "zstd --train" from the Zstandard reference implementation.
 //
 // The encoder *may* choose to use no dictionary instead for certain payloads.
+// Can be changed with ResetWithOptions.
 //
 // [dictionary format]: 
https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#dictionary-format
 func WithEncoderDict(dict []byte) EOption {
@@ -328,6 +356,7 @@
 //
 // The slice content may contain arbitrary data. It will be used as an initial
 // history.
+// Can be changed with ResetWithOptions.
 func WithEncoderDictRaw(id uint32, content []byte) EOption {
        return func(o *encoderOptions) error {
                if bits.UintSize > 32 && uint(len(content)) > dictMaxLength {
@@ -337,3 +366,12 @@
                return nil
        }
 }
+
+// WithEncoderDictDelete clears the dictionary, so no dictionary will be used.
+// Should be used with ResetWithOptions.
+func WithEncoderDictDelete() EOption {
+       return func(o *encoderOptions) error {
+               o.dict = nil
+               return nil
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/ioctl_signed.go 
new/vendor/golang.org/x/sys/unix/ioctl_signed.go
--- old/vendor/golang.org/x/sys/unix/ioctl_signed.go    2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ioctl_signed.go    2026-03-10 
11:08:16.000000000 +0100
@@ -6,9 +6,7 @@
 
 package unix
 
-import (
-       "unsafe"
-)
+import "unsafe"
 
 // ioctl itself should not be exposed directly, but additional get/set
 // functions for specific types are permissible.
@@ -28,6 +26,13 @@
        return ioctlPtr(fd, req, unsafe.Pointer(&v))
 }
 
+// IoctlSetString performs an ioctl operation which sets a string value
+// on fd, using the specified request number.
+func IoctlSetString(fd int, req int, value string) error {
+       bs := append([]byte(value), 0)
+       return ioctlPtr(fd, req, unsafe.Pointer(&bs[0]))
+}
+
 // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
 //
 // To change fd's window size, the req argument should be TIOCSWINSZ.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/ioctl_unsigned.go 
new/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
--- old/vendor/golang.org/x/sys/unix/ioctl_unsigned.go  2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/ioctl_unsigned.go  2026-03-10 
11:08:16.000000000 +0100
@@ -6,9 +6,7 @@
 
 package unix
 
-import (
-       "unsafe"
-)
+import "unsafe"
 
 // ioctl itself should not be exposed directly, but additional get/set
 // functions for specific types are permissible.
@@ -28,6 +26,13 @@
        return ioctlPtr(fd, req, unsafe.Pointer(&v))
 }
 
+// IoctlSetString performs an ioctl operation which sets a string value
+// on fd, using the specified request number.
+func IoctlSetString(fd int, req uint, value string) error {
+       bs := append([]byte(value), 0)
+       return ioctlPtr(fd, req, unsafe.Pointer(&bs[0]))
+}
+
 // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
 //
 // To change fd's window size, the req argument should be TIOCSWINSZ.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_solaris.go 
new/vendor/golang.org/x/sys/unix/syscall_solaris.go
--- old/vendor/golang.org/x/sys/unix/syscall_solaris.go 2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_solaris.go 2026-03-10 
11:08:16.000000000 +0100
@@ -1052,14 +1052,6 @@
        return ioctlRet(fd, req, uintptr(arg))
 }
 
-func IoctlSetString(fd int, req int, val string) error {
-       bs := make([]byte, len(val)+1)
-       copy(bs[:len(bs)-1], val)
-       err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0]))
-       runtime.KeepAlive(&bs[0])
-       return err
-}
-
 // Lifreq Helpers
 
 func (l *Lifreq) SetName(name string) error {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_unix.go 
new/vendor/golang.org/x/sys/unix/syscall_unix.go
--- old/vendor/golang.org/x/sys/unix/syscall_unix.go    2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/unix/syscall_unix.go    2026-03-10 
11:08:16.000000000 +0100
@@ -367,7 +367,9 @@
                iov[0].SetLen(len(p))
        }
        var rsa RawSockaddrAny
-       n, oobn, recvflags, err = recvmsgRaw(fd, iov[:], oob, flags, &rsa)
+       if n, oobn, recvflags, err = recvmsgRaw(fd, iov[:], oob, flags, &rsa); 
err != nil {
+               return
+       }
        // source address is only specified if the socket is unconnected
        if rsa.Addr.Family != AF_UNSPEC {
                from, err = anyToSockaddr(fd, &rsa)
@@ -389,8 +391,10 @@
                }
        }
        var rsa RawSockaddrAny
-       n, oobn, recvflags, err = recvmsgRaw(fd, iov, oob, flags, &rsa)
-       if err == nil && rsa.Addr.Family != AF_UNSPEC {
+       if n, oobn, recvflags, err = recvmsgRaw(fd, iov, oob, flags, &rsa); err 
!= nil {
+               return
+       }
+       if rsa.Addr.Family != AF_UNSPEC {
                from, err = anyToSockaddr(fd, &rsa)
        }
        return
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/syscall_windows.go 
new/vendor/golang.org/x/sys/windows/syscall_windows.go
--- old/vendor/golang.org/x/sys/windows/syscall_windows.go      2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/syscall_windows.go      2026-03-10 
11:08:16.000000000 +0100
@@ -900,6 +900,7 @@
 //sys   NotifyRouteChange2(family uint16, callback uintptr, callerContext 
unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode 
error) = iphlpapi.NotifyRouteChange2
 //sys   NotifyUnicastIpAddressChange(family uint16, callback uintptr, 
callerContext unsafe.Pointer, initialNotification bool, notificationHandle 
*Handle) (errcode error) = iphlpapi.NotifyUnicastIpAddressChange
 //sys   CancelMibChangeNotify2(notificationHandle Handle) (errcode error) = 
iphlpapi.CancelMibChangeNotify2
+//sys  IsProcessorFeaturePresent(ProcessorFeature uint32) (ret bool) = 
kernel32.IsProcessorFeaturePresent
 
 // For testing: clients can set this flag to force
 // creation of IPv6 sockets to return EAFNOSUPPORT.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/types_windows.go 
new/vendor/golang.org/x/sys/windows/types_windows.go
--- old/vendor/golang.org/x/sys/windows/types_windows.go        2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/types_windows.go        2026-03-10 
11:08:16.000000000 +0100
@@ -3938,3 +3938,88 @@
        MOUSE_EVENT              = 0x0002
        WINDOW_BUFFER_SIZE_EVENT = 0x0004
 )
+
+// The processor features to be tested for IsProcessorFeaturePresent, see
+// 
https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-isprocessorfeaturepresent
+const (
+       PF_ARM_64BIT_LOADSTORE_ATOMIC              = 25
+       PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE        = 24
+       PF_ARM_EXTERNAL_CACHE_AVAILABLE            = 26
+       PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE         = 27
+       PF_ARM_VFP_32_REGISTERS_AVAILABLE          = 18
+       PF_3DNOW_INSTRUCTIONS_AVAILABLE            = 7
+       PF_CHANNELS_ENABLED                        = 16
+       PF_COMPARE_EXCHANGE_DOUBLE                 = 2
+       PF_COMPARE_EXCHANGE128                     = 14
+       PF_COMPARE64_EXCHANGE128                   = 15
+       PF_FASTFAIL_AVAILABLE                      = 23
+       PF_FLOATING_POINT_EMULATED                 = 1
+       PF_FLOATING_POINT_PRECISION_ERRATA         = 0
+       PF_MMX_INSTRUCTIONS_AVAILABLE              = 3
+       PF_NX_ENABLED                              = 12
+       PF_PAE_ENABLED                             = 9
+       PF_RDTSC_INSTRUCTION_AVAILABLE             = 8
+       PF_RDWRFSGSBASE_AVAILABLE                  = 22
+       PF_SECOND_LEVEL_ADDRESS_TRANSLATION        = 20
+       PF_SSE3_INSTRUCTIONS_AVAILABLE             = 13
+       PF_SSSE3_INSTRUCTIONS_AVAILABLE            = 36
+       PF_SSE4_1_INSTRUCTIONS_AVAILABLE           = 37
+       PF_SSE4_2_INSTRUCTIONS_AVAILABLE           = 38
+       PF_AVX_INSTRUCTIONS_AVAILABLE              = 39
+       PF_AVX2_INSTRUCTIONS_AVAILABLE             = 40
+       PF_AVX512F_INSTRUCTIONS_AVAILABLE          = 41
+       PF_VIRT_FIRMWARE_ENABLED                   = 21
+       PF_XMMI_INSTRUCTIONS_AVAILABLE             = 6
+       PF_XMMI64_INSTRUCTIONS_AVAILABLE           = 10
+       PF_XSAVE_ENABLED                           = 17
+       PF_ARM_V8_INSTRUCTIONS_AVAILABLE           = 29
+       PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE    = 30
+       PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE     = 31
+       PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE   = 34
+       PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE       = 43
+       PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE    = 44
+       PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE    = 45
+       PF_ARM_SVE_INSTRUCTIONS_AVAILABLE          = 46
+       PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE         = 47
+       PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE       = 48
+       PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE      = 49
+       PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50
+       PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE  = 51
+       PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE     = 52
+       PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE    = 53
+       PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE   = 54
+       PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE     = 55
+       PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE      = 56
+       PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE     = 57
+       PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE    = 58
+       PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE    = 59
+       PF_BMI2_INSTRUCTIONS_AVAILABLE             = 60
+       PF_MOVDIR64B_INSTRUCTION_AVAILABLE         = 61
+       PF_ARM_LSE2_AVAILABLE                      = 62
+       PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE         = 64
+       PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE       = 65
+       PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE     = 66
+       PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE     = 67
+       PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE     = 68
+       PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE    = 69
+       PF_ARM_SME_INSTRUCTIONS_AVAILABLE          = 70
+       PF_ARM_SME2_INSTRUCTIONS_AVAILABLE         = 71
+       PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE       = 72
+       PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE       = 73
+       PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE      = 74
+       PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75
+       PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE   = 76
+       PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE   = 77
+       PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE   = 78
+       PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE   = 79
+       PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE   = 80
+       PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE    = 81
+       PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE    = 82
+       PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE   = 83
+       PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE   = 84
+       PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE   = 85
+       PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE   = 86
+       PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE    = 87
+       PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE     = 88
+       PF_UMONITOR_INSTRUCTION_AVAILABLE          = 89
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/golang.org/x/sys/windows/zsyscall_windows.go 
new/vendor/golang.org/x/sys/windows/zsyscall_windows.go
--- old/vendor/golang.org/x/sys/windows/zsyscall_windows.go     2026-01-30 
10:33:33.000000000 +0100
+++ new/vendor/golang.org/x/sys/windows/zsyscall_windows.go     2026-03-10 
11:08:16.000000000 +0100
@@ -320,6 +320,7 @@
        procGetVolumePathNamesForVolumeNameW                     = 
modkernel32.NewProc("GetVolumePathNamesForVolumeNameW")
        procGetWindowsDirectoryW                                 = 
modkernel32.NewProc("GetWindowsDirectoryW")
        procInitializeProcThreadAttributeList                    = 
modkernel32.NewProc("InitializeProcThreadAttributeList")
+       procIsProcessorFeaturePresent                            = 
modkernel32.NewProc("IsProcessorFeaturePresent")
        procIsWow64Process                                       = 
modkernel32.NewProc("IsWow64Process")
        procIsWow64Process2                                      = 
modkernel32.NewProc("IsWow64Process2")
        procLoadLibraryExW                                       = 
modkernel32.NewProc("LoadLibraryExW")
@@ -2786,6 +2787,12 @@
        return
 }
 
+func IsProcessorFeaturePresent(ProcessorFeature uint32) (ret bool) {
+       r0, _, _ := syscall.SyscallN(procIsProcessorFeaturePresent.Addr(), 
uintptr(ProcessorFeature))
+       ret = r0 != 0
+       return
+}
+
 func IsWow64Process(handle Handle, isWow64 *bool) (err error) {
        var _p0 uint32
        if *isWow64 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt
--- old/vendor/modules.txt      2026-01-30 10:33:33.000000000 +0100
+++ new/vendor/modules.txt      2026-03-10 11:08:16.000000000 +0100
@@ -8,7 +8,7 @@
 ## explicit; go 1.18
 github.com/clipperhouse/uax29/v2/graphemes
 github.com/clipperhouse/uax29/v2/internal/iterators
-# github.com/containerd/stargz-snapshotter/estargz v0.18.1
+# github.com/containerd/stargz-snapshotter/estargz v0.18.2
 ## explicit; go 1.24.0
 github.com/containerd/stargz-snapshotter/estargz
 github.com/containerd/stargz-snapshotter/estargz/errorutil
@@ -25,7 +25,7 @@
 # github.com/deckarep/golang-set/v2 v2.8.0
 ## explicit; go 1.18
 github.com/deckarep/golang-set/v2
-# github.com/docker/cli v29.1.4+incompatible
+# github.com/docker/cli v29.2.1+incompatible
 ## explicit
 github.com/docker/cli/cli/config
 github.com/docker/cli/cli/config/configfile
@@ -42,8 +42,8 @@
 # github.com/fatih/color v1.18.0
 ## explicit; go 1.17
 github.com/fatih/color
-# github.com/go-git/go-billy/v5 v5.7.0
-## explicit; go 1.23.0
+# github.com/go-git/go-billy/v5 v5.8.0
+## explicit; go 1.24.0
 github.com/go-git/go-billy/v5
 github.com/go-git/go-billy/v5/helper/chroot
 github.com/go-git/go-billy/v5/helper/polyfill
@@ -53,8 +53,8 @@
 # github.com/gogo/protobuf v1.3.2
 ## explicit; go 1.15
 github.com/gogo/protobuf/proto
-# github.com/google/go-containerregistry v0.20.7
-## explicit; go 1.24.0
+# github.com/google/go-containerregistry v0.21.2
+## explicit; go 1.25.6
 github.com/google/go-containerregistry/internal/and
 github.com/google/go-containerregistry/internal/compression
 github.com/google/go-containerregistry/internal/estargz
@@ -81,8 +81,10 @@
 # github.com/google/go-github/v66 v66.0.0
 ## explicit; go 1.21
 github.com/google/go-github/v66/github
-# github.com/google/go-querystring v1.1.0
-## explicit; go 1.10
+# github.com/google/go-github/v84 v84.0.0
+## explicit; go 1.25.0
+# github.com/google/go-querystring v1.2.0
+## explicit; go 1.13
 github.com/google/go-querystring/query
 # github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542
 ## explicit
@@ -90,7 +92,7 @@
 # github.com/inconshreveable/mousetrap v1.1.0
 ## explicit; go 1.18
 github.com/inconshreveable/mousetrap
-# github.com/klauspost/compress v1.18.3
+# github.com/klauspost/compress v1.18.4
 ## explicit; go 1.23
 github.com/klauspost/compress
 github.com/klauspost/compress/fse
@@ -112,8 +114,8 @@
 # github.com/mitchellh/go-homedir v1.1.0
 ## explicit
 github.com/mitchellh/go-homedir
-# github.com/moby/buildkit v0.27.1
-## explicit; go 1.25.0
+# github.com/moby/buildkit v0.28.0
+## explicit; go 1.25.5
 github.com/moby/buildkit/frontend/dockerfile/command
 github.com/moby/buildkit/frontend/dockerfile/parser
 github.com/moby/buildkit/frontend/dockerfile/shell
@@ -173,10 +175,10 @@
 # github.com/vbatts/tar-split v0.12.2
 ## explicit; go 1.17
 github.com/vbatts/tar-split/archive/tar
-# golang.org/x/sync v0.19.0
-## explicit; go 1.24.0
+# golang.org/x/sync v0.20.0
+## explicit; go 1.25.0
 golang.org/x/sync/errgroup
-# golang.org/x/sys v0.40.0
+# golang.org/x/sys v0.41.0
 ## explicit; go 1.24.0
 golang.org/x/sys/unix
 golang.org/x/sys/windows

Reply via email to