[← index](README.md) · next: [02 — The minimum working provider](02-minimum-provider.md) # Versions, artifacts and the 7.0 move ## There is no Spring Authorization Server version to pin The brief for this project was “pin the SAS version from the Boot 4.1 BOM”. There is nothing to pin. `spring-boot-dependencies:4.1.1` has no `` property, because Spring Authorization Server is no longer a separate project. ``` $ grep -oP '[^<]+' spring-boot-dependencies-4.1.1.pom 7.1.1 $ curl -s .../spring-security-bom/7.1.1/spring-security-bom-7.1.1.pom | grep -A1 authorization-server spring-security-oauth2-authorization-server 7.1.1 ``` The Maven coordinates are unchanged — `org.springframework.security:spring-security-oauth2-authorization-server` — and the version now tracks Spring Security. Spring Boot 4.1.1 therefore gives you **7.1.1**. ## The version numbers skipped The published version list on Maven Central tells the story on its own: ``` … 1.5.6 1.5.7 1.5.8 2.0.0-M1 2.0.0-M2 7.0.0-M3 7.0.0-RC1 … 7.0.0 7.0.1 … 7.1.1 7.2.0-M1 ``` `2.0.0` was started and abandoned. There is **no 2.x GA**, and anything that tells you to upgrade to Spring Authorization Server 2 is describing a milestone that was renumbered. The line jumps from 1.5.8 to 7.0.0 to align with Spring Security 7.0. [Joe Grandja's announcement](https://spring.io/blog/2025/09/11/spring-authorization-server-moving-to-spring-security-7-0/) (11 September 2025) says the migration impact is “quite minimal” with “a couple of minor package relocation changes”. That is true in the sense that the relocations are mechanical. It is optimistic in the sense that one of them is the class every tutorial calls — see [02](02-minimum-provider.md). ## Which starter Boot 4.1 publishes both of these, and they resolve the same four dependencies: | artifact | status | |---|---| | `spring-boot-starter-oauth2-authorization-server` | deprecated | | `spring-boot-starter-security-oauth2-authorization-server` | current | That is not inference. It is in the deprecated starter's own published POM: ```xml Starter for using Spring Authorization Server features (deprecated in favor of spring-boot-starter-security-oauth2-authorization-server) ``` The same rename happened to the client and resource-server starters (`spring-boot-starter-security-oauth2-client`, `spring-boot-starter-security-oauth2-resource-server`), and there is a new `spring-boot-starter-security-oauth2-authorization-server-test`. Boot 4 also renamed `spring-boot-starter-web` to `spring-boot-starter-webmvc`; the authorization server starter pulls the latter in transitively, so you do not need to declare a web starter at all. ## Exact versions this project was built and run against | | | |---|---| | JDK | Temurin 25.0.4.1+1 (current LTS) | | Spring Boot | 4.1.1 | | Spring Framework | 7.0.9 | | Spring Security / Authorization Server | 7.1.1 | | Maven | 3.9.11 | ## Related - [Spring Security 7.1 JWT Authentication: The Complete Guide](https://ankurm.com/spring-security-7-1-jwt-authentication-guide/) and [`docs/11-spring-security-7-changes.md`](../11-spring-security-7-changes.md) — the rest of what moved in Spring Security 7 - [`docs/output/as-settings-defaults.txt`](../output/as-settings-defaults.txt) — defaults read out of the 1.5.8 and 7.1.1 jars side by side Next: [02 — The minimum working provider](02-minimum-provider.md)