Releases: phpactor/phpactor
Releases · phpactor/phpactor
2024.03.09.0
Features:
Improvements:
- Show enums in LSP document symbol provider #2575 @gmli
- PHPStan show tip if as a dignostic hint if available #2512
- Docblock completion, suggest
@throws
@przepompownia - Suggest named parameters on attributes @mamazu
- Remove redundant documentation #2500 @Einenlum
- Resolve inherited generic types #2474
- Allow additional CLI arguments to be passed to php code sniffer #2465
- Clear document diagnostic cache on save #2458
- Skip parent parameters on complete constructor #2471 @mamazu
- Support generics on
@mixin
#2463 - Remove "on develop warning" service #2533
- Disable the processing of includes/requires, it doesn't work very well but
it has massive performance impact on certain projects #2580 - Include project PHP and runtime version and LSP status
- Add
iterable
"generic"@param
in docblock #2585 - Improved diagnostic engine #2584
- Ongoing windows compatiblity effort #2567 #2572 #2570 @MatmaRex
- Ignore unnecessary files in gitexport #2570 @zonuexe
- Improve ANSI test compatiblity #2521 @gerardroche
- More snippet support #2515 #2508 @przepompownia
- Add completion for
@throws
#2509 @przepompownia
Bug fixes:
- Fix completion of constants in enums #2541 @Eviljeks
- Fix
renderException
call in bin/phpactor #2548 @MatmaRex - Psalm: fix exception handling #2587 @przepompownia
- Do not generalize generated return types (i.e. false instead of bool) #2588
- Fix diagnostic process concurrency and do not lint outdated files #2538
- Upgrade
amp/process
to fix #2516 thanks to @gerardroche - Fix division by zero edge case
- Fix crash if referenced file no longer exists on class rename #2518
- Fix detection of import used relatively in an annotation #2539
- Fix PHAR crashing issue on PHP8.3 #2533
- Fix UTF-16 conversion for LSP #2530 #2557
- Fix support for Attributes on readonly classes #2493
- Fix
$this
undefined var false positive in anon. class #2469 @mamazu - Fix
$argv
undefined var false positives #2468 @mamazu
Documentation:
2023-12-03: the one with PHP 8.1
Bug fixes:
- Support LSP document symbols in traits #2446 @LizheNing
- Fix null variable name crash #2443
- Fix frame merging of include/require #2391
- Fix enum representation in method generation #2395
- Fix enum cases() not existing false-positive #2423
- Fix incorrect enum import #2400
- Fix undefined var false positive for arra unpacking #2403
- Fix autoloading class conflcits with test files #2535 @gerardroche
- Fix enum renaming in legacy renamer #2445
- Fix enum renaming on "new" renamer #2445
- Fix crash on resolveItem() caused by race condition (?) #2434
- Fix false positive for undefined var where vardoc not counting as variable definition #2437
- Render variadics as variadics in help, not as arrays #2448
- Fix representation of int-range min/max #2444
- Render default value for enum when filling object #2441
Features:
Improvements:
- Generate methods on enims #2416 @mamazu
- PHPStan: Support setting custom config path and memory limit @ungrim97
- Exclude tests from archive #2433
Breaking changes:
- Drop support for PHP 8.0. Minimum version is now 8.1
2023.09.24
Features:
- PHP Code Sniffer (
phpcs
) extension #2353 @bart-jaskulski - Subscript array-shape completion #2339
Bug fixes:
- Fix crash with
php-cs-fixer
when using strict types rule #2348 - Fix
null
error (and improve type safety) in the docblock parser #2379 - Fix undefined-var false positive for undeclared variables that have
@var
#2366 - Fix undefined-var false positive for pass by ref (again) #2361
- Do not crash lanugage server if LSP header cannot be parsed (log error
instead) #2373
Improvements:
2023.08.06-1 bug fixes
Bug fixes:
- Limit number of threads Psalm uses to 1 by default
- Update file watching lib to handle "process already exited" errors
2023.08.06
Improvements:
Bug fixes:
2023.06.17-2
Bug fixes:
- Remove hard dep on dev dependency for index clean command (Symfony Finder) #2304
2023.06.17-1
Bug fixes:
- Do not report globals or super globals as undefined #2302
2023.06.17
Features:
- Diagnostics and code action for fixing missing
@implements
and@extends
#2112 - Diagnostic for undefined variables #2209
- Code action to suggest fixes for undefined variables (in case of typos) #2209
- PHPUnit: code action for adding
setUp
/tearDown
#2180 @mamazu - Making the completion label formatter configurable #2277 @mamazu
- Auto-reindex: unconditionally reindex modified files every N seconds
(default 5 minutes) - work around for missed file modification
notifications.
Improvements:
- Revised getting started documentation #2282
- Support indexing PHP files that don't have a
.php
extension #2296 - Allow language server auto-configuration to be disabled #2159
(language_server_configuration.auto_config
) - Symfony: show and consider non-public services by default (e.g. in tests it's
possible to retrieve non-public services) #2263 - Support traits in enums #2256
Bug fixes:
- Fix enum case completion #2284
- Fix error handling for responses from language client #2283
- Do not show named parameters after string literal argument #2259
- Fix "instanceof" behavior for statically reflected classes #2273
- Fix behavior when user cancels type selection on goto type #2270
- Fix docblock parsing of
array<'quoted'|'strings'>
#2264 - Fix constant declaration indexing with
define
#2249 @mamazu - Fix use of class-string variable as static scope resolution qualifier #2238
- URL decode root URI - fixes issues with special chars in path #2228
- Do not deduplicate suggestions of different types (e.g. prop/method with same name) #2214
- Fix list assignment #2226
- Support parsing interface clause on enums #2220
- Do not make fully qualified name usage relative in class-mover #2208 @mamazu
- Fix resolution of
self
type (esp. in relation to traits) #2116 - Fix different virtual member types with the same name replacing eachother #2108
- Specify maximum size (255 chars) for string literal types #2144
- Fix docblock parser with
$this
when used as generic argument #2092
2023-04-10
See the blog post
Features:
- Show references to new objects when finding references to
__construct
method #2194 - Support for inlay hints #2138
- Deprecation diagnostics #2120
- Auto configuration - automatically suggest and apply configuration #2114
- Transform to "promote" unassigned consturctor properties #2106
- Hierarchical namespace segment completion #2070
- Completion for promoted property visiblity #2087
- Option
language_server.diagnostic_outsource
to outsource diagnostics in separate process #2105
Bug fixes:
- Also use in-memory files when enanching indexed records #2187
- Prophecy: Do not crash when used in trait #2129
- Prophecy: fixing chaining of methods via.
getObjectProphecy
#2122 new class-string<Foo>
now resolves tonew Foo
#2065- Fix extract method within trait #2076 @mamazu
- Do not attempt to index classes whose names are reserved words #2098
- Fix typo in LanguageServerExtension::PARAM_FILE_EVENTS resulting in typo in documentation
- Fix parsing array types in
@param
Tags in doc blocks #2172
Improvements:
- Only show completion suggestions for real attributes #2183, #2100 @mamazu @przepompownia
- Code action and formatting handlers now send progress notifications #2192
- Invalidate diagnostics cache only when document changes #2191
- Optimize analysis for scopes with many many assignments #2188
- Made some heavy blocking operations non-blocking (e.g. diagnostics, code
actions). - ⚠ Removed frame sorting which increases radically in some cases, but may
also cause regressions #2179 - Psalm: Support for overriding the error level #2174
- Generating constructor at the top of the file #2113 @mamazu
- Include (complex) docblock params when generating method
- Take into account named parameters when "guessing" parameter names #2090
- Show full FQN for classes in hover #2081
- Upgrade to 3.17 of the language server protocol #2082
- Facilitate changing visiblity on promoted properties @mamazu
- Allow generation of constructor for Attributes.
2023-01-21
Bug fixes:
- Allow class completion within constant declaration in class #1985 @przepompownia
- Do not suggest return type on
__destruct
#1992 - Do not report Prophecy methods as "not found" #2006
- Do not add NULL to type list (fixes search bug) #2009
- Create a real package for the tolerant-parser fork and use it #2033
- Also highlight use statements when hovering on class #2039 @mamazu
- Fix priotity of "internal" stub locator - facilitating enum completion #2040
- Require posix extension #2042 @dacianb
- Fix evaluation of replacement assignments #1705
- Fix crash on missing token in Indexer #2049 @vlada-dudr
- Fix missing compact use name false positive #2052
- Fix
class-template<T>
when not in 1st arg position #2054
Features:
@param
docblock generation- Reintroduce the PHPUnit extension
- Support integer range type e.g.
int<0, max>
#2024
Improvements:
- Support the Psalm cache #2046 @gbprod
- Support completion inside match expression #2051 @przepompownia
- Fixed typos in documentation #2050 @d-danilov
- Psalm Extension: allow
info
diagnostics to be hidden #2032 @gbprod - Better docblock parsing and formatting #2004
- More liberal support for vendor tags #2011 @ging-dev
- Fix nested template type arguments #2016
- Fix importing of nested types #2009
- Reverts #1974 - which made the situation worse rather than better.
- Change default WR cache TTL from 5 seconds to 1 second to avoid race with
diagnostics timeout. - Add return tags to existing docblocks #1995
- Naive support for attribute completion #2001 @przepompownia
- Support union type from class-string variadic generic