{"record":{"id":"15da8f25ef6f8edf","repo":"JosefNemec/Playnite","slug":"database-version-settings-version-is-not-support","errorCode":null,"errorMessage":"Database version {Settings.Version} is not supported.","messagePattern":"Database version (.+?) is not supported\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"critical","filePath":"source/Playnite/Database/GameDatabase.cs","lineNumber":538,"sourceCode":"            {\r\n                File.Delete(FilesDirectoryPath);\r\n            }\r\n\r\n            if (!dbExists)\r\n            {\r\n                FileSystem.CreateDirectory(DatabasePath);\r\n                FileSystem.CreateDirectory(FilesDirectoryPath);\r\n            }\r\n\r\n            if (!dbExists)\r\n            {\r\n                Settings = new DatabaseSettings() { Version = NewFormatVersion };\r\n            }\r\n            else\r\n            {\r\n                if (Settings.Version > NewFormatVersion)\r\n                {\r\n                    throw new Exception($\"Database version {Settings.Version} is not supported.\");\r\n                }\r\n\r\n                if (GetMigrationRequired(DatabasePath))\r\n                {\r\n                    throw new Exception(\"Database must be migrated before opening.\");\r\n                }\r\n            }\r\n\r\n            LoadCollections();\r\n            LoadUsedItems();\r\n\r\n            // New DB setup\r\n            if (!dbExists)\r\n            {\r\n                // Generate default platforms\r\n                var platforms = Emulation.Platforms.Where(a => a.IgdbId != 0).Select(a => new Platform(a.Name) { SpecificationId = a.Id }).ToList();\r\n                if (platforms.HasItems())\r\n                {\r","sourceCodeStart":520,"sourceCodeEnd":556,"githubUrl":"https://github.com/JosefNemec/Playnite/blob/5911f4e964e628aa7a69c2030ab35101afa63067/source/Playnite/Database/GameDatabase.cs#L520-L556","documentation":"Thrown as a generic Exception by GameDatabase.OpenDatabase() when the existing database's stored Version is greater than NewFormatVersion (the maximum version the running Playnite instance supports). This prevents opening a database created by a newer Playnite version with an older client, which would risk data corruption or misinterpretation of unknown schema fields.","triggerScenarios":"Opening a database created by a newer Playnite version with an older/downgraded Playnite install. The Settings.Version field in the database settings file is read and compared against NewFormatVersion; if higher, the error fires.","commonSituations":"User downgraded Playnite (e.g., from a beta to stable, or from v10 to v9) without reverting the database. A database was copied from a newer Playnite install to an older one. A beta tester's database has a version number the stable release doesn't recognize.","solutions":["Upgrade Playnite to at least the version that created the database (check Settings.Version and install the matching or newer Playnite release).","If downgrade is required, export the database data from the newer version (backup/JSON export), create a fresh database with the older version, and re-import.","Start with a new empty database in the older Playnite version if the old data is not needed.","Check the database settings file to see the stored version number and compare it against the installed Playnite version's changelog."],"exampleFix":"// before — older Playnite opens newer DB\ngameDatabase.OpenDatabase(); // throws if Settings.Version > NewFormatVersion\n\n// after — check version compatibility and guide user\nif (gameDatabase.Settings.Version > NewFormatVersion)\n{\n    Dialogs.ShowMessage(\n        $\"Database version {gameDatabase.Settings.Version} requires Playnite \" +\n        $\"version {gameDatabase.Settings.Version} or later. Current supports up to {NewFormatVersion}.\");\n    return;\n}","handlingStrategy":"validation","validationCode":"if (gameDatabase.Settings != null && gameDatabase.Settings.Version > NewFormatVersion)\n{\n    logger.Error($\"Database version {gameDatabase.Settings.Version} exceeds supported {NewFormatVersion}.\");\n    Dialogs.ShowMessage($\"This database was created by a newer Playnite version. Please upgrade Playnite.\");\n    return;\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Do not downgrade Playnite without reverting the database.","Before downgrading, export all data and create a fresh database with the target version.","Check the database version on startup and block launch with a clear upgrade prompt."],"tags":["database","version-mismatch","downgrade","schema","game-database"],"backgroundTag":null,"analyzedSha":"5911f4e964e628aa7a69c2030ab35101afa63067","analyzedAt":"2026-08-13T17:38:25.713Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}