symfony / recipes

Symfony Recipes Repository
https://github.com/symfony/recipes/blob/flex/main/RECIPES.md
MIT License
956 stars 472 forks source link

[framework-bundle] Remove options that match the defaults in 7.0 #1237

Closed nicolas-grekas closed 6 months ago

nicolas-grekas commented 10 months ago
Q A
License MIT
Doc issue/PR -
github-actions[bot] commented 10 months ago

Thanks for the PR 😍

How to test these changes in your application

  1. Define the SYMFONY_ENDPOINT environment variable:

    # On Unix-like (BSD, Linux and macOS)
    export SYMFONY_ENDPOINT=https://raw.githubusercontent.com/symfony/recipes/flex/pull-1237/index.json
    # On Windows
    SET SYMFONY_ENDPOINT=https://raw.githubusercontent.com/symfony/recipes/flex/pull-1237/index.json
  2. Install the package(s) related to this recipe:

    composer req 'symfony/flex:^1.16'
    composer req 'symfony/framework-bundle:^7.0' 'symfony/routing:^7.0' 'symfony/uid:^7.0' 'symfony/validator:^7.0'
  3. Don't forget to unset the SYMFONY_ENDPOINT environment variable when done:

    # On Unix-like (BSD, Linux and macOS)
    unset SYMFONY_ENDPOINT
    # On Windows
    SET SYMFONY_ENDPOINT=

Diff between recipe versions

In order to help with the review stage, I'm in charge of computing the diff between the various versions of patched recipes. I'm going keep this comment up to date with any updates of the attached patch.

symfony/framework-bundle

3.3 vs 3.4 ```diff diff --git a/symfony/framework-bundle/3.3/config/packages/framework.yaml b/symfony/framework-bundle/3.4/config/packages/framework.yaml index d2b31bf..f532576 100644 --- a/symfony/framework-bundle/3.3/config/packages/framework.yaml +++ b/symfony/framework-bundle/3.4/config/packages/framework.yaml @@ -7,6 +7,7 @@ framework: # Remove or comment this section to explicitly disable session support. session: handler_id: null + cookie_samesite: lax #esi: true #fragments: true ```
3.4 vs 4.2 ```diff diff --git a/symfony/framework-bundle/3.4/config/bootstrap.php b/symfony/framework-bundle/4.2/config/bootstrap.php index 2a47186..55560fb 100644 --- a/symfony/framework-bundle/3.4/config/bootstrap.php +++ b/symfony/framework-bundle/4.2/config/bootstrap.php @@ -13,38 +13,8 @@ if (!class_exists(Dotenv::class)) { if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { (new Dotenv(false))->populate($env); } else { - $path = dirname(__DIR__).'/.env'; - $dotenv = new Dotenv(false); - // load all the .env files - if (method_exists($dotenv, 'loadEnv')) { - $dotenv->loadEnv($path); - } else { - // fallback code in case your Dotenv component is not 4.2 or higher (when loadEnv() was added) - - if (file_exists($path) || !file_exists($p = "$path.dist")) { - $dotenv->load($path); - } else { - $dotenv->load($p); - } - - if (null === $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) { - $dotenv->populate(array('APP_ENV' => $env = 'dev')); - } - - if ('test' !== $env && file_exists($p = "$path.local")) { - $dotenv->load($p); - $env = $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env; - } - - if (file_exists($p = "$path.$env")) { - $dotenv->load($p); - } - - if (file_exists($p = "$path.$env.local")) { - $dotenv->load($p); - } - } + (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); } $_SERVER += $_ENV; diff --git a/symfony/framework-bundle/3.4/config/packages/framework.yaml b/symfony/framework-bundle/4.2/config/packages/framework.yaml index f532576..cad7f78 100644 --- a/symfony/framework-bundle/3.4/config/packages/framework.yaml +++ b/symfony/framework-bundle/4.2/config/packages/framework.yaml @@ -1,3 +1,4 @@ +# see https://symfony.com/doc/current/reference/configuration/framework.html framework: secret: '%env(APP_SECRET)%' #csrf_protection: true @@ -7,6 +8,7 @@ framework: # Remove or comment this section to explicitly disable session support. session: handler_id: null + cookie_secure: auto cookie_samesite: lax #esi: true diff --git a/symfony/framework-bundle/3.4/config/services.yaml b/symfony/framework-bundle/4.2/config/services.yaml index 07d653c..99d51bd 100644 --- a/symfony/framework-bundle/3.4/config/services.yaml +++ b/symfony/framework-bundle/4.2/config/services.yaml @@ -10,15 +10,12 @@ services: _defaults: autowire: true # Automatically injects dependencies in your services. autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. - public: false # Allows optimizing the container by removing unused services; this also means - # fetching services directly from the container via $container->get() won't work. - # The best practice is to be explicit about your dependencies anyway. # makes classes in src/ available to be used as services # this creates a service per class whose id is the fully-qualified class name App\: resource: '../src/*' - exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}' + exclude: '../src/{DependencyInjection,Entity,Kernel.php}' # controllers are imported separately to make sure services can be injected # as action arguments even if you don't extend any base controller class diff --git a/symfony/framework-bundle/3.4/manifest.json b/symfony/framework-bundle/4.2/manifest.json index aa0150e..101b2aa 100644 --- a/symfony/framework-bundle/3.4/manifest.json +++ b/symfony/framework-bundle/4.2/manifest.json @@ -14,13 +14,14 @@ "env": { "APP_ENV": "dev", "APP_SECRET": "%generate(secret)%", - "#TRUSTED_PROXIES": "127.0.0.1,127.0.0.2", + "#TRUSTED_PROXIES": "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16", "#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'" }, "gitignore": [ "/.env.local", "/.env.local.php", "/.env.*.local", + "/%CONFIG_DIR%/secrets/prod/prod.decrypt.private.php", "/%PUBLIC_DIR%/bundles/", "/%VAR_DIR%/", "/vendor/" diff --git a/symfony/framework-bundle/3.4/post-install.txt b/symfony/framework-bundle/4.2/post-install.txt index 944aa06..12f3669 100644 --- a/symfony/framework-bundle/3.4/post-install.txt +++ b/symfony/framework-bundle/4.2/post-install.txt @@ -1,7 +1,6 @@ * Run your application: 1. Go to the project directory 2. Create your code repository with the git init command - 3. Download the Symfony CLI at https://symfony.com/download to install a development web server, - or run composer require server --dev for a minimalist one + 3. Download the Symfony CLI at https://symfony.com/download to install a development web server * Read the documentation at https://symfony.com/doc diff --git a/symfony/framework-bundle/3.4/src/Kernel.php b/symfony/framework-bundle/4.2/src/Kernel.php index 68b7a56..1cd0572 100644 --- a/symfony/framework-bundle/3.4/src/Kernel.php +++ b/symfony/framework-bundle/4.2/src/Kernel.php @@ -13,19 +13,9 @@ class Kernel extends BaseKernel { use MicroKernelTrait; - const CONFIG_EXTS = '.{php,xml,yaml,yml}'; + private const CONFIG_EXTS = '.{php,xml,yaml,yml}'; - public function getCacheDir() - { - return $this->getProjectDir().'/var/cache/'.$this->environment; - } - - public function getLogDir() - { - return $this->getProjectDir().'/var/log'; - } - - public function registerBundles() + public function registerBundles(): iterable { $contents = require $this->getProjectDir().'/config/bundles.php'; foreach ($contents as $class => $envs) { @@ -35,13 +25,16 @@ class Kernel extends BaseKernel } } - protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader) + public function getProjectDir(): string + { + return \dirname(__DIR__); + } + + protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void { $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); - // Feel free to remove the "container.autowiring.strict_mode" parameter - // if you are using symfony/dependency-injection 4.0+ as it's the default behavior - $container->setParameter('container.autowiring.strict_mode', true); - $container->setParameter('container.dumper.inline_class_loader', true); + $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug); + $container->setParameter('container.dumper.inline_factories', true); $confDir = $this->getProjectDir().'/config'; $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); @@ -50,7 +43,7 @@ class Kernel extends BaseKernel $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); } - protected function configureRoutes(RouteCollectionBuilder $routes) + protected function configureRoutes(RouteCollectionBuilder $routes): void { $confDir = $this->getProjectDir().'/config'; ```
4.2 vs 4.4 ```diff diff --git a/symfony/framework-bundle/4.4/config/preload.php b/symfony/framework-bundle/4.4/config/preload.php new file mode 100644 index 0000000..064bdcd --- /dev/null +++ b/symfony/framework-bundle/4.4/config/preload.php @@ -0,0 +1,9 @@ +
4.4 vs 5.1 ```diff diff --git a/symfony/framework-bundle/4.4/config/bootstrap.php b/symfony/framework-bundle/4.4/config/bootstrap.php deleted file mode 100644 index 55560fb..0000000 --- a/symfony/framework-bundle/4.4/config/bootstrap.php +++ /dev/null @@ -1,23 +0,0 @@ -=1.2) -if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) { - (new Dotenv(false))->populate($env); -} else { - // load all the .env files - (new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env'); -} - -$_SERVER += $_ENV; -$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev'; -$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV']; -$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0'; diff --git a/symfony/framework-bundle/4.4/config/preload.php b/symfony/framework-bundle/5.1/config/preload.php index 064bdcd..5ebcdb2 100644 --- a/symfony/framework-bundle/4.4/config/preload.php +++ b/symfony/framework-bundle/5.1/config/preload.php @@ -1,9 +1,5 @@ bootEnv(dirname(__DIR__).'/.env'); if ($_SERVER['APP_DEBUG']) { umask(0000); diff --git a/symfony/framework-bundle/4.4/src/Kernel.php b/symfony/framework-bundle/5.1/src/Kernel.php index 1cd0572..655e796 100644 --- a/symfony/framework-bundle/4.4/src/Kernel.php +++ b/symfony/framework-bundle/5.1/src/Kernel.php @@ -3,52 +3,36 @@ namespace App; use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; -use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\Config\Resource\FileResource; -use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symfony\Component\HttpKernel\Kernel as BaseKernel; -use Symfony\Component\Routing\RouteCollectionBuilder; +use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; class Kernel extends BaseKernel { use MicroKernelTrait; - private const CONFIG_EXTS = '.{php,xml,yaml,yml}'; - - public function registerBundles(): iterable + protected function configureContainer(ContainerConfigurator $container): void { - $contents = require $this->getProjectDir().'/config/bundles.php'; - foreach ($contents as $class => $envs) { - if ($envs[$this->environment] ?? $envs['all'] ?? false) { - yield new $class(); - } + $container->import('../config/{packages}/*.yaml'); + $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); + + if (is_file(\dirname(__DIR__).'/config/services.yaml')) { + $container->import('../config/services.yaml'); + $container->import('../config/{services}_'.$this->environment.'.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { + (require $path)($container->withPath($path), $this); } } - public function getProjectDir(): string + protected function configureRoutes(RoutingConfigurator $routes): void { - return \dirname(__DIR__); - } + $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); + $routes->import('../config/{routes}/*.yaml'); - protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void - { - $container->addResource(new FileResource($this->getProjectDir().'/config/bundles.php')); - $container->setParameter('container.dumper.inline_class_loader', \PHP_VERSION_ID < 70400 || $this->debug); - $container->setParameter('container.dumper.inline_factories', true); - $confDir = $this->getProjectDir().'/config'; - - $loader->load($confDir.'/{packages}/*'.self::CONFIG_EXTS, 'glob'); - $loader->load($confDir.'/{packages}/'.$this->environment.'/*'.self::CONFIG_EXTS, 'glob'); - $loader->load($confDir.'/{services}'.self::CONFIG_EXTS, 'glob'); - $loader->load($confDir.'/{services}_'.$this->environment.self::CONFIG_EXTS, 'glob'); - } - - protected function configureRoutes(RouteCollectionBuilder $routes): void - { - $confDir = $this->getProjectDir().'/config'; - - $routes->import($confDir.'/{routes}/'.$this->environment.'/*'.self::CONFIG_EXTS, '/', 'glob'); - $routes->import($confDir.'/{routes}/*'.self::CONFIG_EXTS, '/', 'glob'); - $routes->import($confDir.'/{routes}'.self::CONFIG_EXTS, '/', 'glob'); + if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { + $routes->import('../config/routes.yaml'); + } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { + (require $path)($routes->withPath($path), $this); + } } } ```
5.1 vs 5.2 ```diff diff --git a/symfony/framework-bundle/5.1/manifest.json b/symfony/framework-bundle/5.2/manifest.json index 101b2aa..17fa50a 100644 --- a/symfony/framework-bundle/5.1/manifest.json +++ b/symfony/framework-bundle/5.2/manifest.json @@ -13,9 +13,7 @@ }, "env": { "APP_ENV": "dev", - "APP_SECRET": "%generate(secret)%", - "#TRUSTED_PROXIES": "127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16", - "#TRUSTED_HOSTS": "'^(localhost|example\\.com)$'" + "APP_SECRET": "%generate(secret)%" }, "gitignore": [ "/.env.local", diff --git a/symfony/framework-bundle/5.1/public/index.php b/symfony/framework-bundle/5.2/public/index.php index 097baa3..3bcee0b 100644 --- a/symfony/framework-bundle/5.1/public/index.php +++ b/symfony/framework-bundle/5.2/public/index.php @@ -15,14 +15,6 @@ if ($_SERVER['APP_DEBUG']) { Debug::enable(); } -if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) { - Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO); -} - -if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) { - Request::setTrustedHosts([$trustedHosts]); -} - $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); $request = Request::createFromGlobals(); $response = $kernel->handle($request); ```
5.2 vs 5.3 ```diff diff --git a/symfony/framework-bundle/5.2/config/packages/framework.yaml b/symfony/framework-bundle/5.3/config/packages/framework.yaml index cad7f78..7853e9e 100644 --- a/symfony/framework-bundle/5.2/config/packages/framework.yaml +++ b/symfony/framework-bundle/5.3/config/packages/framework.yaml @@ -2,7 +2,7 @@ framework: secret: '%env(APP_SECRET)%' #csrf_protection: true - #http_method_override: true + http_method_override: false # Enables session support. Note that the session will ONLY be started if you read or write from it. # Remove or comment this section to explicitly disable session support. @@ -10,8 +10,15 @@ framework: handler_id: null cookie_secure: auto cookie_samesite: lax + storage_factory_id: session.storage.factory.native #esi: true #fragments: true php_errors: log: true + +when@test: + framework: + test: true + session: + storage_factory_id: session.storage.factory.mock_file diff --git a/symfony/framework-bundle/5.2/config/packages/test/framework.yaml b/symfony/framework-bundle/5.2/config/packages/test/framework.yaml deleted file mode 100644 index d051c84..0000000 --- a/symfony/framework-bundle/5.2/config/packages/test/framework.yaml +++ /dev/null @@ -1,4 +0,0 @@ -framework: - test: true - session: - storage_id: session.storage.mock_file diff --git a/symfony/framework-bundle/5.2/config/routes/dev/framework.yaml b/symfony/framework-bundle/5.2/config/routes/dev/framework.yaml deleted file mode 100644 index bcbbf13..0000000 --- a/symfony/framework-bundle/5.2/config/routes/dev/framework.yaml +++ /dev/null @@ -1,3 +0,0 @@ -_errors: - resource: '@FrameworkBundle/Resources/config/routing/errors.xml' - prefix: /_error diff --git a/symfony/framework-bundle/5.3/config/routes/framework.yaml b/symfony/framework-bundle/5.3/config/routes/framework.yaml new file mode 100644 index 0000000..0fc74bb --- /dev/null +++ b/symfony/framework-bundle/5.3/config/routes/framework.yaml @@ -0,0 +1,4 @@ +when@dev: + _errors: + resource: '@FrameworkBundle/Resources/config/routing/errors.xml' + prefix: /_error diff --git a/symfony/framework-bundle/5.2/config/services.yaml b/symfony/framework-bundle/5.3/config/services.yaml index 9557caa..2d6a76f 100644 --- a/symfony/framework-bundle/5.2/config/services.yaml +++ b/symfony/framework-bundle/5.3/config/services.yaml @@ -2,7 +2,7 @@ # Files in the packages/ subdirectory configure your dependencies. # Put parameters here that don't need to change on each machine where the app is deployed -# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration +# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration parameters: services: @@ -20,11 +20,5 @@ services: - '../src/Entity/' - '../src/Kernel.php' - # controllers are imported separately to make sure services can be injected - # as action arguments even if you don't extend any base controller class - App\Controller\: - resource: '../src/Controller/' - tags: ['controller.service_arguments'] - # add more service definitions when explicit configuration is needed # please note that last definitions always *replace* previous ones diff --git a/symfony/framework-bundle/5.2/public/index.php b/symfony/framework-bundle/5.3/public/index.php index 3bcee0b..9982c21 100644 --- a/symfony/framework-bundle/5.2/public/index.php +++ b/symfony/framework-bundle/5.3/public/index.php @@ -1,22 +1,9 @@ bootEnv(dirname(__DIR__).'/.env'); - -if ($_SERVER['APP_DEBUG']) { - umask(0000); - - Debug::enable(); -} - -$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']); -$request = Request::createFromGlobals(); -$response = $kernel->handle($request); -$response->send(); -$kernel->terminate($request, $response); +return function (array $context) { + return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']); +}; diff --git a/symfony/framework-bundle/5.2/src/Kernel.php b/symfony/framework-bundle/5.3/src/Kernel.php index 655e796..8e96873 100644 --- a/symfony/framework-bundle/5.2/src/Kernel.php +++ b/symfony/framework-bundle/5.3/src/Kernel.php @@ -19,8 +19,8 @@ class Kernel extends BaseKernel if (is_file(\dirname(__DIR__).'/config/services.yaml')) { $container->import('../config/services.yaml'); $container->import('../config/{services}_'.$this->environment.'.yaml'); - } elseif (is_file($path = \dirname(__DIR__).'/config/services.php')) { - (require $path)($container->withPath($path), $this); + } else { + $container->import('../config/{services}.php'); } } @@ -31,8 +31,8 @@ class Kernel extends BaseKernel if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { $routes->import('../config/routes.yaml'); - } elseif (is_file($path = \dirname(__DIR__).'/config/routes.php')) { - (require $path)($routes->withPath($path), $this); + } else { + $routes->import('../config/{routes}.php'); } } } ```
5.3 vs 5.4 ```diff diff --git a/symfony/framework-bundle/5.3/src/Kernel.php b/symfony/framework-bundle/5.4/src/Kernel.php index 8e96873..779cd1f 100644 --- a/symfony/framework-bundle/5.3/src/Kernel.php +++ b/symfony/framework-bundle/5.4/src/Kernel.php @@ -3,36 +3,9 @@ namespace App; use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait; -use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; use Symfony\Component\HttpKernel\Kernel as BaseKernel; -use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator; class Kernel extends BaseKernel { use MicroKernelTrait; - - protected function configureContainer(ContainerConfigurator $container): void - { - $container->import('../config/{packages}/*.yaml'); - $container->import('../config/{packages}/'.$this->environment.'/*.yaml'); - - if (is_file(\dirname(__DIR__).'/config/services.yaml')) { - $container->import('../config/services.yaml'); - $container->import('../config/{services}_'.$this->environment.'.yaml'); - } else { - $container->import('../config/{services}.php'); - } - } - - protected function configureRoutes(RoutingConfigurator $routes): void - { - $routes->import('../config/{routes}/'.$this->environment.'/*.yaml'); - $routes->import('../config/{routes}/*.yaml'); - - if (is_file(\dirname(__DIR__).'/config/routes.yaml')) { - $routes->import('../config/routes.yaml'); - } else { - $routes->import('../config/{routes}.php'); - } - } } ```
5.4 vs 6.2 ```diff diff --git a/symfony/framework-bundle/5.4/config/packages/framework.yaml b/symfony/framework-bundle/6.2/config/packages/framework.yaml index 7853e9e..6d85c29 100644 --- a/symfony/framework-bundle/5.4/config/packages/framework.yaml +++ b/symfony/framework-bundle/6.2/config/packages/framework.yaml @@ -3,6 +3,7 @@ framework: secret: '%env(APP_SECRET)%' #csrf_protection: true http_method_override: false + handle_all_throwables: true # Enables session support. Note that the session will ONLY be started if you read or write from it. # Remove or comment this section to explicitly disable session support. ```
6.2 vs 6.4 ```diff diff --git a/symfony/framework-bundle/6.2/config/packages/framework.yaml b/symfony/framework-bundle/6.4/config/packages/framework.yaml index 6d85c29..980ee45 100644 --- a/symfony/framework-bundle/6.2/config/packages/framework.yaml +++ b/symfony/framework-bundle/6.4/config/packages/framework.yaml @@ -2,6 +2,7 @@ framework: secret: '%env(APP_SECRET)%' #csrf_protection: true + annotations: false http_method_override: false handle_all_throwables: true @@ -11,7 +12,6 @@ framework: handler_id: null cookie_secure: auto cookie_samesite: lax - storage_factory_id: session.storage.factory.native #esi: true #fragments: true ```
6.4 vs 7.0 ```diff diff --git a/symfony/framework-bundle/6.4/config/packages/framework.yaml b/symfony/framework-bundle/7.0/config/packages/framework.yaml index 980ee45..877eb25 100644 --- a/symfony/framework-bundle/6.4/config/packages/framework.yaml +++ b/symfony/framework-bundle/7.0/config/packages/framework.yaml @@ -2,21 +2,12 @@ framework: secret: '%env(APP_SECRET)%' #csrf_protection: true - annotations: false - http_method_override: false - handle_all_throwables: true - # Enables session support. Note that the session will ONLY be started if you read or write from it. - # Remove or comment this section to explicitly disable session support. - session: - handler_id: null - cookie_secure: auto - cookie_samesite: lax + # Note that the session will be started ONLY if you read or write from it. + session: true #esi: true #fragments: true - php_errors: - log: true when@test: framework: ```

symfony/routing

3.3 vs 4.0 ```diff diff --git a/symfony/routing/3.3/config/routes.yaml b/symfony/routing/4.0/config/routes.yaml index 59d1945..c3283aa 100644 --- a/symfony/routing/3.3/config/routes.yaml +++ b/symfony/routing/4.0/config/routes.yaml @@ -1,6 +1,3 @@ -# This file is the entry point to configure your own HTTP routes. -# Files in the routes/ subdirectory configure the routes for your dependencies. - #index: # path: / -# defaults: { _controller: 'App\Controller\DefaultController::index' } +# controller: App\Controller\DefaultController::index ```
4.0 vs 4.2 ```diff diff --git a/symfony/routing/4.2/config/packages/routing.yaml b/symfony/routing/4.2/config/packages/routing.yaml new file mode 100644 index 0000000..7e97762 --- /dev/null +++ b/symfony/routing/4.2/config/packages/routing.yaml @@ -0,0 +1,3 @@ +framework: + router: + utf8: true ```
4.2 vs 5.1 ```diff diff --git a/symfony/routing/4.2/config/packages/routing.yaml b/symfony/routing/5.1/config/packages/routing.yaml index 7e97762..b45c1ce 100644 --- a/symfony/routing/4.2/config/packages/routing.yaml +++ b/symfony/routing/5.1/config/packages/routing.yaml @@ -1,3 +1,7 @@ framework: router: utf8: true + + # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. + # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands + #default_uri: http://localhost ```
5.1 vs 5.3 ```diff diff --git a/symfony/routing/5.1/config/packages/prod/routing.yaml b/symfony/routing/5.1/config/packages/prod/routing.yaml deleted file mode 100644 index b3e6a0a..0000000 --- a/symfony/routing/5.1/config/packages/prod/routing.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - router: - strict_requirements: null diff --git a/symfony/routing/5.1/config/packages/routing.yaml b/symfony/routing/5.3/config/packages/routing.yaml index b45c1ce..4b766ce 100644 --- a/symfony/routing/5.1/config/packages/routing.yaml +++ b/symfony/routing/5.3/config/packages/routing.yaml @@ -5,3 +5,8 @@ framework: # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands #default_uri: http://localhost + +when@prod: + framework: + router: + strict_requirements: null diff --git a/symfony/routing/5.1/manifest.json b/symfony/routing/5.3/manifest.json index c0c66b6..a3f340e 100644 --- a/symfony/routing/5.1/manifest.json +++ b/symfony/routing/5.3/manifest.json @@ -2,5 +2,8 @@ "copy-from-recipe": { "config/": "%CONFIG_DIR%/" }, - "aliases": ["router"] + "aliases": ["router"], + "conflict": { + "symfony/framework-bundle": "<5.3" + } } ```
5.3 vs 6.0 ```diff diff --git a/symfony/routing/5.3/config/routes.yaml b/symfony/routing/6.0/config/routes.yaml index c3283aa..5b102f6 100644 --- a/symfony/routing/5.3/config/routes.yaml +++ b/symfony/routing/6.0/config/routes.yaml @@ -1,3 +1,7 @@ -#index: -# path: / -# controller: App\Controller\DefaultController::index +controllers: + resource: ../src/Controller/ + type: annotation + +kernel: + resource: ../src/Kernel.php + type: annotation ```
6.0 vs 6.1 ```diff diff --git a/symfony/routing/6.0/config/routes.yaml b/symfony/routing/6.1/config/routes.yaml index 5b102f6..9286e81 100644 --- a/symfony/routing/6.0/config/routes.yaml +++ b/symfony/routing/6.1/config/routes.yaml @@ -1,7 +1,3 @@ controllers: resource: ../src/Controller/ - type: annotation - -kernel: - resource: ../src/Kernel.php - type: annotation + type: attribute ```
6.1 vs 6.2 ```diff diff --git a/symfony/routing/6.1/config/routes.yaml b/symfony/routing/6.2/config/routes.yaml index 9286e81..41ef814 100644 --- a/symfony/routing/6.1/config/routes.yaml +++ b/symfony/routing/6.2/config/routes.yaml @@ -1,3 +1,5 @@ controllers: - resource: ../src/Controller/ + resource: + path: ../src/Controller/ + namespace: App\Controller type: attribute diff --git a/symfony/routing/6.1/manifest.json b/symfony/routing/6.2/manifest.json index a3f340e..db10260 100644 --- a/symfony/routing/6.1/manifest.json +++ b/symfony/routing/6.2/manifest.json @@ -4,6 +4,6 @@ }, "aliases": ["router"], "conflict": { - "symfony/framework-bundle": "<5.3" + "symfony/framework-bundle": "<6.2" } } ```
6.2 vs 7.0 ```diff diff --git a/symfony/routing/6.2/config/packages/routing.yaml b/symfony/routing/7.0/config/packages/routing.yaml index 4b766ce..8166181 100644 --- a/symfony/routing/6.2/config/packages/routing.yaml +++ b/symfony/routing/7.0/config/packages/routing.yaml @@ -1,7 +1,5 @@ framework: router: - utf8: true - # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands #default_uri: http://localhost diff --git a/symfony/routing/6.2/manifest.json b/symfony/routing/7.0/manifest.json index db10260..fd4536e 100644 --- a/symfony/routing/6.2/manifest.json +++ b/symfony/routing/7.0/manifest.json @@ -4,6 +4,6 @@ }, "aliases": ["router"], "conflict": { - "symfony/framework-bundle": "<6.2" + "symfony/framework-bundle": "<7.0" } } ```

symfony/uid

6.2 vs 7.0 ```diff diff --git a/symfony/uid/6.2/config/packages/uid.yaml b/symfony/uid/6.2/config/packages/uid.yaml deleted file mode 100644 index 0152094..0000000 --- a/symfony/uid/6.2/config/packages/uid.yaml +++ /dev/null @@ -1,4 +0,0 @@ -framework: - uid: - default_uuid_version: 7 - time_based_uuid_version: 7 diff --git a/symfony/uid/6.2/manifest.json b/symfony/uid/7.0/manifest.json index 61b9612..5ecb167 100644 --- a/symfony/uid/6.2/manifest.json +++ b/symfony/uid/7.0/manifest.json @@ -1,8 +1,5 @@ { - "copy-from-recipe": { - "config/": "%CONFIG_DIR%/" - }, "conflict": { - "symfony/framework-bundle": "<6.2" + "symfony/framework-bundle": "<7.0" } } ```

symfony/validator

3.3 vs 4.1 ```diff diff --git a/symfony/validator/4.1/config/packages/test/validator.yaml b/symfony/validator/4.1/config/packages/test/validator.yaml new file mode 100644 index 0000000..b18c866 --- /dev/null +++ b/symfony/validator/4.1/config/packages/test/validator.yaml @@ -0,0 +1,4 @@ +framework: + validation: + # As of Symfony 4.3 you can disable the NotCompromisedPassword Validator + # not_compromised_password: false diff --git a/symfony/validator/4.1/config/packages/validator.yaml b/symfony/validator/4.1/config/packages/validator.yaml new file mode 100644 index 0000000..a695e1a --- /dev/null +++ b/symfony/validator/4.1/config/packages/validator.yaml @@ -0,0 +1,3 @@ +framework: + validation: + email_validation_mode: html5 diff --git a/symfony/validator/3.3/manifest.json b/symfony/validator/4.1/manifest.json index 2a250e2..57f78dc 100644 --- a/symfony/validator/3.3/manifest.json +++ b/symfony/validator/4.1/manifest.json @@ -1,3 +1,6 @@ { + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, "aliases": ["validation"] } ```
4.1 vs 4.3 ```diff diff --git a/symfony/validator/4.1/config/packages/test/validator.yaml b/symfony/validator/4.3/config/packages/test/validator.yaml index b18c866..1e5ab78 100644 --- a/symfony/validator/4.1/config/packages/test/validator.yaml +++ b/symfony/validator/4.3/config/packages/test/validator.yaml @@ -1,4 +1,3 @@ framework: validation: - # As of Symfony 4.3 you can disable the NotCompromisedPassword Validator - # not_compromised_password: false + not_compromised_password: false diff --git a/symfony/validator/4.1/config/packages/validator.yaml b/symfony/validator/4.3/config/packages/validator.yaml index a695e1a..350786a 100644 --- a/symfony/validator/4.1/config/packages/validator.yaml +++ b/symfony/validator/4.3/config/packages/validator.yaml @@ -1,3 +1,8 @@ framework: validation: email_validation_mode: html5 + + # Enables validator auto-mapping support. + # For instance, basic validation constraints will be inferred from Doctrine's metadata. + #auto_mapping: + # App\Entity\: [] ```
4.3 vs 5.3 ```diff diff --git a/symfony/validator/4.3/config/packages/test/validator.yaml b/symfony/validator/4.3/config/packages/test/validator.yaml deleted file mode 100644 index 1e5ab78..0000000 --- a/symfony/validator/4.3/config/packages/test/validator.yaml +++ /dev/null @@ -1,3 +0,0 @@ -framework: - validation: - not_compromised_password: false diff --git a/symfony/validator/4.3/config/packages/validator.yaml b/symfony/validator/5.3/config/packages/validator.yaml index 350786a..0201281 100644 --- a/symfony/validator/4.3/config/packages/validator.yaml +++ b/symfony/validator/5.3/config/packages/validator.yaml @@ -6,3 +6,8 @@ framework: # For instance, basic validation constraints will be inferred from Doctrine's metadata. #auto_mapping: # App\Entity\: [] + +when@test: + framework: + validation: + not_compromised_password: false diff --git a/symfony/validator/4.3/manifest.json b/symfony/validator/5.3/manifest.json index 57f78dc..84521db 100644 --- a/symfony/validator/4.3/manifest.json +++ b/symfony/validator/5.3/manifest.json @@ -2,5 +2,8 @@ "copy-from-recipe": { "config/": "%CONFIG_DIR%/" }, - "aliases": ["validation"] + "aliases": ["validation"], + "conflict": { + "symfony/framework-bundle": "<5.3" + } } ```
5.3 vs 7.0 ```diff diff --git a/symfony/validator/5.3/config/packages/validator.yaml b/symfony/validator/7.0/config/packages/validator.yaml index 0201281..dd47a6a 100644 --- a/symfony/validator/5.3/config/packages/validator.yaml +++ b/symfony/validator/7.0/config/packages/validator.yaml @@ -1,7 +1,5 @@ framework: validation: - email_validation_mode: html5 - # Enables validator auto-mapping support. # For instance, basic validation constraints will be inferred from Doctrine's metadata. #auto_mapping: diff --git a/symfony/validator/5.3/manifest.json b/symfony/validator/7.0/manifest.json index 84521db..8a204c0 100644 --- a/symfony/validator/5.3/manifest.json +++ b/symfony/validator/7.0/manifest.json @@ -4,6 +4,6 @@ }, "aliases": ["validation"], "conflict": { - "symfony/framework-bundle": "<5.3" + "symfony/framework-bundle": "<7.0" } } ```
OskarStark commented 10 months ago

Off topic to this PR, but what about ignore lower recipes version for comparison as they cannot change?

image