RubyMine 2021.3.x

Released: Nov 30, 2021

Updates in 2021.3.x

2021.3.3

Updated Mar 17, 2022

Features

  • [Ruby 3.1] Block arguments can now be anonymous if the block is only passed to another method.
  • Added support for wildcards in inline pattern matching.
  • Added the ability to generate the file name of file templates.
  • No longer stops launching interactive bash shells to get environment variables.

Fixes

  • RubyMine doesn't download bundled rbs executable via ssh.
  • Indexing hangs with high CPU on large project.
  • False positive Expected: expression warning with omitted parenthesis in "in" match expression.
  • Custom fields in file templates are sorted by hashcode.
  • Endless splash screen if you refuse to open the folder if there were not projects opened in the previous session.
  • IDE freezes and hangs (2021.3.1) on indexing of WSL project.
  • Quick JavaDoc invoked on a class member should show information about declaring class.
  • Renaming Java package does not rename imports in Groovy test files.
  • Can't connect to OpenSSH 8.8p1 server: Either "Unable to reach a settlement", or authentication failure.
  • PuTTY SSH keys (.ppk) are broken since 2021.3.
  • Freeze on startup from FileTypeUsagesCollector.
  • When using EditorTextField as a TableCellRenderer in JBTable it is invisible unless focused (regression in 2021.3, worked in 2021.2 and earlier).
  • Unable to delete TextMate Bundle (.tmbundle).
  • The hovering color of the properties panel in the android designer does not work after merge with IDEA 2021.3.
  • Shortcut for switching editor tabs switches projects tabs on Big Sur.
  • Laggy UI, lots of LOG.warn activity in the snapshot.
  • After a search query mistake, line breaks leak from Find field into SQL-injected multiline strings in PHP and JS.
  • Line mark is not properly updated when enter new line on indent.
  • Cannot share data context between Swing events; initial event count = 8543; current event count = 9734.
  • Don't Adding Prefix on Git Push Refs.
  • Extract method refactoring works incorrectly for methods with nested loops.
  • Prettier Plugin - global Prettier package not found automatically when using NVM on Mac.
  • Tailwind CSS code completion doesn't work if package.json, node_modules, and tailwind.config.js is in a subfolder.
  • Wrong modifiers order when using Introduce constant... refactoring.
  • Extra quotes in property completion with template literal types.
  • TypeScript 4.5: Template String Types as Discriminants.
  • TypeScript. Editor: Wrong result after applying Unwrap 'else'.

2021.3.2

Updated Jan 28, 2022

Features

  • Allow omitting parenthesis in "in" match expressions.
  • Added support for overflow: clip.
  • Show deprecated mark for deprecated directives (f.e. v-is).
  • Angular: support events from custom EventManagerPlugin.

2021.3.1

Updated Dec 29, 2021

Features

  • Add support for generic type aliases in RBS.
  • Ruby 3.1: Pin operator now supports instance, class, and global variables.
  • Allow command syntax for endless method definitions.
  • Ruby 3.1 allow values in hash literals and keyword arguments to be omitted.
  • Ruby 3.1 allow the pin operator to take an expression.
  • Suggest adding String.trim() to the list of non-internationalised functions.
  • Provide the text search in the Quick Documentation (Ctrl + Q).
  • Support v-bind CSS function in Vue swingle-file components.
  • Support URLs in import statements.
  • Color scheme: make it possible to set different Component and Tag colors.
  • Limit the scope of files to be linted with StyleLint 14+.
  • Deno: show module urls/names instead of cache filenames.

2021.3

Updated Nov 30, 2021

