RubyMine 2019.2 Released: Faster Debugger, Ruby 2.7, Rails 6, and Much More

RubyMine 2019.2

RubyMine 2019.2 is now released!  Visit the What’s new page for a detailed overview of the new v2019.2, or check out the highlights below:

Debugger

  • The debugger is significantly faster
  • Investigate every method or block on a line with Smart Step Into
  • Set breakpoints at blocks

Debugger

Ruby 2.7

  • Support for pattern matching
  • Support for numbered block parameters

Ruby 2.7 pattern matching

Rails 6

  • Action Mailbox support
  • Enum support including the new negative scopes

Rails 6 Action Mailbox

YARD

  • Support for @overload and @yieldparam tags
  • Across-the-board improvements

YARD @yieldparam

Factory Bot

  • Rename and Safe Delete refactorings for factories, sequences, and traits
  • Added factories, sequences, and traits in the File Structure view and popup

Factory bot rename refactoring

Shell scripts

  • Full code insight for .sh and .bash files
  • Integrated linting and formatting tools
  • Run configurations

Shell scripts support

Check out the What’s new page for more about these enhancements and the other RubyMine improvements in JavaScript, Git, and database tools.

See the release notes for the full list of the closed tickets, and let us know if you face any issues.

Cheers,
Your RubyMine team

This entry was posted in Announcement and tagged . Bookmark the permalink.

8 Responses to RubyMine 2019.2 Released: Faster Debugger, Ruby 2.7, Rails 6, and Much More

  1. Eric says:

    This is great! I really hope to see a less usage of RAM in the next version, 2019.1.3 is currently taking 1.5G, it’d be nice lowering that to 1G <3

  2. Mikhail Varabyou says:

    Nice update! Breaking the debugger, skipping all breakpoints and crashing it with segfault really made it faster.
    Tested on 2019.2.1 RC either – still not working. Horrible!

    • Olga Kuvardina says:

      Could you please provide more details? Which Ruby version are you working with and where are breakpoints skipped? We had related issues but all of them have been fixed in 2019.2.1 RC so it’d be great if you could provide a reproduce scenario.

      • Mikhail Varabyou says:

        Here is simplified example.

        RubyMine 2019.2.3
        Build #RM-192.6817.16, built on September 24, 2019

        # ruby 2.4.2, rails 5.0.7
        # ubuntu 18-04-3

        # app/controllers/some_controller.rb
        class SomeController < ApplicationController
        def index
        some_block do
        some_instance.some_method_call
        end
        end
        end

        # lib/some_instance.rb
        class SomeInstance
        include SomeModule
        end

        # lib/some_module.rb
        module SomeModule
        def some_method_call
        a = 1 # !!! i cant breakpoint there !!!!!!!!!!!!!
        end
        end

        Debugger ignores the breakpoint inside the #some_method_call.
        In the given example I can breakpoint at controller level and then step into to get to the #some_method_call. But more often when I step into I get segfault error:
        [BUG] Segmentation fault at 0x000000003c734da0
        ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]

        All my colleagues suffer from the same issues and rollback to 2019.1.
        I can't remember update worse. Was the "improvement" so much valuable that overweight numerous bugs it introduced? Please rollback the debugger.

      • Mikhail Varabyou says:

        Yes! Debugger is still not working. Neither 2019.2.1 stable nor past updates fixed it.

        • Olga Kuvardina says:

          I’ve changed your code a bit (adding to the controller test = SomeInstance.new.some_method_call) instead and launched debug in the last 2019.3 EAP (Ruby 2.3.0 though), it stopped on the breakpoint in question. Could you please check the last EAP as well?

          • Mikhail Varabyou says:

            That was a simplified example of how the code generally looks like. I was not going to provide any reproducible sample.
            I’m 99% sure its the problem of the legacy product we work with now. But it does not change the fact that debugger was working more or less correctly before 2019.2 and now it doesn’t.
            Tested that case in 2019.3 – it it working. I’ll keep you posted =)
            Thx

Leave a Reply

Your email address will not be published. Required fields are marked *