All notable changes to this project will be documented in this file, in reverse chronological order by release.
-
#275 adds a new
strict
option toZend\Validator\Date
; whentrue
, the value being validated must both be a date AND in the same format as provided via theformat
option. -
#264 adds
Zend\Validator\UndisclosedPassword
, which can be used to determine if a password has been exposed in a known data breach as reported on the Have I Been Pwned? website. Documentation -
#266 adds a new option to the
File\Extension
andFile\ExcludeExtension
validators,allowNonExistentFile
. When set totrue
, the validators will continue validating the extension of the filename given even if the file does not exist. The default isfalse
, to preserve backwards compatibility with previous versions.
-
#264 bumps the minimum supported PHP version to 7.1.0.
-
#279 updates the
magic.mime
file used for file validations.
- Nothing.
- #264 removes support for PHP versions prior to 7.1.0.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#277 fixes
File\Hash
validator in case when the file hash contains only digits. -
#277 fixes
File\Hash
validator to match hash with the given hashing algorithm.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#272 changes curly braces in array and string offset access to square brackets in order to prevent issues under the upcoming PHP 7.4 release.
-
#231 fixes validation of input hashes in
Zend\Validator\File\Hash
validator when provided as array. Only string hashes are allowed. If different type is providedZend\Validator\Exception\InvalidArgumentException
is thrown.
- #250 adds support for PHP 7.3.
- #251 updates the logic of each of the various
Zend\Validator\File
validators to allow validating against PSR-7UploadedFileInterface
instances, expanding the support originally provided in version 2.11.0.
- Nothing.
- #250 removes support for zend-stdlib v2 releases.
- Nothing.
- #249 adds support in the hostname validator for the
.rs
TLD.
- #253 updates the list of allowed characters for a
DE
domain name to match those published by IDN.
- Nothing.
- Nothing.
- #256 fixes hostname validation when omitting the TLD from verification, ensuring validation of the domain segment considers all URI criteria.
-
#237 adds support for the PSR-7 UploadedFileInterface to each of the
Upload
andUploadFile
validators. -
#220 adds image/webp to the list of known image types for the
IsImage
validator.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
-
#241 has the
Hostname
validator return an invalid result early when an empty domain segment is detected. -
#232 updates the
Hostname
validator to allow underscores in subdomains. -
#218 fixes a precision issue with the
Step
validator.
-
#202 adds the ability to use custom constant types in extensions of
Zend\Validator\CreditCard
, fixing an issue where users were unable to add new brands as they are created. -
#203 adds support for the new Russian bank card "Mir".
-
#204 adds support to the IBAN validator for performing SEPA validation against Croatia and San Marino.
-
#209 adds documentation for the
Explode
validator.
- Nothing.
- Nothing.
- Nothing.
-
#195 adds missing
GpsPoint
validator entries to theValidatorPluginManager
, ensuring they may be retrieved from it correctly. -
#212 updates the
CSRF
validator to automatically mark any non-string values as invalid, preventing errors such as array to string conversion.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #194 modifies the
EmailAddress
validator to omit theINTL_IDNA_VARIANT_UTS46
flag toidn_to_utf8()
if the constant is not defined, fixing an issue on systems using pre-2012 releases of libicu.
-
#175 adds support for PHP 7.2 (conditionally, as PHP 7.2 is currently in beta1).
-
#157 adds a new validator,
IsCountable
, which allows validating:- if a value is countable
- if a countable value exactly matches a configured count
- if a countable value is greater than a configured minimum count
- if a countable value is less than a configured maximum count
- if a countable value is between configured minimum and maximum counts
-
#169 modifies how the various
File
validators check for readable files. Previously, they usedstream_resolve_include_path
, which led to false negative checks when the files did not exist within aninclude_path
(which is often the case within a web application). These now useis_readable()
instead. -
#185 updates the zend-session requirement (during development, and in the suggestions) to 2.8+, to ensure compatibility with the upcoming PHP 7.2 release.
-
#187 updates the
Between
validator to require that both amin
and amax
value are provided to the constructor, and that both are of the same type (both integer/float values and/or both string values). This fixes issues that could previously occur when one or the other was not set, but means an exception will now be raised during instantiation (versus runtime duringisValid()
). -
#188 updates the
ConfigProvider
to alias the service nameValidatorManager
to the classZend\Validator\ValidatorPluginManager
, and now maps the the latter class to theValidatorPluginManagerFactory
. Previously, we mapped the service name directly to the factory. Usage should not change for anybody at this point.
- Nothing.
- #175 removes support for HHVM.
- #160 fixes how the
EmailAddress
validator handles the local part of an address, allowing it to support unicode.
- Nothing.
- Nothing.
- Nothing.
- #180 fixes how
Zend\Validator\File\MimeType
"closes" the open FileInfo handle for the file being validated, usingunset()
instead offinfo_close()
; this resolves a segfault that occurs on older PHP versions. - #174 fixes how
Zend\Validator\Between
handles two situations: (1) when a non-numeric value is validated against numeric min/max values, and (2) when a numeric value is validated against non-numeric min/max values. Previously, these incorrectly validated as true; now they are marked invalid.
- Nothing.
- #154 updates the
CreditCard
validator to allow 19 digit Discover card values, and 13 and 19 digit Visa card values, which are now allowed (see https://en.wikipedia.org/wiki/Payment_card_number). - #162 updates the
Hostname
validator to support.hr
(Croatia) IDN domains. - #163 updates the
Iban
validator to support Belarus.
- Nothing.
- Nothing.
- #168 fixes how the
ValidatorPluginManagerFactory
factory initializes the plugin manager instance, ensuring it is injecting the relevant configuration from theconfig
service and thus seeding it with configured validator services. This means that thevalidators
configuration will now be honored in non-zend-mvc contexts.
- #78 added
%length%
as an optional message variable in StringLength validator
- Nothing.
- #151 dropped php 5.5 support
- #147
#148 adds further
"suggest"
clauses incomposer.json
, since some dependencies are not always required, and may lead to runtime failures. - #66 fixed EmailAddress validator applying IDNA conversion to local part
- #88 fixed NotEmpty validator incorrectly applying types bitmaps
- #150 fixed Hostname validator not allowing some characters in .dk IDN
- #110 adds new Mastercard 2-series BINs
- Nothing.
- Nothing.
- #81 registers the Uuid validator into ValidatorPluginManager.
- Nothing.
- Nothing.
- Nothing.
- #92 adds message
templates to the
ExcludeMimeType
validator, to allow differentiating validation error messages from theMimeType
validator.
- #58 adds a new
Uuid
validator, capable of validating if Versions 1-5 UUIDs are well-formed. - #64 ports
Zend\ModuleManager\Feature\ValidatorProviderInterface
toZend\Validator\ValidatorProviderInterface
, and updates theModule::init()
to typehint against the new interface instead of the one from zend-modulemanager. Applications targeting zend-mvc v3 can start updating their code to implement the new interface, or simply duck-type against it.
- Nothing.
- Nothing.
- Nothing.
- #67 adds support
for Punycoded top-level domains in the
Hostname
validator. - #79 adds and publishes the documentation to https://zendframework.github.io/zend-validator/
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- Nothing.
- #65 fixes the
Module::init()
method to properly receive aModuleManager
instance, and not expect aModuleEvent
.
- Nothing.
- Nothing.
- Nothing.
- This release updates the TLD list to the latest version from the IANA.
- #63 exposes the
package as a ZF component and/or generic configuration provider, by adding the
following:
ValidatorPluginManagerFactory
, which can be consumed by container-interop / zend-servicemanager to create and return aValidatorPluginManager
instance.ConfigProvider
, which maps the serviceValidatorManager
to the above factory.Module
, which does the same asConfigProvider
, but specifically for zend-mvc applications. It also provices a specification toZend\ModuleManager\Listener\ServiceListener
to allow modules to provide validator configuration.
- Nothing.
- Nothing.
- Nothing.
- #18 adds a
GpsPoint
validator for validating GPS coordinates. - #47 adds two new
classes,
Zend\Validator\Isbn\Isbn10
andIsbn13
; these classes are the result of an extract class refactoring, and contain the logic specific to calcualting the checksum for each ISBN style.Zend\Validator\Isbn
now instantiates the appropriate one and invokes it. - #46 updates
Zend\Validator\Db\AbstractDb
to implementZend\Db\Adapter\AdapterAwareInterface
, by composingZend\Db\Adapter\AdapterAwareTrait
.
- Nothing.
- #55 removes some
checks for
safe_mode
within theMimeType
validator, assafe_mode
became obsolete starting with PHP 5.4.
- #45 fixes aliases
mapping the deprecated
Float
andInt
validators to theirIs*
counterparts. - #49 #50, and #51 update the code to be forwards-compatible with zend-servicemanager and zend-stdlib v3.
- #56 fixes the regex
in the
Ip
validator to escape.
characters used as IP delimiters.
- Nothing.
- Nothing.
- Nothing.
- #44 corrects the
grammar on the
NOT_GREATER_INCLUSIVE
validation error message. - #45 adds normalized aliases for the i18n isfloat/isint validators.
- Updates the hostname validator regexes per the canonical service on which they are based.
- #52 updates the
Barcode
validator to cast empty options passed to the constructor to an empty array, fixing type mismatch errors. - #54 fixes the IP
address detection in the
Hostname
validator to ensure that IPv6 is detected correctly. - #56 updates the
regexes used by the
IP
validator when comparing ipv4 addresses to ensure a literal.
is tested between network segments.
- #30 adds tooling to ensure that the Hostname TLD list stays up-to-date as changes are pushed for the repository.
- Nothing.
- Nothing.
- #17 and #29 provide more test coverage, and fix a number of edge cases, primarily in validator option verifications.
- #26 fixes tests for
StaticValidator
such that they make correct assertions now. In doing so, we determined that it was possible to pass an indexed array of options, which could lead to unexpected results, often leading to false positives when validating. To correct this situation,StaticValidator::execute()
now raises anInvalidArgumentException
when an indexed array is detected for the$options
argument. - #35 modifies the
NotEmpty
validator to no longer treat the float0.0
as an empty value for purposes of validation. - #25 fixes the
Date
validator to check againstDateTimeImmutable
and notDateTimeInterface
(as PHP has restrictions currently on how the latter can be used).
- #8 adds a "strict" configuration option; when enabled (the default), the length of the address is checked to ensure it follows the specification.
- Nothing.
- Nothing.