Skip to content

Releases: spring-projects/spring-tools

5.0.0.RELEASE

10 Dec 17:08

Choose a tag to compare

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 @Autowired validation #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
    ...
Read more

5.0.0.RC2

02 Dec 18:29

Choose a tag to compare

all fixes and improvements in detail

  • (Spring Boot) [structure view] enable symbol-based child nodes by default #1717
  • (Spring Boot) [aot repositories] improve generation of aot metadata #1550

5.0.0.RC1

19 Nov 20:50

Choose a tag to compare

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 @Autowired validation #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] @Value annotations with classpath should be of type Resource or 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/...
Read more

4.32.2.RELEASE

10 Nov 15:45
c943bbb

Choose a tag to compare

  • (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

28 Oct 15:11

Choose a tag to compare

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

10 Sep 12:52

Choose a tag to compare

updates to the Spring Tools for Eclipse distribution

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

11 Jun 14:04

Choose a tag to compare

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

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 Software and using https://download.eclipse.org/eclemma/releases/3.1.10/.

4.30.0.RELEASE

22 Apr 14:16

Choose a tag to compare

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 4 towards just Spring Tools and Spring 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 @Component like 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) NotRegisteredBeansReconciler doesn'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 4 with Spring Tools #1459
  • (Spring Boot - Eclipse) Main class outside project not found #1437
  • (Spring Boot) update jdt.core to 3.41.0 #1539
  • (Spring Boot) ConcurrentModificationException thrown 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

19 Mar 13:42

Choose a tag to compare

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

12 Mar 13:38

Choose a tag to compare

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

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 @NoRepositoryBean annotated 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 Object results 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 EnhancedSymbolInformation wrapper 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