January 2026 (v1.88.18322)

This release updates compatibility with the latest versions of Visual Studio 2022 and Visual Studio 2026, and introduces new IntelliSense, code diagnostics, and refactoring features.

Release Highlights

PHP Language & Syntax Support

  • Support for PHP 8.5 clone used as a function with the new syntax and an optional argument.
    #2478

  • Support for PHP 8.0 dereferenceable string syntax.
    #2479

  • Fixes syntax errors involving Echo used as part of a namespace name.

  • The empty-string type hint is now fully recognized.


Type Analysis & Code Diagnostics

  • Improved type inference for is_numeric().

  • Multiple negative @phpstan-assert-if-* annotations using the empty-string type hint are now resolved correctly.
    #967

  • Fixed a false warning when accessing an array item of a structured array type after it has been modified.
    #969

  • Added a diagnostic for always-false strict comparisons.
    #971

  • More detailed deprecation checks for legacy constructors.

  • Fixed a false deprecation warning for ReflectionMethod::__construct().

  • Fixed false errors when using member fields or anonymous functions in constant expressions.
    #955,
    #958

  • Fixed an invalid “unnecessary parentheses” hint in and / or conditions.
    #2467

  • Improved override checks for enum definitions with complex inheritance hierarchies.
    #2460

  • Improved unknown-type checks for union and intersection types in typed properties.
    #2461

  • Fixed incorrect code flow expansion caused by @phpstan-assert.
    #2459

  • Unused function declarations are no longer reported for __construct and other magic methods.
    #950


Static Analysis Annotations & Suppression

  • The @suppress (or @suppresswarnings) tag now recognizes selected PHPMD codes.

  • Support for @psalm-assert-if-true and @psalm-assert-if-false.

  • Support for @phpstan-assert and @psalm-assert with type hints prefixed by =, as used by PHPUnit’s assertInstanceOf().

  • The @phpstan-ignore-line annotation is now respected.


Refactoring, Code Actions & Formatting

  • New quick refactoring to replace array_merge() with array spread syntax.

  • New quick refactoring to clean up unnecessary parentheses around new expressions in PHP ≥ 8.4.

  • New quick refactoring to convert anonymous functions into the new callable syntax.

  • Fixed quick fixes inside attributes.

  • Fixed a code action that incorrectly converted code to an arrow function containing the object operator (->).

  • The Align Consecutive Assignments feature now works correctly inside closures and anonymous functions.
    #2442

  • Arrow functions (fn) are no longer suggested inside constant expressions.
    #949

  • PSR-4 class name fixes are no longer suggested when the file name is not a valid class identifier.


IntelliSense & Code Completion

  • Improved completion of variable names inside the compact() function.

  • Completion of array keys when defining arrays inside function calls with structured array parameter hints.
    #942

  • Auto-import now respects existing use groupings and adds new imports into the appropriate group.

  • Correctly resolves references to methods defined in trait adaptation blocks, including renamed methods.


Framework & Tooling Support

  • Improved library support for CodeIgniter 3 projects.

  • Enhanced CI3 support by adding dynamic properties to CI_Controller based on loaded libraries.

  • Fixed broken type inference when a method in a Composer package returns self but is only annotated in a base interface.
    #941

  • Respects generated _ide_helper, _laravel_idea, and _laravel_ide files in diagnostics.
    #974,
    #2486


Testing & Documentation

  • Inline PestPHP test case runner support.
    @MrPunyapal

  • Updated multi-language PHP manual.


Diagnostics for Unoptimized Special Compiler Functions

  • New diagnostic PHP6616 reports calls to special compiler-optimized functions that are not imported into the current scope and therefore cannot be translated into more efficient opcodes.
    #2438

October 2025 (v1.88)

Welcome to the October 2025 release of PHP Tools for Visual Studio!
Version 1.88 introduces significant improvements to IntelliSense, expands the library of Code Analysis rules, adds full support for PHP 8.5 syntax, enhances the Blade and mixed HTML editors, and delivers numerous stability and performance updates across the board.


