diff --git a/UPGRADE-3.1.md b/UPGRADE-3.1.md
index 2bf81288c639e..bdaa959b6be47 100644
--- a/UPGRADE-3.1.md
+++ b/UPGRADE-3.1.md
@@ -25,6 +25,39 @@ FrameworkBundle
* As it was never an officially supported feature, the support for absolute
template paths has been deprecated and will be removed in Symfony 4.0.
+ * The following form types registered as services are deprecated since 3.1
+ and will be removed in 4.0; use their fully-qualified class name instead:
+
+ - `"form.type.birthday"`
+ - `"form.type.checkbox"`
+ - `"form.type.collection"`
+ - `"form.type.country"`
+ - `"form.type.currency"`
+ - `"form.type.date"`
+ - `"form.type.datetime"`
+ - `"form.type.email"`
+ - `"form.type.file"`
+ - `"form.type.hidden"`
+ - `"form.type.integer"`
+ - `"form.type.language"`
+ - `"form.type.locale"`
+ - `"form.type.money"`
+ - `"form.type.number"`
+ - `"form.type.password"`
+ - `"form.type.percent"`
+ - `"form.type.radio"`
+ - `"form.type.range"`
+ - `"form.type.repeated"`
+ - `"form.type.search"`
+ - `"form.type.textarea"`
+ - `"form.type.text"`
+ - `"form.type.time"`
+ - `"form.type.timezone"`
+ - `"form.type.url"`
+ - `"form.type.button"`
+ - `"form.type.submit"`
+ - `"form.type.reset"`
+
HttpKernel
----------
diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md
index 897d13080019e..cc5d789a313ad 100644
--- a/UPGRADE-4.0.md
+++ b/UPGRADE-4.0.md
@@ -13,9 +13,43 @@ Form
----
* The `choices_as_values` option of the `ChoiceType` has been removed.
+
* Support for data objects that implements both `Traversable` and
`ArrayAccess` in `ResizeFormListener::preSubmit` method has been removed
+ * The following form types registered as services has been removed; use
+ their fully-qualified class name instead:
+
+ - `"form.type.birthday"`
+ - `"form.type.checkbox"`
+ - `"form.type.collection"`
+ - `"form.type.country"`
+ - `"form.type.currency"`
+ - `"form.type.date"`
+ - `"form.type.datetime"`
+ - `"form.type.email"`
+ - `"form.type.file"`
+ - `"form.type.hidden"`
+ - `"form.type.integer"`
+ - `"form.type.language"`
+ - `"form.type.locale"`
+ - `"form.type.money"`
+ - `"form.type.number"`
+ - `"form.type.password"`
+ - `"form.type.percent"`
+ - `"form.type.radio"`
+ - `"form.type.range"`
+ - `"form.type.repeated"`
+ - `"form.type.search"`
+ - `"form.type.textarea"`
+ - `"form.type.text"`
+ - `"form.type.time"`
+ - `"form.type.timezone"`
+ - `"form.type.url"`
+ - `"form.type.button"`
+ - `"form.type.submit"`
+ - `"form.type.reset"`
+
FrameworkBundle
---------------
diff --git a/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md b/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md
index 580ba8f593dba..783ab5925b0ec 100644
--- a/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md
+++ b/src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md
@@ -6,6 +6,7 @@ CHANGELOG
* Added `Controller::json` to simplify creating JSON responses when using the Serializer component
* Deprecated absolute template paths support in the template name parser
+ * Deprecated using core form types without dependencies as services
3.0.0
-----
diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
index edbd0d64b88e1..27f317d7f1875 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml
@@ -66,95 +66,95 @@
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.
-
+ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.