diff --git a/CHANGELOG.md b/CHANGELOG.md index b92e14c1..0f5c9319 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,8 +28,13 @@ and this project adheres to - Go 1.18 support. v0.109.0 will require at least Go 1.19 to build. +### Fixed + +- Migrations from releases older than v0.107.7 failing ([#4846]). + [#2993]: https://github.com/AdguardTeam/AdGuardHome/issues/2993 [#4795]: https://github.com/AdguardTeam/AdGuardHome/issues/4795 +[#4846]: https://github.com/AdguardTeam/AdGuardHome/issues/4846 diff --git a/internal/home/upgrade.go b/internal/home/upgrade.go index 15970e7b..4426149c 100644 --- a/internal/home/upgrade.go +++ b/internal/home/upgrade.go @@ -27,7 +27,7 @@ const currentSchemaVersion = 14 // These aliases are provided for convenience. type ( yarr = []any - yobj = map[any]any + yobj = map[string]any ) // Performs necessary upgrade operations if needed @@ -182,12 +182,12 @@ func upgradeSchema2to3(diskConf yobj) error { newDNSConfig := make(yobj) switch v := dnsConfig.(type) { - case map[any]any: + case yobj: for k, v := range v { newDNSConfig[fmt.Sprint(k)] = v } default: - return fmt.Errorf("dns configuration is not a map") + return fmt.Errorf("unexpected type of dns: %T", dnsConfig) } // Replace bootstrap_dns value filed with new array contains old bootstrap_dns inside