7 The edge case of defining just one value for nodes of type Enum is now allowed:
12 ->enumNode('variable')
13 ->values(array('value'))
19 Before: `InvalidArgumentException` (variable must contain at least two
21 After: the code will work as expected and it will restrict the values of the
22 `variable` option to just `value`.
24 * deprecated the `ResourceInterface::isFresh()` method. If you implement custom resource types and they
25 can be validated that way, make them implement the new `SelfCheckingResourceInterface`.
26 * deprecated the getResource() method in ResourceInterface. You can still call this method
27 on concrete classes implementing the interface, but it does not make sense at the interface
28 level as you need to know about the particular type of resource at hand to understand the
29 semantics of the returned value.
34 * added `ConfigCacheInterface`, `ConfigCacheFactoryInterface` and a basic `ConfigCacheFactory`
35 implementation to delegate creation of ConfigCache instances
40 * added ArrayNodeDefinition::canBeEnabled() and ArrayNodeDefinition::canBeDisabled()
41 to ease configuration when some sections are respectively disabled / enabled
43 * added a `normalizeKeys()` method for array nodes (to avoid key normalization)
44 * added numerical type handling for config definitions
45 * added convenience methods for optional configuration sections to ArrayNodeDefinition
46 * added a utils class for XML manipulations
51 * added a way to add documentation on configuration
52 * implemented `Serializable` on resources
53 * LoaderResolverInterface is now used instead of LoaderResolver for type