Commit Graph

704 Commits

Author SHA1 Message Date
Nicolas Grekas
205f2356fe Merge branch '3.1' into 3.2
* 3.1:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 17:02:17 +01:00
Nicolas Grekas
904dcfc733 Merge branch '2.8' into 3.1
* 2.8:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:59:55 +01:00
Nicolas Grekas
aa7d6a28a4 Merge branch '2.7' into 2.8
* 2.7:
  [WebProfilerBundle] Fix whitespace control in layout.html.twig
  [Validator] Fix init of YamlFileLoader::$classes for empty files
2016-12-08 16:59:39 +01:00
Nicolas Grekas
a28c522790 Merge branch '3.1' into 3.2
* 3.1: (28 commits)
  Fix merge
  [Validator] add class name to the cache key
  [Serializer] Remove AbstractObjectNormalizer::isAttributeToNormalize
  Throw less misleading exception when property access not found
  [Twig] Fix deprecations with Twig 1.29
  Fixed typo
  [FrameworkBundle] Removed the kernel.debug parameter from the cache pool namespace seed
  Fix email address
  fix the docblock in regard to the role argument
  Don't use the "app" global variable in the profiler
  [VarDumper] fix tests when xdebug is enabled
  Fix merge
  FIXED NON EXISTING TYPE DECLARATION
  [Cache] Fix dumping SplDoublyLinkedList iter mode
  [Console] fixed PHP7 Errors when not using Dispatcher
  Regression test for missing controller arguments (3.1)
  Regression test for missing controller arguments
  fix a test checking for a value
  [Form][DX] FileType "multiple" fixes
  fixed CS
  ...
2016-12-08 16:18:22 +01:00
Amrouche Hamza
1681fc9c58 [Validator] add class name to the cache key 2016-12-08 16:05:12 +01:00
Nicolas Grekas
073a1dae13 [Validator] Fix init of YamlFileLoader::$classes for empty files 2016-12-08 13:07:24 +01:00
Nicolas Grekas
0e12427838 bug #20607 [Validator] Bring egulias/email-validator ~2.0 to parity with ~1.2 (Lctrs)
This PR was merged into the 3.2 branch.

Discussion
----------

[Validator] Bring egulias/email-validator ~2.0 to parity with ~1.2

| Q             | A
| ------------- | ---
| Branch?       | 3.2
| Bug fix?      | could be ?
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

When using egulias/email-validator ~1.2, we make a strict check of the email, which means that emails with RFC warnings will fail validation.
Currently with egulias/email-validator ~2.0, emails with warnings are considerate valids.

This pull request make EmailValidator with egulias/email-validator ~2.0 behave as with egulias/email-validator ~1.2.

Commits
-------

01b2f66 Switch to NoRFCWarningsValidation
2016-11-29 14:39:34 +01:00
Fabien Potencier
d5624a61c3 Merge branch '2.8' into 3.2
* 2.8:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:26:13 +01:00
Fabien Potencier
27e2b9d957 Merge branch '2.8' into 3.1
* 2.8:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:26:03 +01:00
Fabien Potencier
d3014e4695 Merge branch '2.7' into 2.8
* 2.7:
  [ClassLoader] Use only forward slashes in generated class map
  ensure the proper context for nested validations
  bug #20653 [WebProfilerBundle] Profiler includes ghost panels
2016-11-29 09:25:54 +01:00
Christian Flothmann
56c8ff8b21 ensure the proper context for nested validations 2016-11-28 10:01:58 +01:00
Jérôme Parmentier
01b2f66a65 Switch to NoRFCWarningsValidation 2016-11-23 18:18:18 +01:00
Nicolas Grekas
39c830997e Merge branch '3.1'
* 3.1:
  [YAML] Fix processing timestamp with timezone
  [ci] Testing with UTC hides bugs
  [DI] Fix error when trying to resolve a DefinitionDecorator
  [DoctrineBridge] Fix deprecation message/documentation of implementing UserProviderInterface using the entity provider
  Fix time-sensitive tests that use data providers
  [Validator] improve and added more Indonesian translation.
2016-11-18 16:17:59 -05:00
Nicolas Grekas
2e6618b144 Merge branch '2.8' into 3.1
* 2.8:
  [ci] Testing with UTC hides bugs
  [DI] Fix error when trying to resolve a DefinitionDecorator
  [DoctrineBridge] Fix deprecation message/documentation of implementing UserProviderInterface using the entity provider
  [Validator] improve and added more Indonesian translation.
