Spring Tool Suite 3.7.2: New and Noteworthy

General Updates

Spring Tooling

Spring Boot Dashboard works with Diego on Cloud Foundry


The Spring Boot Dashboard fixes a number of issues when using Cloud Foundry environments that have already updated to the new Diego container runtime. In case you might have come across 503 errors when trying to use the dashboard with apps on a Diego container on CF, update to this new STS release.


The debugging support for apps on Cloud Foundry has changed. From now on debugging will be done using the SSH support in the runtime. This means you don't need to have the Spring Boot Devtools on the classpath of your project to get debugging working. All you need to ensure is that you are running on Diego (which is the default runtime now on PWS).


If not on a ssh supporting runtime you can still try to use debugging via Spring Boot devtools but it will be necessary to set it up manually - the instructions are here.


Updated Cloud Foundry Tools (formerly Cloud Foundry Eclipse) for Diego on Cloud Foundry


A new milestone version of Cloud Foundry Tools (CFT) 1.0.0.M2 is included in 3.7.2 and includes many changes that occurred after CFT moved to Eclipse Foundation and became an Eclipse project. This replaces the old Cloud Foundry Eclipse 1.8.3 tools. If you are downloading a full copy of 3.7.2, CFT is already included.


NOTE: However, if you are updating to 3.7.2 from an older STS, you MUST manually install CFT from this update site:


https://download.springsource.com/release/TOOLS/cft/1.0.0.M2


You may be prompted by Eclipse to automatically uninstall the old Cloud Foundry Eclipse as part of updating to CFT. If you see the dialogue below, select "Update my installation..."


Changes in CFT include:

Possible Backward Compatibility Issues:

CFT contains automated migration for old Cloud Foundry Eclipse server instances in the Eclipse Servers view. In the event that your old existing Cloud Foundry Eclipse server instances no longer work or connect, you may have to delete the old ones and recreate them manually through the New Server Wizard.

Improvements to the Quick Text Search


STS Quick Text Search now provides support for escaping the wildcard '*' and '?' characters by using a '\' [STS-4190].




Gradle BuildShip Integration (Experimental)


In time, STS Gradle Integration will be replaced with Eclipse BuildShip (the new official Eclipse project that provides Gradle integration for Eclipse). STS 3.7.2 makes a first step in that direction. Our 'New Spring Starter Project' and 'Import Getting Started Content' wizards now provide a choice between our old "STS Gradle Integration" or "BuildShip".


We encourage users to try out BuildShip in preparation to eventually making the switch. If BuildShip does not yet meet your needs, you can still continue to use "STS Gradle Integration" for some time to come. However, "STS Gradle Integration" is in 'minimal maintenance' mode. There will be no more new features and limited bugfixes. So please consider filing a bug report detailing what is stopping you from making the switch to BuildShip. You can file these bug reports on the STS issue tracker. We will raise corresponding BuildShip issue tickets when appropriate.


Known limitations of BuildShip Gradle integration:

"New Spring Starter Project" Wizard Improvements


The wizard now remembers previously selected options and uses them as defaults when you open it the next time [STS-4243].


The wizard now also has a searchbox to help find a specific 'dependency' among the many that are available [STS-4257].


Improvements to the Spring Boot YML and Properties Editors


More accurate validation of Map type properties that allow for nested yaml structure [STS-4254].


There is a new 'QuickFix' to ignore a given problem marker type in the current project (before there was only a quickfix to ignore it in the entire workspace) [STS-4230].


Spring Framework updated to 4.2.3


The internally used version of Spring Framework has been updated to 4.2.3. This fixes issues that could occur if using Spring Boot 1.3.0 in one of your projects.


GGTS

Since the end of March Pivotal is no longer sponsoring the Groovy and Grails projects (as described here). Therefore we don't ship new versions of the GGTS bundle anymore. Groovy-Eclipse remains on the dashboard and was fully updated for Eclipse 4.5. It was *not* updated for Eclipse 4.5.1 so beware that if you install Groovy-Eclipse you will be downgrading your Java compiler and missing all the JDT related fixes that went into 4.5.1.


Miscellaneous

Issues resolved in this release

Here is a full list of resolved bugs and enhancement requests for 3.7.2:

STS issue tracker

Spring IDE issue tracker


Useful Links

Download STS: https://spring.io/tools/sts/all

STS Issue tracker: https://issuetracker.springsource.com/browse/STS


Known issues in this release

Spring Boot dashboard ngrok tunneling feature doesn't support Spring Cloud Services yet

The Spring Boot Dashboards ngrok tunnel feature doesn't work yet with remote service registries from Spring Cloud Services. Instead it works with self-deployed Eureka service registry apps on CF only (as described here). We are working on enhancing the ngrok tunnel feature to directly support Spring Cloud Services in the near future.


Conflicting duplicate lifecycle mapping errors in Maven projects upgrading from STS 3.6.x

Sometimes Maven projects show up with a red error (talking about a duplicate lifecycle mapping conflict) after upgrading STS from 3.6.x to the latest 3.7.2 version. In this case, please update the Maven support for Eclipse/STS to the latest version, as described here: STS-4236.


Error after updating from STS 3.7.0

Sometimes after updating an existing STS 3.7.0 installation to 3.7.1 an error dialog pops up and STS doesn't start. This is a known but not yet solved problem. If you come across this issue, please press "OK" on the dialog and restart STS. It will open up fine, including all the updated components.


No repository available when checking for updates

If you have used a pre-release version of Eclipse Mars or STS, the embedded Eclipse Oomph technology created a cache of p2 repositores in your home directory. This cached p2 data can cause issues when using STS 3.7.0 or Eclipse Mars. The error message looks like STS/Eclipse fails to read information from the main Eclipse Mars p2 repository.

In case you encounter this error, please stop Eclipse/STS, go to your home directory, delete "~/.eclipse/org.eclipse.oomph.p2", and restart Eclipse/STS. The related Eclipse bug is: Bug 470912.


Live configuration-metadata generation requires Spring Boot 1.2.2

Spring Boot 1.2.1 configuration processor does not work correctly when executed from Eclipse's incremental build. This issue is fixed in Spring Boot 1.2.2. This only affects 'live' metadata generated from your own source code, not the metadata that is packaged inside spring-boot jars themselves. So you can still use older versions of Boot, but the 'live metadata' updates will not be accurate. See Spring Boot issue GH-2313 for details.


Dashboard and Retina Displays

When running STS on top of a JDK7, the new dashboard looks a bit blurry when using a HiRes (Retina) display, for example on a Retina MacBook Pro. This is due to the underlying browser technology that is used to display the dashboard content and that is coming from JavaFX. The JavaFX version that ships with JDK7 doesn't support retina displays. The solution for this is to run STS on top of a JDK8 build. The JavaFX version that comes with JDK8 supports retina displays.


Dashboard on JDK9

The JavaFX-based main STS dashboard doesn't work when running STS on top of an early-access version of JDK9. As a workaround run STS on a JDK8 or switch the dashboard back to the old (non-JavaFX-based) version via the preferences.


Setting the JDK

STS requires a JDK to run on top of. Nevertheless the native launcher component might pick up a JRE automatically if you don't specify which JDK to run STS on top of. To avoid this, you can specify the JDK in the sts.ini file that comes with your STS installation. Add a line at the beginning "-vm" and an additional line below that which points to the "javaw" executable of the JDK on your machine.


Issues on Linux (GTK3)

Eclipse 4.5, upon which STS and GGTS are based, is the first Eclipse release where GTK3 is the default for the SWT widget library. There are some issues with this still:

You may also experience other UI rendering glitches. If you exprience any of these problems you can avoid them by forcing SWT to switch back to using GTK2. Just set the environment variable "SWT_GTK3=0" before launching STS or GGTS.


New and Noteworthy for previous releases

STS/GGTS 3.7.1

STS/GGTS 3.7.0

STS/GGTS 3.6.4

STS/GGTS 3.6.3.SR1

STS/GGTS 3.6.3

STS/GGTS 3.6.2

STS/GGTS 3.6.1

STS/GGTS 3.6.0

STS/GGTS 3.5.1

STS/GGTS 3.4.0

STS/GGTS 3.3.0

STS/GGTS 3.2.0

STS/GGTS 3.1.0

STS/GGTS 3.0.0

STS 2.9.2

STS 2.8.1

STS 2.7.2

STS 2.6.1.SR1

STS 2.5.2.SR1