Releases: spring-projects/spring-tools
5.0.0.RELEASE
Spring Framework 7 and Boot 4 Features
The release includes extensive support for API versioning with CodeLens summaries, validation for versioning strategies, and integration with request mapping symbols.
It also supports functional bean definitions via the new BeanRegistrar API, AOT repositories in Spring Data with SQL query visualization through CodeLenses, and automatic JSpecify annotation configuration for null-safety analysis across supported IDEs.
Please see the Ready for Boot 4 and Framework 7 blog entry for more details.
Logical Structure View
The most transformative addition is the Logical Structure View, developed in cooperation with Spring Modulith and jMolecules. This revolutionary feature organizes projects by Spring stereotypes (controllers, services, repositories, entities) rather than traditional file/folder structures, providing a conceptual view that matches how developers think about Spring applications.
The view supports custom stereotypes through META-INF/jmolecules-stereotypes.json files or @Stereotype annotations, and automatically integrates with Spring Modulith's modular architecture when present.
Please see the Stereotypes and a new Structural View blog entry for more details.
AI Integration
The AI-backed code actions for explaining database queries, SpEL expressions, and point-cut expressions, plus conversion tools for functional web routes. For advanced AI workflows, the release features an embedded MCP (Model Context Protocol) server that provides AI coding assistants with deep Spring project insights including resolved classpaths, Spring Boot versions, bean dependencies, and component stereotypes. This enables more precise AI assistance whether you're using traditional IDEs, VS Code with Copilot, Cursor, or CLI-based AI tools.
Please see the Ready for AI blog entry for more details
updates to the Spring Tools for Eclipse distribution
- updated to the latest Eclipse 2025-12 release including support for JDK 25 (new and noteworthy)
all fixes and improvements in detail
- (Spring Boot) [structure view] add expand/collapse all actions #1689
- (Spring Boot) [structure view] icons for Eclipse variant don't work for dark mode #1688
- (Spring Boot) update core open-rewrite to the latest version #1678
- (Spring Boot) [structure view] main application package is not yet found for annotation declarations #1675
- (Spring Boot) [structure view] projects disappear from structure view #1677
- (Spring Boot) [structure view] create project structure view UI for Eclipse #1493
- (Spring Boot) [structure view] create project structure view UI for VSCode #1492
- (Spring Boot) [structure view] show details of types as sub-nodes #1644
- (Spring Boot) [structure view] keep expanded/collapsed state of tree nodes when updating the tree #1643
- (Spring Boot) [structure view] show catalog definition location when hovering over a stereotype node #1642
- (Spring Boot) [structure view] allow users to define stereotypes in source code #1640
- (Spring Boot) take BasePathAwareController into account as controller class #1637
- (Spring Boot) [structural-view] Polish Modulith support #1636
- (Spring Boot) take Lombok constructor annotations into account for
@Autowiredvalidation #1635 - (Spring Boot) [structure view] performance optimizations #1633
- (Spring Boot) [structural-view] UI polishing #1632
- (Spring Boot) [structure view] add fallback to standard Spring stereotypes #1630
- (Spring Boot) [structure view] allow users to select the groups to display #1629
- (Spring Boot) [structure view] show all groups by default #1628
- (Spring Boot) [structure view] fine-tune icons for tree nodes #1627
- (Spring Boot) [structure view] update catalog registry when classpath changes #1626
- (Spring Boot) Nesting in Spring symbols view #1424
- (Spring Boot) add Spring Modulith layer in structural view #1425
- (Spring Boot) [structure view] throws NPE when expanding node with non-stereotype subnode #1708
- (Spring Boot) [structure view] Eclipse WIP version throws exception #1686
- (Spring Boot) [structure view] enable symbol-based child nodes by default #1717
- (Spring Boot) VSCode can't open files from Logical Structure #1655
- (Spring Boot) [framework 7] API versioning - trigger re-validation when web config in property files changes #1666
- (Spring Boot) [framework 7] API versioning - validation for version attribute (is versioning configured) - for property-based configs #1658
- (Spring Boot) [framework 7] API versioning - validation for path segment configuration collision #1657
- (Spring Boot) [framework 7] API versioning - add support for versioning when using WebFlux #1654
- (Spring Boot) [framework 7] API versioning - take path prefix into account #1652
- (Spring Boot) [framework 7] API versioning - take boot config via properties into account #1650
- (Spring Boot) [framework 7] API versioning - validation for version attribute (is versioning configured) #1649
- (Spring Boot) [framework 7] API versioning - validation for version attribute (parseable) #1648
- (Spring Boot) [framework 7] add support for API versioning #1600
- (Spring Boot) [framework 7] API versioning - version validation fails with non standard version values #1665
- (Spring Boot) [jspecify] configure JSpecify automatically in Eclipse and VSCode #1624
- (Spring Boot) [mcp] integrate a preference to enable/disable the embedded MCP server #1621
- (Spring Boot) [mcp] integrate dynamic port assignment to embedded MCP server #1620
- (Spring Boot) [aot repositories] adapt support to changed naming convention #1617
- (Spring Boot) [aot repositories] improve generation of aot metadata #1550
- (Spring Boot) [aot repositories] add support for Spring Data JDBC repositories in metadata codelenses #1724
- (Spring Boot) [aot repositories] Cannot navigate to implementation in Gradle project #1723
- (Spring Boot) unify
explain with...across AI assistants #1608 - (Spring Boot) [mcp] automatically configure embedded mcp server (Windsurf) #1597
- (Spring Boot) [mcp] integrate tool calls into the embedded MCP server to deliver version and support range information #1594
- (Spring Boot) [mcp] integrate basic MCP server into the language server #1593
- (Spring Boot) update splash screen for new major version #1592
- (Misc) simplify the update site and download URLs #1591
...
5.0.0.RC2
5.0.0.RC1
important highlights
- (Spring Boot) Logical Structure view supporting jMolecules stereotypes
- (Spring Boot) Spring Framework 7 and Boot 4 support: API versioning,
BeanRegistrar, Spring Data AOT, JSpecify - (Spring Boot) AI Support: Copilot, Cursor IDE, embedded MCP server (experimental)
- (Spring Boot) Leaner Spring Boot Language Server JAR
updates to the Spring Tools for Eclipse distribution
- updated to the latest Eclipse 2025-12 milestones (including support for JDK 25)
all fixes and improvements in detail
- (Spring Boot) [structure view] add expand/collapse all actions #1689
- (Spring Boot) [structure view] icons for Eclipse variant don't work for dark mode #1688
- (Spring Boot) update core open-rewrite to the latest version #1678
- (Spring Boot) [structure view] main application package is not yet found for annotation declarations #1675
- (Spring Boot) [structure view] projects disappear from structure view #1677
- (Spring Boot) [structure view] create project structure view UI for Eclipse #1493
- (Spring Boot) [structure view] create project structure view UI for VSCode #1492
- (Spring Boot) [structure view] show details of types as sub-nodes #1644
- (Spring Boot) [structure view] keep expanded/collapsed state of tree nodes when updating the tree #1643
- (Spring Boot) [structure view] show catalog definition location when hovering over a stereotype node #1642
- (Spring Boot) [structure view] allow users to define stereotypes in source code #1640
- (Spring Boot) take BasePathAwareController into account as controller class #1637
- (Spring Boot) [structural-view] Polish Modulith support #1636
- (Spring Boot) take Lombok constructor annotations into account for
@Autowiredvalidation #1635 - (Spring Boot) [structure view] performance optimizations #1633
- (Spring Boot) [structural-view] UI polishing #1632
- (Spring Boot) [structure view] add fallback to standard Spring stereotypes #1630
- (Spring Boot) [structure view] allow users to select the groups to display #1629
- (Spring Boot) [structure view] show all groups by default #1628
- (Spring Boot) [structure view] fine-tune icons for tree nodes #1627
- (Spring Boot) [structure view] update catalog registry when classpath changes #1626
- (Spring Boot) Nesting in Spring symbols view #1424
- (Spring Boot) add Spring Modulith layer in structural view #1425
- (Spring Boot) [structure view] throws NPE when expanding node with non-stereotype subnode #1708
- (Spring Boot) [structure view] Eclipse WIP version throws exception #1686
- (Spring Boot) VSCode can't open files from Logical Structure #1655
- (Spring Boot) [framework 7] API versioning - trigger re-validation when web config in property files changes #1666
- (Spring Boot) [framework 7] API versioning - validation for version attribute (is versioning configured) - for property-based configs #1658
- (Spring Boot) [framework 7] API versioning - validation for path segment configuration collision #1657
- (Spring Boot) [framework 7] API versioning - add support for versioning when using WebFlux #1654
- (Spring Boot) [framework 7] API versioning - take path prefix into account #1652
- (Spring Boot) [framework 7] API versioning - take boot config via properties into account #1650
- (Spring Boot) [framework 7] API versioning - validation for version attribute (is versioning configured) #1649
- (Spring Boot) [framework 7] API versioning - validation for version attribute (parseable) #1648
- (Spring Boot) [framework 7] add support for API versioning #1600
- (Spring Boot) [framework 7] API versioning - version validation fails with non standard version values #1665
- (Spring Boot) [jspecify] configure JSpecify automatically in Eclipse and VSCode #1624
- (Spring Boot) [mcp] integrate a preference to enable/disable the embedded MCP server #1621
- (Spring Boot) [mcp] integrate dynamic port assignment to embedded MCP server #1620
- (Spring Boot) [aot repositories] adapt support to changed naming convention #1617
- (Spring Boot) unify
explain with...across AI assistants #1608 - (Spring Boot) [mcp] automatically configure embedded mcp server (Windsurf) #1597
- (Spring Boot) [mcp] integrate tool calls into the embedded MCP server to deliver version and support range information #1594
- (Spring Boot) [mcp] integrate basic MCP server into the language server #1593
- (Spring Boot) update splash screen for new major version #1592
- (Misc) simplify the update site and download URLs #1591
- (Spring Boot) [validation] detect path in controller annotation param #1582
- (Spring Boot) [validation]
@Valueannotations with classpath should be of typeResourceor similar #1581 - (Misc) test tycho 5 #1568
- (Spring Boot VSCode) Introduce dedicated Explorer pane for stable Spring outline #1537
- (Spring Boot) [validation] add quickfix to move detected path in controller annotation #1656
- (Spring Boot) [functional endpoints] code lens to convert static method usage to builder pattern #1707
- (Spring Boot) semantic token highlights cause broken highlighting in java editor #1714
- (Spring Boot) UnsupportedOperationException #1703
- (Spring Boot) modulith service breaks for projects using JDK25 #1699
- (Spring Boot) reading support ranges from spring.io API throws exception #1692
- (Spring Boot) [exception from inside jdt ls] Pending response rejected since connection got disposed #1683
- (Spring Boot) spring tools related exceptions thrown inside of the Java language server #1680
- (Spring Boot) NullPointerException: Cannot invoke "org.eclipse.core.resources.IResourceDelta.getResource()" because "resourceDelta" is null #1679
- (Spring Boot) YAML editor barfs on sequences #1660
- (Spring Boot) java.lang.NoClassDefFoundError: com/sun/tools/javac/code/Type$UnknownType while perform quickfix for "Unnecessary path variable definition" #1641
- (Spring Boot) language server throws NPE [#1639](https://github.com/spring-projects/spring-tools/issues/...
4.32.2.RELEASE
- (Eclipse) Mouse and Keyboard Text Selection Visually Broken in STS on macOS #1709
Special thanks go to Sebastian Ratz from SAP for sharing the workaround code snippet with us.
4.32.1.RELEASE
all fixes and improvements in detail
- (Spring Boot) [backport] language server throws NumberFormatException #1696
- (Spring Boot) [backport] NullPointerException: Cannot invoke "org.eclipse.core.resources.IResourceDelta.getResource()" because "resourceDelta" is null #1695
- (Spring Boot) [backport] YAML editor barfs on sequences #1694
- (Spring Boot) [backport] reading support ranges from spring.io API throws exception #1693
4.32.0.RELEASE
updates to the Spring Tools for Eclipse distribution
- updated to Eclipse 2025-09 release (new and noteworthy)
all fixes and improvements in detail
- (Spring Boot) [backport to 4.x] [aot repositories] adapt support to changed naming convention #1622
- (Spring Boot) PostgreSQL syntax highlighting doesn't recognize jsonb question mark (?) operator #1615
- (Spring Boot) [backport into 4.x] correct property values from enums are sometimes flagged as error #1606
- (Spring Boot, Eclipse) [backport] Spring Boot Language Server does not start under Eclipse #1618
additional notes
At the moment, there are no further maintenance release planned for the Spring Tools 4.x line. Instead, Spring Tools 5 will ship from late November 2025 onwards.
4.31.0.RELEASE
important highlights
- (Spring Boot) Spring Data repositories generated queries CodeLenses with AOT enabled
- (Spring Boot) Spring Boot 3.5 upgrade (build files and properties only)
- (Spring Boot) Hierarchical document symbols supported in both VSCode and Eclipse
updates to the Spring Tools for Eclipse distribution
- updated to Eclipse 2025-06 release (new and noteworthy)
all fixes and improvements in detail
- (Spring Boot) show document symbols tree expanded by default #1564
- (Spring Boot) enable hierarchical document symbols and workspace symbols from index by default #1557
- (Spring Boot - Eclipse) support hierarchical document symbols in Spring symbols views #1555
- (Spring Boot) [aot repositories] provide go to definition support #1552
- (Spring Boot) [aot repositories] add tests for code lenses and index elements + symbols when aot repository metadata is around #1548
- (Spring Boot) [aot repositories] add quick fix to turn generated query into manual query annotation #1547
- (Spring Boot) [aot repositories] do not show generated query statement when query annotation exists on query method #1546
- (Spring Boot) [aot repositories] enable query statement extraction for MongoDB queries #1545
- (Spring Boot) [aot repositories] add preference to show/hide code lenses for query methods #1544
- (Spring Boot) [aot repositories] implement more precise method signature matching #1543
- (Spring Boot) Symbols view should nest elements by their surrounding scope #1431
- (Spring Boot) remove wrong support for function beans in indexer #1572
- (Spring Boot - Eclipse) duplicated quickfixes while editing Java source #1571
- (Spring Boot - Eclipse) NPE showing up in Eclipse #1570
- (Spring Boot) Spring Boot 3.5.x upgrade recipe and UI support #1561
- (Spring Boot) property key completions include duplicates #1560
- (Spring Boot - Eclipse) Boot Dashboard regression in 2025-06M1: Failed to create the part's controls - java.lang.NoSuchFieldError: Class org.eclipse.jdt.internal.ui.JavaPluginImages does not have member field 'org.eclipse.jface.resource.ImageDescriptor DESC_DLCL_FILTER' #1558
- (Spring Boot - Eclipse) update to renamed product doesn't work (completely) #1540
known issues
- (Eclipse): installing the release into an existing Eclipse 2025-03 installation can cause the EclEmma plugin to not work anymore afterwards. In case you come across an issue like this, please update EclEmma to the latest version (>= 3.1.10), e.g. via
Install New Softwareand usinghttps://download.eclipse.org/eclemma/releases/3.1.10/.
4.30.0.RELEASE
important highlights
- (Spring Boot - Eclipse) Embedded into Java source code JPQL/SQL queries syntax highlighting in Java editor
- (Spring Boot) Support for new functional bean registrations via BeanRegistrar, coming in Spring Framework 7
- (Spring Boot) Improvements to Bean Injection completion proposals
updates to the Spring Tools for Eclipse distribution
- early access builds available for Eclipse 2025-06 milestone builds
- branding updates, moving from
Spring Tool Suite 4towards justSpring ToolsandSpring Tools for Eclipse
all fixes and improvements in detail
- (Spring Boot - Eclipse) syntax highlighting for embedded languages (SpEL, JPQL, SQL, HQL, etc.) inside of Java editor (in Eclipse) #1235
- (Spring Boot) adjust and enhance
NotRegisteredBeansReconciler#1530 - (Spring Boot) [spring framework 7] add validation to check for
@Componentlike annotations on bean registrars #1523 - (Spring Boot) [spring framework 7] add preference for new bean registrar validation #1522
- (Spring Boot) No Syntax highlighting for queries in a
@NativeQuery#1502 - (Spring Boot) [spring framework 7] add validation + quickfixes to identify new BeanRegistrars that are not imported #1499
- (Spring Boot) [spring framework 7] add support for indexing functional bean registrations via BeanRegistrar #1498
- (Spring Boot)
NotRegisteredBeansReconcilerdoesn't take factory files into account anymore #1529 - (Spring Boot) [bean completion proposals] avoid duplicate proposals #1519
- (Spring Boot) [bean completion proposals] completions show up at class level #1528
- (Spring Boot) [bean completion proposals] bean completion does not show up #1501
- (Spring Boot) Polish visualization of repository nodes in Spring outline #1536
- (Spring Boot) [structure view] add properties as children to configuration property nodes #1494
- (Spring Boot) replace remaining occurrences of
Spring Tools 4withSpring Tools#1459 - (Spring Boot - Eclipse) Main class outside project not found #1437
- (Spring Boot) update
jdt.coreto3.41.0#1539 - (Spring Boot)
ConcurrentModificationExceptionthrown while removing project #1535 - (Spring Boot) stop showing progress when exception happens deep inside the language server #1510
- (Spring Boot) cleanup messages to
Error Log View#1515 - (Concourse) Unknown property 'url' for type 'VaultConfig' vscode-concourse(YamlSchemaProblem) #1534
4.29.1.RELEASE
important highlights
- (Spring Boot) Spring Boot completion proposals show up at higher priority than regular Java proposals
all fixes and improvements in detail
- (Spring Boot) [bean completion proposals] completion proposals show up at higher priority than regular Java proposals #1505
- (Spring Boot) Fine grain locking to avoid deadlocks in CU cache #1509
- (Spring Boot) More false positive SQL errors #1504
- (Spring Boot) Opening brackets causes suggestion box to appear unwanted #1511
4.29.0.RELEASE
important highlights
- (Spring Boot) Early access: inject bean completion proposal available in Spring components
- (Spring Boot) Experimental Spring structural view in the outline (Work in Progress, available in VSCode only)
updates to the Spring Tools for Eclipse distribution
- updated to Eclipse 2025-03 release (new and noteworthy)
all fixes and improvements in detail
- (Spring Boot) [structure view] add query methods as children to repository nodes #1491
- (Spring Boot) [structural view] add on/off preference for structural outline #1490
- (Spring Boot) bean completion proposal #1325
- (Spring Boot) Inject a bean completion proposal #1196
- (Spring Boot) do not create repository bean symbols for
@NoRepositoryBeanannotated types #1500 - (Spring Boot) [bean completion proposals] add on/off preference #1489
- (Spring Boot) [bean completion proposals] already having a field with the name of the bean causes weird results #1488
- (Spring Boot) [bean completion proposals] polish the proposal appearance in the completion list #1485
- (Spring Boot) [bean completion proposals] need to polish result when invoking autowire bean completion inside of constructor #1484
- (Spring Boot) [bean completion proposals] autowire bean proposals do not show up before statements #1483
- (Spring Boot) [bean completion proposals] shout not include own class in proposals #1476
- (Spring Boot) [bean completion proposals] proposals should show up for
this.prefix #1470 - (Spring Boot) [bean completion proposals] proposals should show up for empty prefix #1469
- (Spring Boot) [bean completion proposals] assignment in constructor not generated #1497
- (Spring Boot) [bean completion proposals] completion proposals sometimes do not show up #1475
- (Spring Boot) [bean completion proposals] bean proposal filtering on language server side prevents proposals from showing up #1471
- (Spring Boot) [bean completion proposals] beans of type
Objectresults in no constructor param being generated #1468 - (Spring Boot) [events] take event type attribute into account when indexing event listeners #1465
- (Spring Boot) correctly deal with concatenated values in annotation attributes #1463
- (Spring Boot) [events] take type hierarchy of events into account when finding references across event listeners and publishers #1461
- (Spring Boot) JPQL syntax highlighting support with constant string concatenation #1460
- (Spring Boot) Remove
EnhancedSymbolInformationwrapper class from indexer codebase #1450 - (Spring Boot) Navigational aid for Spring Events #1348
- (Spring Boot VSCode) Wrong or undocumented proxy exclusions list #1495
- (Spring Boot) index cache struggles to deserialize JSON due to duplicated usage of
type#1473 - (Spring Boot Eclipse) modern light theme switches back to dark theme when upgrading to 2025-03 #1467
- (Spring Boot)
Upgrade Spring Boot...UI does not show Spring Boot 3.4 upgrade #1466