Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qubesome for openSUSE:Factory checked in at 2025-11-17 12:18:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qubesome (Old) and /work/SRC/openSUSE:Factory/.qubesome.new.2061 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qubesome" Mon Nov 17 12:18:58 2025 rev:11 rq:1318077 version:0.0.16 Changes: -------- --- /work/SRC/openSUSE:Factory/qubesome/qubesome.changes 2025-11-06 18:14:24.414468894 +0100 +++ /work/SRC/openSUSE:Factory/.qubesome.new.2061/qubesome.changes 2025-11-17 12:24:14.655960722 +0100 @@ -1,0 +2,18 @@ +Sun Nov 16 12:02:11 UTC 2025 - Paulo Gomes <[email protected]> + +- Update to version 0.0.16: + * build: Remove protoc version prefix + * fix(deps): update module golang.org/x/term to v0.37.0 + * chore(deps): update dependency protocolbuffers/protobuf to v33.1 + * chore(deps): update dependency golangci/golangci-lint to v2.6.1 + * chore(deps): update dependency protocolbuffers/protobuf to v33 + * chore(deps): update dependency golangci/golangci-lint to v2.6.0 + * build: Remove renovate workflow This is being replaced by the workflow in qubesome/.github: https://github.com/qubesome/.github/blob/main/.github/workflows/renovate.yml + * build: Add renovate workflow + * build: Add renovate workflow + * build(deps): bump github.com/urfave/cli/v3 from 3.5.0 to 3.6.0 + * build(deps): bump golang.org/x/sys in the golang-org group + * build: Transition to new archives config x-ref: https://goreleaser.com/deprecations/#archivesformat + * build: Add support for new cosign bundle + +------------------------------------------------------------------- Old: ---- qubesome-0.0.15.tar.gz New: ---- qubesome-0.0.16.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qubesome.spec ++++++ --- /var/tmp/diff_new_pack.AZnIZz/_old 2025-11-17 12:24:17.680088248 +0100 +++ /var/tmp/diff_new_pack.AZnIZz/_new 2025-11-17 12:24:17.684088417 +0100 @@ -17,7 +17,7 @@ Name: qubesome -Version: 0.0.15 +Version: 0.0.16 Release: 0 Summary: Containerize Window Managers, apps and config from a declarative state in Git License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.AZnIZz/_old 2025-11-17 12:24:17.872096345 +0100 +++ /var/tmp/diff_new_pack.AZnIZz/_new 2025-11-17 12:24:17.940099212 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/qubesome/cli.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.0.15</param> + <param name="revision">v0.0.16</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="match-tag">v*</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.AZnIZz/_old 2025-11-17 12:24:18.144107816 +0100 +++ /var/tmp/diff_new_pack.AZnIZz/_new 2025-11-17 12:24:18.160108490 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/qubesome/cli.git</param> - <param name="changesrevision">934455fbc63211650bbada1523e53708e8623807</param></service></servicedata> + <param name="changesrevision">2717ef3dfb24a8557dff572b7f41c405411999a5</param></service></servicedata> (No newline at EOF) ++++++ qubesome-0.0.15.tar.gz -> qubesome-0.0.16.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qubesome-0.0.15/.goreleaser.yaml new/qubesome-0.0.16/.goreleaser.yaml --- old/qubesome-0.0.15/.goreleaser.yaml 2025-11-03 23:31:15.000000000 +0100 +++ new/qubesome-0.0.16/.goreleaser.yaml 2025-11-14 09:34:43.000000000 +0100 @@ -19,18 +19,16 @@ - CGO_ENABLED=0 archives: - - id: default - format: binary + - formats: [ 'binary' ] signs: - cmd: cosign - certificate: '${artifact}.pem' + signature: "${artifact}.sigstore.json" args: - sign-blob - '--yes' - - '--output-signature=${signature}' - - '--output-certificate=${certificate}' - - '--bundle=${artifact}.bundle' + - '--new-bundle-format=true' + - '--bundle=${signature}' - '${artifact}' artifacts: checksum output: true @@ -44,7 +42,3 @@ artifacts: source documents: - '{{ .ProjectName }}_{{ .Version }}_sbom.spdx.json' - -release: - extra_files: - - glob: ./**/*.bundle diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qubesome-0.0.15/.renovaterc.json5 new/qubesome-0.0.16/.renovaterc.json5 --- old/qubesome-0.0.15/.renovaterc.json5 1970-01-01 01:00:00.000000000 +0100 +++ new/qubesome-0.0.16/.renovaterc.json5 2025-11-14 09:34:43.000000000 +0100 @@ -0,0 +1,4 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>qubesome/.github"] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qubesome-0.0.15/go.mod new/qubesome-0.0.16/go.mod --- old/qubesome-0.0.15/go.mod 2025-11-03 23:31:15.000000000 +0100 +++ new/qubesome-0.0.16/go.mod 2025-11-14 09:34:43.000000000 +0100 @@ -7,10 +7,10 @@ github.com/go-git/go-git/v6 v6.0.0-20250628104446-20c25df268c3 github.com/google/uuid v1.6.0 github.com/stretchr/testify v1.11.1 - github.com/urfave/cli/v3 v3.5.0 + github.com/urfave/cli/v3 v3.6.0 github.com/zalando/go-keyring v0.2.6 - golang.org/x/sys v0.37.0 - golang.org/x/term v0.36.0 + golang.org/x/sys v0.38.0 + golang.org/x/term v0.37.0 google.golang.org/grpc v1.76.0 google.golang.org/protobuf v1.36.10 gopkg.in/yaml.v3 v3.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qubesome-0.0.15/go.sum new/qubesome-0.0.16/go.sum --- old/qubesome-0.0.15/go.sum 2025-11-03 23:31:15.000000000 +0100 +++ new/qubesome-0.0.16/go.sum 2025-11-14 09:34:43.000000000 +0100 @@ -74,8 +74,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/urfave/cli/v3 v3.5.0 h1:qCuFMmdayTF3zmjG8TSsoBzrDqszNrklYg2x3g4MSgw= -github.com/urfave/cli/v3 v3.5.0/go.mod h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso= +github.com/urfave/cli/v3 v3.6.0 h1:oIdArVjkdIXHWg3iqxgmqwQGC8NM0JtdgwQAj2sRwFo= +github.com/urfave/cli/v3 v3.6.0/go.mod h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso= github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s= github.com/zalando/go-keyring v0.2.6/go.mod h1:2TCrxYrbUNYfNS/Kgy/LSrkSQzZ5UPVH85RwfczwvcI= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= @@ -96,10 +96,10 @@ golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs= golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8= -golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q= -golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qubesome-0.0.15/hack/base.mk new/qubesome-0.0.16/hack/base.mk --- old/qubesome-0.0.15/hack/base.mk 2025-11-03 23:31:15.000000000 +0100 +++ new/qubesome-0.0.16/hack/base.mk 2025-11-14 09:34:43.000000000 +0100 @@ -1,5 +1,7 @@ -GOLANGCI_VERSION ?= v2.5.0 -PROTOC_VERSION ?= 32.1 +# renovate: datasource=github-tags depName=golangci/golangci-lint +GOLANGCI_VERSION ?= v2.6.1 +# renovate: datasource=github-tags depName=protocolbuffers/protobuf +PROTOC_VERSION ?= v33.1 TOOLS_BIN := $(shell mkdir -p build/tools && realpath build/tools) ifneq ($(shell git status --porcelain --untracked-files=no),) @@ -16,7 +18,7 @@ PROTOC = $(TOOLS_BIN)/protoc $(PROTOC): - curl -fsSL https://github.com/protocolbuffers/protobuf/releases/download/v$(PROTOC_VERSION)/protoc-$(PROTOC_VERSION)-linux-x86_64.zip \ + curl -fsSL https://github.com/protocolbuffers/protobuf/releases/download/$(PROTOC_VERSION)/protoc-$(patsubst v%,%,$(PROTOC_VERSION))-linux-x86_64.zip \ -o $(TOOLS_BIN)/protoc.zip unzip -j $(TOOLS_BIN)/protoc.zip -d $(TOOLS_BIN) "bin/protoc" rm $(TOOLS_BIN)/protoc.zip ++++++ vendor.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/command.go new/vendor/github.com/urfave/cli/v3/command.go --- old/vendor/github.com/urfave/cli/v3/command.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/command.go 2025-11-14 09:34:43.000000000 +0100 @@ -101,6 +101,8 @@ SliceFlagSeparator string `json:"sliceFlagSeparator"` // DisableSliceFlagSeparator is used to disable SliceFlagSeparator, the default is false DisableSliceFlagSeparator bool `json:"disableSliceFlagSeparator"` + // MapFlagKeyValueSeparator is used to customize the separator for MapFlag, the default is "=" + MapFlagKeyValueSeparator string `json:"mapFlagKeyValueSeparator"` // Boolean to enable short-option handling so user can combine several // single-character bool arguments into one // i.e. foobar -o -v -> foobar -ov @@ -155,6 +157,10 @@ didSetupDefaults bool // whether in shell completion mode shellCompletion bool + // whether global help flag was added + globaHelpFlagAdded bool + // whether global version flag was added + globaVersionFlagAdded bool } // FullName returns the full name of the command. @@ -349,6 +355,7 @@ func (cmd *Command) set(fName string, f Flag, val string) error { cmd.setFlags[f] = struct{}{} + cmd.setMultiValueParsingConfig(f) if err := f.Set(fName, val); err != nil { return fmt.Errorf("invalid value %q for flag -%s: %v", val, fName, err) } @@ -377,6 +384,21 @@ return nil } +// this looks up only allowed flags, i.e. local flags for current command +// or persistent flags from ancestors +func (cmd *Command) lookupAppliedFlag(name string) Flag { + for _, f := range cmd.appliedFlags { + if slices.Contains(f.Names(), name) { + tracef("appliedFlag found for name %[1]q (cmd=%[2]q)", name, cmd.Name) + return f + } + } + + tracef("lookupAppliedflag NOT found for name %[1]q (cmd=%[2]q)", name, cmd.Name) + cmd.onInvalidFlag(context.TODO(), name) + return nil +} + func (cmd *Command) checkRequiredFlag(f Flag) (bool, string) { if rf, ok := f.(RequiredFlag); ok && rf.IsRequired() { flagName := f.Names()[0] @@ -440,9 +462,21 @@ return count // cmd.flagSet.NFlag() } +func (cmd *Command) setMultiValueParsingConfig(f Flag) { + tracef("setMultiValueParsingConfig %T, %+v", f, f) + if cf, ok := f.(multiValueParsingConfigSetter); ok { + cf.setMultiValueParsingConfig(multiValueParsingConfig{ + SliceFlagSeparator: cmd.SliceFlagSeparator, + DisableSliceFlagSeparator: cmd.DisableSliceFlagSeparator, + MapFlagKeyValueSeparator: cmd.MapFlagKeyValueSeparator, + }) + } +} + // Set sets a context flag to a value. func (cmd *Command) Set(name, value string) error { if f := cmd.lookupFlag(name); f != nil { + cmd.setMultiValueParsingConfig(f) return f.Set(name, value) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/command_parse.go new/vendor/github.com/urfave/cli/v3/command_parse.go --- old/vendor/github.com/urfave/cli/v3/command_parse.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/command_parse.go 2025-11-14 09:34:43.000000000 +0100 @@ -144,7 +144,7 @@ tracef("flagName:2 (fName=%[1]q) (fVal=%[2]q)", flagName, flagVal) - f := cmd.lookupFlag(flagName) + f := cmd.lookupAppliedFlag(flagName) // found a flag matching given flagName if f != nil { tracef("Trying flag type (fName=%[1]q) (type=%[2]T)", flagName, f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/command_run.go new/vendor/github.com/urfave/cli/v3/command_run.go --- old/vendor/github.com/urfave/cli/v3/command_run.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/command_run.go 2025-11-14 09:34:43.000000000 +0100 @@ -207,9 +207,14 @@ } for _, flag := range cmd.allFlags() { + isSet := flag.IsSet() if err := flag.PostParse(); err != nil { return ctx, err } + // add env set flags here + if !isSet && flag.IsSet() { + cmd.setFlags[flag] = struct{}{} + } } if cmd.After != nil && !cmd.Root().shellCompletion { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/command_setup.go new/vendor/github.com/urfave/cli/v3/command_setup.go --- old/vendor/github.com/urfave/cli/v3/command_setup.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/command_setup.go 2025-11-14 09:34:43.000000000 +0100 @@ -80,7 +80,18 @@ if !cmd.HideVersion && isRoot { tracef("appending version flag (cmd=%[1]q)", cmd.Name) - cmd.appendFlag(VersionFlag) + if !cmd.globaVersionFlagAdded { + var localVersionFlag Flag + if globalVersionFlag, ok := VersionFlag.(*BoolFlag); ok { + flag := *globalVersionFlag + localVersionFlag = &flag + } else { + localVersionFlag = VersionFlag + } + + cmd.appendFlag(localVersionFlag) + cmd.globaVersionFlagAdded = true + } } if cmd.PrefixMatchCommands && cmd.SuggestCommandFunc == nil { @@ -130,14 +141,6 @@ cmd.Metadata = map[string]any{} } - if len(cmd.SliceFlagSeparator) != 0 { - tracef("setting defaultSliceFlagSeparator from cmd.SliceFlagSeparator (cmd=%[1]q)", cmd.Name) - defaultSliceFlagSeparator = cmd.SliceFlagSeparator - } - - tracef("setting disableSliceFlagSeparator from cmd.DisableSliceFlagSeparator (cmd=%[1]q)", cmd.Name) - disableSliceFlagSeparator = cmd.DisableSliceFlagSeparator - cmd.setFlags = map[Flag]struct{}{} } @@ -200,15 +203,21 @@ } if HelpFlag != nil { - // TODO need to remove hack - if hf, ok := HelpFlag.(*BoolFlag); ok { - hf.applied = false - hf.hasBeenSet = false - hf.Value = false - hf.value = nil + if !cmd.globaHelpFlagAdded { + var localHelpFlag Flag + if globalHelpFlag, ok := HelpFlag.(*BoolFlag); ok { + flag := *globalHelpFlag + localHelpFlag = &flag + } else { + localHelpFlag = HelpFlag + } + + tracef("appending HelpFlag (cmd=%[1]q)", cmd.Name) + cmd.appendFlag(localHelpFlag) + cmd.globaHelpFlagAdded = true + } else { + tracef("HelpFlag already added, skip (cmd=%[1]q)", cmd.Name) } - tracef("appending HelpFlag (cmd=%[1]q)", cmd.Name) - cmd.appendFlag(HelpFlag) } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/flag.go new/vendor/github.com/urfave/cli/v3/flag.go --- old/vendor/github.com/urfave/cli/v3/flag.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/flag.go 2025-11-14 09:34:43.000000000 +0100 @@ -10,7 +10,7 @@ const defaultPlaceholder = "value" -var ( +const ( defaultSliceFlagSeparator = "," defaultMapFlagKeyValueSeparator = "=" disableSliceFlagSeparator = false @@ -222,10 +222,13 @@ return false } -func flagSplitMultiValues(val string) []string { - if disableSliceFlagSeparator { +func flagSplitMultiValues(val string, sliceSeparator string, disableSliceSeparator bool) []string { + if disableSliceSeparator { return []string{val} } - return strings.Split(val, defaultSliceFlagSeparator) + if len(sliceSeparator) == 0 { + sliceSeparator = defaultSliceFlagSeparator + } + return strings.Split(val, sliceSeparator) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/flag_impl.go new/vendor/github.com/urfave/cli/v3/flag_impl.go --- old/vendor/github.com/urfave/cli/v3/flag_impl.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/flag_impl.go 2025-11-14 09:34:43.000000000 +0100 @@ -19,6 +19,20 @@ IsBoolFlag() bool } +type multiValueParsingConfig struct { + // SliceFlagSeparator is used to customize the separator for SliceFlag, the default is "," + SliceFlagSeparator string + // DisableSliceFlagSeparator is used to disable SliceFlagSeparator, the default is false + DisableSliceFlagSeparator bool + // MapFlagKeyValueSeparator is used to customize the separator for MapFlag, the default is "=" + MapFlagKeyValueSeparator string +} + +type multiValueParsingConfigSetter interface { + // configuration of parsing + setMultiValueParsingConfig(c multiValueParsingConfig) +} + // ValueCreator is responsible for creating a flag.Value emulation // as well as custom formatting // @@ -134,6 +148,14 @@ return nil } +// pass configuration of parsing to value +func (f *FlagBase[T, C, V]) setMultiValueParsingConfig(c multiValueParsingConfig) { + tracef("setMultiValueParsingConfig %T, %+v", f.value, f.value) + if cf, ok := f.value.(multiValueParsingConfigSetter); ok { + cf.setMultiValueParsingConfig(c) + } +} + func (f *FlagBase[T, C, V]) PreParse() error { newVal := f.Value diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/flag_map_impl.go new/vendor/github.com/urfave/cli/v3/flag_map_impl.go --- old/vendor/github.com/urfave/cli/v3/flag_map_impl.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/flag_map_impl.go 2025-11-14 09:34:43.000000000 +0100 @@ -10,9 +10,10 @@ // MapBase wraps map[string]T to satisfy flag.Value type MapBase[T any, C any, VC ValueCreator[T, C]] struct { - dict *map[string]T - hasBeenSet bool - value Value + dict *map[string]T + hasBeenSet bool + value Value + multiValueConfig multiValueParsingConfig } func (i MapBase[T, C, VC]) Create(val map[string]T, p *map[string]T, c C) Value { @@ -36,6 +37,18 @@ } } +// configuration of slicing +func (i *MapBase[T, C, VC]) setMultiValueParsingConfig(c multiValueParsingConfig) { + i.multiValueConfig = c + mvc := &i.multiValueConfig + tracef( + "set map parsing config - keyValueSeparator '%s', slice separator '%s', disable separator:%v", + mvc.MapFlagKeyValueSeparator, + mvc.SliceFlagSeparator, + mvc.DisableSliceFlagSeparator, + ) +} + // Set parses the value and appends it to the list of values func (i *MapBase[T, C, VC]) Set(value string) error { if !i.hasBeenSet { @@ -50,10 +63,23 @@ return nil } - for _, item := range flagSplitMultiValues(value) { - key, value, ok := strings.Cut(item, defaultMapFlagKeyValueSeparator) + mvc := &i.multiValueConfig + keyValueSeparator := mvc.MapFlagKeyValueSeparator + if len(keyValueSeparator) == 0 { + keyValueSeparator = defaultMapFlagKeyValueSeparator + } + + tracef( + "splitting map value '%s', keyValueSeparator '%s', slice separator '%s', disable separator:%v", + value, + keyValueSeparator, + mvc.SliceFlagSeparator, + mvc.DisableSliceFlagSeparator, + ) + for _, item := range flagSplitMultiValues(value, mvc.SliceFlagSeparator, mvc.DisableSliceFlagSeparator) { + key, value, ok := strings.Cut(item, keyValueSeparator) if !ok { - return fmt.Errorf("item %q is missing separator %q", item, defaultMapFlagKeyValueSeparator) + return fmt.Errorf("item %q is missing separator %q", item, keyValueSeparator) } if err := i.value.Set(value); err != nil { return err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/flag_slice_base.go new/vendor/github.com/urfave/cli/v3/flag_slice_base.go --- old/vendor/github.com/urfave/cli/v3/flag_slice_base.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/flag_slice_base.go 2025-11-14 09:34:43.000000000 +0100 @@ -9,9 +9,11 @@ // SliceBase wraps []T to satisfy flag.Value type SliceBase[T any, C any, VC ValueCreator[T, C]] struct { - slice *[]T - hasBeenSet bool - value Value + slice *[]T + hasBeenSet bool + value Value + sliceSeparator string + disableSliceSeparator bool } func (i SliceBase[T, C, VC]) Create(val []T, p *[]T, c C) Value { @@ -33,6 +35,13 @@ } } +// configuration of slicing +func (i *SliceBase[T, C, VC]) setMultiValueParsingConfig(c multiValueParsingConfig) { + i.disableSliceSeparator = c.DisableSliceFlagSeparator + i.sliceSeparator = c.SliceFlagSeparator + tracef("set slice parsing config - slice separator '%s', disable separator:%v", i.sliceSeparator, i.disableSliceSeparator) +} + // Set parses the value and appends it to the list of values func (i *SliceBase[T, C, VC]) Set(value string) error { if !i.hasBeenSet { @@ -57,7 +66,8 @@ trimSpace = false } - for _, s := range flagSplitMultiValues(value) { + tracef("splitting slice value '%s', separator '%s', disable separator:%v", value, i.sliceSeparator, i.disableSliceSeparator) + for _, s := range flagSplitMultiValues(value, i.sliceSeparator, i.disableSliceSeparator) { if trimSpace { s = strings.TrimSpace(s) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/godoc-current.txt new/vendor/github.com/urfave/cli/v3/godoc-current.txt --- old/vendor/github.com/urfave/cli/v3/godoc-current.txt 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/godoc-current.txt 2025-11-14 09:34:43.000000000 +0100 @@ -502,6 +502,8 @@ SliceFlagSeparator string `json:"sliceFlagSeparator"` // DisableSliceFlagSeparator is used to disable SliceFlagSeparator, the default is false DisableSliceFlagSeparator bool `json:"disableSliceFlagSeparator"` + // MapFlagKeyValueSeparator is used to customize the separator for MapFlag, the default is "=" + MapFlagKeyValueSeparator string `json:"mapFlagKeyValueSeparator"` // Boolean to enable short-option handling so user can combine several // single-character bool arguments into one // i.e. foobar -o -v -> foobar -ov diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/urfave/cli/v3/mkdocs-requirements.txt new/vendor/github.com/urfave/cli/v3/mkdocs-requirements.txt --- old/vendor/github.com/urfave/cli/v3/mkdocs-requirements.txt 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/github.com/urfave/cli/v3/mkdocs-requirements.txt 2025-11-14 09:34:43.000000000 +0100 @@ -1,5 +1,5 @@ -mkdocs-git-revision-date-localized-plugin==1.4.7 -mkdocs-material==9.6.22 +mkdocs-git-revision-date-localized-plugin==1.5.0 +mkdocs-material==9.6.23 mkdocs==1.6.1 mkdocs-redirects==1.2.2 pygments==2.19.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu.go new/vendor/golang.org/x/sys/cpu/cpu.go --- old/vendor/golang.org/x/sys/cpu/cpu.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu.go 2025-11-14 09:34:43.000000000 +0100 @@ -92,6 +92,9 @@ HasSHA2 bool // SHA2 hardware implementation HasCRC32 bool // CRC32 hardware implementation HasATOMICS bool // Atomic memory operation instruction set + HasHPDS bool // Hierarchical permission disables in translations tables + HasLOR bool // Limited ordering regions + HasPAN bool // Privileged access never HasFPHP bool // Half precision floating-point instruction set HasASIMDHP bool // Advanced SIMD half precision instruction set HasCPUID bool // CPUID identification scheme registers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_arm64.go new/vendor/golang.org/x/sys/cpu/cpu_arm64.go --- old/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_arm64.go 2025-11-14 09:34:43.000000000 +0100 @@ -65,10 +65,10 @@ func readARM64Registers() { Initialized = true - parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0()) + parseARM64SystemRegisters(getisar0(), getisar1(), getmmfr1(), getpfr0()) } -func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) { +func parseARM64SystemRegisters(isar0, isar1, mmfr1, pfr0 uint64) { // ID_AA64ISAR0_EL1 switch extractBits(isar0, 4, 7) { case 1: @@ -152,6 +152,22 @@ ARM64.HasI8MM = true } + // ID_AA64MMFR1_EL1 + switch extractBits(mmfr1, 12, 15) { + case 1, 2: + ARM64.HasHPDS = true + } + + switch extractBits(mmfr1, 16, 19) { + case 1: + ARM64.HasLOR = true + } + + switch extractBits(mmfr1, 20, 23) { + case 1, 2, 3: + ARM64.HasPAN = true + } + // ID_AA64PFR0_EL1 switch extractBits(pfr0, 16, 19) { case 0: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_arm64.s new/vendor/golang.org/x/sys/cpu/cpu_arm64.s --- old/vendor/golang.org/x/sys/cpu/cpu_arm64.s 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_arm64.s 2025-11-14 09:34:43.000000000 +0100 @@ -9,31 +9,34 @@ // func getisar0() uint64 TEXT ·getisar0(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 0 into x0 - // mrs x0, ID_AA64ISAR0_EL1 = d5380600 - WORD $0xd5380600 + MRS ID_AA64ISAR0_EL1, R0 MOVD R0, ret+0(FP) RET // func getisar1() uint64 TEXT ·getisar1(SB),NOSPLIT,$0-8 // get Instruction Set Attributes 1 into x0 - // mrs x0, ID_AA64ISAR1_EL1 = d5380620 - WORD $0xd5380620 + MRS ID_AA64ISAR1_EL1, R0 + MOVD R0, ret+0(FP) + RET + +// func getmmfr1() uint64 +TEXT ·getmmfr1(SB),NOSPLIT,$0-8 + // get Memory Model Feature Register 1 into x0 + MRS ID_AA64MMFR1_EL1, R0 MOVD R0, ret+0(FP) RET // func getpfr0() uint64 TEXT ·getpfr0(SB),NOSPLIT,$0-8 // get Processor Feature Register 0 into x0 - // mrs x0, ID_AA64PFR0_EL1 = d5380400 - WORD $0xd5380400 + MRS ID_AA64PFR0_EL1, R0 MOVD R0, ret+0(FP) RET // func getzfr0() uint64 TEXT ·getzfr0(SB),NOSPLIT,$0-8 // get SVE Feature Register 0 into x0 - // mrs x0, ID_AA64ZFR0_EL1 = d5380480 - WORD $0xd5380480 + MRS ID_AA64ZFR0_EL1, R0 MOVD R0, ret+0(FP) RET diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go new/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go --- old/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go 2025-11-14 09:34:43.000000000 +0100 @@ -8,5 +8,6 @@ func getisar0() uint64 func getisar1() uint64 +func getmmfr1() uint64 func getpfr0() uint64 func getzfr0() uint64 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go new/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go --- old/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go 2025-11-14 09:34:43.000000000 +0100 @@ -8,4 +8,5 @@ func getisar0() uint64 { return 0 } func getisar1() uint64 { return 0 } +func getmmfr1() uint64 { return 0 } func getpfr0() uint64 { return 0 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go new/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go --- old/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go 2025-11-14 09:34:43.000000000 +0100 @@ -167,7 +167,7 @@ setMinimalFeatures() return } - parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64pfr0) + parseARM64SystemRegisters(cpuid.aa64isar0, cpuid.aa64isar1, cpuid.aa64mmfr1, cpuid.aa64pfr0) Initialized = true } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go new/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go --- old/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go 2025-11-14 09:34:43.000000000 +0100 @@ -59,7 +59,7 @@ if !ok { return } - parseARM64SystemRegisters(isar0, isar1, 0) + parseARM64SystemRegisters(isar0, isar1, 0, 0) Initialized = true } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/mkerrors.sh new/vendor/golang.org/x/sys/unix/mkerrors.sh --- old/vendor/golang.org/x/sys/unix/mkerrors.sh 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/unix/mkerrors.sh 2025-11-14 09:34:43.000000000 +0100 @@ -226,6 +226,7 @@ #include <linux/cryptouser.h> #include <linux/devlink.h> #include <linux/dm-ioctl.h> +#include <linux/elf.h> #include <linux/errqueue.h> #include <linux/ethtool_netlink.h> #include <linux/falloc.h> @@ -529,6 +530,7 @@ $2 ~ /^O[CNPFPL][A-Z]+[^_][A-Z]+$/ || $2 ~ /^(NL|CR|TAB|BS|VT|FF)DLY$/ || $2 ~ /^(NL|CR|TAB|BS|VT|FF)[0-9]$/ || + $2 ~ /^(DT|EI|ELF|EV|NN|NT|PF|SHF|SHN|SHT|STB|STT|VER)_/ || $2 ~ /^O?XTABS$/ || $2 ~ /^TC[IO](ON|OFF)$/ || $2 ~ /^IN_/ || diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/syscall_linux.go new/vendor/golang.org/x/sys/unix/syscall_linux.go --- old/vendor/golang.org/x/sys/unix/syscall_linux.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/unix/syscall_linux.go 2025-11-14 09:34:43.000000000 +0100 @@ -2643,3 +2643,9 @@ //sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) //sys Mseal(b []byte, flags uint) (err error) + +//sys setMemPolicy(mode int, mask *CPUSet, size int) (err error) = SYS_SET_MEMPOLICY + +func SetMemPolicy(mode int, mask *CPUSet) error { + return setMemPolicy(mode, mask, _CPU_SETSIZE) +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zerrors_linux.go new/vendor/golang.org/x/sys/unix/zerrors_linux.go --- old/vendor/golang.org/x/sys/unix/zerrors_linux.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/unix/zerrors_linux.go 2025-11-14 09:34:43.000000000 +0100 @@ -853,20 +853,86 @@ DM_VERSION_MAJOR = 0x4 DM_VERSION_MINOR = 0x32 DM_VERSION_PATCHLEVEL = 0x0 + DT_ADDRRNGHI = 0x6ffffeff + DT_ADDRRNGLO = 0x6ffffe00 DT_BLK = 0x6 DT_CHR = 0x2 + DT_DEBUG = 0x15 DT_DIR = 0x4 + DT_ENCODING = 0x20 DT_FIFO = 0x1 + DT_FINI = 0xd + DT_FLAGS_1 = 0x6ffffffb + DT_GNU_HASH = 0x6ffffef5 + DT_HASH = 0x4 + DT_HIOS = 0x6ffff000 + DT_HIPROC = 0x7fffffff + DT_INIT = 0xc + DT_JMPREL = 0x17 DT_LNK = 0xa + DT_LOOS = 0x6000000d + DT_LOPROC = 0x70000000 + DT_NEEDED = 0x1 + DT_NULL = 0x0 + DT_PLTGOT = 0x3 + DT_PLTREL = 0x14 + DT_PLTRELSZ = 0x2 DT_REG = 0x8 + DT_REL = 0x11 + DT_RELA = 0x7 + DT_RELACOUNT = 0x6ffffff9 + DT_RELAENT = 0x9 + DT_RELASZ = 0x8 + DT_RELCOUNT = 0x6ffffffa + DT_RELENT = 0x13 + DT_RELSZ = 0x12 + DT_RPATH = 0xf DT_SOCK = 0xc + DT_SONAME = 0xe + DT_STRSZ = 0xa + DT_STRTAB = 0x5 + DT_SYMBOLIC = 0x10 + DT_SYMENT = 0xb + DT_SYMTAB = 0x6 + DT_TEXTREL = 0x16 DT_UNKNOWN = 0x0 + DT_VALRNGHI = 0x6ffffdff + DT_VALRNGLO = 0x6ffffd00 + DT_VERDEF = 0x6ffffffc + DT_VERDEFNUM = 0x6ffffffd + DT_VERNEED = 0x6ffffffe + DT_VERNEEDNUM = 0x6fffffff + DT_VERSYM = 0x6ffffff0 DT_WHT = 0xe ECHO = 0x8 ECRYPTFS_SUPER_MAGIC = 0xf15f EFD_SEMAPHORE = 0x1 EFIVARFS_MAGIC = 0xde5e81e4 EFS_SUPER_MAGIC = 0x414a53 + EI_CLASS = 0x4 + EI_DATA = 0x5 + EI_MAG0 = 0x0 + EI_MAG1 = 0x1 + EI_MAG2 = 0x2 + EI_MAG3 = 0x3 + EI_NIDENT = 0x10 + EI_OSABI = 0x7 + EI_PAD = 0x8 + EI_VERSION = 0x6 + ELFCLASS32 = 0x1 + ELFCLASS64 = 0x2 + ELFCLASSNONE = 0x0 + ELFCLASSNUM = 0x3 + ELFDATA2LSB = 0x1 + ELFDATA2MSB = 0x2 + ELFDATANONE = 0x0 + ELFMAG = "\177ELF" + ELFMAG0 = 0x7f + ELFMAG1 = 'E' + ELFMAG2 = 'L' + ELFMAG3 = 'F' + ELFOSABI_LINUX = 0x3 + ELFOSABI_NONE = 0x0 EM_386 = 0x3 EM_486 = 0x6 EM_68K = 0x4 @@ -1152,14 +1218,24 @@ ETH_P_WCCP = 0x883e ETH_P_X25 = 0x805 ETH_P_XDSA = 0xf8 + ET_CORE = 0x4 + ET_DYN = 0x3 + ET_EXEC = 0x2 + ET_HIPROC = 0xffff + ET_LOPROC = 0xff00 + ET_NONE = 0x0 + ET_REL = 0x1 EV_ABS = 0x3 EV_CNT = 0x20 + EV_CURRENT = 0x1 EV_FF = 0x15 EV_FF_STATUS = 0x17 EV_KEY = 0x1 EV_LED = 0x11 EV_MAX = 0x1f EV_MSC = 0x4 + EV_NONE = 0x0 + EV_NUM = 0x2 EV_PWR = 0x16 EV_REL = 0x2 EV_REP = 0x14 @@ -2276,7 +2352,167 @@ NLM_F_REPLACE = 0x100 NLM_F_REQUEST = 0x1 NLM_F_ROOT = 0x100 + NN_386_IOPERM = "LINUX" + NN_386_TLS = "LINUX" + NN_ARC_V2 = "LINUX" + NN_ARM_FPMR = "LINUX" + NN_ARM_GCS = "LINUX" + NN_ARM_HW_BREAK = "LINUX" + NN_ARM_HW_WATCH = "LINUX" + NN_ARM_PACA_KEYS = "LINUX" + NN_ARM_PACG_KEYS = "LINUX" + NN_ARM_PAC_ENABLED_KEYS = "LINUX" + NN_ARM_PAC_MASK = "LINUX" + NN_ARM_POE = "LINUX" + NN_ARM_SSVE = "LINUX" + NN_ARM_SVE = "LINUX" + NN_ARM_SYSTEM_CALL = "LINUX" + NN_ARM_TAGGED_ADDR_CTRL = "LINUX" + NN_ARM_TLS = "LINUX" + NN_ARM_VFP = "LINUX" + NN_ARM_ZA = "LINUX" + NN_ARM_ZT = "LINUX" + NN_AUXV = "CORE" + NN_FILE = "CORE" + NN_GNU_PROPERTY_TYPE_0 = "GNU" + NN_LOONGARCH_CPUCFG = "LINUX" + NN_LOONGARCH_CSR = "LINUX" + NN_LOONGARCH_HW_BREAK = "LINUX" + NN_LOONGARCH_HW_WATCH = "LINUX" + NN_LOONGARCH_LASX = "LINUX" + NN_LOONGARCH_LBT = "LINUX" + NN_LOONGARCH_LSX = "LINUX" + NN_MIPS_DSP = "LINUX" + NN_MIPS_FP_MODE = "LINUX" + NN_MIPS_MSA = "LINUX" + NN_PPC_DEXCR = "LINUX" + NN_PPC_DSCR = "LINUX" + NN_PPC_EBB = "LINUX" + NN_PPC_HASHKEYR = "LINUX" + NN_PPC_PKEY = "LINUX" + NN_PPC_PMU = "LINUX" + NN_PPC_PPR = "LINUX" + NN_PPC_SPE = "LINUX" + NN_PPC_TAR = "LINUX" + NN_PPC_TM_CDSCR = "LINUX" + NN_PPC_TM_CFPR = "LINUX" + NN_PPC_TM_CGPR = "LINUX" + NN_PPC_TM_CPPR = "LINUX" + NN_PPC_TM_CTAR = "LINUX" + NN_PPC_TM_CVMX = "LINUX" + NN_PPC_TM_CVSX = "LINUX" + NN_PPC_TM_SPR = "LINUX" + NN_PPC_VMX = "LINUX" + NN_PPC_VSX = "LINUX" + NN_PRFPREG = "CORE" + NN_PRPSINFO = "CORE" + NN_PRSTATUS = "CORE" + NN_PRXFPREG = "LINUX" + NN_RISCV_CSR = "LINUX" + NN_RISCV_TAGGED_ADDR_CTRL = "LINUX" + NN_RISCV_VECTOR = "LINUX" + NN_S390_CTRS = "LINUX" + NN_S390_GS_BC = "LINUX" + NN_S390_GS_CB = "LINUX" + NN_S390_HIGH_GPRS = "LINUX" + NN_S390_LAST_BREAK = "LINUX" + NN_S390_PREFIX = "LINUX" + NN_S390_PV_CPU_DATA = "LINUX" + NN_S390_RI_CB = "LINUX" + NN_S390_SYSTEM_CALL = "LINUX" + NN_S390_TDB = "LINUX" + NN_S390_TIMER = "LINUX" + NN_S390_TODCMP = "LINUX" + NN_S390_TODPREG = "LINUX" + NN_S390_VXRS_HIGH = "LINUX" + NN_S390_VXRS_LOW = "LINUX" + NN_SIGINFO = "CORE" + NN_TASKSTRUCT = "CORE" + NN_VMCOREDD = "LINUX" + NN_X86_SHSTK = "LINUX" + NN_X86_XSAVE_LAYOUT = "LINUX" + NN_X86_XSTATE = "LINUX" NSFS_MAGIC = 0x6e736673 + NT_386_IOPERM = 0x201 + NT_386_TLS = 0x200 + NT_ARC_V2 = 0x600 + NT_ARM_FPMR = 0x40e + NT_ARM_GCS = 0x410 + NT_ARM_HW_BREAK = 0x402 + NT_ARM_HW_WATCH = 0x403 + NT_ARM_PACA_KEYS = 0x407 + NT_ARM_PACG_KEYS = 0x408 + NT_ARM_PAC_ENABLED_KEYS = 0x40a + NT_ARM_PAC_MASK = 0x406 + NT_ARM_POE = 0x40f + NT_ARM_SSVE = 0x40b + NT_ARM_SVE = 0x405 + NT_ARM_SYSTEM_CALL = 0x404 + NT_ARM_TAGGED_ADDR_CTRL = 0x409 + NT_ARM_TLS = 0x401 + NT_ARM_VFP = 0x400 + NT_ARM_ZA = 0x40c + NT_ARM_ZT = 0x40d + NT_AUXV = 0x6 + NT_FILE = 0x46494c45 + NT_GNU_PROPERTY_TYPE_0 = 0x5 + NT_LOONGARCH_CPUCFG = 0xa00 + NT_LOONGARCH_CSR = 0xa01 + NT_LOONGARCH_HW_BREAK = 0xa05 + NT_LOONGARCH_HW_WATCH = 0xa06 + NT_LOONGARCH_LASX = 0xa03 + NT_LOONGARCH_LBT = 0xa04 + NT_LOONGARCH_LSX = 0xa02 + NT_MIPS_DSP = 0x800 + NT_MIPS_FP_MODE = 0x801 + NT_MIPS_MSA = 0x802 + NT_PPC_DEXCR = 0x111 + NT_PPC_DSCR = 0x105 + NT_PPC_EBB = 0x106 + NT_PPC_HASHKEYR = 0x112 + NT_PPC_PKEY = 0x110 + NT_PPC_PMU = 0x107 + NT_PPC_PPR = 0x104 + NT_PPC_SPE = 0x101 + NT_PPC_TAR = 0x103 + NT_PPC_TM_CDSCR = 0x10f + NT_PPC_TM_CFPR = 0x109 + NT_PPC_TM_CGPR = 0x108 + NT_PPC_TM_CPPR = 0x10e + NT_PPC_TM_CTAR = 0x10d + NT_PPC_TM_CVMX = 0x10a + NT_PPC_TM_CVSX = 0x10b + NT_PPC_TM_SPR = 0x10c + NT_PPC_VMX = 0x100 + NT_PPC_VSX = 0x102 + NT_PRFPREG = 0x2 + NT_PRPSINFO = 0x3 + NT_PRSTATUS = 0x1 + NT_PRXFPREG = 0x46e62b7f + NT_RISCV_CSR = 0x900 + NT_RISCV_TAGGED_ADDR_CTRL = 0x902 + NT_RISCV_VECTOR = 0x901 + NT_S390_CTRS = 0x304 + NT_S390_GS_BC = 0x30c + NT_S390_GS_CB = 0x30b + NT_S390_HIGH_GPRS = 0x300 + NT_S390_LAST_BREAK = 0x306 + NT_S390_PREFIX = 0x305 + NT_S390_PV_CPU_DATA = 0x30e + NT_S390_RI_CB = 0x30d + NT_S390_SYSTEM_CALL = 0x307 + NT_S390_TDB = 0x308 + NT_S390_TIMER = 0x301 + NT_S390_TODCMP = 0x302 + NT_S390_TODPREG = 0x303 + NT_S390_VXRS_HIGH = 0x30a + NT_S390_VXRS_LOW = 0x309 + NT_SIGINFO = 0x53494749 + NT_TASKSTRUCT = 0x4 + NT_VMCOREDD = 0x700 + NT_X86_SHSTK = 0x204 + NT_X86_XSAVE_LAYOUT = 0x205 + NT_X86_XSTATE = 0x202 OCFS2_SUPER_MAGIC = 0x7461636f OCRNL = 0x8 OFDEL = 0x80 @@ -2463,6 +2699,59 @@ PERF_RECORD_MISC_USER = 0x2 PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PF_ALG = 0x26 + PF_APPLETALK = 0x5 + PF_ASH = 0x12 + PF_ATMPVC = 0x8 + PF_ATMSVC = 0x14 + PF_AX25 = 0x3 + PF_BLUETOOTH = 0x1f + PF_BRIDGE = 0x7 + PF_CAIF = 0x25 + PF_CAN = 0x1d + PF_DECnet = 0xc + PF_ECONET = 0x13 + PF_FILE = 0x1 + PF_IB = 0x1b + PF_IEEE802154 = 0x24 + PF_INET = 0x2 + PF_INET6 = 0xa + PF_IPX = 0x4 + PF_IRDA = 0x17 + PF_ISDN = 0x22 + PF_IUCV = 0x20 + PF_KCM = 0x29 + PF_KEY = 0xf + PF_LLC = 0x1a + PF_LOCAL = 0x1 + PF_MAX = 0x2e + PF_MCTP = 0x2d + PF_MPLS = 0x1c + PF_NETBEUI = 0xd + PF_NETLINK = 0x10 + PF_NETROM = 0x6 + PF_NFC = 0x27 + PF_PACKET = 0x11 + PF_PHONET = 0x23 + PF_PPPOX = 0x18 + PF_QIPCRTR = 0x2a + PF_R = 0x4 + PF_RDS = 0x15 + PF_ROSE = 0xb + PF_ROUTE = 0x10 + PF_RXRPC = 0x21 + PF_SECURITY = 0xe + PF_SMC = 0x2b + PF_SNA = 0x16 + PF_TIPC = 0x1e + PF_UNIX = 0x1 + PF_UNSPEC = 0x0 + PF_VSOCK = 0x28 + PF_W = 0x2 + PF_WANPIPE = 0x19 + PF_X = 0x1 + PF_X25 = 0x9 + PF_XDP = 0x2c PID_FS_MAGIC = 0x50494446 PIPEFS_MAGIC = 0x50495045 PPPIOCGNPMODE = 0xc008744c @@ -2758,6 +3047,23 @@ PTRACE_SYSCALL_INFO_NONE = 0x0 PTRACE_SYSCALL_INFO_SECCOMP = 0x3 PTRACE_TRACEME = 0x0 + PT_AARCH64_MEMTAG_MTE = 0x70000002 + PT_DYNAMIC = 0x2 + PT_GNU_EH_FRAME = 0x6474e550 + PT_GNU_PROPERTY = 0x6474e553 + PT_GNU_RELRO = 0x6474e552 + PT_GNU_STACK = 0x6474e551 + PT_HIOS = 0x6fffffff + PT_HIPROC = 0x7fffffff + PT_INTERP = 0x3 + PT_LOAD = 0x1 + PT_LOOS = 0x60000000 + PT_LOPROC = 0x70000000 + PT_NOTE = 0x4 + PT_NULL = 0x0 + PT_PHDR = 0x6 + PT_SHLIB = 0x5 + PT_TLS = 0x7 P_ALL = 0x0 P_PGID = 0x2 P_PID = 0x1 @@ -3091,6 +3397,47 @@ SEEK_MAX = 0x4 SEEK_SET = 0x0 SELINUX_MAGIC = 0xf97cff8c + SHF_ALLOC = 0x2 + SHF_EXCLUDE = 0x8000000 + SHF_EXECINSTR = 0x4 + SHF_GROUP = 0x200 + SHF_INFO_LINK = 0x40 + SHF_LINK_ORDER = 0x80 + SHF_MASKOS = 0xff00000 + SHF_MASKPROC = 0xf0000000 + SHF_MERGE = 0x10 + SHF_ORDERED = 0x4000000 + SHF_OS_NONCONFORMING = 0x100 + SHF_RELA_LIVEPATCH = 0x100000 + SHF_RO_AFTER_INIT = 0x200000 + SHF_STRINGS = 0x20 + SHF_TLS = 0x400 + SHF_WRITE = 0x1 + SHN_ABS = 0xfff1 + SHN_COMMON = 0xfff2 + SHN_HIPROC = 0xff1f + SHN_HIRESERVE = 0xffff + SHN_LIVEPATCH = 0xff20 + SHN_LOPROC = 0xff00 + SHN_LORESERVE = 0xff00 + SHN_UNDEF = 0x0 + SHT_DYNAMIC = 0x6 + SHT_DYNSYM = 0xb + SHT_HASH = 0x5 + SHT_HIPROC = 0x7fffffff + SHT_HIUSER = 0xffffffff + SHT_LOPROC = 0x70000000 + SHT_LOUSER = 0x80000000 + SHT_NOBITS = 0x8 + SHT_NOTE = 0x7 + SHT_NULL = 0x0 + SHT_NUM = 0xc + SHT_PROGBITS = 0x1 + SHT_REL = 0x9 + SHT_RELA = 0x4 + SHT_SHLIB = 0xa + SHT_STRTAB = 0x3 + SHT_SYMTAB = 0x2 SHUT_RD = 0x0 SHUT_RDWR = 0x2 SHUT_WR = 0x1 @@ -3317,6 +3664,16 @@ STATX_UID = 0x8 STATX_WRITE_ATOMIC = 0x10000 STATX__RESERVED = 0x80000000 + STB_GLOBAL = 0x1 + STB_LOCAL = 0x0 + STB_WEAK = 0x2 + STT_COMMON = 0x5 + STT_FILE = 0x4 + STT_FUNC = 0x2 + STT_NOTYPE = 0x0 + STT_OBJECT = 0x1 + STT_SECTION = 0x3 + STT_TLS = 0x6 SYNC_FILE_RANGE_WAIT_AFTER = 0x4 SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 SYNC_FILE_RANGE_WRITE = 0x2 @@ -3553,6 +3910,8 @@ UTIME_OMIT = 0x3ffffffe V9FS_MAGIC = 0x1021997 VERASE = 0x2 + VER_FLG_BASE = 0x1 + VER_FLG_WEAK = 0x2 VINTR = 0x0 VKILL = 0x3 VLNEXT = 0xf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/zsyscall_linux.go new/vendor/golang.org/x/sys/unix/zsyscall_linux.go --- old/vendor/golang.org/x/sys/unix/zsyscall_linux.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/unix/zsyscall_linux.go 2025-11-14 09:34:43.000000000 +0100 @@ -2238,3 +2238,13 @@ } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func setMemPolicy(mode int, mask *CPUSet, size int) (err error) { + _, _, e1 := Syscall(SYS_SET_MEMPOLICY, uintptr(mode), uintptr(unsafe.Pointer(mask)), uintptr(size)) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/sys/unix/ztypes_linux.go new/vendor/golang.org/x/sys/unix/ztypes_linux.go --- old/vendor/golang.org/x/sys/unix/ztypes_linux.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/unix/ztypes_linux.go 2025-11-14 09:34:43.000000000 +0100 @@ -3590,6 +3590,8 @@ Flags uint32 } +const SizeofNhmsg = 0x8 + type NexthopGrp struct { Id uint32 Weight uint8 @@ -3597,6 +3599,8 @@ Resvd2 uint16 } +const SizeofNexthopGrp = 0x8 + const ( NHA_UNSPEC = 0x0 NHA_ID = 0x1 @@ -6332,3 +6336,30 @@ } const RTM_NEWNVLAN = 0x70 + +const ( + MPOL_BIND = 0x2 + MPOL_DEFAULT = 0x0 + MPOL_F_ADDR = 0x2 + MPOL_F_MEMS_ALLOWED = 0x4 + MPOL_F_MOF = 0x8 + MPOL_F_MORON = 0x10 + MPOL_F_NODE = 0x1 + MPOL_F_NUMA_BALANCING = 0x2000 + MPOL_F_RELATIVE_NODES = 0x4000 + MPOL_F_SHARED = 0x1 + MPOL_F_STATIC_NODES = 0x8000 + MPOL_INTERLEAVE = 0x3 + MPOL_LOCAL = 0x4 + MPOL_MAX = 0x7 + MPOL_MF_INTERNAL = 0x10 + MPOL_MF_LAZY = 0x8 + MPOL_MF_MOVE_ALL = 0x4 + MPOL_MF_MOVE = 0x2 + MPOL_MF_STRICT = 0x1 + MPOL_MF_VALID = 0x7 + MPOL_MODE_FLAGS = 0xe000 + MPOL_PREFERRED = 0x1 + MPOL_PREFERRED_MANY = 0x5 + MPOL_WEIGHTED_INTERLEAVE = 0x6 +) 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 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/windows/syscall_windows.go 2025-11-14 09:34:43.000000000 +0100 @@ -892,8 +892,12 @@ //sys MultiByteToWideChar(codePage uint32, dwFlags uint32, str *byte, nstr int32, wchar *uint16, nwchar int32) (nwrite int32, err error) = kernel32.MultiByteToWideChar //sys getBestInterfaceEx(sockaddr unsafe.Pointer, pdwBestIfIndex *uint32) (errcode error) = iphlpapi.GetBestInterfaceEx //sys GetIfEntry2Ex(level uint32, row *MibIfRow2) (errcode error) = iphlpapi.GetIfEntry2Ex +//sys GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) = iphlpapi.GetIpForwardEntry2 +//sys GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) = iphlpapi.GetIpForwardTable2 //sys GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) = iphlpapi.GetUnicastIpAddressEntry +//sys FreeMibTable(memory unsafe.Pointer) = iphlpapi.FreeMibTable //sys NotifyIpInterfaceChange(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) = iphlpapi.NotifyIpInterfaceChange +//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 @@ -916,6 +920,17 @@ Scope_id uint32 } +// RawSockaddrInet is a union that contains an IPv4, an IPv6 address, or an address family. See +// https://learn.microsoft.com/en-us/windows/win32/api/ws2ipdef/ns-ws2ipdef-sockaddr_inet. +// +// A [*RawSockaddrInet] may be converted to a [*RawSockaddrInet4] or [*RawSockaddrInet6] using +// unsafe, depending on the address family. +type RawSockaddrInet struct { + Family uint16 + Port uint16 + Data [6]uint32 +} + type RawSockaddr struct { Family uint16 Data [14]int8 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 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/windows/types_windows.go 2025-11-14 09:34:43.000000000 +0100 @@ -2320,6 +2320,82 @@ OutQLen uint64 } +// IP_ADDRESS_PREFIX stores an IP address prefix. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-ip_address_prefix. +type IpAddressPrefix struct { + Prefix RawSockaddrInet + PrefixLength uint8 +} + +// NL_ROUTE_ORIGIN enumeration from nldef.h or +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_route_origin. +const ( + NlroManual = 0 + NlroWellKnown = 1 + NlroDHCP = 2 + NlroRouterAdvertisement = 3 + Nlro6to4 = 4 +) + +// NL_ROUTE_ORIGIN enumeration from nldef.h or +// https://learn.microsoft.com/en-us/windows/win32/api/nldef/ne-nldef-nl_route_protocol. +const ( + MIB_IPPROTO_OTHER = 1 + MIB_IPPROTO_LOCAL = 2 + MIB_IPPROTO_NETMGMT = 3 + MIB_IPPROTO_ICMP = 4 + MIB_IPPROTO_EGP = 5 + MIB_IPPROTO_GGP = 6 + MIB_IPPROTO_HELLO = 7 + MIB_IPPROTO_RIP = 8 + MIB_IPPROTO_IS_IS = 9 + MIB_IPPROTO_ES_IS = 10 + MIB_IPPROTO_CISCO = 11 + MIB_IPPROTO_BBN = 12 + MIB_IPPROTO_OSPF = 13 + MIB_IPPROTO_BGP = 14 + MIB_IPPROTO_IDPR = 15 + MIB_IPPROTO_EIGRP = 16 + MIB_IPPROTO_DVMRP = 17 + MIB_IPPROTO_RPL = 18 + MIB_IPPROTO_DHCP = 19 + MIB_IPPROTO_NT_AUTOSTATIC = 10002 + MIB_IPPROTO_NT_STATIC = 10006 + MIB_IPPROTO_NT_STATIC_NON_DOD = 10007 +) + +// MIB_IPFORWARD_ROW2 stores information about an IP route entry. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipforward_row2. +type MibIpForwardRow2 struct { + InterfaceLuid uint64 + InterfaceIndex uint32 + DestinationPrefix IpAddressPrefix + NextHop RawSockaddrInet + SitePrefixLength uint8 + ValidLifetime uint32 + PreferredLifetime uint32 + Metric uint32 + Protocol uint32 + Loopback uint8 + AutoconfigureAddress uint8 + Publish uint8 + Immortal uint8 + Age uint32 + Origin uint32 +} + +// MIB_IPFORWARD_TABLE2 contains a table of IP route entries. See +// https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_ipforward_table2. +type MibIpForwardTable2 struct { + NumEntries uint32 + Table [1]MibIpForwardRow2 +} + +// Rows returns the IP route entries in the table. +func (t *MibIpForwardTable2) Rows() []MibIpForwardRow2 { + return unsafe.Slice(&t.Table[0], t.NumEntries) +} + // MIB_UNICASTIPADDRESS_ROW stores information about a unicast IP address. See // https://learn.microsoft.com/en-us/windows/win32/api/netioapi/ns-netioapi-mib_unicastipaddress_row. type MibUnicastIpAddressRow struct { 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 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/sys/windows/zsyscall_windows.go 2025-11-14 09:34:43.000000000 +0100 @@ -182,13 +182,17 @@ procDwmGetWindowAttribute = moddwmapi.NewProc("DwmGetWindowAttribute") procDwmSetWindowAttribute = moddwmapi.NewProc("DwmSetWindowAttribute") procCancelMibChangeNotify2 = modiphlpapi.NewProc("CancelMibChangeNotify2") + procFreeMibTable = modiphlpapi.NewProc("FreeMibTable") procGetAdaptersAddresses = modiphlpapi.NewProc("GetAdaptersAddresses") procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo") procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx") procGetIfEntry = modiphlpapi.NewProc("GetIfEntry") procGetIfEntry2Ex = modiphlpapi.NewProc("GetIfEntry2Ex") + procGetIpForwardEntry2 = modiphlpapi.NewProc("GetIpForwardEntry2") + procGetIpForwardTable2 = modiphlpapi.NewProc("GetIpForwardTable2") procGetUnicastIpAddressEntry = modiphlpapi.NewProc("GetUnicastIpAddressEntry") procNotifyIpInterfaceChange = modiphlpapi.NewProc("NotifyIpInterfaceChange") + procNotifyRouteChange2 = modiphlpapi.NewProc("NotifyRouteChange2") procNotifyUnicastIpAddressChange = modiphlpapi.NewProc("NotifyUnicastIpAddressChange") procAddDllDirectory = modkernel32.NewProc("AddDllDirectory") procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject") @@ -1624,6 +1628,11 @@ return } +func FreeMibTable(memory unsafe.Pointer) { + syscall.SyscallN(procFreeMibTable.Addr(), uintptr(memory)) + return +} + func GetAdaptersAddresses(family uint32, flags uint32, reserved uintptr, adapterAddresses *IpAdapterAddresses, sizePointer *uint32) (errcode error) { r0, _, _ := syscall.SyscallN(procGetAdaptersAddresses.Addr(), uintptr(family), uintptr(flags), uintptr(reserved), uintptr(unsafe.Pointer(adapterAddresses)), uintptr(unsafe.Pointer(sizePointer))) if r0 != 0 { @@ -1664,6 +1673,22 @@ return } +func GetIpForwardEntry2(row *MibIpForwardRow2) (errcode error) { + r0, _, _ := syscall.SyscallN(procGetIpForwardEntry2.Addr(), uintptr(unsafe.Pointer(row))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + +func GetIpForwardTable2(family uint16, table **MibIpForwardTable2) (errcode error) { + r0, _, _ := syscall.SyscallN(procGetIpForwardTable2.Addr(), uintptr(family), uintptr(unsafe.Pointer(table))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } + return +} + func GetUnicastIpAddressEntry(row *MibUnicastIpAddressRow) (errcode error) { r0, _, _ := syscall.SyscallN(procGetUnicastIpAddressEntry.Addr(), uintptr(unsafe.Pointer(row))) if r0 != 0 { @@ -1681,6 +1706,18 @@ if r0 != 0 { errcode = syscall.Errno(r0) } + return +} + +func NotifyRouteChange2(family uint16, callback uintptr, callerContext unsafe.Pointer, initialNotification bool, notificationHandle *Handle) (errcode error) { + var _p0 uint32 + if initialNotification { + _p0 = 1 + } + r0, _, _ := syscall.SyscallN(procNotifyRouteChange2.Addr(), uintptr(family), uintptr(callback), uintptr(callerContext), uintptr(_p0), uintptr(unsafe.Pointer(notificationHandle))) + if r0 != 0 { + errcode = syscall.Errno(r0) + } return } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/golang.org/x/term/terminal.go new/vendor/golang.org/x/term/terminal.go --- old/vendor/golang.org/x/term/terminal.go 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/golang.org/x/term/terminal.go 2025-11-14 09:34:43.000000000 +0100 @@ -413,7 +413,7 @@ } } -// countToLeftWord returns then number of characters from the cursor to the +// countToLeftWord returns the number of characters from the cursor to the // start of the previous word. func (t *Terminal) countToLeftWord() int { if t.pos == 0 { @@ -438,7 +438,7 @@ return t.pos - pos } -// countToRightWord returns then number of characters from the cursor to the +// countToRightWord returns the number of characters from the cursor to the // start of the next word. func (t *Terminal) countToRightWord() int { pos := t.pos @@ -478,7 +478,7 @@ return length } -// histroryAt unlocks the terminal and relocks it while calling History.At. +// historyAt unlocks the terminal and relocks it while calling History.At. func (t *Terminal) historyAt(idx int) (string, bool) { t.lock.Unlock() // Unlock to avoid deadlock if History methods use the output writer. defer t.lock.Lock() // panic in At (or Len) protection. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2025-11-03 23:31:15.000000000 +0100 +++ new/vendor/modules.txt 2025-11-14 09:34:43.000000000 +0100 @@ -159,7 +159,7 @@ github.com/stretchr/testify/assert github.com/stretchr/testify/assert/yaml github.com/stretchr/testify/require -# github.com/urfave/cli/v3 v3.5.0 +# github.com/urfave/cli/v3 v3.6.0 ## explicit; go 1.22 github.com/urfave/cli/v3 # github.com/zalando/go-keyring v0.2.6 @@ -198,14 +198,14 @@ golang.org/x/net/internal/timeseries golang.org/x/net/proxy golang.org/x/net/trace -# golang.org/x/sys v0.37.0 +# golang.org/x/sys v0.38.0 ## explicit; go 1.24.0 golang.org/x/sys/cpu golang.org/x/sys/execabs golang.org/x/sys/plan9 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/term v0.36.0 +# golang.org/x/term v0.37.0 ## explicit; go 1.24.0 golang.org/x/term # golang.org/x/text v0.27.0
