JetBrains News

Security update released for IntelliJ-based IDEs v2016.1 and older versions

We have just released a bug fix update for the latest version of all IntelliJ-based IDEs (2016.1.x). In addition to the usual functionality fixes, this update contains important fixes for two security issues inside IntelliJ Platform. The vulnerabilities, in various forms, are also present in older versions of the IDEs; therefore, patches for those are also available.

While we have had no reports of any active attacks against these vulnerabilities, we strongly recommend all users to install the update as soon as possible.

Please read more on the issues and ways to update in this special blog post.

DataGrip 2016.1 is released

DataGrip, our IDE for SQL and databases, has reached a new version.

DataGrip 2016.1 brings connectivity enhancements, better support for PostgreSQL and Oracle, improved code editor with polished structure view, new intention actions for qualifying identifiers.

Core features of IntelliJ platform like RTL-languages support and by-word difference highlighting are also available in the new version of DataGrip.

Hub 2.0: One Hub to Rule Them All

Get Hub 2.0 for an easier way to connect your YouTrack, Upsource and TeamCity. This update also provides a single sign-on for all your applications, and lets you comfortably manage users and permissions in one place.

Enjoy the fresh Hub 2.0 with:

  • SAML support
  • Multiple & shareable dashboards
  • Keyboard-centric dashboard
  • Backup your database
  • Per-user service licenses
  • Password strength policy
  • Read-only mode

And that's not all, as dozens of enhancements are also here for you:

  • Revised permissions management
  • Remove user profile
  • 'Undo' command on dashboard
  • UI & usability improvements
  • And much more

Want more details? Check out our What's New page, watch a short demo, or review the release notes.

Download Hub 2.0 and use it absolutely free.

ReSharper Ultimate 2016.1 is Released!

We’ve just finalized an update to ReSharper Ultimate and welcome you to download Resharper Ultimate 2016.1 RTM!

Major highlights of ReSharper 2016.1 are the following:

  • A variety of new context actions: ReSharper 2016.1 brings a set of new Alt+Enter actions to check method input parameters, manipulate strings, convert strings to objects, comment and uncomment code selections, and many more!
  • A new Invert Boolean Member refactoring. The refactoring can be invoked on a method, property, local variable or a parameter to invert the boolean value it returns and update other members that receive values from it.
  • Smart Paste feature that ensures the right escaping in string literals that you copy/paste around your code. It works in C#, VB.NET, JavaScript, XML, XAML and HTML files.
  • Asynchronous Find Code Issues. Starting with version 2016.1, Find Code Issues works in the background both in ReSharper and ReSharper C++. This lets you keep editing or navigating your code while ReSharper runs its analysis.
  • New WCF-specific code inspections, quick-fixes and context actions.
  • Initial support for Node.js. All ReSharper goodies you are well familiar with, like completion, code inspections, quick-fixes, and navigation features are now available for Node.js.
  • ReSharper 2016.1 is way better at understanding VB.NET 14, introducing support for string interpolation, multi-line strings, null-conditional operators, partial modules and interfaces, year-first date literals and XML documentation comments.
  • Out-of-the-box support. ReSharper 2016.1 provides built-in support for and doesn't require a separate extension to be installed anymore.
  • Support for JSON files and schemas includes the File Structure view, a "Convert JSON string to a Newtonsoft JSON.NET object" context action, JSON schema-aware code completion, inspections and quick-fixes.
  • JavaScript and TypeScript support enhancements include a reworked Rename refactoring (which can now rename files corresponding to TypeScript types), granular formatter settings, and full support for TypeScript 1.8. In addition, ReSharper starts to properly handle some bits of TypeScript 2.0: readonly properties, implicit indexers, private and protected constructors, abstract properties, and nullable types.
  • JSDoc improvements. ReSharper can now parse generics, HTML markup, and parameters with properties in your JSDoc comments.
  • Code style features keep improving. Code styles can now be applied with a single command. Reformat Code, Apply Code Style and Run Code Cleanup commands are now accessible from Alt+Enter menu when you make a selection in the editor. Another improvement covers the use of braces, which ReSharper now helps you make consistent across your code base.
  • Intermediate Language viewer is now built into ReSharper. The IL Viewer, which first appeared in dotPeek 10, is now available for drilling down library code right in Visual Studio.
  • Optimize References learns to handle NuGet references, and Remove Unused References starts to support NuGet references as well.

ReSharper C++ 2016.1 comes with the following set of improvements:

  • To-do Explorer. ReSharper C++ 2016.1 introduces the long-awaited navigation view, which lets you view, group and filter comments that contain one of the 3 default to-do patterns (Bug, Todo and Not Implemented) and any custom patterns that you might want to set up.
  • New context actions and quick-fixes. ReSharper C++ 2016.1 comes with quick-fixes to change variable type, function return type, type of unmatched out of class definition or declaration. Another new quick-fix lets you create a field from constructor parameter. We also added a set of new context actions and quick-fixes for working with #include directives.
  • The list of supported C++ language features is extended with generalized lambda captures, exception specifications, user defined literals and delegating constructors.
  • ReSharper C++ 2016.1 enhances Rename refactoring, which can now automatically rename corresponding files (both source and header) along with code symbols, and to update usages in include directives.
  • ReSharper C++ 2016.1 adds support for the Boost.Test framework to its Unit Test Runner. Please note that only Boost version 1.60 is supported at this point.
  • Code generation improvements. The Generate stream operations can now generate stubs for Boost.Serialization functions. In addition, formatting options are now taken into account when generating code.

Other tools within the ReSharper Ultimate family have received their shares of improvement as well:

  • dotCover 2016.1: Test execution in Continuous Testing for MSTest and xUnit test becomes faster with dotCover 2016.1 thanks to pre-loading test runners, and coverage filters are now supported in Continuous Testing. In addition, TeamCity now understands the output of dotCover console runner and highlights its errors and warnings in the build log.
  • dotPeek 2016.1 learns to show extension methods as instance methods and automatically highlights usages of the symbol under the caret. With dotPeek 2016.1 you can load NuGet packages and their dependencies from any online package source.
  • dotMemory 2016.1 adds browser-style Back and Forward buttons to navigate through profiling results.
  • dotTrace 2016.1 adds its Threads diagram into Visual Studio. Now, the integrated Timeline Viewer gets exactly the same diagram, which you can use to select threads and time ranges, view thread activity and filtered time intervals.
  • dotMemory Unit 2.2, our free .NET memory testing framework, improves performance of key queries (Type.Is, Interface.Is and Namespace.Like), supports open generic types in object selection, learns to select objects by wildcards using the Like and NotLike queries.

Download the updated ReSharper Ultimate 2016.1 and give it a try!

RubyMine 2016.1: Rails 5, Ruby 2.3, better JavaScript and TypeScript, and more

We're excited to announce the public availability of RubyMine 2016.1, the next major update for our Ruby and Rails IDE.

This update brings support for the latest Rails 5 and Ruby 2.3, while also improving your development experience with better JavaScript and TypeScript, enhanced VCS and database tools.

The following features are on board:

  • Rails 5 ActionCable is now supported with code completion, navigation and refactorings; Rails API can now be chosen when creating a new app; code insight is added for all the new ActiveRecord methods.
  • Stubs for Ruby 2.3 are provided: all newcomers are present in completion, resolving and documentation; safe navigator and squiggly heredocs are also introduced.
  • When creating a new Rails app, you can now choose one of the existing Rails templates.
  • Improvements in ECMAScript 6 and TypeScript support include better refactoring options, new “Unused imports” inspection, and new “Optimize imports” action.
  • Angular 2 support is now enhanced with coding assistance for event and property bindings, completion inside any data bindings, code insight for custom event handlers, and much more.
  • The JavaScript debugger now supports asynchronous client-side code, arrow functions in ES6, and Web and Service workers.
  • Running and debugging Node.js apps are now available on a remote machine or Vagrant box from the IDE.
  • VCS improvements include support for Git worktrees, and merging and comparing revisions with by-word difference highlighting.
  • Database tools bring better support for PostgreSQL, SQL Server custom types completion, table truncation option.

For more details please read the What's new page, where you can also download a free 30-day trial.

Upsource 3.0 is released

We are happy to announce the general availability of Upsource 3.0 that has matured and evolved into a one-of-a-kind Polyglot Code Review Tool. Here’s what we have for you in this release.

PHP, JavaScript, Kotlin Code Insight
Code-aware navigation and static code analysis in your browser are now available for projects written in PHP, JavaScript and Kotlin.

GitHub Pull Requests
Teams that use GitHub pull requests as their way of reviewing changes can now benefit from all the smart code review features Upsource offers. Simply connect Upsource to GitHub and enjoy code insight for your pull requests. Upsource will keep comments and other activity synchronized.

Even Smarter Code Insight
To help reviewers see the impact of a new change on the overall code quality, we've added “Code Analysis Summary”. It shows what problems have been fixed with the new change, and what new possible issues the change introduced.

Build Status
In Upsource 3.0 we've added a Build status endpoint that lets you post build information from your Continuous Integration server to Upsource, so you can see the status of the build with this particular change.

And More!
We have also significantly improved IDE integration, added webhooks, new Analytics reports, reworked our permission model and simplified upgrade procedure.

Having all these tools at hand makes it a lot easier for a developer to understand, review and suggest improvements for a change.

Take a moment and check out the Upsource 3.0 release notes! Eager to try? Download the build and don't forget to backup your current instance!

You can also register to our free webinar "What's New in Upsource 3.0" to see the new features in action.

AppCode 2016.1 released: better Swift language support, code folding for Swift declarations and more!

AppCode 2016.1 is here, so download and try it right now! And if you've already installed the AppCode 2016.1 RC2 build, then simply keep using it, since it's the same as the released one.


This release delivers a lot of fixes bringing correct parsing and resolve for the following Swift constructions:

  • Types conforming to OptionSetType protocol
  • Self type
  • Variadic parameters in closures and functions
  • Typealias initializers
  • Function array types

Swift code folding

With the code folding for declarations in Swift it's now easy to focus on the most important part of your code. Use expand/collapse actions for current code block (⌘+/⌘-), all code blocks in particular Swift file (⇧⌘+/⇧⌘-) or collapse recursively complex declarations in your code. Read more about all code folding options in this blog post.

CocoaPods support

Now you can edit your Podfiles with all the keywords supported in completion, including use_frameworks, inherit!, abstract!, abstract_target and others. See all these changes in action in the short demo.

Build messages

Parsing of build messages is reworked in the release: now the Messages tool window (⌘0) displays all errors and warnings in a convenient way, skipping all irrelevant information.

Build progress messages were updated to show user-friendly descriptions for particular build phases.

Source directories management

A new context menu called Mark directory as is available for folders in the Files view. It allows you to manage indexing, code completion, code generation or navigation features by manually setting any source directory as:

  • Excluded
  • Library
  • Project sources and headers

Read how to use it and tune any of these options in your project.

C++ language support

You may know that AppCode shares the same codebase for C++ support with CLion, our cross-platform IDE for C and C++. In addition to changes made by the AppCode team, this release delivers a huge number of C++ improvements made by the CLion team including:

  • Support for variadic templates with related fixes in the function overload resolution, which together make it possible to resolve C++ code correctly and avoid many false positives in code analysis.
  • Improved auto-import for STL symbols.
  • Extended information displayed in the Quick documentation popup (F1) which now shows lambda expressions, namespace aliases and explicit instantiation, as well as hyperlinks for types in the documentation text.

Xcode compatibility

As we already wrote in our post about AppCode 2016.1 RC2, this release can be used with Xcode 7.3. The minimum Xcode version supported by AppCode 2016.1 is limited to Xcode 7.2.x.

Other improvements

  • Fixes for localization intentions in Objective-C
  • By-word difference highlighting option in Diff viewer.
  • Support for multiple Git worktrees and Checkout with Rebase Git action.
  • Right-to-left languages (Arabic and Hebrew) are now supported in the editor.
  • CoffeeScript and Stylus are bundled in AppCode.
  • Improved UI for Attach to local process... action.