2016-11-18 16:15:08 -05:00
Nicolas Grekas
546ec682bf Merge branch '2.7' into 2.8
* 2.7:
  [ci] Testing with UTC hides bugs
  [DI] Fix error when trying to resolve a DefinitionDecorator
  [Validator] improve and added more Indonesian translation.
2016-11-18 16:10:01 -05:00
Nicolas Grekas
e0f9bda49a [ci] Testing with UTC hides bugs 2016-11-18 15:26:45 -05:00
Nicolas Grekas
37956db606 Merge branch '2.7' into 2.8
* 2.7:
  CS fixes
  Remove trailing space
  CS: apply rules
  [Yaml] Clean some messages + add test case
  [Form] Fix UrlType transforms valid protocols
  [SecurityBundle] Changed encoder configuration example to bcrypt
2016-11-03 08:52:58 +01:00
Dariusz Ruminski
22d4e15634 CS: apply rules 2016-11-03 08:44:53 +01:00
Fabien Potencier
6a1667dc5d feature #19982 [Validator] Allow validating multiple groups in one GroupSequence step (enumag)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Validator] Allow validating multiple groups in one GroupSequence step

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

To see what I've changed just look at the last commit. The other two are just refactoring without any effect.

GroupSequenceProviderInterface seems to be the recommended solution for conditional validators (like when some properties should be required only if other property has a certain value). And it's a good solution honestly. Except for the fact that it's completely useless when I want to get validation violations for all groups at once and not just violations for the first group that caused any violations.

```php
// If the User validation group causes any violations the Premium group will not be
// validated at all even if the $this->isPremium() is true.
class User implements GroupSequenceProviderInterface {
    public function getGroupSequence() {
        $groups = array('User');
        if ($this->isPremium()) {
            $groups[] = 'Premium';
        }
        return $groups;
    }
}
```

To be honest I never found a use case for this step-by-step behavior. When user fills a form I want to show him all errors at once not just some subset.

It's surprisingly easy to fix this. With just one changed line in RecursiveContextualValidator it's perfectly solveable:

```php
// With this PR it is possible to do this and get violations for both groups like this.
class User implements GroupSequenceProviderInterface {
    public function getGroupSequence() {
        $groups = array('User');
        if ($this->isPremium()) {
            $groups[] = 'Premium';
        }
        return [$groups]; // this line has changed
    }
}
```

Commits
-------

31b609e [Validator] Allow validating multiple groups in one GroupSequence step
3847bad [Validator] Refactor tests
38b643a [Validator] Fix annotation
2016-10-19 15:03:14 -07:00
Fabien Potencier
ac3eb5d91f Merge branch '3.1'
* 3.1:
  fixed typo
  [HttpCache] fix: do not cache OPTIONS request
  fixed CS
  Prevent infinite loop in PropertyMetadata
2016-10-13 18:32:06 -07:00
Fabien Potencier
5c5af47914 Merge branch '2.8' into 3.1
* 2.8:
  fixed typo
  [HttpCache] fix: do not cache OPTIONS request
  fixed CS
  Prevent infinite loop in PropertyMetadata
2016-10-13 18:31:28 -07:00
Fabien Potencier
c0ed0cbdff Merge branch '2.7' into 2.8
* 2.7:
  fixed typo
  [HttpCache] fix: do not cache OPTIONS request
  fixed CS
  Prevent infinite loop in PropertyMetadata
2016-10-13 18:30:48 -07:00
Wesley Lancel
c1ae7b6ad7 Prevent infinite loop in PropertyMetadata 2016-10-13 07:00:50 -07:00
Nicolas Grekas
3ad5b2918d Merge branch '3.1'
* 3.1:
  [travis] Use hhvm-stable instead of discontinued hhvm-3.12
  bumped Symfony version to 3.1.6
  updated VERSION for 3.1.5
  updated CHANGELOG for 3.1.5
  bumped Symfony version to 2.8.13
  updated VERSION for 2.8.12
  updated CHANGELOG for 2.8.12
  bumped Symfony version to 2.7.20
  updated VERSION for 2.7.19
  update CONTRIBUTORS for 2.7.19
  updated CHANGELOG for 2.7.19
  [Validator] Url validator not validating hosts ending in a number
