Skip to content

release 0.5.6 - #1258

Open
skolkin-worker wants to merge 14 commits into
VKCOM:masterfrom
skolkin-worker:master
Open

release 0.5.6#1258
skolkin-worker wants to merge 14 commits into
VKCOM:masterfrom
skolkin-worker:master

Conversation

@skolkin-worker

@skolkin-worker skolkin-worker commented Jun 10, 2026

Copy link
Copy Markdown

Summary

  • Improve type narrowing for chained && checks, loose null comparisons (== null / != null), and guard if statements with return/continue (not only instanceof)
  • Limit truthiness guard propagation so conditions like if (!$x) do not affect other checkers
  • Fix git diff mode: resolve same-file method forward references (e.g. $this->otherMethod() defined below) when the global index is stale, while keeping argument type checks
  • Update copyright holder to VK LLC
  • Bump version to 0.5.6 and sync composer-get downloader versions (including aarch64 arch detection)

Test plan

  • make test — golden tests updated for improved narrowing; regression test for diff mode same-file method calls
  • make build — binary reports version 0.5.6
  • make release — archives built for linux/darwin (amd64+arm64) and windows

ivan-smirnov-l and others added 10 commits June 10, 2026 10:59
Fix false positives in null-safety when types are narrowed by && conditions,
loose null comparisons, and return/continue guard patterns.
Bump version, sync composer-get downloader versions, and recognize aarch64 as arm64.
Limit VarImplicit guard propagation to null/false, instanceof, and is_*
checks so truthiness conditions like if (!$x) don't affect other checkers.
Pre-register method signatures from the file being linted so forward
references like $this->otherMethod() resolve when the global index is
stale. Keep argument type checks by parsing full signatures without
duplicate keywordCase diagnostics.
linter:fix null-safety narrowing in short-circuit conditions
Bump version to 0.5.8, update golden test expectations to remove
false-positive notNullSafety warnings fixed by array type improvements.
Builds binaries for all 5 platforms and creates a GitHub release
on tag push (v*) or manual dispatch.
@skolkin-worker
skolkin-worker requested a review from a team as a code owner July 14, 2026 12:10
Fixes macOS race detector crash (signal: abort trap) caused by Go 1.21
on macOS 14+, and resolves Node.js 20 deprecation warning.
DeleteMetaForFileNonLocked was unconditionally deleting classes from
allClasses when a file was re-indexed, even if the current definition
came from a longer source (e.g. PHP stubs). This caused stub definitions
like \Throwable to be replaced by shorter polyfills (e.g. Codeception's
empty `interface Throwable {}`), leading to false undefinedMethod errors
for getMessage(), getFile(), getLine(), etc.

The fix applies the same Pos.Length check already used for functions.
Fixes linux-amd64 binary being dynamically linked when built on
ubuntu-latest CI (CGO enabled by default on native platform). Manual
releases were built on macOS where cross-compiling auto-disables CGO.
Fixes Node.js 20 deprecation warning on GitHub Actions runners.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants