diff --git a/.github/workflows/analysis.yaml b/.github/workflows/analysis.yaml
index 0c42982..38eef4c 100644
--- a/.github/workflows/analysis.yaml
+++ b/.github/workflows/analysis.yaml
@@ -4,18 +4,18 @@ jobs:
parallel-lint:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- run: composer update --no-interaction --no-progress --prefer-dist --ansi
- run: ./vendor/bin/parallel-lint --colors ./src ./tests
phpcs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- run: composer update --no-interaction --no-progress --prefer-dist --ansi
- run: ./vendor/bin/phpcs --colors
phpstan:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- run: composer update --no-interaction --no-progress --prefer-dist --ansi
- run: ./vendor/bin/phpstan analyse --no-progress --ansi
diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index eecee33..4ae0f32 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -5,10 +5,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- php-version: [8.1]
- composer-flags: [null, --prefer-lowest]
+ php-version: ["8.2", "8.3", "8.4"]
+ composer-flags: [null]
+ include:
+ # The lowest allowed dependency set only needs to hold on the lowest supported PHP.
+ - php-version: "8.2"
+ composer-flags: --prefer-lowest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ae5a68..b9c66cf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
_In progress…_
+## [2.1.0] - 2026-09-21
+### Added
+- Support for Symfony 7.
+
+### Changed
+- Minimum supported versions are now PHP 8.2 and Symfony 6.4.
+
+## [2.0.0] - 2022-08-29
+### Changed
+- Support Symfony 6 and PHP 8, dropping Symfony 4/5 and PHP 7.
+
## [1.1.1] - 2021-07-16
### Fixed
- Add missing support for `replace` in the configuration.
@@ -19,7 +30,9 @@ _In progress…_
## [1.0.0] - 2020-10-02
First release.
-[Unreleased]: https://github.com/BatchLabs/headers-bundle/compare/v1.1.1...HEAD
+[Unreleased]: https://github.com/BatchLabs/headers-bundle/compare/2.1.0...HEAD
+[2.1.0]: https://github.com/BatchLabs/headers-bundle/compare/2.0.0...2.1.0
+[2.0.0]: https://github.com/BatchLabs/headers-bundle/compare/1.1.1...2.0.0
[1.1.1]: https://github.com/BatchLabs/headers-bundle/compare/v1.1.0...v1.1.1
[1.1.0]: https://github.com/BatchLabs/headers-bundle/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/BatchLabs/headers-bundle/releases/tag/v1.0.0
diff --git a/composer.json b/composer.json
index 0335e1d..d21f3b9 100644
--- a/composer.json
+++ b/composer.json
@@ -3,11 +3,11 @@
"description": "A Symfony bundle to easily add headers to your responses.",
"type": "symfony-bundle",
"require": {
- "php": "^8.0",
- "symfony/http-kernel": "^6.0",
- "symfony/dependency-injection": "^6.0",
- "symfony/config": "^6.0",
- "symfony/expression-language": "^6.0",
+ "php": "^8.2",
+ "symfony/http-kernel": "^6.4 || ^7.0",
+ "symfony/dependency-injection": "^6.4 || ^7.0",
+ "symfony/config": "^6.4 || ^7.0",
+ "symfony/expression-language": "^6.4 || ^7.0",
"psr/cache": "^3.0"
},
"require-dev": {
diff --git a/phpcs.xml.dist b/phpcs.xml.dist
index 7c01ebc..2af7a72 100644
--- a/phpcs.xml.dist
+++ b/phpcs.xml.dist
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/phpstan.neon b/phpstan.neon
index 48fadce..686d0d8 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -14,3 +14,4 @@ parameters:
checkMissingIterableValueType: false
checkGenericClassInNonGenericObjectType: false
inferPrivatePropertyTypeFromConstructor: true
+ treatPhpDocTypesAsCertain: false
diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php
index 878e463..befbc0a 100644
--- a/src/DependencyInjection/Configuration.php
+++ b/src/DependencyInjection/Configuration.php
@@ -4,6 +4,7 @@
namespace Batch\HeadersBundle\DependencyInjection;
+use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
@@ -12,9 +13,10 @@ final class Configuration implements ConfigurationInterface
public function getConfigTreeBuilder(): TreeBuilder
{
$treeBuilder = new TreeBuilder('batch_headers');
+ $rootNode = $treeBuilder->getRootNode();
+ \assert($rootNode instanceof ArrayNodeDefinition);
- // @phpstan-ignore-next-line
- $treeBuilder->getRootNode()
+ $rootNode
->children()
->arrayNode('headers')
->arrayPrototype()