@weirdan and added a general error handler in (#5260) that converts notices/warnings to exceptions
Fix autocompletion in PHP 7.3
This used some extra arguments in preg_replace_callback that were only added in PHP 7.4. Also @orklah improved bit-shift operation return types (#5233)
Improve autocompletion for functions
This release improves language server behaviour for autocompletion, and fixes some caching bugs triggered by invalid PHP.
Also @VincentLanglet renamed some stubs to avoid conflicting with PHPStorm (#5213)
Fix PHP 7.1-7.2 builds
4.5.0 introduced syntax incompatible with PHP 7.2, this fixes it – thanks to @drealecs, and @weirdan who prevented future regressions.
fixes a possible infinite loop with some generic instantiation (#5211)
adds completions for function names thanks to @joehoyle (#5128)
@bdsl added detection of property type variance in #5131. Non-invariant property types causes a fatal error if the property types are specified in PHP code, but can also signal issues with your code if they're specified in docblocks. Psalm has two separate issues for this, NonInvariantPropertyType and NonInvariantDocblockPropertyType.
Taint Analysis@adrienlucas added an option to dump the taint flow graph for debugging purposes (#5080)
Language Server@joehoyle added support for static class method completion (#5085) and completions for array keys (#5105) and constants (#5115)
Thanks to @weirdan, Psalm now emits exit code 1 only when it has internal issues. When it finds issues with your code it emits code 2 (#5087)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Automerge options (never/patch/minor, and dev/runtime dependencies)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
Bumps vimeo/psalm from 3.6.4 to 4.6.2.
Release notes
Sourced from vimeo/psalm's releases.
... (truncated)
Commits
bca09d7
Fix style issues474ebf9
Fix #5229 - new SomeTemplatedClass should expand out params even if none passedd484199
Fix #5279 - don’t convert get_class($templated) into dependent typeb2c3583
Remove mistakenly-duplicated code for get_* functions924f6b6
Propagate mutation removal up the context parent tree71064cf
fixed typo in contributing/index.md (#5281)5169bd7
bugfix: do not throwConfigException
when missing files are allowed (#5280)fff32d0
added test for multiline templates (#5282)ed6fdaa
[Doc] Show how to install the phar by direct download (#5274)e59670e
Add documentation to LSP (#5267)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Automerge options (never/patch/minor, and dev/runtime dependencies) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)