This is the last release that supports the 2019.3 platform. To receive plugin updates further, please upgrade your IDE to 2020.1.

New Features

  • Debugger support outside of CLion:
    • #5409 Do not interrupt debugging session if debugger is not loaded. Now, if your debugger is not loaded or should be updated, the corresponding dialog and debugger loading don’t interrupt debugger session and it continues after successful loading. Also, there is option to download/update debugger automatically

    • #5393 Suggest user to install Native Debugging Support plugin when start debugging in IntelliJ IDEA Ultimate

  • #5399 Add Replace with block/EOL comment intentions (by @Jezza)

  • #5310 Highlight never (!) type as exit points (by @Kobzol)

    Never type exit points highlighting

  • #5273 Show breadcrumbs for control flow constructions like if, match, loop, etc. You may configure editor breadcrumbs via Preferences | Editor | General | Breadcrumbs settings (by @Stzx)

Performance Improvements

  • #5438 Optimize module declaration name resolution

  • #5437, #5362 Slightly speed up macro expansion


  • #5218 Add use declarations to Rust REPL commands context. It enables completion of imported names

  • #5358 Fix false positive Redundant else error for slice patterns

  • #5405 Fix struct field name resolution. Now Go to declaration works for destructured fields when using type alias

  • #5445 Fix inlay type hints for type placeholders. Previously, they were wrong in some complex cases

  • #5383 Fix control flow analysis of paren expressions. Previously, unclosed paren expression led to IllegalStateException, and there were false-positive move errors on paren expressions inside struct literals

  • #5359 Use the proper grammar for path fragments in macro_rules!. Now macro calls with type-like paths (i.e. paths without :: token before <) like foo!(Foo<u32>) are expanded properly (by @mrobakowski)

  • #5356 Fix environment variables for Coverage runner

  • #5382 Fix clippy and rustfmt installation check. They can be used for linting and reformatting code

  • #5408 Fix debugging when terminal emulation is enabled

Internal Improvements

  • #5470 Improve release actions script

Full set of changes can be found here