To learn more, please visit the What's new page on our website or just download AppCode 2016.1 and try it!

Announcing General Availability of PyCharm 2016.1

Today we bring you PyCharm 2016.1, now available for download. This is the first update in the series of releases planned for 2016. Its outstanding new features for professional Python, Web and scientific development work together smoothly to offer you a unique coding experience.

Download PyCharm 2016.1 for your platform today!

The key features in this release include:

Python-related improvements:

  • Python 2 and Python 3 type hinting and compatibility inspection
  • Docker Compose and Docker container settings
  • Tox Support
  • Improved Support for Django Forms
  • Significant debugger improvements
  • Enhanced support for IPython Notebook

Platform enhancements:

  • Git Rebase and Rename
  • Git Worktree Support
  • By-word changes highlighting in Diff Viewer
  • Enhanced Database Tools
  • Local Terminal Improvements

Web development improvements:

  • Improvements in ECMAScript 6 and TypeScript support
  • Major enhancements in Angular 2 support
  • Support for debugging asynchronous client-side code
  • Running and debugging Node.js apps on remote hosts
  • And even more

For more details on these and other new features and changes in PyCharm 2016.1, please see our What's New page, and download the IDE for your platform.

Announcing WebStorm 2016.1!

We're excited to announce the release of WebStorm 2016.1, the first major update for our IDE this year. This update brings even better experience while editing and refactoring JavaScript and TypeScript code and steps up the IDE's debugging capabilities.

Here are the highlights of this update:

  • Improvements in ECMAScript 6 and TypeScript support: better refactoring options, new Unused imports inspection and Optimize imports action.
  • Major enhancements in Angular 2 support: coding assistance for event and property bindings, completion inside any data bindings, code insight for custom event handlers, and much more.
  • Support for debugging asynchronous client-side code, arrow functions in ES6, and Web and Service workers.
  • Running and debugging Node.js apps on a remote machine or Vagrant box from the IDE.

Other updates worth mentioning include support for AngularJS ui-router, support for CSS Custom properties, running and debugging Electron apps in the IDE, support for the JSON Schema format for smarter coding assistance, and new Convert string to template string intention.

CLion 2016.1 released: Better language support and new dev tools

Spring is almost here and so is our new release, CLion 2016.1. This is the version that was previously tagged 1.5 - we hope our new versioning scheme doesn't confuse you too much.

We're nearly done with the announced roadmap, though some CMake items are left for future updates. Many extra features have also found their way into this release. Read on for more details, and then download and try the new version right now!

C++ language support

This release brings long-awaited support for variadic templates (C++11). With the related fixes in the function overload resolution, this makes it possible to resolve the code correctly and avoid many false positives in code analysis. This also means that Qt C++11 connect calls are resolved correctly in CLion.

Auto-import has been improved greatly for symbols from STL, and the quick documentation popup (Ctrl+Q on Linux/Windows, F1 on OS X) now shows lambda expressions, namespace aliases and explicit instantiation, as well as accurately redirecting hyperlinks.

Code generation

In addition to Override and Implement actions that generates stubs for virtual member functions from any of base classes, we've added Generate definitions (Shift+Ctrl+D on Windows/Linux, shift+cmd+D on OS X) which, as you would expect, generate definitions for existing declarations. All three actions put the code in the place the caret is positioned, in case it's inside the class, or ask for a destination in other cases.

'Generate definitions' can be called up in three different ways:

  • By pressing Shift+Ctrl+D on Windows/Linux, shift+cmd+D on OS X.
  • Under the Generate menu (Alt+Insert in Windows/Linux, cmd+N on OS X).
  • As an intention action (Alt+Enter).

CMake and directories control

On the CMake side, a new feature called Reset CMake Cache is now available which allows you to clear the CMake Cache without dropping all of IDE indexes and caches.

Sometimes your project folders may contain binaries, logs, generated data or build artifacts (that you surely don't want CLion to index) or simply libraries (that you don't want to touch with refactorings). To handle this, a new feature was introduced - 'Mark directory As', which allows you to manually set directory as:

  • Excluded
  • Library files
  • Project sources and headers

