diff --git a/go.mod b/go.mod index 7b88ba01f6..0b8d4f977a 100644 --- a/go.mod +++ b/go.mod @@ -113,7 +113,6 @@ require ( google.golang.org/grpc v1.81.1 google.golang.org/protobuf v1.36.11 gopkg.in/ini.v1 v1.67.2 - gopkg.in/yaml.v3 v3.0.1 modernc.org/sqlite v1.50.1 mvdan.cc/xurls/v2 v2.6.0 strk.kbt.io/projects/go/libravatar v0.0.0-20260301104140-add494e31dab @@ -282,6 +281,7 @@ require ( golang.org/x/tools v0.44.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260401020348-3a24fdc17823 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect modernc.org/libc v1.72.3 // indirect modernc.org/mathutil v1.7.1 // indirect modernc.org/memory v1.11.0 // indirect diff --git a/models/unittest/fixtures_loader.go b/models/unittest/fixtures_loader.go index 8f4b9691bb..7ad3bc9058 100644 --- a/models/unittest/fixtures_loader.go +++ b/models/unittest/fixtures_loader.go @@ -16,7 +16,7 @@ import ( "gitea.dev/models/db" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" "xorm.io/xorm" "xorm.io/xorm/schemas" ) diff --git a/modules/issue/template/unmarshal.go b/modules/issue/template/unmarshal.go index e313360b1b..e0d6881cf5 100644 --- a/modules/issue/template/unmarshal.go +++ b/modules/issue/template/unmarshal.go @@ -14,7 +14,7 @@ import ( api "gitea.dev/modules/structs" "gitea.dev/modules/util" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // CouldBe indicates a file with the filename could be a template, diff --git a/modules/label/parser.go b/modules/label/parser.go index f3c59f45f3..f56ef0e255 100644 --- a/modules/label/parser.go +++ b/modules/label/parser.go @@ -10,7 +10,7 @@ import ( "gitea.dev/modules/options" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) type labelFile struct { diff --git a/modules/markup/markdown/convertyaml.go b/modules/markup/markdown/convertyaml.go index 61dfbf20df..0c69901929 100644 --- a/modules/markup/markdown/convertyaml.go +++ b/modules/markup/markdown/convertyaml.go @@ -11,7 +11,7 @@ import ( "github.com/yuin/goldmark/ast" east "github.com/yuin/goldmark/extension/ast" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func nodeToTable(meta *yaml.Node) ast.Node { diff --git a/modules/markup/markdown/meta.go b/modules/markup/markdown/meta.go index 6ddd892110..ecc0b81098 100644 --- a/modules/markup/markdown/meta.go +++ b/modules/markup/markdown/meta.go @@ -9,7 +9,7 @@ import ( "unicode" "unicode/utf8" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func isYAMLSeparator(line []byte) bool { diff --git a/modules/markup/markdown/renderconfig.go b/modules/markup/markdown/renderconfig.go index 36a7b1a9a1..59f3e873ec 100644 --- a/modules/markup/markdown/renderconfig.go +++ b/modules/markup/markdown/renderconfig.go @@ -10,7 +10,7 @@ import ( "gitea.dev/modules/markup" "github.com/yuin/goldmark/ast" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // RenderConfig represents rendering configuration for this file diff --git a/modules/markup/markdown/renderconfig_test.go b/modules/markup/markdown/renderconfig_test.go index 53c52177a7..84e4ac33f6 100644 --- a/modules/markup/markdown/renderconfig_test.go +++ b/modules/markup/markdown/renderconfig_test.go @@ -9,7 +9,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func TestRenderConfig_UnmarshalYAML(t *testing.T) { diff --git a/modules/migration/file_format.go b/modules/migration/file_format.go index ca758611bc..e925494cd2 100644 --- a/modules/migration/file_format.go +++ b/modules/migration/file_format.go @@ -13,7 +13,7 @@ import ( "gitea.dev/modules/log" "github.com/santhosh-tekuri/jsonschema/v6" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // schemaLoader implements jsonschema.URLLoader diff --git a/modules/optional/serialization.go b/modules/optional/serialization.go index 9c6561628c..a3db68e76d 100644 --- a/modules/optional/serialization.go +++ b/modules/optional/serialization.go @@ -6,7 +6,7 @@ package optional import ( "gitea.dev/modules/json" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func (o *Option[T]) UnmarshalJSON(data []byte) error { diff --git a/modules/optional/serialization_test.go b/modules/optional/serialization_test.go index 8f7d22c206..966e284e8b 100644 --- a/modules/optional/serialization_test.go +++ b/modules/optional/serialization_test.go @@ -11,7 +11,7 @@ import ( "gitea.dev/modules/optional" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) type testSerializationStruct struct { diff --git a/modules/packages/helm/metadata.go b/modules/packages/helm/metadata.go index 628f477749..723c3583ff 100644 --- a/modules/packages/helm/metadata.go +++ b/modules/packages/helm/metadata.go @@ -13,7 +13,7 @@ import ( "gitea.dev/modules/validation" "github.com/hashicorp/go-version" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) var ( diff --git a/modules/packages/pub/metadata.go b/modules/packages/pub/metadata.go index 7b78b39f47..7291836e1f 100644 --- a/modules/packages/pub/metadata.go +++ b/modules/packages/pub/metadata.go @@ -14,7 +14,7 @@ import ( "gitea.dev/modules/validation" "github.com/hashicorp/go-version" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) var ( diff --git a/modules/packages/rubygems/metadata.go b/modules/packages/rubygems/metadata.go index ed9de3562a..8a989bbe7f 100644 --- a/modules/packages/rubygems/metadata.go +++ b/modules/packages/rubygems/metadata.go @@ -14,7 +14,7 @@ import ( "gitea.dev/modules/util" "gitea.dev/modules/validation" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) var ( diff --git a/modules/structs/issue.go b/modules/structs/issue.go index f108cf3d0a..68618a3191 100644 --- a/modules/structs/issue.go +++ b/modules/structs/issue.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // StateType issue state type @@ -231,7 +231,7 @@ func (l *IssueTemplateStringSlice) UnmarshalYAML(value *yaml.Node) error { *l = labels return nil } - return fmt.Errorf("line %d: cannot unmarshal %s into IssueTemplateStringSlice", value.Line, value.ShortTag()) + return fmt.Errorf("cannot unmarshal %s into IssueTemplateStringSlice", value.ShortTag()) } type IssueConfigContactLink struct { diff --git a/modules/structs/issue_test.go b/modules/structs/issue_test.go index 55bd01df49..3638713caa 100644 --- a/modules/structs/issue_test.go +++ b/modules/structs/issue_test.go @@ -7,7 +7,7 @@ import ( "testing" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func TestIssueTemplate_Type(t *testing.T) { @@ -88,7 +88,7 @@ labels: b: bb `, tmpl: &IssueTemplate{}, - wantErr: "line 3: cannot unmarshal !!map into IssueTemplateStringSlice", + wantErr: "yaml: unmarshal errors:\n line 3: cannot unmarshal !!map into IssueTemplateStringSlice", }, } for _, tt := range tests { diff --git a/routers/api/packages/helm/helm.go b/routers/api/packages/helm/helm.go index 4489dbfedf..c0fc032e15 100644 --- a/routers/api/packages/helm/helm.go +++ b/routers/api/packages/helm/helm.go @@ -23,7 +23,7 @@ import ( "gitea.dev/services/context" packages_service "gitea.dev/services/packages" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func apiError(ctx *context.Context, status int, obj any) { diff --git a/routers/web/devtest/mail_preview.go b/routers/web/devtest/mail_preview.go index 162ac3a314..82a84ec03c 100644 --- a/routers/web/devtest/mail_preview.go +++ b/routers/web/devtest/mail_preview.go @@ -12,7 +12,7 @@ import ( "gitea.dev/services/context" "gitea.dev/services/mailer" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func MailPreviewRender(ctx *context.Context) { diff --git a/services/issue/template.go b/services/issue/template.go index 87153913a5..c1a0ff2fdd 100644 --- a/services/issue/template.go +++ b/services/issue/template.go @@ -16,7 +16,7 @@ import ( api "gitea.dev/modules/structs" "gitea.dev/modules/util" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // templateDirCandidates issue templates directory diff --git a/services/migrations/dump.go b/services/migrations/dump.go index 6d81220b4f..949f2e79b8 100644 --- a/services/migrations/dump.go +++ b/services/migrations/dump.go @@ -26,7 +26,7 @@ import ( "gitea.dev/modules/structs" "github.com/google/uuid" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) var _ base.Uploader = &RepositoryDumper{} diff --git a/services/migrations/restore.go b/services/migrations/restore.go index a94a1e1c93..cb34f68186 100644 --- a/services/migrations/restore.go +++ b/services/migrations/restore.go @@ -12,7 +12,7 @@ import ( base "gitea.dev/modules/migration" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) // RepositoryRestorer implements an Downloader from the local directory diff --git a/tests/integration/api_issue_config_test.go b/tests/integration/api_issue_config_test.go index 95ea4af783..4227f33237 100644 --- a/tests/integration/api_issue_config_test.go +++ b/tests/integration/api_issue_config_test.go @@ -16,7 +16,7 @@ import ( "gitea.dev/tests" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func createIssueConfig(t *testing.T, user *user_model.User, repo *repo_model.Repository, issueConfig map[string]any) { diff --git a/tests/integration/api_packages_helm_test.go b/tests/integration/api_packages_helm_test.go index 003be3ff14..f66676b81d 100644 --- a/tests/integration/api_packages_helm_test.go +++ b/tests/integration/api_packages_helm_test.go @@ -20,7 +20,7 @@ import ( "gitea.dev/tests" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func TestPackageHelm(t *testing.T) { diff --git a/tests/integration/dump_restore_test.go b/tests/integration/dump_restore_test.go index 0cb9001d8a..92e0ed4664 100644 --- a/tests/integration/dump_restore_test.go +++ b/tests/integration/dump_restore_test.go @@ -24,7 +24,7 @@ import ( "gitea.dev/services/migrations" "github.com/stretchr/testify/assert" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func TestDumpRestore(t *testing.T) {