Features

  • Ruby and RBS
    • Bundled RBS type signatures - This version now comes bundled with RBS signatures. With the RBS signatures present, RubyMine is able to provide improved code assistance, such as real-time type checking, more precise navigation, search and refactoring, and more.
    • New inspections for RBS files - In this release, 12 new inspections for RBS files have been added. RubyMine will check RBS code for style issues, unused entities, inheritance issues, mismatches in partial declarations, and so on. RubyMine’s built-in spell checker now also works for RBS files.
    • Parameter info based on RBS - The Parameter Info pop-up (Ctrl+P) displays the names and types of method parameters. It can now use type information from the corresponding RBS signatures (if they are present).
    • Copyright for RBS files - Your project may contain RBS files that you want to protect by copyright. Instead of adding a copyright notice to each file separately, you can now automatically add copyright information to the beginning of RBS files.
    • Run RuboCop on save - You can now configure RuboCop to reformat files every time one is changed, and the changes are saved automatically or manually. To enable this feature, search for rubocop in Preferences / Settings and select the Run ‘rubocop -a’ on save checkbox.
  • Type Checking
    • More inspections for RBS-based type checking - Added a number of new inspections for detecting mismatches between assigned values and expected types taken from RBS. These inspections check the types of constants, instance and class variables, method and block parameters, return values, arguments passed to yield calls, and global variables.
    • Initial support for Sorbet - RubyMine now recognizes Sorbet type signatures, including ones from .rbi files. Type mismatch inspections for method arguments and return values can now work based on Sorbet.
  • Remote Development
    • Support for remote development workflows - RubyMine now supports an early version of the remote development workflow. It allows you to connect, from anywhere in the world, to a remote machine running a RubyMine backend. All the processing will happen on that powerful remote machine and you'll be able to work on the project as seamlessly as if it were on your local machine.
  • User Experience
    • Performance improvements - Improved performance of the code editor. Actions like opening files, typing, invoking code completion, and applying quick-fixes now work faster. This is only slightly noticeable on average-sized project files, but it is much more apparent when working with large files (2,000 lines of code or more).
    • Bookmarks tool window - Reworked the functionality of bookmarks. You can now create bookmarks with custom names and group them into nodes. All bookmarks are now located under the new Bookmarks tool window (Alt+2).
    • Split the Run tool window - You can now split the Run tool window horizontally or vertically. This can be useful when you have several configurations running and want to see their results simultaneously. Just drag and drop the desired tab to the highlighted area. You can drag the tab back to unsplit the tool window, or right-click the top pane and select Unsplit from the context menu.
    • Source preview for Show Usages - You can now turn on the source code preview in the Show Usages window (Ctrl+Alt+F7) by clicking the square icon.
  • VCS
    • Checkout and Rebase onto Current for remote branches - The Checkout and Rebase onto Current action allows you to check out the selected branch and rebase it on top of a branch that is currently checked out. Until now, this has only been available for local branches. Starting from this version, the ability to apply this action to remote branches has been added as well.
    • New Changes tool window - Starting from this version, RubyMine will display commit data and the difference between commits in a separate Changes tool window located to the left of the editor. To open the new tool window, go to the Log tab of your version control system, right-click a revision, and then pick Compare with local from the context menu.
    • New Push All up to Here action - Added a new action that lets you push all the commits up to the one you have selected. This could come in useful when you have several commits that are ready to be shipped while others are still in progress.
  • Web and Frameworks
    • Improved code completion for HTML - Improved the way code completion works in HTML files. Previously, completion suggestions in HTML files would only show up when you typed the < character. Starting with this version, you can also see completion suggestions for HTML files when you type a tag name or an abbreviation.
    • Update npm packages from the editor - You can now update npm packages to the latest version right from the editor. Open your package.json file, place the caret on the package version you want to update, press Alt+Enter, and then select Update ‘package name’ to the latest version.
    • HTTP client enhancements - Added support for binary responses, gRPC requests, output redirection to a custom file or directory, support for text and JSON streams, and support for HTTP request identifiers.
  • Space
    • Merge requests and code reviews from the IDE - For projects located in Space, you can now create merge requests and code reviews right from the IDE. To call these actions, click the + icon on the top toolbar of the Code Reviews tool window.
    • Mark files as viewed - In code reviews, the files you haven’t reviewed yet will be marked with blue dots. This will help you make sure you don’t miss any changes in Space projects when performing code reviews. The dots will disappear automatically after you open the marked items. If you want to review the changes later, you can select Mark as Not Viewed from the context menu.
  • Database tools
    • Database in the Version Control System - You can now generate a DDL data source from a real one, use the DDL data source to map the real one, and compare and synchronize them in either direction.
    • Aggregates - Added the ability to display an Aggregate view for a range of cells. Just select the cell range you want to see the view for, then right click and select Show Aggregate View.
    • New database diff window - You can now use the new database diff window to compare two schemas or objects: just select them, and press Ctrl+D.
    • First row is header auto-detection - Starting from this version, when you open or import a CSV file, RubyMine automatically detects that the first row is the header and contains the names of the columns.
  • Other improvements
    • It’s now possible to use a screen reader to create projects.
    • Disabled the tool window widget pop-up and the quick documentation pop-up that used to appear on mouse hover.
    • Type checking, mismatched argument inspections, and the parameter info action now work for the super calls in overridden methods.
    • Added support for RBS rest parameters (aka variable length parameters) in between other parameters.
    • You can now navigate between overloaded methods in RBS files using new gutter icons.
    • When creating a new RBS file, you can use the :: symbol in a file name to create a file that contains the surrounding modules.
    • You can now use the Class#method format to find methods via Search | Symbols.
    • RubyMine now supports singleton instance variables and attributes, and it is able to provide type checking and hints for such cases.
    • Made the VCS settings structure clearer.
    • Added Node.js remote interpreter support for npm, ESLint, Mocha, and Jest.
    • Decreased the indexing time for JavaScript files by 20%.
    • You can now download remote ES6 modules from the editor: place the caret on the import path, then press Alt+Enter and select Download module.
    • The built-in terminal now supports the new ConPTY API on Microsoft Windows. Using this as a backend for the terminal helps us address several problems that users have been having with the old implementation, which was based on winpty. It also adds support for 24-bit colors in the terminal.
    • Added typeahead support for the built-in terminal. The terminal can now predict text modifications and will instantly display them in a slightly different font. This may be useful while working on a remote machine as the IDE is able to display the characters as fast as it would on a local machine, even despite latency.

Fixes

  • Fixed an issue with calling the Go To Declaration or Usages pop-up.
  • Resolved several issues with voiceover focus.
  • Fixed a bunch of issues related to mapping .js and .d.ts files and added gutter icons for navigating between them.