Visual Studio 2026 Support 🟣

Exciting times are ahead — Visual Studio 2026 is here!
We’re delighted to announce that PHP Tools is now fully compatible with this upcoming major release of Visual Studio. We have worked extensively to ensure seamless integration, a smoother experience, and better overall performance when developing PHP applications in the next-generation IDE.

vs2026 splash

You can try Visual Studio 2026 today as a pre-release through the Visual Studio Insiders Program. We’ll continue to refine compatibility as Microsoft finalizes the release, ensuring PHP developers can enjoy a fully supported and modern environment right from day one.


PHPUnit 10–12 & Pest Framework

This version brings major upgrades to the PHP Test Explorer, extending compatibility with the latest testing frameworks and features. PHP Tools now supports PHPUnit versions 10, 11, and 12, along with full compatibility for the Pest testing framework.

pest tests in VS

Tests using data sets are now properly recognized, and their individual executions are displayed as separate results within the Test Explorer, making it easier to analyze test coverage and pinpoint issues. In addition to these new capabilities, we’ve improved the overall stability and reliability of test discovery and execution, providing a smoother, more consistent experience when running or debugging your PHP tests.

CodeIgniter 3 & 4 IntelliSense

The release adds basic support for the CodeIgniter 3 magic. Dynamic controller properties from loaded classes and models, models and views name completion and navigation, and more specific type inferring and code diagnostics. The next update will add support for libraries as well!


IntelliSense Enhancements 💡

Our IntelliSense engine has received extensive improvements, many inspired by hundreds of suggestions and reports from our community — thank you for your incredible feedback! IntelliSense is now faster, smarter, and more deeply aware of modern PHP frameworks.

Pest Test Code Completion

Compatibility with Pest and Laravel has been enhanced to deliver more precise completions for $this in Pest tests, Laravel models, facades, and helpers, as well as more accurate diagnostics. We’ve also improved support for CodeIgniter 3, allowing better type inference for controllers and their properties. The release adds dedicated support for the OXID framework as well, with smarter type detection via the oxNew() factory function.

CI3 completion

Beyond framework-specific updates, IntelliSense completions now appear faster and more contextually relevant, helping developers write correct, expressive PHP code with minimal effort.


Blade Editor & Mixed HTML Editor

Editing Blade templates and mixed PHP, HTML, CSS, and JavaScript files has become significantly more reliable and accurate. We’ve fixed several complex combinations of embedded CSS, JavaScript, and PHP code that could previously interfere with syntax highlighting or IntelliSense results.

blade completion

In addition, this version introduces support for the Blade @use directive, which is now properly highlighted and integrated into IntelliSense. Classes imported using this directive are automatically recognized throughout the rest of the page, ensuring a smooth, cohesive editing experience when working with modern Laravel templates.

Blade @use dirctive


Code Diagnostics & Refactorings 🧠

Version 1.88 greatly enhances our Code Diagnostics and Refactoring capabilities. Several new quick refactorings have been added, making it easier to simplify and clean up your code with just a few keystrokes.

interpolated string refactoring

We’ve introduced a wide range of new diagnostics that identify PHP 8 compatibility issues and common coding pitfalls, helping you modernize your codebase efficiently. The diagnostics engine is also fully compatible with the new PHP 8.5 syntax, including the pipe operator (|>), ensuring full analysis coverage for the latest language features.

pipe operator

For a complete overview of all available diagnostics, you can refer to the official documentation at docs.devsense.com/vs/code%20validation/diagnostics/.


Other Improvements

This release also includes many smaller enhancements and fixes. We’ve extended the existing Code Analysis library with new rules for modern PHP syntax and coding best practices. Support for PHP 8.5 has been expanded to include its newest constructs and attributes, and several reported issues have been addressed to ensure a smoother and more stable development experience.


Thank You

A massive thank-you to everyone who shared feedback, reported bugs, suggested improvements, and support us through the premium licenses. Your support continues to drive PHP Tools forward, helping us make every release better than the last.