Changelog History
Page 1
-
v2022.09.11 Changes
๐ Bug fixes:
- [wr] Inconsistent type resolution - removed node level cache #1673
- [in] Fix exception when indexed file has no path #1643
- [wr] Do not complete constants on class instance #1614
- [wr] Include virtual properties in class members #1623
- [wr] Fix false positive for virutal method not existing #1603
- [wr] Ignore exceptions (permission denied f.e.) when traversing files #1569
- [wr] Fix resolutin of virtual method
- [ct] Fix missing properties refactor does not import class #1534
- [ct] Fix false diagnostic for missing method #1500
- [dl] Fix docblock definition location at class level docblocks
- [idx] Do not try and use non-tokens for property names #1317
- [cb] Fix rendering of array values in generated code
- [wr] Fix arrow function completion #1303
- [dl] Fixed off-by-one error with plain text goto definition
- [fw] Ensure inotify is stopped before shutting down
- [wr] properly deconstruct array in foreach
- [lsp] import unresolved classes refactoring: Ensure only unique names are shown when asking user to select an import candidate
- [lsp] ensure fully qualified filename is used for generate method refactoring #1313
- [wr] detect branch determination with throw expression
- [cr] add missing properties: correctly infer type from call expressions
- [filesystem] Fix "too many files open" issue #1376
- [class-mover] Fix long standing bug with aliased imports being duplicated on class move and other strange issues.
- [lsp] Fix call to properties() on non-class in generate accessors provider.
- [lsp] Fix unresolvable classes not being listed in code actions
- [cb] Do not apply HTML escaping when rendering code templates
- [wr] Promoted property docblock types not picked up #1334
- [completion] Limit results from the search index (improve search performance significantly)
๐ Improvements:
- [cmp] Show partial namespace to disambiguate class name suggestions
- [wr] Markdown formatted member completion documentation
- [ls] publish diagnostics on open and update
- [ct] Add missing properties for array assignments #1640
- [cmp] Provide variables from parent frame for anonymous use #1602
- [ref] Increase reference finder timeout to 1 minute by default #1579
- [cmp] Improved contextual completion
- [rn] Fixed numerous issues
- [rename] Fixed numerous issues
- [compl] Allow named param completion on functions
- [wr] Infer return type for generators
- [lsp] Show Phpactor version info in initialize result @lalanikarim
- [ls] Fixed class completion performance
- [ct] Add option to disable importing global functions
- [cmp] (Better) support for completing imported names #1490
- [wr] reset,array_shift and array_pop stubs
- [wr] improved ternary support
- [log] Include a channel prefxi in log messages
- [wr] require
ext-pnctl
(language server would crash otherwise) - [wr] handle static properly #967
- [ls] include list of diagnostic providers in status report
- [ct] add retutn type to generated method if it would immediately return
- [wr] support array [] addition operator
- [wr] support in_array type assertion
- [wr] support for casts
- [wr] if statement branches
- [wr] inline type inference
- [wr] infer param types from function docblock
- [wr] support for Closure as a type #1413
- [wr] expressions are evaluated as types
- [wr] literal types and internal refactorings
- [ls] Show error message in client if service stops unexpectedly with an error
- [code-transform] Faithfully reproduce documented types in generated code
- [docblock] New docblock parser to facilitate parsing complex types
- [hover] Improve "offset" hover (mostly related to showing variable info)
- [templates] Include templates for creating new interfaces, traits and enums
- [wr] Resolve type from array access
- [cb] Preserve
?
operator as distinct from a union type - [wr] Support for class-string type (not for type inference however)
- [completion + location] Better support for union types
- [cs] Updated CS and converted property docblock types to actual types
๐ Features:
- [-] Better constant suppoer - indexing, goto def, find references, hover, etc.
- [cmp] Support absolute name completions
- [ls] Lazily resolve documentation for completion items
- [ct] Generate constructor refactoring
- [ct] Fill object refactoring
- [ct] Remove unused imports diagnositcs and code transformation #1758
- [wr] Added native WR single-pass diagnostics #1700
- [cmd] Index clean command #1691 @mamazu
- [cmp] (re?)support completion on parent:: #1643
- [cb] Render types based on PHP version #1655
- [wr] Support
@property-read
- [wr] Support for mixins #990
- [rf] Support for constants, properties and promoted properties
- [compl] Docblock completion
- [wr] Support for intersection types
- [rf] Union type support for goto definition
- [ct] Add missing PHP return types
- [wr] Support for inference for
array_map
, and arrow and anonymous functions - [ct] Add missing @return type docblocks code transformation
- [cmp] Explicitly enable/disable completors and disable
keyword
completor by default. - [wr] Support
iterator_to_array
- [wr] Handle constant glob to union types (
@return Foo::BAR_*
). - [lsp] show class category in offset hover info
- [lsp] jump to types in a union type
- [wr] Type combination
- [wr] Support for type assertions via. is_*, instanceof etc
- [wr] Array shape type support (types and completion)
- [wr] Support for variadics
- [lsp] Send rename file request to client when renaming a PSR class @przepompownia
- [wr] Initial support for generics #1382
- [lsp] Added generate accessors code action
- [lsp] Added extract constant code action
- [extension] Removed the extension manager.
- [extension] PHPStan and Psalm extensions are now included by default.
- [lsp] Code action to complete constructor with public properties
- [php] Bump min. PHP version to 7.4
- [php] Fix PHP 8.1 deprecations
- [config] JSON schema support
- [cli]
phpactor config:init
command to create or update config (to include JSON schema location) - [completion] Enum support (requires 8.1 PHP runtime)
- [reference-finder] Enum support (requires 8.1 PHP runtime)
- [php8.1] Disable deprecation warnings unless
PHPACTOR_DEPRECATIONS
provided.
-
v0.18.0 Changes
January 03, 2022๐ Features:
- [language-server] Import all names refactoring - @dantleech
- [language-server] Extract expression - @BladeMF
- [language-server] Extract method generation - @BladeMF
- [language-server] Initial support for method generation - @BladeMF
- [langauge-server] Support for renaming files (LSP 3.16) - @dantleech
- [language-server] Ability to use client file events where available - @dantleech
- [completion] Experimental support snippets for built-in functions - @weeman1337
- [completion] Experimental support snippets for class constructos - @weeman1337
- [completion] Added
experimental
flag - [completion] Added flag to enable / disable snippets entirely
- [language-server] Ensure workspace is indexed before finding references - @dantleech
- [language-server] Support for renaming class names (short only) - @dantleech
- [language-server] Rename class members and variables - @BladeMF, @dantleech
- [language-server] Basic support for workspace symbols.
- [language-server] Added basic PHP linting by default.
๐ Improvements:
- [completion] Improve diagnostic message for #1245 - @dantleech
- [language-server] Allow hover template paths to be customized - @BladeMF
- [language-server] Show warning in client if extra config keys present - @dantleech
- [code-transform] Improved performance for unresolvable class name finder - @dantleech
- [code-transform] Improved information in name-not-found exception - @weeman1337
- [language-server] Do not show "class not found" diagnostics by default - @dantleech
- [worse-reflection, etc] Update to latest tolerant parser lib to support PHP 8.1 syntax
๐ Bug fixes:
- [worse-reflection] Fix handling of non-decimal integers - @Slamdunk
- [worse-reflection] Fix variable detection in closures - @BladeMF
- [completion] Fix snippet method completion #1172 - @BladeMF
- [worse-reflection] Fix PHP8.0 deprecation warnings - @gregoire
- [completion] Tests fail due to jetbrain stubs changes - @weeman1337
- [worse-reference-finder] Do not know how to create class from type "NULL" #1246 - @dantleech
- [worse-reflection] Property context class not propagated
-
v0.17.1 Changes
March 21, 2021๐ Features:
- [completion] Support Attribute Completion
๐ Bug fixes:
- [language-server] Diagnostics do not tolerate NULL document version on save #1220
- [worse-reflection] Unhandled exception thrown when variable name is "NULL"
- [language-server] Unhandled exception when function not found on hover
-
v0.17.0 Changes
February 06, 2021๐ Features:
- [completion] Support for PHP named parameters - @dantleech
- [completion] Basic Doctrine annotation completion support - @elythyr
- [completion] References are sorted alphabetically - @elythyr
- [completion] Show warning character if method or class is deprecated
[completion] Sort class names and fucntions according to proximity to current file by default - @dantleech
[composer] Class map only mode by default (do not register autoloader at all, do not include files)
[file-watcher] Experimental support for watchman
[indexer] CLI command for index search (mainly for debugging)
[indexer] PhpStorm stubs are now indexed
[indexer] Show memory usage and limit in progress notification.
[language-server] Import class/function code action and diagnostics
[language-server] Transform code actions and diagnostics (complete constructor, implement contracts, fix class name and add missing properties)
[completion] Keyword completion - @BladeMF
[language-server] Create class code actions - @dantleech
[phpactor] Update extensions after install composer hook - @dantleech
๐ Improvements:
- [worse-reflection] Support for list foreach
- [worse-reflection] Various issues around NULL and exception handling
- [worse-reflection] Improved frame resolution performance by 99.5x - @dantleech
- [worse-reflection] Fixed mixed up start/end positions in symbol resolver - @BladeMF
- [language-server] Update classes on workspace update - @BladeMF
- [language-server] New LSP protocol and general refactoring - @dantleech
- [language-server] Support document symbols (f.e. showing code outline for document)
- [language-server] Support symbol highlighting
- [language-server] Support for indexing constants
- [code-tranform] Generated accessors automatically
ucfirst
the property name when prefix is used. - @einenlum - [worse-reflection] Improved inference for property types - @elythyr
- [worse-reflection] Include virtual members from traits - @scisssssssors
- [code-tranform] fix invalid missing property diagnostic (#1126) - @elythyr
- [code-transform] Improve performance for missing properries - @dantleech
๐ Bug fixes:
- [code-transform] Catch unhandled exceptions - @dantleech
- [text-document] valid php class names not detected for word-at-offset
- [code-tranform] Return types not considered for unresolved names - @dantleech
- [completion] Avoid reflection on NULL
- [scf] Fix support for moving and removing folders - @Lumnn
- [indexer] Fix indexing of static properties - @BladeMF
- [completion] Fix signature help in nested symbols - @BladeMF
- [worse-reflection] Static properties not resolved - @BladeMF
- [lanaguge-server] Correctly highlight use statements against qualified names - @dantleech
- [language-server] Fix occasional class-not-found error on code transform (due to incorrectly formatted path)
- [worse-reflection] Do not consider "iterable" as an FQN - @elythyr
- [code-transform] Fix trailing line on class import - @elythyr
- [code-transform] Fix importing class names in docblocks - @elythyr
-
v0.16.2 Changes
July 03, 2020๐ Improvements:
- ๐ [worse-reflection] Support for virtual methods in interfaces - @dantleech
- [code-transform] Fix regression with importing from root namespace
- ๐ [dev] Support for Composer 2.
-
v0.16.1 Changes
June 09, 2020๐ Improvements:
- [worse-reflection] Support for virtual methods in interfaces - @dantleech
- [code-transform] Fix regression with importing from root namespace
-
v0.16.0 Changes
June 09, 2020๐ See blog post
2020-06-09 (0.16.0)
๐ Features:
- ๐ [vim-plugin] Ability to set custom project root strategy (#1027) - @przepompownia
- [indexer-extension] Workspace reference finder (classes,functions,members) - @dantleech
- ๐ [worse-reflection] Support "final" keyword - @dantleech
- [language-server-hover] Show "final" keyword on class hover - @dantleech
- ๐ [language-server-hover] Show inherited method documentation - @dantleech
- [language-server-code-transform] Add command to import class - @dantleech
- [language-server-completion] Automatically import class on completion confirm - @dantleech
- [code-transform] Consider current class as a potential conflict for imports - @dantleech
- [completion] Indexed class name and function completion - @dantleech
- ๐ [indexer-extension] Support "deep references" (search over all implementaions) - @dantleech
- [composer] Enable disbaling of autoloader inclusion via.
composer.enable
- @dantleech - [lanaguage-server-completion] Auto-import functions - @dantleech
๐ Improvements:
- โก๏ธ [code-builder] Removed functionality to "update" parameters: was very
๐ buggy. Now only new parameters will be added when updating methods via.
generate method. - [language-server-bridge] Service to convert Phpactor Locations to LSP locations - @dantleech
- โก๏ธ [code-transform] Class import updates context name on alias - @dantleech
- ๐ [documentation] Generate the configuration reference - @dantleech
- [completion-worse] Allow completors to be disabled via
completion_worse.disabled_completors
- @dantleech - ๐ [indexer-extension] Validate search results (remove from search index if invalid).
- [language-server] Exit session immediately if NULL given as CWD (instead of crashing).
- [container] Adds command for introspecting the container (
container:dump
) - @dantleech - [indexer-extension] Increase priority of indexer source-locators (they should come before the composer locators) - @dantleech
- [language-server] Show explicit meassage when indexer dies
๐ Bug fixes;
- ๐ [completion] Completion limit of 32 imposed in 0.15 removed.
- [ampfs-watch] Inotify watcher not reporting error when out of available
watchers
(phpactor/[email protected]) - [ampfs-watch] Buffered watcher not allowing errors to bubble up
(phpactor/[email protected]) - [language-server] Ensure that
result
key is missing whenNULL
(some
clients require it) - @dantleech - ๐ [code-transform] Fixed occasional whitespace issues when importing classes
- ๐ [language-server] Support for LSP commands
- ๐ [indexer] Fixed crash with empty class name
-
v0.15.4
May 03, 2020 -
v0.15.3
May 03, 2020 -
v0.15.2
May 03, 2020