diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1d078fc..4d15a7c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,13 +21,13 @@ jobs: # Docs: setup: [basic, lowest] laravel: [default] coverage: [yes] - php: ['8.0', '8.1', '8.2'] + php: ['8.1', '8.2', '8.3'] steps: - name: Check out code uses: actions/checkout@v4 - name: Setup PHP, with composer and extensions - uses: shivammathur/setup-php@v2 # Action page: + uses: shivammathur/setup-php@v4 # Action page: with: php-version: ${{ matrix.php }} extensions: mbstring, xdebug @@ -37,7 +37,7 @@ jobs: # Docs: run: echo "output_dir=dir::$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # Docs: - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.composer-cache.outputs.output_dir }} key: ${{ runner.os }}-composer-${{ matrix.setup }}-${{ hashFiles('**/composer.json') }} @@ -68,7 +68,7 @@ jobs: # Docs: XDEBUG_MODE: coverage run: composer test-cover - - uses: codecov/codecov-action@v3 # Docs: + - uses: codecov/codecov-action@v4 # Docs: if: matrix.coverage == 'yes' with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index afc0c3e..62daf59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog][keepachangelog] and this project adheres to [Semantic Versioning][semver]. +## Unreleased + +### Added + +- Laravel `11.x` support + +### Changed + +- Minimal Laravel version now is `10.0` +- Version of `composer` in docker container updated up to `2.7.6` +- Updated dev dependencies + ## v5.7.0 ### Added diff --git a/Dockerfile b/Dockerfile index 497a317..7dc8d08 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,14 @@ -FROM php:8.0-alpine +FROM php:8.3-alpine ENV COMPOSER_HOME="/tmp/composer" -COPY --from=composer:2.6.5 /usr/bin/composer /usr/bin/composer +COPY --from=composer:2.7.6 /usr/bin/composer /usr/bin/composer RUN set -x \ && apk add --no-cache binutils git \ && apk add --no-cache --virtual .build-deps linux-headers autoconf pkgconf make g++ gcc 1>/dev/null \ # install xdebug (for testing with code coverage), but do not enable it - && pecl install xdebug-3.2.0 1>/dev/null \ + && pecl install xdebug-3.3.0 1>/dev/null \ && apk del .build-deps \ && mkdir --parents --mode=777 /src ${COMPOSER_HOME}/cache/repo ${COMPOSER_HOME}/cache/files \ && ln -s /usr/bin/composer /usr/bin/c \ diff --git a/composer.json b/composer.json index c2fd026..f4b106a 100644 --- a/composer.json +++ b/composer.json @@ -14,21 +14,21 @@ } ], "require": { - "php": "^8.0.2", + "php": "^8.1", "ext-mbstring": "*", "ext-json": "*", "avto-dev/extended-laravel-validator": "^3.7", "avto-dev/static-references-laravel": "^4.5", - "illuminate/support": "~9.0 || ~10.0", - "illuminate/config": "~9.0 || ~10.0", - "illuminate/contracts": "~9.0 || ~10.0", - "illuminate/container": "~9.0 || ~10.0", + "illuminate/support": "~10.0 || ~11.0", + "illuminate/config": "~10.0 || ~11.0", + "illuminate/contracts": "~10.0 || ~11.0", + "illuminate/container": "~10.0 || ~11.0", "danielstjules/stringy": "~3.1.0" }, "require-dev": { - "laravel/laravel": "~9.0 || ~10.0", - "phpstan/phpstan": "~1.10", - "phpunit/phpunit": "^9.6 || ^10.4" + "laravel/laravel": "~10.0 || ~11.0", + "phpstan/phpstan": "^1.10.66", + "phpunit/phpunit": "^10.5" }, "autoload": { "psr-4": { diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 521d6fd..a6ef3b8 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -1,5 +1,4 @@ parameters: level: 'max' - checkGenericClassInNonGenericObjectType: false paths: - src diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 4d43b81..96e13ec 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,29 +1,25 @@ - - - - - ./tests - - - - - - ./src - - - ./vendor - ./tests - - - - - - - - + + + + ./tests + + + + + + + + + + + + + ./src + + + ./vendor + ./tests + + diff --git a/src/Types/TypedIDEntityInterface.php b/src/Types/TypedIDEntityInterface.php index 8b7ce52..bbcf532 100644 --- a/src/Types/TypedIDEntityInterface.php +++ b/src/Types/TypedIDEntityInterface.php @@ -5,6 +5,9 @@ use Illuminate\Contracts\Support\Jsonable; use Illuminate\Contracts\Support\Arrayable; +/** + * @extends Arrayable + */ interface TypedIDEntityInterface extends Arrayable, Jsonable { /**