{"record":{"id":"95d5d5366079e40d","repo":"spring-projects/spring-security","slug":"you-are-advised-to-use-spring-s-or-later-wit","errorCode":null,"errorMessage":"**** You are advised to use Spring %s or later with this version. You are running: %s","messagePattern":"\\*\\*\\*\\* You are advised to use Spring (.+?) or later with this version\\. You are running: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java","lineNumber":81,"sourceCode":"\t/**\n\t * Perform version checks with specific min Spring Version.\n\t * @param minSpringVersion\n\t */\n\tprivate static void performVersionChecks(@Nullable String minSpringVersion) {\n\t\tif (minSpringVersion == null) {\n\t\t\treturn;\n\t\t}\n\t\t// Check Spring Compatibility\n\t\tString springVersion = SpringVersion.getVersion();\n\t\tString version = getVersion();\n\t\tif (disableChecks(springVersion, version)) {\n\t\t\treturn;\n\t\t}\n\t\t// should be disabled if springVersion is null\n\t\tAssert.notNull(springVersion, \"springVersion cannot be null\");\n\t\tlogger.info(\"You are running with Spring Security Core \" + version);\n\t\tif (new ComparableVersion(springVersion).compareTo(new ComparableVersion(minSpringVersion)) < 0) {\n\t\t\tlogger.warn(\"**** You are advised to use Spring \" + minSpringVersion\n\t\t\t\t\t+ \" or later with this version. You are running: \" + springVersion);\n\t\t}\n\t}\n\n\tpublic static @Nullable String getVersion() {\n\t\tPackage pkg = SpringSecurityCoreVersion.class.getPackage();\n\t\treturn (pkg != null) ? pkg.getImplementationVersion() : null;\n\t}\n\n\t/**\n\t * Disable if springVersion and springSecurityVersion are the same to allow working\n\t * with Uber Jars.\n\t * @param springVersion\n\t * @param springSecurityVersion\n\t * @return\n\t */\n\tprivate static boolean disableChecks(@Nullable String springVersion, @Nullable String springSecurityVersion) {\n\t\tif (springVersion == null || springVersion.equals(springSecurityVersion)) {","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/spring-projects/spring-security/blob/96852e8860138a482cb13d1479573f24ff6443c6/core/src/main/java/org/springframework/security/core/SpringSecurityCoreVersion.java#L63-L99","documentation":"SpringSecurityCoreVersion.performVersionChecks compares the Spring Framework version on the classpath with the minimum Spring version this Spring Security release was built against. If the runtime Spring version is older than the minimum, it warns that the combination is unsupported and upgrading is advised.","triggerScenarios":"performVersionChecks runs at startup (via spring-security-core's static init) and finds springVersion < minSpringVersion, e.g. Spring Security 6.x running against an old Spring Framework 5.x jar.","commonSituations":"Partial dependency upgrades where spring-security-core was bumped but spring-framework-core was not; dependencyManagement pinning an old Spring version; classpath conflicts pulling an older Spring jar transitively.","solutions":["Upgrade spring-framework (spring-core etc.) to at least the stated minimum version","Use the Spring Security BOM together with the matching Spring Boot / Framework BOM so versions align","Run mvn dependency:tree (or gradle dependencies) to find what is pinning the old Spring version and exclude/align it"],"exampleFix":"<!-- before -->\n<dependency>\n  <groupId>org.springframework</groupId>\n  <artifactId>spring-core</artifactId>\n  <version>5.3.0</version>\n</dependency>\n<!-- after: align via BOM -->\n<dependencyManagement>\n  <dependencies>\n    <dependency>\n      <groupId>org.springframework</groupId>\n      <artifactId>spring-framework-bom</artifactId>\n      <version>6.1.0</version>\n      <type>pom</type>\n      <scope>import</scope>\n    </dependency>\n  </dependencies>\n</dependencyManagement>","handlingStrategy":"validation","validationCode":"// Check alignment at build time\nString spring = SpringVersion.getVersion();\nString min = \"6.1.0\"; // minSpringVersion of your Spring Security release\nif (new ComparableVersion(spring).compareTo(new ComparableVersion(min)) < 0) {\n  throw new GradleException(\"Upgrade spring-framework to >= \" + min);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Import spring-framework-bom and spring-security-bom from the same release train (or Spring Boot)","Never pin spring-core to an ad-hoc version in dependencyManagement","Check mvn dependency:tree for conflicting Spring versions after upgrades"],"tags":["spring-security","version-mismatch","dependency-management","compatibility"],"backgroundTag":"incompatible-source-type","analyzedSha":"96852e8860138a482cb13d1479573f24ff6443c6","analyzedAt":"2026-09-10T23:25:23.477Z","contentChangedAt":"2026-09-10T23:25:23.477Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}