2018.1 changes to Subversion integration


Subversion working copies 1.6 and earlier are no longer supported, and it is now required to use a command-line svn client for integration with Subversion.

Note that Subversion allows using higher working copy formats with an older server, so even if you have 1.6 svn server, you could use 1.7 or 1.8 working copy. If for some reasons you still need to use the 1.6 working copy format and cannot update it, please comment on the request. Continue reading

Posted in EAP Releases | Tagged , , | 10 Comments

IntelliJ IDEA starts 2018.1 Early Access Program

We are pleased to announce the start of the Early Access Program for our next major release – IntelliJ IDEA 2018.1! The first IntelliJ IDEA 2018.1 EAP build is already available for download, and it brings you lots of improvements and a full bag of new features. If you want to know more about the highlights of the release planned for this spring – read this blog post.

ij2018_1_eap_blog Continue reading

Posted in EAP Releases, New Features | Tagged , | 39 Comments

IntelliJ IDEA 2017.3.3 is released

Today we’ve released IntelliJ IDEA 2017.3.3, the third bug-fix update for the recently released IntelliJ IDEA 2017.3. Download the new version from our website or get the update using Toolbox App.

This update includes a lot of fixes and improvements. Check out the release notes to see the full list of issues fixed with this update. In this blog post, we’re just going to mention quickly the most notable ones. Continue reading

Posted in Releases | Tagged , | 16 Comments

Java Annotated Monthly – January 2018

Hopefully everyone has recovered from the holidays. November is probably one of the craziest months, a sharp contrast to late December and early January which are some of the quietest ones, at least in my experience. People are wrapping up the year’s results, making plans for the year ahead, and of course, enjoying the holidays. If you had holidays like we did, this January digest might be helpful for updating you on what has happened in the community during the last month. If not, I hope you find the news and articles interesting anyway. If you missed all the champagne and watched the blogs and social accounts closer than we did, please feel free to share the missing news in the comments. Since Trisha, your regular host is still on maternity leave; I will do my best to fill in for her for this.


SpringOne Platform that took place last December in San Francisco was probably one of the latest conferences that we attended. The videos of the talks are already available. The talks cover lots of useful stuff from what’s new in the latest Spring releases to best practices and how-tos. If you’d like to know more about the most important news announced there, make sure to read the post on it by InfoQ. One of most intriguing topics I found was PFS (project riff).

If you’d like to have a broader picture of what has happened in the Spring community over the last year, read the post by Josh Long on it.


The end/beginning of the year is a good time to look at not only the past but also the future. If you’re curious about what the future of Java might be, make sure to read the post on it by InfoQ. The post has a recap of what happened last year (e.g. new release cycle) and outlines the plans for the following releases, incl.:

If you care more for what you can actually put your hands on rather than just their plans, we remind you that there are at least two things you can already try right now: the JDK 10 early builds and the early builds of Valhalla (value types).

To see the exact schedule and list of features of the Java 10, you can check out this page.

If you’d like to refresh your knowledge on what the Amber project is (local variable type inference, enhanced enums, enhancements to lambda expressions, pattern matching, data classes), you may want to have a read of a post on it by Mahmoud Anouti.

To amuse yourself, you can read the threads on Reddit on what features make Java stand out from other languages as well as a bit on its weaknesses.

Finally, there are two quick updates on books about Java. First, the new third edition of the most famous book of all time Effective Java by Joshua Bloch is out. The new edition covers the recent changes in the language. Second, the most popular Java snippets from Stack Overflow Documentation were converted in a free PDF ebook.


There is some interesting news related to static code analysis:

  • Facebook open-sourced RacerD, a Java race condition detector for Java.
  • PVS-Studio announced planned support for Java.


