diff --git a/UPGRADE-4.1.md b/UPGRADE-4.1.md
index b0343e08b5f11..d76e3a3796188 100644
--- a/UPGRADE-4.1.md
+++ b/UPGRADE-4.1.md
@@ -70,6 +70,7 @@ SecurityBundle
--------------
* The `logout_on_user_change` firewall option is deprecated.
+ * The `switch_user.stateless` firewall option is deprecated, use the `stateless` option instead.
* The `SecurityUserValueResolver` class is deprecated, use
`Symfony\Component\Security\Http\Controller\UserValueResolver` instead.
diff --git a/UPGRADE-5.0.md b/UPGRADE-5.0.md
index 72e5164bb42a1..7e4e7b0fbd356 100644
--- a/UPGRADE-5.0.md
+++ b/UPGRADE-5.0.md
@@ -65,6 +65,7 @@ SecurityBundle
--------------
* The `logout_on_user_change` firewall option has been removed.
+ * The `switch_user.stateless` firewall option has been removed.
* The `SecurityUserValueResolver` class has been removed.
Translation
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
index f3f04f6eae64a..7ec0eef04c473 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
@@ -249,7 +249,10 @@ private function addFirewallsSection(ArrayNodeDefinition $rootNode, array $facto
->scalarNode('provider')->end()
->scalarNode('parameter')->defaultValue('_switch_user')->end()
->scalarNode('role')->defaultValue('ROLE_ALLOWED_TO_SWITCH')->end()
- ->booleanNode('stateless')->defaultValue(false)->end()
+ ->booleanNode('stateless')
+ ->setDeprecated('The "%path%.%node%" configuration key has been deprecated in Symfony 4.1.')
+ ->defaultValue(false)
+ ->end()
->end()
->end()
;
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
index 9302e5377eae5..5fd16844906b5 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
@@ -111,7 +111,7 @@ public function testFirewalls()
array(
'parameter' => '_switch_user',
'role' => 'ROLE_ALLOWED_TO_SWITCH',
- 'stateless' => true,
+ 'stateless' => false,
),
),
array(
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
index d60bca39e4a51..08aa19644ded6 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
@@ -66,7 +66,7 @@
'http_basic' => true,
'form_login' => true,
'anonymous' => true,
- 'switch_user' => array('stateless' => true),
+ 'switch_user' => true,
'x509' => true,
'remote_user' => true,
'logout' => true,
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
index 2724be3e28040..3889752f8f928 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
@@ -17,7 +17,7 @@
'http_basic' => true,
'form_login' => true,
'anonymous' => true,
- 'switch_user' => array('stateless' => true),
+ 'switch_user' => true,
'x509' => true,
'remote_user' => true,
'logout' => true,
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
index ef76eef02d2b5..e73d3a6ecf8ab 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
@@ -49,7 +49,7 @@
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: