2.4 KiB
2.4 KiB
CHANGELOG
4.3.0
- added
OptionsResolver::addNormalizer
method
4.2.0
- added support for nested options definition
- added
setDeprecated
andisDeprecated
methods
3.4.0
- added
OptionsResolverIntrospector
to inspect options definitions inside anOptionsResolver
instance - added array of types support in allowed types (e.g int[])
2.6.0
- deprecated OptionsResolverInterface
- [BC BREAK] removed "array" type hint from OptionsResolverInterface methods setRequired(), setAllowedValues(), addAllowedValues(), setAllowedTypes() and addAllowedTypes()
- added OptionsResolver::setDefault()
- added OptionsResolver::hasDefault()
- added OptionsResolver::setNormalizer()
- added OptionsResolver::isRequired()
- added OptionsResolver::getRequiredOptions()
- added OptionsResolver::isMissing()
- added OptionsResolver::getMissingOptions()
- added OptionsResolver::setDefined()
- added OptionsResolver::isDefined()
- added OptionsResolver::getDefinedOptions()
- added OptionsResolver::remove()
- added OptionsResolver::clear()
- deprecated OptionsResolver::replaceDefaults()
- deprecated OptionsResolver::setOptional() in favor of setDefined()
- deprecated OptionsResolver::isKnown() in favor of isDefined()
- [BC BREAK] OptionsResolver::isRequired() returns true now if a required option has a default value set
- [BC BREAK] merged Options into OptionsResolver and turned Options into an interface
- deprecated Options::overload() (now in OptionsResolver)
- deprecated Options::set() (now in OptionsResolver)
- deprecated Options::get() (now in OptionsResolver)
- deprecated Options::has() (now in OptionsResolver)
- deprecated Options::replace() (now in OptionsResolver)
- [BC BREAK] Options::get() (now in OptionsResolver) can only be used within lazy option/normalizer closures now
- [BC BREAK] removed Traversable interface from Options since using within lazy option/normalizer closures resulted in exceptions
- [BC BREAK] removed Options::all() since using within lazy option/normalizer closures resulted in exceptions
- [BC BREAK] OptionDefinitionException now extends LogicException instead of RuntimeException
- [BC BREAK] normalizers are not executed anymore for unset options
- normalizers are executed after validating the options now
- [BC BREAK] an UndefinedOptionsException is now thrown instead of an InvalidOptionsException when non-existing options are passed