{"id":579514,"date":"2025-08-05T14:45:17","date_gmt":"2025-08-05T13:45:17","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=phpstorm&#038;p=579514"},"modified":"2025-08-14T16:31:00","modified_gmt":"2025-08-14T15:31:00","slug":"phpstorm-2025-2-is-now-available","status":"publish","type":"phpstorm","link":"https:\/\/blog.jetbrains.com\/fr\/phpstorm\/2025\/08\/phpstorm-2025-2-is-now-available","title":{"rendered":"PhpStorm 2025.2 Is Now Available"},"content":{"rendered":"\n<p>Along with <a href=\"https:\/\/blog.jetbrains.com\/phpstorm\/2025\/07\/laravel-idea-is-now-free\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/phpstorm\/2025\/07\/laravel-idea-is-now-free\/\">making Laravel Idea free for PhpStorm users<\/a>, this release brings improvements to the remote development experience, JetBrains AI tools, and more.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/download\/\" target=\"_blank\" rel=\"noopener\">Download PhpStorm 2025.2<\/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\/PS-social-BlogFeatured-1280x720-2x-2.png\" alt=\"\" class=\"wp-image-579702\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Junie coding agent<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">MCP support&nbsp;<\/h3>\n\n\n\n<p>Support for the <strong>Model Context Protocol (MCP)<\/strong> allows you to connect Junie to external sources like databases, file systems, and APIs. You can now add or edit the configuration for MCP servers at a global or project level in the IDE settings (<em>Tools<\/em> | <em>Junie<\/em> | <em>MCP Settings<\/em>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1260\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/junie_mcp_updated.png\" alt=\"\" class=\"wp-image-584288\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">WSL 2 support<\/h3>\n\n\n\n<p>Junie can now work with projects that are located under the WSL 2 file system&nbsp; (<code>\\\\wsl$\\...<\/code> or <code>\\\\wsl.localhost\\..<\/code> ) and opened in PhpStorm directly (via <em>File<\/em> | <em>Open<\/em>).<\/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\/junie_with_wsl2.png\" alt=\"\" class=\"wp-image-579526\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Remote development with Junie<\/h3>\n\n\n\n<p>With support for remote development environments, you can use the Junie plugin even if the IDE\u2019s backend is running on a remote host.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">30% speed increase<\/h3>\n\n\n\n<p>Junie can execute simple assignments, but it really shines when handling more complicated tasks, now with an <strong>up to 30% increase<\/strong> in prompt processing speed.&nbsp;<\/p>\n\n\n\n<p>Use <em>Code<\/em> mode to let Junie work on tasks autonomously, or switch to <em>Ask<\/em> mode<strong><em> <\/em><\/strong>to brainstorm about new features or solutions without making changes to your codebase.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/junie\/\" target=\"_blank\" rel=\"noopener\">Try Junie<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Junie on GitHub EAP<\/h3>\n\n\n\n<p>We are excited to announce the opening of the EAP program for <strong><a href=\"https:\/\/www.jetbrains.com\/junie-github\/\" target=\"_blank\" rel=\"noopener\">Junie on GitHub<\/a><\/strong>! <\/p>\n\n\n\n<p>Triggered from GitHub issues or issue comments, the Junie agent on GitHub has increased processing power and can handle multiple tasks simultaneously and without requiring the user to open the IDE.<\/p>\n\n\n\n<p>Sign up to join the Early Access Program and be the first to try Junie on GitHub.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/junie-github\/#join-waitlist\" target=\"_blank\" rel=\"noopener\">Join the waitlist<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AI Assistant<\/h2>\n\n\n\n<p>JetBrains AI Assistant has also got a major upgrade. Whether you\u2019re working online or offline, AI Assistant is now more capable, more flexible, and still free to use. <\/p>\n\n\n\n<p><em>All JetBrains AI features are available for free, with unlimited code completion, powerful local workflows, and limited cloud-based features.<\/em><\/p>\n\n\n\n<p><strong>Here\u2019s what\u2019s new:<\/strong><\/p>\n\n\n\n<ul>\n<li>Smarter completion across all supported languages, now with support for SQL, YAML, JSON, Markdown, and more.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Expanded offline flexibility \u2013 connect any OpenAI-compatible model server like llama.cpp or LiteLLM.<\/li>\n\n\n\n<li>JetBrains AI Assistant now supports image attachments in the chat when using Anthropic and OpenAI models.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/ai-ides\/#getstarted\" target=\"_blank\" rel=\"noopener\">Get started<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PHP<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Remote development in PhpStorm, now out of Beta<\/h3>\n\n\n\n<p>PhpStorm\u2019s <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/remote-development-overview.html\" target=\"_blank\" rel=\"noopener\">remote development<\/a> functionality is out of Beta in version 2025.2, which means the experience of working with remotely hosted PhpStorm projects is steadily approaching that of working with source code locally. The removal of the Beta label comes along with quality improvements to:<\/p>\n\n\n\n<ul>\n<li>Remote editing.&nbsp;<\/li>\n\n\n\n<li>Tool windows and dialogs, including the terminal, the VSC widget, <em>Search Everywhere<\/em>, and <em>Find in Files<\/em>.<\/li>\n\n\n\n<li>Support for Windows host machines via the JetBrains Toolbox App.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-video\"><video controls loop src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/remote_development.mp4\"><\/video><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Reworked PHP <em>Include Path<\/em> dialog<\/h3>\n\n\n\n<p>In PhpStorm 2025.2, we\u2019ve reworked the <em>Include Path<\/em> settings dialog to make it easier to <strong>exclude PHP library folders from indexing<\/strong> by improving navigation and search.<\/p>\n\n\n\n<p>Despite being excluded from error checks, PHP libraries are still <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/indexing.html\" target=\"_blank\" rel=\"noopener\">indexed<\/a>. On the <em>Include Path<\/em> settings page, you can exclude specific folders within PHP libraries from indexing.<\/p>\n\n\n\n<p>Now the <em>Include Path<\/em> list shows only parent directories by default, and to exclude a specific child directory from indexing, you need to select its parent in the list and click the <em>Exclude Under This Path<\/em> icon on the toolbar.<\/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\/php_include_path.png\" alt=\"\" class=\"wp-image-579551\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">PHPUnit 12 support<\/h3>\n\n\n\n<p>PhpStorm 2025.2 supports all the <a href=\"https:\/\/github.com\/sebastianbergmann\/phpunit\/blob\/12.0.0\/ChangeLog-12.0.md#1200---2025-02-07\" target=\"_blank\" rel=\"noopener\">changes and deprecations<\/a> introduced in PHPUnit 12. The IDE\u2019s warnings and inspections will help you seamlessly upgrade projects to the latest version of the testing framework.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"530\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/PHPUnit_12_deprcated_methods_short.png\" alt=\"\" class=\"wp-image-579665\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Other improvements<br><\/h3>\n\n\n\n<ul>\n<li>The <code>class-string&lt;T&gt;<\/code> type inference now properly displays the expected inferred type.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2680\" height=\"1048\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/class_t_inference_short.png\" alt=\"\" class=\"wp-image-579676\"\/><\/figure>\n\n\n\n<ul>\n<li>PhpStorm 2025.2 further improves the <a href=\"https:\/\/blog.jetbrains.com\/phpstorm\/2025\/01\/support-for-env-files\/\">.env file support<\/a> with reference-aware renaming of nested variables.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-video aligncenter\"><video controls loop src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/env_rename.mp4\"><\/video><\/figure>\n\n\n\n<ul>\n<li>Configuration options for PhpStorm\u2019s built-in server, the always-running web server for static content like JavaScript, CSS, and HTML,<strong> <\/strong>have been moved to <em>Tools<\/em><strong> <\/strong>|<strong> <\/strong><em>Web<\/em><strong> <\/strong><em>Browsers and Preview<\/em> in the IDE settings.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"3452\" height=\"2032\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/built-in-server-settings.png\" alt=\"\" class=\"wp-image-579584\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">JavaScript and TypeScript<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Experimental TypeScript-Go language server support<\/h3>\n\n\n\n<p>PhpStorm 2025.2 introduces experimental support for the new TypeScript-Go language server, bringing <strong>improved performance and modern architecture<\/strong> for TypeScript development.<br>You can enable it in your project by installing the @typescript\/native-preview package as a dependency in place of typescript.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/TypeScript-GO-min.png\" alt=\"\" class=\"wp-image-580450\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Baseline support<\/h3>\n\n\n\n<p>PhpStorm 2025.2 now displays Web Platform Baseline <strong>information directly in quick documentation<\/strong>.When you hover over a web platform API, you&#8217;ll see details about when the feature became reliably available across major browsers, based on web.dev\u2019s <a href=\"https:\/\/web.dev\/blog\/whats-new-in-web-io2025\" target=\"_blank\" rel=\"noopener\">Baseline<\/a> data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/Baseline-min.png\" alt=\"\" class=\"wp-image-580461\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Bun improvements<\/h3>\n\n\n\n<p>PhpStorm 2025.2 introduces smarter integration for Bun. When a <code>bun.lockb<\/code> or <code>bun.lock<\/code> file is present in your project, PhpStorm will <strong>automatically detect Bun and set it as the package manager<\/strong>. All relevant actions, such as running <code>bun install<\/code>, using context menu options for <code>package.json<\/code>, and resolving dependency suggestions, will default to Bun.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/Bun-package-manager-min.png\" alt=\"\" class=\"wp-image-580472\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">User experience<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><em>Parameter Info<\/em> popup improvements<\/h3>\n\n\n\n<p>PhpStorm 2025.2 introduces several improvements that make the <em>Parameter Info<\/em> popup easier to read and navigate.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/Parameter-info-popup-min.png\" alt=\"\" class=\"wp-image-580483\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Databases<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ability to attach database objects to the AI chat<\/h3>\n\n\n\n<p>The database context you provide to the AI Assistant\u2019s chat can now be more specific. Previously, only the whole schema could be attached. Now, you can <a href=\"https:\/\/www.jetbrains.com\/help\/ai-assistant\/ai-chat.html#attach_database_object\" target=\"_blank\" rel=\"noopener\">attach the database object<\/a> you need to work with \u2013 for example, a table or a view.&nbsp;<br>To attach a database object, type <code>@<\/code> or <code>#<\/code> in the input field, select or type <code>dbObject:<\/code>, then select the object you want to attach from the list.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/non-dg_20252_aia_attach_db_object.png\" alt=\"\" class=\"wp-image-579648\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">[SQLite] WSL database file path<\/h3>\n\n\n\n<p>PhpStorm now supports WSL file paths for SQLite database files.<br>This means that you can now access your SQLite database in WSL and work with it without the database file being locked for you. To do this, go to the <a href=\"https:\/\/www.jetbrains.com\/help\/datagrip\/2025.2\/data-sources-and-drivers-dialog.html\" target=\"_blank\" rel=\"noopener\"><em>Data Sources and Drivers<\/em> dialog<\/a> and use the following file path format: <code>\\\\wsl$\\&lt;os&gt;\\home\\&lt;username&gt;\\&lt;database_file_name&gt;.sqlite<\/code>. For example, \\<code>\\wsl.localhost\\Ubuntu-24.04\\home\\john.smith\\identifier.sqlite<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/07\/non-dg_connectivity_wsl_file_path.png\" alt=\"\" class=\"wp-image-580429\"\/><\/figure>\n","protected":false},"author":1413,"featured_media":589884,"comment_status":"closed","ping_status":"closed","template":"","categories":[907],"tags":[8790,477],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/phpstorm\/579514"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/phpstorm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/phpstorm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/1413"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=579514"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/phpstorm\/579514\/revisions"}],"predecessor-version":[{"id":592727,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/phpstorm\/579514\/revisions\/592727"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/589884"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=579514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=579514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=579514"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=579514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}