Read how code completion, code generation, navigation and search features and refactorings are working for each of these cases.

The bundled Remote Host Access plugin will help you synchronize your sources with the remote host from time to time, for example if you develop on one machine but build/run on another. You can configure a FTP, FTPS or SFTP server together with the path mappings and excluded paths (to avoid downloading/uploading any files in particular).


In case you have a process running locally on your machine that you'd like to debug, you can do this within CLion. You just need to have the sources and open them in CLion, then call Attach to local process (from the Run menu or Find Action dialog) – and benefit from the built-in debugger. Processes can be searched by process name or process pid: just start typing and select a match from the list.

New languages

CLion 2016.1 comes with support for two additional languages: Python and Swift. The Python plugin is bundled into the IDE and is on by default. To easily start working on your mixed Python and C/C++ code project, install the Python SDK and point CLion to the Python interpreter for your project.

The feature set corresponds to the PyCharm IDE Community Edition and includes all the essential Python editing features, like code completion, formatting, navigation, etc., as well as Python refactorings, code analysis, and running/debugging/testing the Python part of your project. Get more details and watch a demo in this blog post.

Another addition is support for Swift language. As Apple has open sourced Swift, developers on Linux can now try the language, and for their work an IDE is essential. CLion is cross-platform, so version 2016.1 can be used as a Swift IDE on Linux. Since this is the very first stage of the Swift support in CLion, you'll need to download and install the plugin separately. If we see enough interest from the community, we may later bundle the plugin with CLion, so let us know!

The feature set of the Swift plugin comes from AppCode (our IDE for iOS/OS X development which is based on Xcode toolchain and runs on OS X only). Swift code can be properly highlighted, formatted and completed; navigation and search actions are also available. If you're looking for more high-level features, welcome the familiar Rename refactoring for Swift.

The plugin also includes Override/Implement for functions and protocols, and a built-in debugger. More details and short demo can be found in a related blog post.

Other improvements

Other fixes and enhancements in this release include:

  • By-word difference highlighting option.
  • Support for multiple Git working trees and Checkout with Rebase Git action.
  • Right-to-left languages (Arabic and Hebrew) are now supported in the editor.
  • Automatic detection of Google Test configurations on project loading.
  • Custom bundled JRE on Linux with fixes from the JetBrains team.
  • And lots more.

To learn more, please visit the What's new in CLion 2016.1 page on our website, view our demo and download CLion for your operating system.

IntelliJ IDEA 2016.1 is Here!

Today we’re announcing the availability of IntelliJ IDEA 2016.1 , the first update in the series of releases planned for 2016. Download the new version today and try all the new features for yourself.

The major improvements include:

  • Debugger
    • Groovy expressions in Evaluate Expression and Watches when debugging Java
    • Easier debugging of multiple threads
    • Warns you if the source code doesn’t match the running copy
  • VCS
    • Git worktrees support
    • Merging and comparing revisions with by-word difference highlighting
    • New actions for Git
  • Editor
    • Shifting statements right and left
    • Easier way of importing static members
    • RTL languages support (e.g. Arabic and Hebrew)
  • Gradle
    • Custom source sets support (this improvement fixes a great number of issues)
    • Automatic configuring EAR artifacts
  • Java 8
    • Many new code inspections that help with migrating to Java 8 method references, lambda expressions, and the Optional type
  • Kotlin
  • Scala
    • Code completion now respects the type of symbols, their definition scope and their usage, and suggests property names for case classes within pattern matching statements
  • JavaScript
    • Better coding assistance for ECMAScript 6, TypeScript and AngularJS 2
    • Easier debugging of asynchronous code
  • Spring Frameworks
    • A lot of new coding assistance features for Spring Boot. Better support for Spring MVC along with fixes for many issues reported by users
  • Thymeleaf
    • Coding assistance for user-defined dialects
    • Thymeleaf 3.0 support
  • Android 1.5
    • Profiling leaked activities
    • New lint checks
  • Docker
    • Docker Machine support
    • A separate tool window
    • Right-side panel with logs and controls to manage environment variables and port bindings

For more details, read the What’s new page , where you can also download the edition of your choice.