<commit_before>CHANGELOG
=========

5.4
---

 * Add a `Cidr` constraint to validate CIDR notations
 * Add a `CssColor` constraint to validate CSS colors
 * Add support for `ConstraintViolationList::createFromMessage()`
 * Add error's uid to `Count` and `Length` constraints with "exactly" option enabled

5.3
---

 * Add the `normalizer` option to the `Unique` constraint
 * Add `Validation::createIsValidCallable()` that returns true/false instead of throwing exceptions

5.2.0
-----

 * added a `Cascade` constraint to ease validating nested typed object properties
 * deprecated the `allowEmptyString` option of the `Length` constraint

   Before:

   ```php
   use Symfony\Component\Validator\Constraints as Assert;

   /**
    * @Assert\Length(min=5, allowEmptyString=true)
    */
   ```

   After:

   ```php
   use Symfony\Component\Validator\Constraints as Assert;

   /**
    * @Assert\AtLeastOneOf({
    *     @Assert\Blank(),
    *     @Assert\Length(min=5)
    * })
    */
   ```
 * added the `Isin` constraint and validator
 * added the `ULID` constraint and validator
 * added support for UUIDv6 in `Uuid` constraint
 * enabled the validator to load constraints from PHP attributes
 * deprecated the `NumberConstraintTrait` trait
 * deprecated setting or creating a Doctrine annotation reader via `ValidatorBuilder::enableAnnotationMapping()`, pass `true` as first parameter and additionally call `setDoctrineAnnotationReader()` or `addDefaultDoctrineAnnotationReader()` to set up the annotation reader

5.1.0
-----

 * added the `Hostname` constraint and validator
 * added the `alpha3` option to the `Country` and `Language` constraints
 * allow to define a reusable set of constraints by extending the `Compound` constraint
 * added `Sequentially` constraint, to sequentially validate a set of constraints (any violation raised will prevent further validation of the nested constraints)
 * added the `divisibleBy` option to the `Count` constraint
 * added the `ExpressionLanguageSyntax` constraint

5.0.0
-----

 * an `ExpressionLanguage` instance or null must be passed as the first argument of `ExpressionValidator::__construct()`
 * removed the `checkDNS` and `dnsMessage` options of the `Url` constraint
 * removed the `checkMX`, `checkHost` and `strict` options of the `Email` constraint
 * removed support for validating instances of `\DateTimeInterface` in `DateTimeValidator`, `DateValidator` and `TimeValidator`
 * removed support for using the `Bic`, `Country`, `Currency`, `Language` and `Locale` constraints without `symfony/intl`
 * removed support for using the `Email` constraint without `egulias/email-validator`
 * removed support for using the `Expression` constraint without `symfony/expression-language`
 * changed default value of `canonicalize` option of `Locale` constraint to `true`
 * removed `ValidatorBuilderInterface`
 * passing a null message when instantiating a `ConstraintViolation` is not allowed
 * changed the default value of `Length::$allowEmptyString` to `false` and made it optional
 * removed `Symfony\Component\Validator\Mapping\Cache\CacheInterface` in favor of PSR-6.
 * removed `ValidatorBuilder::setMetadataCache`, use `ValidatorBuilder::setMappingCache` instead.

4.4.0
-----

 * [BC BREAK] using null as `$classValidatorRegexp` value in `PropertyInfoLoader::__construct` will not enable auto-mapping for all classes anymore, use `'{.*}'` instead.<commit_msg>minor #47231 [Validator] add missing changelog entry for the AtLeastOneOf constraint (xabbuh)<commit_after>CHANGELOG
=========

5.4
---

 * Add a `Cidr` constraint to validate CIDR notations
 * Add a `CssColor` constraint to validate CSS colors
 * Add support for `ConstraintViolationList::createFromMessage()`
 * Add error's uid to `Count` and `Length` constraints with "exactly" option enabled

5.3
---

 * Add the `normalizer` option to the `Unique` constraint
 * Add `Validation::createIsValidCallable()` that returns true/false instead of throwing exceptions

5.2.0
-----

 * added a `Cascade` constraint to ease validating nested typed object properties
 * deprecated the `allowEmptyString` option of the `Length` constraint

   Before:

   ```php
   use Symfony\Component\Validator\Constraints as Assert;

   /**
    * @Assert\Length(min=5, allowEmptyString=true)
    */
   ```

   After:

   ```php
   use Symfony\Component\Validator\Constraints as Assert;

   /**
    * @Assert\AtLeastOneOf({
    *     @Assert\Blank(),
    *     @Assert\Length(min=5)
    * })
    */
   ```
 * added the `Isin` constraint and validator
 * added the `ULID` constraint and validator
 * added support for UUIDv6 in `Uuid` constraint
 * enabled the validator to load constraints from PHP attributes
 * deprecated the `NumberConstraintTrait` trait
 * deprecated setting or creating a Doctrine annotation reader via `ValidatorBuilder::enableAnnotationMapping()`, pass `true` as first parameter and additionally call `setDoctrineAnnotationReader()` or `addDefaultDoctrineAnnotationReader()` to set up the annotation reader

5.1.0
-----

 * Add `AtLeastOneOf` constraint that is considered to be valid if at least one of the nested constraints is valid
 * added the `Hostname` constraint and validator
 * added the `alpha3` option to the `Country` and `Language` constraints
 * allow to define a reusable set of constraints by extending the `Compound` constraint
 * added `Sequentially` constraint, to sequentially validate a set of constraints (any violation raised will prevent further validation of the nested constraints)
 * added the `divisibleBy` option to the `Count` constraint
 * added the `ExpressionLanguageSyntax` constraint

5.0.0
-----

 * an `ExpressionLanguage` instance or null must be passed as the first argument of `ExpressionValidator::__construct()`
 * removed the `checkDNS` and `dnsMessage` options of the `Url` constraint
 * removed the `checkMX`, `checkHost` and `strict` options of the `Email` constraint
 * removed support for validating instances of `\DateTimeInterface` in `DateTimeValidator`, `DateValidator` and `TimeValidator`
 * removed support for using the `Bic`, `Country`, `Currency`, `Language` and `Locale` constraints without `symfony/intl`
 * removed support for using the `Email` constraint without `egulias/email-validator`
 * removed support for using the `Expression` constraint without `symfony/expression-language`
 * changed default value of `canonicalize` option of `Locale` constraint to `true`
 * removed `ValidatorBuilderInterface`
 * passing a null message when instantiating a `ConstraintViolation` is not allowed
 * changed the default value of `Length::$allowEmptyString` to `false` and made it optional
 * removed `Symfony\Component\Validator\Mapping\Cache\CacheInterface` in favor of PSR-6.
 * removed `ValidatorBuilder::setMetadataCache`, use `ValidatorBuilder::setMappingCache` instead.

4.4.0
-----

 * [BC BREAK] using null as `$classValidatorRegexp` value in `PropertyInfoLoader::__construct` will not enable auto-mapping for all classes anymore, use `'{.*}'` instead.
{'fraction_non_alphanumeric': 0.09745702514561727, 'fraction_numerical': 0.006677084813183691, 'mean_word_length': 4.737571312143439, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5516825', 'n_tokens_mistral': 1861, 'n_tokens_neox': 1808, 'n_words': 745}