diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
index cfc9422..e5abf8e 100644
--- a/.github/workflows/pull_request.yml
+++ b/.github/workflows/pull_request.yml
@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- php-versions: ['8.0', '8.1', '8.2']
+ php-versions: ['8.1', '8.2', '8.3', '8.4']
name: PHP ${{ matrix.php-versions }}
steps:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 388323a..fb9616f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [1.4.1] - 2025-01-29
+### Removed
+- Dropped support for PHP 8.0
+
+### Added
+- Inspections - and thus support - for PHP 8.3 and 8.4
+
## [1.4.0] - 2022-12-09
### Added
- Version output to `codeowners --version`
diff --git a/composer.json b/composer.json
index c79ea84..8195ce8 100755
--- a/composer.json
+++ b/composer.json
@@ -4,7 +4,7 @@
"type": "project",
"license": "Apache-2.0",
"require": {
- "php": "^8.0, <8.3",
+ "php": "^8.1",
"symfony/console": "^6.0",
"timoschinkel/codeowners": "^2.0",
"symfony/finder": "^6.0"
@@ -18,7 +18,7 @@
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "^4.2",
+ "vimeo/psalm": "^6.0",
"phpunit/phpunit": "^9.4",
"mikey179/vfsstream": "^1.6",
"phpspec/prophecy-phpunit": "^2.0"
diff --git a/psalm.xml b/psalm.xml
index 4e4c4f6..9d917d4 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -49,5 +49,7 @@
+
+
diff --git a/src/Command/ListFilesCommand.php b/src/Command/ListFilesCommand.php
index 40c2d76..06e310e 100644
--- a/src/Command/ListFilesCommand.php
+++ b/src/Command/ListFilesCommand.php
@@ -116,7 +116,8 @@ private function normalizePaths(array $paths): array
// not support `realpath`.
return array_map(
function (string $path): string {
- return realpath($path) ?: $path;
+ $realpath = realpath($path);
+ return $realpath !== false ? $realpath : $path;
},
$paths
);
diff --git a/src/Command/ListUnownedFilesCommand.php b/src/Command/ListUnownedFilesCommand.php
index 1ac918b..36b25ba 100644
--- a/src/Command/ListUnownedFilesCommand.php
+++ b/src/Command/ListUnownedFilesCommand.php
@@ -106,7 +106,8 @@ private function normalizePaths(array $paths): array
// not support `realpath`.
return array_map(
function (string $path): string {
- return realpath($path) ?: $path;
+ $realpath = realpath($path);
+ return $realpath !== false ? $realpath : $path;
},
$paths
);
diff --git a/src/FileLocator/FileLocatorFactory.php b/src/FileLocator/FileLocatorFactory.php
index a52eb96..f17ecf1 100644
--- a/src/FileLocator/FileLocatorFactory.php
+++ b/src/FileLocator/FileLocatorFactory.php
@@ -8,7 +8,7 @@ final class FileLocatorFactory implements FileLocatorFactoryInterface
{
public function getFileLocator(string $workingDirectory, string $specifiedFile = null): FileLocatorInterface
{
- return empty($specifiedFile) === false
+ return $specifiedFile !== null
? new SpecifiedFileLocator($specifiedFile)
: new SearchFileLocator($workingDirectory);
}