@@ -95,3 +95,93 @@ Validator
95
95
$sequence = iterator_to_array($metadata->getGroupSequence());
96
96
$result = array_map($callback, $sequence);
97
97
```
98
+
99
+ * The array type hint in ` ClassMetadata::setGroupSequence() ` was removed. If
100
+ you overwrite this method, make sure to remove the type hint as well. The
101
+ method should now accept ` GroupSequence ` instances just as well as arrays.
102
+
103
+ Before:
104
+
105
+ ```
106
+ public function setGroupSequence(array $groups)
107
+ {
108
+ // ...
109
+ }
110
+ ```
111
+
112
+ After:
113
+
114
+ ```
115
+ public function setGroupSequence($groupSequence)
116
+ {
117
+ // ...
118
+ }
119
+ ```
120
+
121
+ * The validation engine in ` Symfony\Component\Validator\Validator ` was replaced
122
+ by a new one in ` Symfony\Component\Validator\Validator\RecursiveValidator ` .
123
+ With that change, several classes were deprecated that will be removed in
124
+ Symfony 3.0. Also, the API of the validator was slightly changed. More
125
+ details about that can be found in UPGRADE-3.0.
126
+
127
+ You can choose the desired API via the new "api" entry in
128
+ app/config/config.yml:
129
+
130
+ ```
131
+ framework:
132
+ validation:
133
+ enabled: true
134
+ api: auto
135
+ ```
136
+
137
+ When running PHP 5.3.9 or higher, Symfony will then use an implementation
138
+ that supports both the old API and the new one:
139
+
140
+ ```
141
+ framework:
142
+ validation:
143
+ enabled: true
144
+ api: 2.5-bc
145
+ ```
146
+
147
+ When running PHP lower than 5.3.9, that compatibility layer is not supported.
148
+ On those versions, the old implementation will be used instead:
149
+
150
+ ```
151
+ framework:
152
+ validation:
153
+ enabled: true
154
+ api: 2.4
155
+ ```
156
+
157
+ If you develop a new application that doesn't rely on the old API, you can
158
+ also set the API to 2.5. In that case, the backwards compatibility layer
159
+ will not be activated:
160
+
161
+ ```
162
+ framework:
163
+ validation:
164
+ enabled: true
165
+ api: 2.5
166
+ ```
167
+
168
+ When using the validator outside of the Symfony full-stack framework, the
169
+ desired API can be selected using ` setApiVersion() ` on the validator builder:
170
+
171
+ ```
172
+ // Previous implementation
173
+ $validator = Validation::createValidatorBuilder()
174
+ ->setApiVersion(Validation::API_VERSION_2_4)
175
+ ->getValidator();
176
+
177
+ // New implementation with backwards compatibility support
178
+ $validator = Validation::createValidatorBuilder()
179
+ ->setApiVersion(Validation::API_VERSION_2_5_BC)
180
+ ->getValidator();
181
+
182
+ // New implementation without backwards compatibility support
183
+ $validator = Validation::createValidatorBuilder()
184
+ ->setApiVersion(Validation::API_VERSION_2_5)
185
+ ->getValidator();
186
+ ```
187
+
0 commit comments