Here’s a list of some of the other interesting articles found on the web recently:

  • Unmesh Joshi explains in his post what happens in Java on the Linux level when you create a new Thread object and call its start method. The post requires a basic understanding of JNI, C/C++, and Linux. The sources are also available.
  • The ongoing series of mini-posts JVM Anatomy Park by Aleksey Shipilev has several new episodes:
  • Rafael Winterhalter, the author of Byte Buddy and a maintainer of cglib, wrote about the new approach to defining Java classes in runtime provided in Java 9 (java.lang.invoke.MethodHandles.Lookup::defineClass) and compares it to the alternatives (the JVM-interal APIs). This may be interesting if you work with the Java runtime.
  • Cédric Champeau, one of the engineers at Gradle, explains why the multi-release JAR files, the latest addition to the Java spec, might be a bad thing.
  • Sander Mak, one of the authors of the book Java 9 Modularity, is calling all Java library maintainers to move the libraries toward modules to make it easier for everyone to use the libraries with Java 9. The post briefly explains the problem and the best way to go about doing it.
  • Nicolai Parlog, the author of the Code FX blog, wrote about what you need to know if you want to use Java 9 and Maven.
  • Gunnar Morling wrote a quick note about Java 9’s java.util.spi.ToolProvider that lets you conveniently run any JDK tool programmatically from your code.
  • Shekhar Gulati published a nice little curated list of useful Java 8 functions. Take a look at this list to check if you know all these functions well.
  • Lukas Eder continues to educate us on SQL and in his latest post explains the costs of JDBC Server Roundtrips.
  • A user on Reddit is asking about what are the best JVM libraries for data analysis and machine learning. In the thread you can find some recommendations from the Reddit community. This might be useful given the recent rise in interest of machine learning and AI.

That’s it for now. Last but not least, our long-time friend, a Java and IntelliJ IDEA advocate, and known author of the Java Specialists Newsletter, Heinz Kabutz, launched a comprehensive video course on how to get started with IntelliJ IDEA. If you’re new to IntelliJ IDEA, go ahead and sign up for this free course.

Note, the list above is by no means the complete list of all the news or articles, but rather the list of what we’ve noticed and found interesting. Please do share any other news you find interesting in the comments! And of course, don’t forget to subscribe to receive this digest via email.

Happy developing!

Subscribe to Java Annotated

Posted in News & Events | Tagged | Leave a comment

IntelliJ IDEA 2017.3.3 RC is out!

Good news! An RC build of the IntelliJ IDEA 2017.3.3 bug-fix update is ready. We encourage you to download the RC build from Confluence (or via Toolbox App) and try it right away.

This RC build fixes the Tool Window docking issue IDEA-149061. Now Tool Windows opened in split mode and pinned to the status bar won’t disappear.

Also, a feature for auto-formatting request results has been implemented in the new REST client.

Continue reading

Posted in Release Candidates | Tagged , | Leave a comment

IntelliJ IDEA 2017.3.2 is here!

Today we’re happy to announce that a new IntelliJ IDEA 2017.3.2 bug-fix update is now available! Check out our release notes for the full list of fixes; and download the new version from the JetBrains Website or via Toolbox App.

First and foremost, the Kotlin plugin bundled with the IDE has been updated to v1.2.10. The updated plugin contains a fix for a major Gradle performance regression KT-21557.

This update fixes lots of various issues, the most notable are:
For Gradle test runner, the Rerun failed tests button is again available inside the Debug tool window. IDEA-183164
Now, the IDE doesn’t crash after a function creation or a function replacement in the Redshift console editor IDEA-183889.
Files generated by the annotation processor aren’t stored in the output directory anymore IDEA-183336.
The IDE now selects the appropriate Gradle JVM automatically IDEA-149592, this also works for the first project in Gradle IDEA-148681.
The issue with too many processes indexing a Git repository has been fixed IDEA-177754. Continue reading

Posted in Releases | Tagged , | 13 Comments

IntelliJ IDEA 2017.3: Support for Kotlin Multi-platform Projects

The Kotlin plugin bundled with IntelliJ IDEA 2017.3 has been updated to Kotlin 1.2. The key new feature of Kotlin 1.2 is its support for multi-platform projects – projects where the same code is compiled to target the JVM or JavaScript. Such projects consist of common modules, containing platform-independent code, and platform-specific modules. To support calling the platform-specific APIs from common code, the common code can specify expected declarations, and then platform-specific modules need to provide the actual declarations. The IDE now supports creating and running multi-platform projects, as well as code editing and navigation assistance for expected and actual declarations. Continue reading

Posted in New Features | Tagged , | 1 Comment

IntelliJ IDEA 2017.3: Debugger Improvements

As usual, the latest release of IntelliJ IDEA comes with improvements to help with debugging applications.

New Overhead Tab

Debugging an application comes with an inevitable cost. While we may know this, it’s not always obvious what this might be.  IntelliJ IDEA 2017.3 comes with a way to visualise this cost.  There’s now a new tab, Overhead, which gives a view of the cost of debugging.  If you don’t see this in the Debugger Tool Window, you may need to click the “Restore Overhead View” button:

Continue reading

Posted in New Features | Tagged , | 1 Comment

Java Annotated Monthly – December 2017

While usually the Java Annotated Monthly is brought to you by our colleague Trisha Gee, for the next few months, I’ll be your host, as Trisha is away on maternity leave. And from all of us here, congratulations to her and her family.

