{"record":{"id":"79c8bf7f510e3e55","repo":"Sonarr/Sonarr","slug":"found-version-0-upgrade-to-pms-1-3-1-to-fix-lib","errorCode":null,"errorMessage":"Found version {0}, upgrade to PMS 1.3.1 to fix library updating and then restart Sonarr","messagePattern":"Found version (.+?), upgrade to PMS 1\\.3\\.1 to fix library updating and then restart Sonarr","errorType":"exception","errorClass":"PlexVersionException","httpStatus":null,"severity":"warning","filePath":"src/NzbDrone.Core/Notifications/Plex/Server/PlexServerService.cs","lineNumber":84,"sourceCode":"            catch (Exception ex)\n            {\n                _logger.Warn(ex, \"Failed to Update Plex host: \" + settings.Host);\n                throw;\n            }\n        }\n\n        private List<PlexSection> GetSections(PlexServerSettings settings)\n        {\n            _logger.Debug(\"Getting sections from Plex host: {0}\", settings.Host);\n\n            return _plexServerProxy.GetTvSections(settings).ToList();\n        }\n\n        private void ValidateVersion(Version version)\n        {\n            if (version >= new Version(1, 3, 0) && version < new Version(1, 3, 1))\n            {\n                throw new PlexVersionException(\"Found version {0}, upgrade to PMS 1.3.1 to fix library updating and then restart Sonarr\", version);\n            }\n        }\n\n        private Version GetVersion(PlexServerSettings settings)\n        {\n            _logger.Debug(\"Getting version from Plex host: {0}\", settings.Host);\n\n            var rawVersion = _plexServerProxy.Version(settings);\n            var version = new Version(Regex.Match(rawVersion, @\"^(\\d+[.-]){4}\").Value.Trim('.', '-'));\n\n            return version;\n        }\n\n        private void UpdateSections(Series series, List<PlexSection> sections, PlexServerSettings settings)\n        {\n            var rootFolderPath = _rootFolderService.GetBestRootFolderPath(series.Path);\n            var seriesRelativePath = rootFolderPath.GetRelativePath(series.Path);\n","sourceCodeStart":66,"sourceCodeEnd":102,"githubUrl":"https://github.com/Sonarr/Sonarr/blob/da2284d7eaab22ed9b2ca698af690148d691e967/src/NzbDrone.Core/Notifications/Plex/Server/PlexServerService.cs#L66-L102","documentation":"Thrown by PlexServerService.ValidateVersion when the detected PMS version is in the range [1.3.0, 1.3.1). PMS 1.3.0 had a bug that broke library updating, so Sonarr refuses to proceed and asks the user to upgrade to 1.3.1 or later and restart Sonarr. It is a PlexVersionException (subclass of PlexException).","triggerScenarios":"GetVersion returns a version whose major.minor.build is 1.3.0. The version is parsed from the PMS /version endpoint via regex taking the first four dotted/hyphenated numeric groups.","commonSituations":"Old PMS install pinned to 1.3.0; nas distribution shipping an outdated PMS package; a test/staging PMS not kept current.","solutions":["Upgrade Plex Media Server to 1.3.1 or newer (current stable preferred), then restart Sonarr.","If on a NAS, update the PMS package via the NAS package manager.","Confirm the upgrade took effect by re-checking the version reported in PMS settings.","Restart Sonarr after upgrading so the version check re-runs against the new PMS."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Compare the parsed PMS version against the known-bad range before acting.\nvar badLow = new Version(1, 3, 0);\nvar badHigh = new Version(1, 3, 1);\nif (version >= badLow && version < badHigh)\n{\n    // Warn the user to upgrade; optionally disable library updates.\n}","typeGuard":"bool IsKnownBadVersion(Version v) => v >= new Version(1, 3, 0) && v < new Version(1, 3, 1);","tryCatchPattern":"try\n{\n    ValidateVersion(version);\n}\ncatch (PlexVersionException ex)\n{\n    logger.Warn(ex, \"PMS version {0} has a known library-update bug; upgrade required.\", version);\n    NotifyUserUpgradeRequired();\n}","preventionTips":["Keep PMS on a current stable release.","Surface version warnings in the UI proactively after a Test.","Pin NAS PMS packages to a known-good version if auto-update is unreliable.","Restart Sonarr after upgrading PMS so version checks re-run."],"tags":["plex","version","upgrade","compatibility"],"backgroundTag":null,"analyzedSha":"da2284d7eaab22ed9b2ca698af690148d691e967","analyzedAt":"2026-08-13T15:53:02.562Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}