{"id":585179,"date":"2025-08-04T14:06:23","date_gmt":"2025-08-04T13:06:23","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=ruby&#038;p=585179"},"modified":"2025-09-03T11:18:50","modified_gmt":"2025-09-03T10:18:50","slug":"rubymine-2025-2-junie-and-ai-assistant-upgrades-faster-rails-project-startup-enhanced-bundler-management-and-more","status":"publish","type":"ruby","link":"https:\/\/blog.jetbrains.com\/en\/ruby\/2025\/08\/rubymine-2025-2-junie-and-ai-assistant-upgrades-faster-rails-project-startup-enhanced-bundler-management-and-more","title":{"rendered":"RubyMine 2025.2: Junie and AI Assistant Upgrades, Faster Rails Project Startup, Enhanced Bundler Management, and More"},"content":{"rendered":"\n<p>RubyMine 2025.2 is out!<\/p>\n\n\n\n<p>In this blog post, we briefly go over the highlights of this release. For a detailed description, check out our <a href=\"https:\/\/www.jetbrains.com\/ruby\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">What\u2019s New<\/a> page.&nbsp;<\/p>\n\n\n\n<p>You can get the new build from our <a href=\"https:\/\/www.jetbrains.com\/ruby\/download\/?_gl=1*1eyvko0*_ga*MTkyMjY3OTIxMy4xNjY0ODc1NjA2*_ga_9J976DJZ68*MTY3MTM5ODA0Mi4zMjIuMS4xNjcxMzk5OTk3LjIzLjAuMA..&amp;_ga=2.135890417.1325099170.1671311045-1922679213.1664875606\" target=\"_blank\" rel=\"noopener\">website<\/a> or via the free <a href=\"https:\/\/www.jetbrains.com\/toolbox\/app\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/RM-social-BlogSocialShare-1280x720-2x.png\" alt=\"\" class=\"wp-image-586166\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>AI Assistant<\/strong><\/h2>\n\n\n\n<p>JetBrains AI Assistant has received a major upgrade, offering smarter code completion, greater project awareness, and more control over AI in your IDE. Below is an overview of the main improvements. Read the full article <a href=\"https:\/\/jb.gg\/ai-assistant-252\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Code completion for ERB<\/strong><\/h3>\n\n\n\n<p>Cloud-based code completion for ERB has been expanded to work directly within ERB tags like &lt;% &lt;caret&gt; -%&gt; and &lt;%= &lt;caret&gt; %&gt;. This feature builds on RubyMine\u2019s existing AI-based code completion for Ruby and includes enhancements like better string handling, multiline code support, and the avoidance of duplicate closing tags.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"798\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/erb_completion.png\" alt=\"\" class=\"wp-image-585750\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stronger project awareness in AI chat<\/strong><\/h3>\n\n\n\n<p>AI Assistant\u2019s chat now uses the <em>Search Everywhere<\/em> functionality for <em>Classes <\/em>and <em>Symbols<\/em> to offer more accurate and project-specific context.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/project_awareness.png\" alt=\"\" class=\"wp-image-585761\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>More ways to connect local models<\/strong><\/h3>\n\n\n\n<p>You can now connect any OpenAI-compatible local model server, including <strong>llama.cpp<\/strong>, <strong>LiteLLM<\/strong>, and others. This lets you take advantage of powerful AI features offline, without any data being sent to the cloud.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/more_local_models-1.png\" alt=\"\" class=\"wp-image-585797\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expanded and improved code suggestions<\/strong><\/h3>\n\n\n\n<p>In RubyMine 2025.2, AI Assistant offers more frequent and context-aware code suggestions. Improved formatting for multiline outputs also ensures a smoother coding experience.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Image attachments<\/strong><\/h3>\n\n\n\n<p>JetBrains AI Assistant now supports image attachments in the chat when using Anthropic and OpenAI models.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/ai_images.png\" alt=\"\" class=\"wp-image-586179\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Junie<\/strong><\/h2>\n\n\n\n<p>RubyMine now offers an exciting new way to code thanks to <a href=\"http:\/\/jb.gg\/2us52e\" target=\"_blank\" rel=\"noopener\">Junie,<\/a> the AI coding agent from JetBrains, built to streamline your workflow and boost your productivity. Available in RubyMine 2025.2 as a plugin, Junie is reliable for simple tasks, but it really shines when assigned complex challenges. Use<em> Code <\/em>mode to delegate coding tasks or <em>Ask <\/em>mode<em> <\/em>to brainstorm features and explore new solutions.<\/p>\n\n\n\n<p>Junie recently received several major updates. It is now up to 30% faster, and it offers MCP support and added functionality for remote development.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"8462\" height=\"3748\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/junie_demo.png\" alt=\"\" class=\"wp-image-585809\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Ruby<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">More control over code inspections<\/h3>\n\n\n\n<p>RubyMine 2025.2 gives you the flexibility to disable specific type signature providers used in certain inspections. For example, the <em>Mismatched Argument Type<\/em><strong> <\/strong>inspection uses RBS and Sorbet, which might conflict with each other. To avoid any issues, you can disable one of them.<\/p>\n\n\n\n<p>Find and customize them in <em>Settings | Editor | Inspections | Ruby | Probable bugs<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/probable_bugs-1.png\" alt=\"\" class=\"wp-image-585880\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rails<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Streamlined project startup<\/strong><\/h3>\n\n\n\n<p>RubyMine 2025.2 increases the speed of project startup by optimizing how background tasks are handled. Nonessential operations like refreshing Rake tasks or updating RBS collections now run only when needed, so you\u2019re not stuck waiting on them. Get started on your work faster with fewer interruptions right from the get-go.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Better performance when editing migration files<\/strong><\/h3>\n\n\n\n<p>If your Rails project is packed with migration files, you know how sluggish and glitchy editing them can get. Not anymore \u2013 RubyMine ensures smooth edits, even in projects with tons of migrations, so that you can make changes quickly and without any hassle.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>RBS&nbsp;<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Hover hints for RBS<\/strong><\/h3>\n\n\n\n<p>Digging into <code data-enlighter-language=\"generic\" class=\"EnlighterJSRAW\"><code>.rbs<\/code><\/code> files has never been easier. With <strong>hover hints<\/strong>, you can quickly preview type definitions and references without leaving your current file. Just press <code>Cmd<\/code> (Mac) or <code>Ctrl<\/code><em> <\/em>(Windows\/Linux) and hover over a declaration to see a concise, in-context preview.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/hover_hints.png\" alt=\"\" class=\"wp-image-585894\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>RBS Collection integration enabled by default<\/strong><\/h3>\n\n\n\n<p>The <a href=\"http:\/\/github.com\/ruby\/gem_rbs_collection\" target=\"_blank\" rel=\"noopener\">RBS Collection<\/a> integration is now enabled by default, improving the precision of <em>Find Usages<\/em>, the <em>Rename <\/em>refactoring, and inlay hints when working with type signatures. This feature requires RBS 3.2 (bundled with Ruby 3.4), and if you\u2019re on an older Ruby version, RubyMine will prompt you to install the correct gem.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/rbs_collection.png\" alt=\"\" class=\"wp-image-585906\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bundler&nbsp;<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Simpler notifications<\/strong><\/h3>\n\n\n\n<p>RubyMine now groups missing gem alerts across all modules into a single notification, cleaning up your workspace and reducing distractions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>New <\/strong><strong><em>Bundler<\/em><\/strong><strong> tab<\/strong><\/h3>\n\n\n\n<p>The new <em>Bundler <\/em>tab under <em>Settings | Tools<\/em> saves you from repetitive prompts every time you run a Bundler command. It contains two checkboxes you can mark that will:<\/p>\n\n\n\n<ul>\n<li>Allow the IDE to automatically install the Bundler version you need without asking you for confirmation.<\/li>\n\n\n\n<li>Allow you to define default arguments for all Bundler commands, streamlining your workflow.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/bundler_settings.png\" alt=\"\" class=\"wp-image-585918\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Smarter gem installation<\/strong><\/h3>\n\n\n\n<p>To prevent conflicts and the unnecessary reinstallation of shared gems, RubyMine now installs gems on a per-module basis. This makes working on multimodule projects far smoother.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Code insight<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Improved exception-constant completion<\/strong><\/h3>\n\n\n\n<p>RubyMine\u2019s autocompletion for exception constants just got a lot smarter. When you trigger autocompletion without typing a prefix, the suggestions are now limited to a focused, relevant set of constants.<\/p>\n\n\n\n<p>This makes the feature faster and far more precise, which is especially helpful in larger projects where suggestion bloat used to slow you down.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/exceptions.png\" alt=\"\" class=\"wp-image-585929\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Debugger<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Non-modal installation<\/strong><\/h3>\n\n\n\n<p>You no longer have to wait around when setting up debugger gems in RubyMine! Starting with version 2025.2, debugger installation is now non-modal. The progress is displayed directly in the terminal window, so you can continue working without interruptions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stay in touch<\/h2>\n\n\n\n<p>To learn about the latest features as they come out, follow <a href=\"https:\/\/twitter.com\/rubymine\" target=\"_blank\" rel=\"noopener\">RubyMine on X<\/a>.&nbsp;<\/p>\n\n\n\n<p>We invite you to share your thoughts in the comments below and to suggest and vote for new features in the <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/ruby\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a>.<br><\/p>\n\n\n\n<p>Happy developing!<br><\/p>\n\n\n\n<p>The RubyMine team<\/p>\n","protected":false},"author":1549,"featured_media":589249,"comment_status":"closed","ping_status":"closed","template":"","categories":[907,4156],"tags":[8790,6847,8852,8759,477,8636],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/ruby\/585179"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/ruby"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/ruby"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/1549"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=585179"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/ruby\/585179\/revisions"}],"predecessor-version":[{"id":590328,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/ruby\/585179\/revisions\/590328"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/589249"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=585179"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=585179"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=585179"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=585179"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}