Due to multiple releases and important conferences, November is probably the hottest time of the year here at JetBrains. Finally, now when most of it is over, it’s time to compile the latest news into one piece.



Devoxx Belgium this year was as great as always. I’ll miss it, and I don’t solely mean the Belgian beer. If you didn’t make it there you missed some interesting talks, make sure to check out the session videos.

A shortlist of what I found interesting:


And of course a real highlight for us at JetBrains was KotlinConf in San Francisco, the first ever Kotlin conference and a large public event by JetBrains. As I heard from many people that were there, it was a lot of fun and brought together a lot of great people. If you’re curious as to what this was all about, spend a good hour and watch the opening keynote by Andrey Breslav. The videos from the other talks are also available, including the inspiring keynote on the second day by Erik Meijer.

My favorites:


QCon in San Francisco is another important event which some of our colleagues went to this time. We expect the organizers to start publishing the videos very soon. Meanwhile, you can read about the talk Roman Elizarov gave there on fresh async with Kotlin.

Finally, closing this season, the SpringOne Platform event is taking place right now in San Francisco. If you’re there and meet anyone from our team, say hi to them.

If you attend conferences, make sure you make the most out of them by reading a compilation of advice by Nicolas Fränkel.

Java 10 and beyond
The great and important news about Java is that the early access builds of Java 10 are now available for download. To better understand the schedule of the release and what’s making it in there, check out this page. If you’d like to learn more, you can also read this post. Some people have already given Java 10 a try and shared a glimpse into what the experience might be: check out Lukas Eder and Nicolai Parlog.

Java 9

For those of you not interested in that far into the future, you might find it useful to check out the Java 9 Module Cheat Sheet by RebelLabs.

If you’re concerned about how reflection works in Java 9, its limitations and the dirty hacks one can use to overcome them, read this post by Bartłomiej Mazur. Note, some of these hacks might not be recommended for use in production but rather to educate yourself on Java 9’s limitations.

Java EE

The Java EE and EE4J story keeps evolving. One of the notable JEPs announced recently is the removal of Java EE and CORBA from Java. It’s not scheduled yet for a particular release though. If you’re curious about the name, check out the 1st issue in their GitHub repo. The first phase of the brand name selection has finished, and the nominees are proposed.

Meanwhile, there are already nine new projects proposed at EE4J. More are on the way.

In other news:


Since the Spring project is so fast and diverse, there’ve been tons of new Spring releases. You can read about all of them on their blog.

The major news includes:

  • Spring Tools 4 Beta is out. It includes Eclipse, Visual Studio Code, and Atom IDE
  • End of first-class JDK 6 support
  • Regular updates: Spring Boot 2.0.0 M7, Spring for Apache Kafka 2.1.0, Spring Session 2.0.0 RC2, Spring Batch 4.0.0, Spring Integration for AWS 1.1, Spring Security 5.0.0, Spring Integration 5.0


Here’s a brief list of what’s going on within the Android community:


The most important news around Kotlin is, of course, Kotlin 1.2, featuring multi-platform projects. By introducing “common” and “platform-specific” modules, the update lets developers share and reuse their code across many platforms such as JVM and JavaScript.
Also, on Reddit, yesterday there was an AMA session (Ask Me Anything) on Kotlin. You can find there lots of interesting questions with answers right from the Kotlin team.

And Finally

IntelliJ IDEA 2017.3 is out (as well as the other IntelliJ-based IDEs). The update brings tons of improvements, including Kotlin 1.2, Spring Boot, Java EE 8, JUnit, Scala, initial support for Java 10, and many more.

Ubuntu users may be glad to know that IntelliJ IDEA is now available with snaps.

On the disturbing side of news, Rogue Wave acquires ZeroTurnaround. Hope this won’t affect much JRebel and XRebel.

Last but not least, Vlad Mihalcea shared his “guide” on what it takes and how to become a Java Champion.

Subscribe to Java Annotated

Posted in News & Events | Tagged | Leave a comment

IntelliJ IDEA 2017.3.1 EAP is Out!

Even though IntelliJ IDEA 2017.3 was released just yesterday, today we’re already opening up the chance to get going with the new EAP- IntelliJ IDEA 2017.3.1. You’re more then welcome to give this first EAP build a try.

First of all, this build has the ability to install and deploy the IDE on Windows in silent mode. Now the silent installation of IntelliJ IDEA let you install multiple users instead of just one. Another significant improvement in this area is the ability to manage the installation options through a silent.config file. Continue reading

Posted in EAP Releases | Tagged , | 2 Comments