2016-10-04 11:33:03 +02:00
Fabien Potencier
d147e4294c Merge branch '2.8' into 3.1
* 2.8:
  [Validator] Url validator not validating hosts ending in a number
2016-10-03 10:30:23 -07:00
Fabien Potencier
1b943660e1 Merge branch '2.7' into 28
* 2.7:
  [Validator] Url validator not validating hosts ending in a number
2016-10-03 10:30:13 -07:00
Fabien Potencier
9ed8d576e1 bug #20102 [Validator] Url validator not validating hosts ending in a number (gwkunze)
This PR was squashed before being merged into the 2.7 branch (closes #20102).

Discussion
----------

[Validator] Url validator not validating hosts ending in a number

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no (Should validate slightly more urls)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | None that I could find
| License       | MIT
| Doc PR        |

We ran into an issue where the URL validator wasn't validating URL that we got from a legitimate (intranet) URL. Afaict from skimming RFCs the URL `http://myhost123/` is valid, however the current regular expression doesn't accept the last part of a hostname (in this case the entire hostname is the last part as there are no periods in the host).

I've fixed this by adding the numbers unicode character property to the regular expression, I'm not sure but symbol characters (`\pS`) might need to be added to the group as well.

Commits
-------

934c434 [Validator] Url validator not validating hosts ending in a number
2016-10-03 09:05:36 -07:00
Gijs Kunze
934c434d33 [Validator] Url validator not validating hosts ending in a number 2016-10-03 09:05:35 -07:00
Fabien Potencier
8794617371 Merge branch '3.1'
* 3.1:
  Use "more entropy" option for uniqid()
  reset constraint options
2016-10-03 08:50:21 -07:00
Fabien Potencier
53d2bdee76 Merge branch '2.8' into 3.1
* 2.8:
  Use "more entropy" option for uniqid()
  reset constraint options
  added checks for public services on compiler passes that use service id and not references
2016-10-03 08:50:10 -07:00
Fabien Potencier
fcd401fc9c Merge branch '2.7' into 2.8
* 2.7:
  Use "more entropy" option for uniqid()
  reset constraint options
2016-10-03 08:49:46 -07:00
Fabien Potencier
80577f96bf bug #20122 [Validator] Reset constraint options (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Reset constraint options

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20106
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

I think it's good to reset the internal pointer of the options array if we depend on `key($options)`. I've added tests to clarify we intentionally check for the first key.

The current behavior actually differs for hhvm/php7 - https://3v4l.org/e6r6E

Commits
-------

4c6ddd4 reset constraint options
2016-10-02 08:50:33 -07:00
Roland Franssen
4c6ddd4737 reset constraint options 2016-10-01 21:36:38 +00:00
Fabien Potencier
6399ffa32b Merge branch '3.1'
* 3.1:
  [TwigBundle] added missing dependencies for tests
  fixed CS
  adding missing dep
  [TwigBundle] Adjust CacheWarmingTest for TemplateCacheWarmer introduced in 2.8
  [TwigBundle] Fix CacheWarmingTest are order dependent
  Revert "bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)"
  [2.7][VarDumper] Fix PHP 7.1 compat
  [2.8][VarDumper] Fix PHP 7.1 compat
  silent file operation to avoid open basedir issues
  Fix #19943 Make sure to process each interface metadata only once
  #17580 compound forms without children should be considered rendered implicitly
2016-10-01 07:21:27 -07:00
Fabien Potencier
0a56032f3f Merge branch '2.8' into 3.1
* 2.8:
  [TwigBundle] added missing dependencies for tests
  fixed CS
  [TwigBundle] Adjust CacheWarmingTest for TemplateCacheWarmer introduced in 2.8
  [TwigBundle] Fix CacheWarmingTest are order dependent
  Revert "bug #20080 [Form] compound forms without children should be considered rendered implicitly (backbone87)"
  Fix #19943 Make sure to process each interface metadata only once
  #17580 compound forms without children should be considered rendered implicitly
2016-10-01 07:19:21 -07:00
Fabien Potencier
997e6d7a0b Merge branch '2.7' into 2.8
* 2.7:
  [TwigBundle] added missing dependencies for tests
  fixed CS
  Fix #19943 Make sure to process each interface metadata only once
2016-10-01 07:18:53 -07:00
Mathieu Lemoine
2f9b65aa5a Fix #19943 Make sure to process each interface metadata only once 2016-09-28 18:39:11 -04:00
Jáchym Toušek
31b609e582 [Validator] Allow validating multiple groups in one GroupSequence step 2016-09-24 06:36:14 +02:00
Jáchym Toušek
3847badd47 [Validator] Refactor tests 2016-09-24 06:36:13 +02:00
Fabien Potencier
9e1589ec6b fixed a deprecation warning in tests 2016-09-18 21:45:47 -07:00
Fabien Potencier
a86583d226 feature #19745 [Validator] Added context object method callback to choice validator (Peter Bouwdewijn)
This PR was squashed before being merged into the 3.2-dev branch (closes #19745).

Discussion
----------

[Validator] Added context object method callback to choice validator

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

835dcf3 [Validator] Added context object method callback to choice validator
2016-09-17 12:51:23 -07:00
Peter Bouwdewijn
835dcf338d [Validator] Added context object method callback to choice validator 2016-09-17 12:51:16 -07:00
Fabien Potencier
d2a7994a2d feature #19257 [Validator][Choice] Make strict the default option for choice validation (peterrehm)
This PR was squashed before being merged into the 3.2-dev branch (closes #19257).

Discussion
----------

[Validator][Choice] Make strict the default option for choice validation

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #18973
| License       | MIT
| Doc PR        | -

This is just the WIP as there are two options.

1. Just change default which would only possible to introduce in 4.x or in 3.2 if this BC break is considered as acceptable

2. Add a new option e.g. `strictComparison` which defaults to true in 4.x and deprecate the usage of the strict option for 3.2.

3. Just deprecate strict = false and remove the option but I would be against that as we remove flexibility which might be wanted.

As per discussion I went ahead with option 3. We can then still decide if we want to remove the option entirely or eventually reenable setting strict to false in a later release.

Commits
-------

177c513 [Validator][Choice] Make strict the default option for choice validation
2016-09-14 15:04:04 -07:00
Peter Rehm
177c513ece [Validator][Choice] Make strict the default option for choice validation 2016-09-14 15:03:11 -07:00
Nicolas Grekas
1d4bee5330 Merge branch '3.1'
* 3.1:
  [ci] Fix build-packages.php
  [Validator] Update IpValidatorTest data set with a valid reserved IP
2016-09-13 13:54:54 +02:00
Nicolas Grekas
476dadcfa1 Merge branch '2.8' into 3.1
* 2.8:
  [ci] Fix build-packages.php
  [Validator] Update IpValidatorTest data set with a valid reserved IP
2016-09-13 13:54:29 +02:00
Nicolas Grekas
fc97aa5e3b Merge branch '2.7' into 2.8
* 2.7:
  [ci] Fix build-packages.php
  [Validator] Update IpValidatorTest data set with a valid reserved IP
2016-09-13 13:53:53 +02:00
Nicolas Grekas
f32198954d bug #19928 [Validator] Update IpValidatorTest data set with a valid reserved IP (jakzal)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] Update IpValidatorTest data set with a valid reserved IP

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #19885
| License       | MIT
| Doc PR        | -

The validator uses PHP filter which was recently fixed (see https://bugs.php.net/bug.php?id=72972).

Commits
-------

86a151c [Validator] Update IpValidatorTest data set with a valid reserved IP
2016-09-13 13:51:44 +02:00
Jakub Zalas
86a151c9f5 [Validator] Update IpValidatorTest data set with a valid reserved IP
The validator uses PHP filter which was recently fixed (see https://bugs.php.net/bug.php?id=72972).
2016-09-13 12:11:56 +01:00
Nicolas Grekas
a2a442b554 Merge branch '3.1'
* 3.1:
  [FrameworkBundle] Check for class existence before is_subclass_of
  Update GroupSequence.php
  Code enhancement and cleanup
  [Form] Fix transformer tests after the ICU update
  [DI] Add anti-regression test
  Revert "minor #19689 [DI] Cleanup array_key_exists (ro0NL)"
  bumped Symfony version to 3.1.5
  updated VERSION for 3.1.4
  updated CHANGELOG for 3.1.4
  bumped Symfony version to 2.8.11
  updated VERSION for 2.8.10
  updated CHANGELOG for 2.8.10
  [BrowserKit] Fix cookie expiration on 32 bit systems
  bumped Symfony version to 2.7.18
  updated VERSION for 2.7.17
  update CONTRIBUTORS for 2.7.17
  updated CHANGELOG for 2.7.17
  Update misleading comment about RFC4627
2016-09-06 13:07:23 +02:00