{"record":{"id":"1c99a903035ddafd","repo":"halo-dev/halo","slug":"https-halo-run-probs-plugin-dependencies-with-wr","errorCode":"https://halo.run/probs/plugin-dependencies-with-wrong-versions","errorMessage":"Dependencies have wrong version.","messagePattern":"Dependencies have wrong version\\.","errorType":"http","errorClass":"PluginDependencyException.WrongVersionsException","httpStatus":400,"severity":"error","filePath":"application/src/main/java/run/halo/app/plugin/PluginServiceImpl.java","lineNumber":192,"sourceCode":"\n        resolvedPlugins.stream().map(PluginWrapper::getDescriptor).forEach(pluginDescriptors::add);\n\n        var pluginDescriptor = YamlPluginDescriptorFinder.convert(plugin);\n        pluginDescriptors.add(pluginDescriptor);\n\n        var deptResolver = new DependencyResolver(pluginManager.getVersionManager());\n        var result = deptResolver.resolve(pluginDescriptors);\n        if (result.hasCyclicDependency()) {\n            throw new PluginDependencyException.CyclicException();\n        }\n        var notFoundDependencies = result.getNotFoundDependencies();\n        if (!CollectionUtils.isEmpty(notFoundDependencies)) {\n            throw new PluginDependencyException.NotFoundException(notFoundDependencies);\n        }\n\n        var wrongVersionDependencies = result.getWrongVersionDependencies();\n        if (!CollectionUtils.isEmpty(wrongVersionDependencies)) {\n            throw new PluginDependencyException.WrongVersionsException(wrongVersionDependencies);\n        }\n    }\n\n    @Override\n    public Mono<Plugin> upgrade(String name, Path path) {\n        return findPluginManifest(path)\n                .doOnNext(plugin -> {\n                    satisfiesRequiresVersion(plugin);\n                    checkDependencies(plugin);\n                })\n                .flatMap(pluginInPath -> {\n                    // pre-check the plugin in the path\n                    Assert.notNull(\n                            pluginInPath.statusNonNull().getLoadLocation(),\n                            \"plugin.status.load-location must not be null\");\n                    if (!Objects.equals(name, pluginInPath.getMetadata().getName())) {\n                        return Mono.error(new ServerWebInputException(\"The provided plugin \"\n                                + pluginInPath.getMetadata().getName() + \" didn't match the given plugin \" + name));","sourceCodeStart":174,"sourceCodeEnd":210,"githubUrl":"https://github.com/halo-dev/halo/blob/d2f5165f9c8f055ffcb3fa9c3f4032821a7b68c8/application/src/main/java/run/halo/app/plugin/PluginServiceImpl.java#L174-L210","documentation":"Error \"Dependencies have wrong version.\" thrown in halo-dev/halo.","triggerScenarios":"Thrown at application/src/main/java/run/halo/app/plugin/PluginServiceImpl.java:192 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Upgrade or downgrade the dependent plugins to versions satisfying the version constraints declared in the plugin's 'dependsOn' spec.","Check each dependency's required version range in plugin.yaml and install a compatible version of that plugin.","If the plugin itself declares an incorrect version constraint, rebuild the plugin with a corrected constraint matching the available dependency versions."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d2f5165f9c8f055ffcb3fa9c3f4032821a7b68c8","analyzedAt":"2026-08-14T00:18:38.915Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}