IntelliJ IDEA 2019 progress report: 2019.1 Release Candidate available for download
Life comes at you fast with IntelliJ IDEA. This week, the Release Candidate for IntelliJ IDEA 2019.1 is available for download. Try out the newest build before the GA is out soon! Let’s take a look!
Things move quickly in the IntelliJ IDEA world. The Release Candidate for IntelliJ IDEA 2019.1 is here!
This is the last chance to give feedback and make your voice heard before the GA arrives. So, if you have any pressing constructive criticism, get to it!
FYI: you need a license for IntelliJ IDEA Ultimate in order to make use of this release candidate.
Let’s take a look at what’s in store in the upcoming release:
- Maven visualizations and diagrams have been improved. Conflicts and duplicated dependencies are easier to find thanks to the “Show Conflicts/Duplicates options. Developers can find all paths to a node and view their dependencies. There’s even a borderless view for improved readability.
- Docker support for the Java app debugger. IntelliJ now lets developers debug inside running containers.
- JetBrains Runtime 11 has been updated to v11.0.2+9-b159.30.
Update March 15, 2019
No time to rest!
IDEA 2019.1 Beta 3 is here which means that GA is only a few weeks away!
For now, let’s have a look at what’s new in Beta 3.
- The new VS Code keymap is made available as a separate plugin.
- One of the predefined live templates has had an update so now you can use ‘main’ as an abbreviation for “public static void main”. Or you can continue using the ‘psvm’ abbreviation – it will still work the same as it did before.
- The bundled Maven version has downgraded from 3.6.0 to 3.3.9. The bundled version will be upgraded to 3.6.0 again with the first bug-fix update of IntelliJ IDEA 2019.1.
- JBR 8 was updated to 1.8.0_202-release-1483-b39.
- JBR 11 was updated to 11.0.2+9-b159.22.
JetBrains team doesn’t rest!
Barely a week has passed since the release of the first IDEA 2019.1 Beta and we are already at IDEA 2019.1 Beta 2!
Let’s have a quick look at what’s new in this release.
External resources support – You are able to load a custom resource specification from external sources. For now, there is support for OpenAPI 2.0 JSON specifications and CustomResourceDefinition (CDR) resources, but only in YAML format and in a limited version. In particular, many JSON Schema constructs are not supported yet, which includes constraints, patterns, and oneof, anyOf, and allOf constructs.
Chart rename refactoring in Helm resource files – The IDE now provides support for the rename refactoring for the chart of Helm resource template files. Keep in mind that to take advantage of support for Helm resource template files, you’ll need to install not only the Kubernetes plugin v2019.1, but also the Go template plugin.
Head over to the official changelog to see the full list of improvements.
Things have been moving really fast with IntelliJ IDEA! A couple of days ago 2018.3.5 came out and yesterday 2019.1 hit Beta!
Please keep in mind that even though the Beta builds are sufficiently stable compared to the EAP builds, some issues may still occur.
Now, let’s have a closer look at the most notable highlights of this release.
Support for Java-style Lambda syntax of Groovy 3.0 – IntelliJ IDEA now provides editing support including code completion, highlighting, and type inference. Formatting is also available for Java-style lambdas.
Fixes linked with JetBrains Runtime 8 – JetBrains Runtime 8 was updated to 1.8.0_202-release-1483-b31 and with this version a few issues got fixed as well including:
- DPI detection which was broken on KDE in 8u202 was repaired: JBR-1200
- Windows native file dialogs with the new Common Item Dialog API was implemented: JBR-1216
- The issue with jittering WebView scrolls was resolved: JBR-1218
- Custom Window Frame decoration is supported: JBR-1228
You can also check out this introductory video and find out everything new featured in IntelliJ IDEA 2019.1 Beta:
IntelliJ IDEA 2018.3.5 is live and it brings some very important updates.
This release features some major bugfixes, most notably for Gradle support, the Search Everywhere dialog, and many more.
Let’s have a quick look at the highlights of this release:
- The import of a Gradle project with Gradle 5.0 doesn’t fail when the IDE is running under JDK 11
- The source directories are now marked as such with Gradle 4.7+
- An option has been added to the New Search Everywhere to filter out run/debug configurations
- The new Search Everywhere dialog doesn’t miss files, and the results in the new dialog are no longer delayed
- The Color Scheme won’t revert to Darcula after a restart: IDEA-202248
- macOS Mojave users will find a selected item in the context menu is highlighted with the same color as in the main menu: IDEA-199525
- The performance issue that caused high CPU/memory usage in the idle state has been fixed: IDEA-205778
- JDK 11 thread dumps are now supported in the Run Tool Window: IDEA-206341
- The shorten command line option is available for a scratch run configuration: IDEA-185342
- Git 2.4 is the earliest supported version on Windows now: IDEA-205123
- It’s now possible to view a PR on GitHub Enterprise 2.12 or older: IDEA-20088
Exactly one week after the release of EAP2, we are here with a new update!
For the complete list of features, check out Zlata Kalyuzhnaya’s blog post.
EAP3 is now available and with no further ado let’s have a closer look at the most interesting highlights.
Sublime Text keymap – The Sublime Text’s keymap becomes available in IntelliJ IDEA. You can start using Sublime Text’s shortcuts as soon as you select the Sublime Text keymap.
Ability to enable soft-wraps depending on file type – You can use the soft-wraps to handle the appearance of long lines of code. With this upcoming release, it is possible to limit the soft-wraps to specific file types.
Option to export your Code Style settings to JSON – You can now export all your code styles settings to JSON from IntelliJ IDEA. Previously it was only possible to export them to an XML file.
New “Run to mouse pointer” mouse gesture – Now while in the Debug mode you can click on the line number and the IDE will perform the run to cursor (mouse pointer) action. Therefore, when you hover over a line the IDE will highlight this line, and if you click on a line number the IDE will invoke the run to cursor action by mouse (if you prefer to use the mouse rather than the keyboard).
Version Control Systems
New “Uncheck all” checkbox for partial Git commits – IntelliJ IDEA supports partial Git commits; you can add code chunks into a commit using the checkboxes in the Diff pane of the Commit Changes dialog and in EAP3, it is much easier to use.
Adding file content to the Blank DIff Window by drag-n-drop – Copy-paste text to a Blank Diff window with a drag-n-drop of a file, or alternatively, you can do it through the file navigation.
IntelliJ IDEA with JetBrains Runtime 11 – You now have early access to IntelliJ IDEA with the new JetBrains Runtime 11.
Update January 31, 2019
EAP2 is here with some interesting goodies including better data flow analysis, JVM Debugger improvements, Kotlin 1.3.20, and Maven 3.6.0.
For the complete list of features, check out Zlata Kalyuzhnaya’s blog post.
Don’t forget to grab a copy of the IntelliJ IDEA 2019.1 EAP build. Let’s explore some of the new features!
Data flow analysis is improved with every major release and this one is no different.
Speaking of improvements, the precision of the warning highlighting for ternary expressions is even better now since the IDE will only highlight a condition in which a nullability violation is detected. Previously, the IDE used to highlight the entire ternary expression, even when the nullability was only violated in a single branch. Furthermore, this new feature means that switch expressions also have precise highlighting now.
What’s more, the data flow analysis tracks the value of mathematical operations and uses this information to warn you about the conditions that are always true or false. With the upcoming release, the analysis of many math operations will include multiplication, remainder, and bitwise operations.
The support for the @Contract annotations has also been improved, which means that the IDE can automatically infer the purity of constructors from sources; it can also add annotations icon in the gutter. When you click on it, the IDE adds a @Contract(pure = true) annotation to your codebase. The constructor purity was already inferred for library code and now it works for source files as well.
Also new is the fact that IntelliJ IDEA now enables non-null parameter inference for non-stable source methods. This means that if a method can be overridden, but the base class implementation unconditionally dereferences the parameter, it’s acceptable to have a not-null inference for the parameter. Don’t forget to report to the issue tracker if this feature generates false-positive nullability violation warnings in your project.
Moving on to other Java-related improvements, IntelliJ IDEA now tries to take you from the Java stack trace to the relevant position within a line. This change is pretty impressive considering that until now when you clicked the link in the stack trace, it would only take you to the first column of the corresponding row. Now, the IDE tries to determine the exact location within the row to take the cursor to when it’s possible.
Last but not least, the “Dump Threads” action in the Run tool window opens the Dump tab where you can view all the thread dumps and the stack traces associated with those threads. Plus, the most important threads are shown at the top of the list, making it easy to locate the thread you need and to navigate to it.
The debugger evaluator has been improved to support synchronized statements, assert expressions, and switch statements.
The Maven version bundled with IntelliJ IDEA has been updated to v3.6.0.
This EAP build updates the bundled Kotlin plugin version to 1.3.20. For more details, have a look at the Kotlin blog.
Update January 28, 2019
It’s time to say goodbye and farewell to our 2018 thread: it’s a new year and that means a new IntelliJ IDEA. The Early Access Program is now open for developers to take IntelliJ IDEA 2019.1 for a spin. What will they find? While this is an early access version and still a work in progress, there’s a lot to explore for the new year.
With over 900 issues fixed, IntelliJ IDEA 2019.1 promises a much easier environment for developing. Check out the release notes for the multitude of bugs, performance problems, and usability issues that have been fixed.
The upcoming 2019.1 will come with support for the planned Java 12 Enhanced Switches. In the Java 12 preview, IntelliJ IDEA can generate missing switches as well as work for enhanced switch statements or expressions. If there’s an error in the switch statement, IntelliJ detects it and can suggest a correction. It can also detect duplicate branches.
Extract variable refactorings have been improved as well, making it possible to better preserve semantics. IntelliJ IDEA 2019.1 extracts variables from field initializers and automatically moves initializers into initializer blocks. It currently works for return, assignment, and declaration. Developers can also configure variable names for auto-generated try/catch blocks.
2019.1 comes with improved Gradke integration as a number of bug fixes and usability issues have been dealt with. “Delegate build/run to Gradle” has been enabled by default for new projects. It can also be set for each Gradle project. HotSwap now works. The overall built-in Gradle version has upgraded to v4.10.3.
IntelliJ IDEA 2019.1 does support Maven 2, but it will no longer be bundled with it anymore. Maven v3.3.9 will be bundled with IDEA 2019.1. In fact, JetBrains is considering to end support for Maven 2 in v.2019.2; please add your comments if you have thoughts on the matter.
Version Control Systems
New actions are available for developers in 2019.1: Fixup and Squash. These actions allow developers to create commits with the correct commit messages. Developers can also cherry pick select files from the commit from the context menu. Plus, the IDE indicates incoming and outgoing commits for individual branches in the Branches popup.
2019.1 also allows developers to view and restore deleted shelved files. There are also changes for Git settings, file status highlights, and the diff viewer.
Do you use Ctrl+Y? The first time a developer uses that keystroke, there will be a new Keymap Configuration Dialog. Developers will be able to choose whether that shortcut belongs to “Delete Line” or “Redo”. (Of course, this can be reassigned later if necessary.)
2018.3 already provides initial support for Spring Cloud Stream; 2019.1 pushes this further with rich editing support with things like syntax highlighting, code completion, inspections, and quick-fixes.