Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: symfony/symfony
base: v2.0.20
...
head fork: symfony/symfony
compare: v2.1.0
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jul 31, 2012
@fabpot fabpot [HttpKernel] added a way to override the default response status code…
… when handling an exception (closes #5043)
788e5eb
@bamarni bamarni fixed typo f84f5fd
@lsmith77 lsmith77 handle inheritance in config:dump-reference when a bundle name is pas…
…sed to the command
cdfbe72
@fabpot fabpot merged branch bamarni/patch-3 (PR #5125)
Commits
-------

f84f5fd fixed typo

Discussion
----------

fixed typo
5b9b995
@vicb vicb [Routing] Add an interface for configuring strict_parameters 03bbaaf
@fabpot fabpot merged branch vicb/lenient_generator (PR #5114)
Commits
-------

03bbaaf [Routing] Add an interface for configuring strict_parameters

Discussion
----------

[RFC][Routing] Add an interface for configuring strict_parameters

This is a proposal to fix #4697 (related to #4592).

The main point left to discuss was the name of the interface, which is now `LenientInterface`. We could change the name to anything else is someone has a better idea.

@stof @Tobion what do you think ?

---------------------------------------------------------------------------

by stof at 2012-07-30T16:34:20Z

@vicb I already said I had no idea to name it, and it has not changed. :)
So let's wait for other people to see if they have a better idea

---------------------------------------------------------------------------

by breerly at 2012-07-30T16:38:38Z

Maybe `PermissibleInterface` or `PermissiveInterface`.

---------------------------------------------------------------------------

by Partugal at 2012-07-30T17:00:09Z

`StrictUrlGeneratorInterface`, `StrictParametersInterface` or `StrictInterface`

---------------------------------------------------------------------------

by pborreli at 2012-07-30T17:04:46Z

:+1: for `PermissiveInterface`

---------------------------------------------------------------------------

by stof at 2012-07-30T17:07:59Z

yes, because the Router currently can only use this interface to set it to ``not-strict``. It assumes that the url generator is already strict by default (which is probably a bad assumption btw as the base class for the generated generator can be changed)

---------------------------------------------------------------------------

by pborreli at 2012-07-30T17:09:33Z

@stof thx, got it

---------------------------------------------------------------------------

by Partugal at 2012-07-30T17:10:03Z

this interface realize setting Strict by setStrictParameters, and get by getStrictParameters, and imho named it by `Strictable` is more logic

---------------------------------------------------------------------------

by pborreli at 2012-07-30T17:11:07Z

@Partugal let's try to find an english term :)

---------------------------------------------------------------------------

by Partugal at 2012-07-30T17:11:31Z

)

---------------------------------------------------------------------------

by breerly at 2012-07-30T17:15:23Z

@Partugal I like using "able" in interface names because it describes a behavior instead of a noun. This type of naming makes following the Interface Segregation Principle easy to follow. Good work.

---------------------------------------------------------------------------

by vicb at 2012-07-30T18:24:26Z

As explained by @stof I did not consider `StrictInterface` because as of now the interface is used to disabled the strict bevahior (which is enabled by default).

I am not satisfied with `PermissiveInterface` / `LenientInterface` because implementing this interface does not mean that the generator will be permissive but only that the behavior is configurable - yes I did consider `Configurable` but the term is a too vague.

---------------------------------------------------------------------------

by breerly at 2012-07-30T18:35:45Z

I see. Perhaps ```StrictConfigurableInterface``` would do the trick.

---------------------------------------------------------------------------

by Tobion at 2012-07-30T21:02:21Z

I think renaming strict_parameters to `strict_requirements` is the way to go because it determines how requirements are handled when generating a URL. Also we should allow another option:
strict_requirements = true: throw exception for mismatching requirements
strict_requirements = null: return null as URL for mismatching requirements and log it.
strict_requirements = false: return the URL with the given parameters without checking the requirements and don't log it.
(Maybe use constants for these).
The Interface I would then call `ConfigurableRequirementsInterface` or `RequirementsHandlingInterface`.

---------------------------------------------------------------------------

by vicb at 2012-07-31T07:23:24Z

Thanks all for the feeback, this is what is now implemented:

- A `ConfigurableRequirementsInterface` that should be implemented by generators that can be configure not to throw an exception when the parameters do not match the requirements,
- The interface has two methods: `setStrictRequirements()` and `isStrictRequirements()`,
- `setStrictRequirements()` always gets called to configure the generator (whatever the option value is)

Note: The Router option name has not changed (i.e. `strict_parameters`)

Does that fit everyone ?

---------------------------------------------------------------------------

by vicb at 2012-07-31T07:39:22Z

So the option name is now consistent (`strict_requirements`) with the interface. We should sync the change [in the standard edition](https://github.com/symfony/symfony-standard/blob/master/app/config/config.yml#L11) if we agree to merge this.

---------------------------------------------------------------------------

by fabpot at 2012-07-31T07:51:47Z

@vicb you forgot to rename the property in `UrlGenerator` as @stof mentioned above.

---------------------------------------------------------------------------

by vicb at 2012-07-31T07:59:57Z

@fabpot fixed. If the code is ok, I'll squash the commits and open a PR on symfony-standard
4b52198
@webmozart webmozart [Form] Moved FormHelper back to FrameworkBundle b982883
@fabpot fabpot merged branch bschussek/bootstrap (PR #5112)
Commits
-------

b982883 [Form] Moved FormHelper back to FrameworkBundle
cb62d05 [Form] [Validator] Fixed issues mentioned in the PR
2185ca8 [Validator] Added entry point "Validation" for more convenient usage outside of Symfony2
ed87361 [Form] Moved FormHelper creation to TemplatingExtension
87ccb6a [Form] Added entry point "Forms" for more convenient usage outside of Symfony

Discussion
----------

[Form] [Validator] Added more convenient entry points for stand-alone usage

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

This PR greatly simplifies the usage of the Form and Validator component when used outside of Symfony2. Check out the below code to get an idea about the simplified usage:

```php
<?php

use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Mapping\Cache\ApcCache;
use Symfony\Component\Form\Forms;
use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationExtension;
use Symfony\Component\Form\Extension\Csrf\CsrfExtension;
use Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider;
use Symfony\Component\Form\Extension\Templating\TemplatingExtension;
use Symfony\Component\Form\Extension\Validator\ValidatorExtension;
use Symfony\Component\HttpFoundation\Session;
use Symfony\Component\Templating\PhpEngine;

$session = new Session();
$secret = 'V8a5Z97e...';
$csrfProvider = new SessionCsrfProvider($session, $secret);
$engine = new PhpEngine(/* ... snap ... */);

$validator = Validation::createValidator();
// or
$validator = Validation::createValidatorBuilder()
    ->addXmlMapping('path/to/mapping.xml')
    ->addYamlMapping('path/to/mapping.yml')
    ->addMethodMapping('loadValidatorMetadata')
    ->enableAnnotationMapping()
    ->setMetadataCache(new ApcCache())
    ->getValidator();

$formFactory = Forms::createFormFactory();
// or
$formFactory = Forms::createFormFactoryBuilder()
    // custom types, if you're too lazy to create an extension :)
    ->addType(new PersonType())
    ->addType(new PhoneNumberType())
    ->addTypeExtension(new FormTypeHelpTextExtension())
    // desired extensions (CoreExtension is loaded by default)
    ->addExtension(new HttpFoundationExtension())
    ->addExtension(new CsrfExtension($csrfProvider))
    ->addExtension(new TemplatingExtension($engine, $csrfProvider, array(
        'FormBundle:Form'
    ))
    ->addExtension(new ValidatorExtension($validator))
    ->getFormFactory();

$form = $formFactory->createBuilder()
    ->add('firstName', 'text')
    ->add('lastName', 'text')
    ->add('age', 'integer')
    ->add('gender', 'choice', array(
        'choices' => array('m' => 'Male', 'f' => 'Female'),
    ))
    ->getForm();

if (isset($_POST[$form->getName()])) {
    $form->bind($_POST[$form->getName()]);

    if ($form->isValid()) {
        // do stuff
    }
}

return $engine->render('AcmeHelloBundle:Hello:index.html.php', array(
    'form' => $form->createView(),
));
```

---------------------------------------------------------------------------

by bschussek at 2012-07-30T10:08:42Z

I should maybe add a comment about the benefits of this change, in case they are not self-explanatory:

* class construction with default configuration is now a one-liner
* userland code is decoupled from core implementations → userland code doesn't break if we change constructor signatures
* easier to understand, since many core classes are now created internally
* easy to discover the possible settings → just look at (FormFactory|Validator)BuilderInterface
* usage of custom interface implementations is supported, just like before

---------------------------------------------------------------------------

by fabpot at 2012-07-31T08:18:53Z

The new syntax is great.

I have one comment though about this PR about support of PHP as a templating system (support for Twig is provided by the bridge and it was already easy to configure Twig as a templating system for forms -- see Silex for instance).

The `FormHelper` has been moved into the Form component. This helper is only useful when using the PHP templating system (which is not what we recommend people to use), but the default templates are still in the Framework bundle. So using the Form component as standalone with PHP as a templating system still requires to install the bundle to get access to the default templates. Am I missing something? Do we want to move the PHP templates to the Form component too?

---------------------------------------------------------------------------

by stof at 2012-07-31T08:28:28Z

@fabpot it is even worse than that: the FormHelper currently uses the theme by using ``$theme . ':' . $block . '.html.php`` IIRC. This is not compatible with the default template name parser of the component expecting a path. And the FrameworkBundle template name parser does not support accessing a template outside a bundle AFAIK.
So moving the templating to the component would require some refactoring in the FormHelper and the template name parser. However, I think it is worth it. Some people complained that using the form rendering (outside the full-stack framework) was requiring either setting up Twig with the bridge, or adding FrameworkBundle in the project (which means including most of the code of the full-stack framework). Having the Templating rendering in the standalone component could be a great idea

---------------------------------------------------------------------------

by fabpot at 2012-07-31T08:42:53Z

But then, I don't want to promote the Templating component or the PHP templating system. Twig is always a better alternative and this should be what people use most of the time, PHP being the rare exception.

Anyway, we are too close from the first 2.1 RC, so any big refactoring will have to wait for 2.2.

---------------------------------------------------------------------------

by stof at 2012-07-31T09:02:10Z

then maybe we should keep the FormHelper in FrameworkBundle for now as it is tied to the FrameworkBundle template name parser anyway currently.

---------------------------------------------------------------------------

by bschussek at 2012-07-31T14:22:35Z

> it it is even worse than that: the FormHelper currently uses the theme by using ``$theme . ':' . $block . '.html.php`` IIRC. This is not compatible with the default template name parser of the component expecting a path.

This is why the templates are still in FrameworkBundle. I think they should be moved too, but then we have to change

* the default theme to an absolute file path
* the FrameworkBundle name parser to accept absolute paths

I think this can wait until 2.2. Baby steps.

> I don't want to promote the Templating component or the PHP templating system.

We can both promote Twig while making Templating as easy to use as possible. If people want to use Templating, they probably have a reason. We don't have to make their lives more painful than necessary.

Btw: Templating is a *lot* faster for rendering forms than Twig. On Denis' form, Templating takes 1.15 seconds while Twig takes 2.

About moving the helpers, we have two choices:

* Move each helper to the respective component. This would not require new releases of the Templating component when we add more helpers in other component.

* Move all helpers to Templating. This does not make that much sense for Form, as then Form has support for Templating (TemplatingRendererEngine) and Templating has support for Form (FormHelper), which is a bit weird. I personally prefer a stacked architecture, where Templating is at the bottom and Form-agnostic, and Form (or any other component) builds upon that.

I'm fine with both approaches. I'll move FormHelper back to FrameworkBundle, and we can decide for a direction in 2.2.

---------------------------------------------------------------------------

by bschussek at 2012-07-31T14:36:30Z

Done.
ee2b8c4
@vicb vicb [Composer] Bumped doctrine/orm to 2.2.3 4ae54e3
@fabpot fabpot merged branch vicb/doctrine_deps (PR #5127)
Commits
-------

4ae54e3 [Composer] Bumped doctrine/orm to 2.2.3

Discussion
----------

[Composer] Bumped doctrine/orm to 2.2.3

fix #4966

---------------------------------------------------------------------------

by stloyd at 2012-07-31T15:01:41Z

You should also _bump_ Security component [deps](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Security/composer.json#L28).

---------------------------------------------------------------------------

by vicb at 2012-07-31T15:05:03Z

The security does not depend on `doctrine/orm`
b1618d2
Commits on Aug 01, 2012
@EvanK EvanK OptionsResolver#validateOptionTypes should check if option value exis…
…ts before checking its type; added corresponding test

OptionsResolver#validateOptionsCompleteness would already have thrown exception if the option were required, so this should only affect something explicitly marked as optional
c6a9638
Commits on Aug 02, 2012
@richardmiller richardmiller Added before/after examples of change in registering security factori…
…es to upgrade info.
2c3a7bf
Commits on Aug 03, 2012
@fabpot fabpot merged branch richardmiller/adding_example_to_upgrade_info (PR #5153)
Commits
-------

2c3a7bf Added before/after examples of change in registering security factories to upgrade info.

Discussion
----------

Added before/after examples of change in registering security factories ...

...to upgrade info.
6f32078
@vicb vicb [DoctrineBridge] Fix log of non utf8 data 6097c80
@dlsniper dlsniper Caching variables for the PHP templating engine 22cb817
@fabpot fabpot merged branch dlsniper/php-engine-escape-cache (PR #5117)
Commits
-------

22cb817 Caching variables for the PHP templating engine

Discussion
----------

[Templating] PHP templating engine speed-ups

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/dlsniper/symfony.png?branch=php-engine-escape-cache)](http://travis-ci.org/dlsniper/symfony)
Fixes the following tickets: ~
Todo: ~
License of the code: MIT
Documentation PR: ~

This PR should improve the speed for rendering the form present here: https://github.com/dlsniper/symfony-standard . On my computer, Ubuntu 12.04 Apache 2.2.22 + mod_php 5.3.10 default packages from Ubuntu on a core i7 I get about 30-40ms improvement / request with the first commit and with the second one I get a further smaller boost and also a small memory usage decrease.

---------------------------------------------------------------------------

by dlsniper at 2012-07-31T06:18:54Z

ping @bschussek This should help a bit more on the effort for optimizing the example provided for the Forms component.

If there's another example of complex form(s) let me know so that I can have a look on them as well. Thanks!

---------------------------------------------------------------------------

by travisbot at 2012-07-31T19:55:03Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2003907) (merged 240152b9 into a172a81).

---------------------------------------------------------------------------

by dlsniper at 2012-08-02T07:41:03Z

@fabpot what do you think about this? or anyone else for that matter?

---------------------------------------------------------------------------

by travisbot at 2012-08-02T12:55:54Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2018613) (merged 5e773e79 into a172a81).

---------------------------------------------------------------------------

by fabpot at 2012-08-03T07:42:31Z

Can you squash your commits?

---------------------------------------------------------------------------

by dlsniper at 2012-08-03T08:32:05Z

@fabpot Done

---------------------------------------------------------------------------

by travisbot at 2012-08-03T08:40:46Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2026559) (merged 22cb817 into 6f32078).
6b94407
@fabpot fabpot merged 2.0 7a5f614
@fabpot fabpot merged branch vicb/doctrine_logger_2.1 (PR #5162)
Commits
-------

6097c80 [DoctrineBridge] Fix log of non utf8 data

Discussion
----------

[DoctrineBridge] Fix log of non utf8 data

relates to #5139 (fix #5115 for 2.1)

---------------------------------------------------------------------------

by travisbot at 2012-08-03T08:34:14Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2026546) (merged 6097c80 into 6f32078).
48e384b
@cs278 cs278 [Form] Fix UnexpectedTypeException from HttpFoundation extension d1aae0b
@fabpot fabpot Merge branch '2.0'
* 2.0:
  Fixes incorrect class used in src/Symfony/Bundle/FrameworkBundle/Console/Application.php
  [FrameworkBundle] added test for fix broken command registration
  corrected phpdoc
c534661
@fabpot fabpot merged branch cs278/master (PR #5172)
Commits
-------

d1aae0b [Form] Fix UnexpectedTypeException from HttpFoundation extension

Discussion
----------

[Form] Fix UnexpectedTypeException from HttpFoundation extension

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

Fixes exception thrown by the `AbstractExtension` because the wrong method has been implemented.

```
Uncaught exception 'Symfony\\Component\\Form\\Exception\\UnexpectedTypeException' with message 'Expected argument of type "Symfony\\Component\\Form\\FormTypeInterface", "Symfony\\Component\\Form\\Extension\\HttpFoundation\\Type\\FormTypeHttpFoundationExtension" given' in vendor/symfony/form/Symfony/Component/Form/AbstractExtension.php:153
```

---------------------------------------------------------------------------

by stof at 2012-08-03T12:36:55Z

:+1:
be41ca3
@EvanK EvanK validateOptionTypes checking existence of key rather than value aa890ae
@chx chx StreamedResponse always sends a HTTP 1.1 response
SERVER_PROTOCOL is "Name and revision of the information protocol via which the page was requested; i.e. 'HTTP/1.0'"
b00ea41
@franmomu franmomu [Validator] Updated Spanish translations 981da1a
Commits on Aug 04, 2012
@fabpot fabpot merged branch chx/master (PR #5175)
Commits
-------

b00ea41 StreamedResponse always sends a HTTP 1.1 response

Discussion
----------

StreamedResponse always sends a HTTP 1.1 response

SERVER_PROTOCOL is "Name and revision of the information protocol via which the page was requested; i.e. 'HTTP/1.0'". The condition was for 1.0 which is wrong.

Earlier I filed #5173

---------------------------------------------------------------------------

by travisbot at 2012-08-03T18:33:45Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2030496) (merged b00ea41 into be41ca3).

---------------------------------------------------------------------------

by chx at 2012-08-03T18:36:58Z

Seems to me that the Travis fails have absolutely nothing to do with my patch.
532334d
@fabpot fabpot [HttpFoundation] fixed typo (refs #5175) 3f51bc0
@fabpot fabpot [HttpFoundation] fixed tests (refs #5175) aeaa69a
@fabpot fabpot merged branch franmomu/patch-2 (PR #5177)
Commits
-------

981da1a [Validator] Updated Spanish translations

Discussion
----------

[Validator] Updated Spanish translations

---------------------------------------------------------------------------

by travisbot at 2012-08-03T23:06:26Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2032706) (merged 981da1a into be41ca3).
ed5153d
@fabpot fabpot merged branch EvanK/master (PR #5132)
Commits
-------

aa890ae validateOptionTypes checking existence of key rather than value
c6a9638 OptionsResolver#validateOptionTypes should check if option value exists before checking its type; added corresponding test

Discussion
----------

[OptionsResolver] validateOptionTypes raises error for optional, nonexistant option values

The [`OptionsResolver#validateOptionTypes`](https://github.com/symfony/OptionsResolver/blob/master/OptionsResolver.php#L315) method should check if a given option value exists before trying to test its type:

```php
<?php
// Two optional 'one' and 'two' options that, if they exist, must be a string and int respectively
$resolver = new OptionsResolver();
$resolver->setOptional(array('one', 'two'))->setAllowedTypes(array('one' => 'string', 'two' => 'int'));

// Correctly fails as wrong type
$resolver->resolve(array('one' => 1, 'two' => 'alpha'));

// Correctly succeeds
$resolver->resolve(array('one' => 'alpha', 'two' => 1));

// Raises error "Undefined index: two", see OptionsResolver.php line 315
$resolver->resolve(array('one' => 'alpha'));
```

---------------------------------------------------------------------------

by travisbot at 2012-08-01T01:46:50Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2006049) (merged c6a9638 into b1618d2).

---------------------------------------------------------------------------

by ericclemmons at 2012-08-03T05:15:27Z

I hope this makes it in for the 2.1 release.  We have several types attempting to take advantage of the `OptionsResolver` component and want to help resolve this.

---------------------------------------------------------------------------

by stof at 2012-08-03T07:30:44Z

:+1:

---------------------------------------------------------------------------

by travisbot at 2012-08-03T17:25:12Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2030053) (merged aa890ae into b1618d2).
7a75a11
@fabpot fabpot updated VERSION for 2.1.0-RC1 443e77d
@fabpot fabpot bumped Symfony version to 2.1.0-DEV d6374ae
@fabpot fabpot fixed merge c99f9d2
Commits on Aug 05, 2012
@Tobion Tobion [Routing] fixed 4 bugs in the UrlGenerator 0706d18
@sun sun Added Yaml\Dumper::setIndentation() method to allow a custom indentat…
…ion level of nested nodes.

YAML does not specify an absolute indentation level, but a consistent indentation of nested nodes only: http://www.yaml.org/spec/1.2/spec.html#space/indentation/

Projects that are generally using 2 spaces for indentation should be able to retain consistency with their coding standards by supplying a custom value for the new $indent parameter added to Yaml::dump(), or the new Dumper::setIndentation() method.

The new parameter is a backwards-compatible API addition and defaults to the previous default of 4 (which was changed from 2 via PR #2242 only recently).
5be7237
Bertrand Zuchuat [Doctrine Bridge] Added a parameter ignoreNull on Unique entity to al…
…low a nullable value on field. Added Test
f1c4b8b
@franmomu franmomu [Validator] Updated Catalonian translations y fixed typos in Spanish 3d5b1db
@fabpot fabpot merged branch franmomu/master (PR #5183)
Commits
-------

3d5b1db [Validator] Updated Catalonian translations y fixed typos in Spanish

Discussion
----------

[Validator] Updated Catalonian translations and fixed typos in Spanish

---------------------------------------------------------------------------

by travisbot at 2012-08-05T10:34:55Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2039920) (merged 3d5b1db into c99f9d2).
20d2e5a
@stof stof [DoctrineBridge] Fixed the testsuite 85187ec
Commits on Aug 06, 2012
modi update zh_CN translations of Form Component 83269a4
@fabpot fabpot merged branch stof/fix_tests (PR #5184)
Commits
-------

85187ec [DoctrineBridge] Fixed the testsuite

Discussion
----------

[DoctrineBridge] Fixed the testsuite

In the master branch, the handling of non-utf8 values is done by Monolog as the data are passed through the context.

---------------------------------------------------------------------------

by travisbot at 2012-08-05T12:52:26Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2040281) (merged 85187ec into 20d2e5a).
98ea126
@fabpot fabpot merged branch modi/master (PR #5186)
Commits
-------

83269a4 update zh_CN translations of Form Component

Discussion
----------

update zh_CN translations of Form Component

---------------------------------------------------------------------------

by travisbot at 2012-08-06T01:45:01Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2044024) (merged 83269a4 into 20d2e5a).
ca9f5e8
@fabpot fabpot merged branch Garfield-fr/master (PR #5015)
Commits
-------

f1c4b8b [Doctrine Bridge] Added a parameter ignoreNull on Unique entity to allow a nullable value on field. Added Test

Discussion
----------

[Doctrine Bridge] Added parameter ignoreNull to accept a nullable value on field

In my last project, i use this syntax to test unicity on 2 fields, but it fail because the validator stop if value is null. I dropped the test on validator and my unicity work fine.

```
@UniqueEntity(fields={"username", "deletedAt"})
```

It's possible to add this PR on Bridge.

Thanks

Bertrand

---------------------------------------------------------------------------

by stof at 2012-07-23T08:14:19Z

This is wrong. RDBMS allow several null values in a unique column and this change will break it.

---------------------------------------------------------------------------

by henrikbjorn at 2012-07-23T08:17:08Z

@stof seems weird indeed it would return if any of the values are null. Makes sense to do a query where the field `IS NULL` or whatever the find method does.

---------------------------------------------------------------------------

by stof at 2012-07-23T08:18:50Z

@henrikbjorn if you do a query with IS NULL, the validator would force to have only 1 entity with a null field whereas it is not the behavior of the DB-level constraint.

---------------------------------------------------------------------------

by henrikbjorn at 2012-07-23T08:20:41Z

In this case i suspect that he wants to achieve a `WHERE username = "henrikbjorn" AND deletedAt IS NULL` which would be valid right? Currently it just returns if any of the fields are null and the validation is never done.

---------------------------------------------------------------------------

by bschussek at 2012-07-23T08:27:24Z

I suggest to make this configurable as the handling of NULL values in UNIQUE columns [differs between SQL implementations](http://forums.mysql.com/read.php?22,53591,53591#msg-53591).

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T08:52:53Z

@stof What the correct solution to test my unicity with deletedAt == null ?

I use this definition: @ORM\Column(name="deleted_at", type="datetime", nullable=true)

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T20:28:44Z

In my local repository, i added a new parameter "$authorizedNullField" on UniqueEntity.php and tested this on UniqueEntityValidator.php:

Code: https://gist.github.com/4122efbe569e3c2c95c0

What about that ?

Thanks for your help

---------------------------------------------------------------------------

by stof at 2012-07-23T20:45:30Z

yep, this would be good (except for the naming which seems weird)

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T20:46:44Z

No problem to change this. I don't find a good name for this ?

---------------------------------------------------------------------------

by stof at 2012-07-23T20:47:57Z

what about ``allowMultipleNull`` (defaulting to ``true`` for BC) ?

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T20:51:30Z

Why multiple ? This option is for one or many. what about `allowNullable` ?

---------------------------------------------------------------------------

by stof at 2012-07-23T20:52:44Z

@Garfield-fr the current behavior allows having multiple null values without failing to the unique constraint

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T20:56:07Z

ok. I make `allowMultipleNull`.

It's ok with that: https://gist.github.com/cae8d43780c45a5011ed

Thanks

---------------------------------------------------------------------------

by bschussek at 2012-07-23T20:58:12Z

What about `uniqueNull` (`false` by default)? `ignoreNull` (`true` by default)? I find `allowMultipleNull` a bit cumbersome.

---------------------------------------------------------------------------

by stof at 2012-07-23T20:58:26Z

no it is not. You have an issue in the validator. You have an extra negation.

Please update your PR

---------------------------------------------------------------------------

by Garfield-fr at 2012-07-23T21:01:59Z

@stof `ignoreNull` is ok for you ?

---------------------------------------------------------------------------

by stof at 2012-07-23T21:10:24Z

yes

---------------------------------------------------------------------------

by fabpot at 2012-08-05T07:48:03Z

Is it mergeable now? Is yes, @Garfield-fr Can you squash your commits?

---------------------------------------------------------------------------

by travisbot at 2012-08-05T08:43:23Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2039523) (merged 19ae3cf9 into c20c1d1).

---------------------------------------------------------------------------

by stof at 2012-08-05T12:09:02Z

@Garfield-fr when squashing the commits, you need to force the push as you are rewriting the history. You should not have merged with your remote branch

---------------------------------------------------------------------------

by Garfield-fr at 2012-08-05T12:10:15Z

What's the right solution for resolve this ?

---------------------------------------------------------------------------

by stof at 2012-08-05T12:11:09Z

@Garfield-fr reset your local branch to the squashed commit and force the push

---------------------------------------------------------------------------

by Garfield-fr at 2012-08-05T12:14:09Z

@stof Thanks for your help

---------------------------------------------------------------------------

by travisbot at 2012-08-05T12:19:06Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2040210) (merged f1c4b8b into 20d2e5a).
0ccda38
@fabpot fabpot merged branch lsmith77/bundle_inheritance_in_config_dump_reference (PR
…#5126)

Commits
-------

cdfbe72 handle inheritance in config:dump-reference when a bundle name is passed to the command

Discussion
----------

handle inheritance in config:dump-reference

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: ?
Fixes the following tickets: -
License of the code: MIT

Currently when passing in a bundle name that identifies a bundle that is a parent to another bundle, it will not return the reference for the requested bundle, but for the inheriting (even if that bundle has no configuration class).

F.e.
app/console config:dump-reference SymfonyCmfBlockBundle

will fail if there is a Bundle SandboxBlockBundle that has SymfonyCmfBlockBundle set as the parent.
842b599
@jfsimon jfsimon [Console] Added test for non style tag formatting. c7e324a
@jfsimon jfsimon [Console] Removed text transformation for empty styles. 696a653
@jfsimon jfsimon [Console] Added current style appliance for all styled text. c0c61da
@jfsimon jfsimon [Console] Added some precision in OutputInterface::write docblock. af0149d
Commits on Aug 07, 2012
@fabpot fabpot merged branch jfsimon/issue-4947 (PR #5198)
Commits
-------

af0149d [Console] Added some precision in OutputInterface::write docblock.

Discussion
----------

[Console] Added some precision in OutputInterface::write docblock.

No code affected :)

Fixes issue #4947

---------------------------------------------------------------------------

by travisbot at 2012-08-06T19:50:02Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2050525) (merged af0149d into 842b599).
ca3aa9c
@jfsimon jfsimon [Console] Removed unused phpunit annotation. c2207da
@janmarek janmarek FileLocatorInterface used in typehint instead of FileLocator 890aea2
@sun sun Force the value of Dumper::setIndentation($num) to be of type integer. 3e1a1ab
@fabpot fabpot merged branch jfsimon/issue-5196 (PR #5197)
Commits
-------

c2207da [Console] Removed unused phpunit annotation.
c0c61da [Console] Added current style appliance for all styled text.
696a653 [Console] Removed text transformation for empty styles.
c7e324a [Console] Added test for non style tag formatting.

Discussion
----------

[Console] Non style tags dont disturb formatting anymore

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

Fixes issue #5196.

---------------------------------------------------------------------------

by travisbot at 2012-08-06T19:35:20Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2050455) (merged c0c61da into 842b599).

---------------------------------------------------------------------------

by travisbot at 2012-08-07T07:47:31Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2055153) (merged c2207da into 842b599).
13454ef
@fabpot fabpot merged branch sun/yaml-indent (PR #5157)
Commits
-------

3e1a1ab Force the value of Dumper::setIndentation($num) to be of type integer.
5be7237 Added Yaml\Dumper::setIndentation() method to allow a custom indentation level of nested nodes.

Discussion
----------

[Yaml] Allow custom indentation level for nested nodes

YAML does not specify an absolute indentation level, but a consistent indentation of nested nodes only: http://yaml.org/spec/current.html#indentation%20space/

Projects that are generally using 2 spaces for indentation should be able to retain consistency with their coding standards by supplying a custom value for the new $indent parameter for Yaml::dump() and Dumper::dump().

The new parameter is a backwards-compatible API addition and defaults to the previous default of 4 (which was changed from 2 via PR #2242 only recently).

The old $indent parameter is renamed to $level, and remains to be used internally only.

---------------------------------------------------------------------------

by travisbot at 2012-08-03T00:24:22Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2024289) (merged 56331202 into b1618d2).

---------------------------------------------------------------------------

by travisbot at 2012-08-03T00:29:02Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2024315) (merged eeae28a4 into b1618d2).

---------------------------------------------------------------------------

by travisbot at 2012-08-03T02:41:42Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2024905) (merged 9a82c438 into b1618d2).

---------------------------------------------------------------------------

by fabpot at 2012-08-03T07:53:50Z

This is indeed a BC break as the method signature changed in a non-BC way.

---------------------------------------------------------------------------

by fabpot at 2012-08-03T08:35:51Z

I think I would prefer to have a static method to be able to change the number of spaces to use on a global basis. It makes more sense and would prevent the BC break. What do you think?

---------------------------------------------------------------------------

by sun at 2012-08-03T13:23:23Z

Thanks for your feedback! — Took some time to think through the static proposal.  Here's what I think:

1. The call from DependencyInjection\Dumper\YamlDumper truly was a unexpected/nasty surprise for me.  That is, because it passes a parameter to Yaml\Dumper that is documented for internal use only, and the surrounding YamlDumper code generally hard-codes lots of assumptions of where exactly the nodes/collections will be output in the dumped YAML structure.  (I think that code can be simplified, cleaned up, and made faster at the same time (hence the todo), but indeed, that probably belongs into a separate issue.)
1. The essential problem with a static is closely bound to that though; a static property value for the indentation would "stick" and thus hi-jack the DependencyInjection\Dumper\YamlDumper, as it hard-codes and thus expects 4 spaces (contrary to any custom indentation).
1. Most code uses Yaml\Yaml as utility/helper service directly, so there'd be no clean way to prime the static with a custom value, aside from subclassing the entire thing - in which case this entire issue would sorta become moot, because at the point you're subclassing, you can as well go the extra mile and replace the entire Yaml\Dumper::dump() to implant the custom indentation level...
1. Another option would be to use a non-static Yaml\Dumper::$indent property, supplied through the constructor; i.e.:

        public function __construct($indent = 4)

  ...or alternatively, ::setIndentation(). Essentially requiring people to use and instantiate Yaml\Dumper directly, if they want to use a custom indentation.
1. Though in the end, I don't want to sound pedantic, but I *do* wonder a bit about the exact extent of the `@api` tags, as well as `@param`s that are explicitly documented as "internal use only"... :)  That is, because only Yaml\Yaml is tagged with `@api`, but nothing in Yaml\Dumper.  The same sorta applies to DependencyInjection\Dumper\YamlDumper::dump(), which is tagged with `@api`, but the :.addService() method being adjusted accordingly here is not.  So essentially, when taking those tags (plus the param's description) seriously and in a nitpicky way, then there is no BC break, since no one should rely on their exact implementation... ;)  (I perfectly realize that this is a long shot :))

So... depending on the final stance on the last point, I'd either move forward with the current proposal in this PR.  Otherwise, I'd suggest the non-static property on Yaml\Dumper - in which case we'd likely try to swap out the static Symfony\Component\Yaml\Yaml helper with a Drupal\Component\Yaml\Yaml in order to always instantiate the dumper with the custom indentation.  What do you think?

---------------------------------------------------------------------------

by sun at 2012-08-04T22:57:21Z

Alright.  While I believe I made some good points in my last comment, I've taken the fully backwards-compatible path:

- added the new $indent parameter only to Yaml::dump()
- added a new Dumper::$intendation property and Dumper::setIndentation() method, to control the indentation level within the scope of a single Dumper instance only.

Do you think this is acceptible? :)

---------------------------------------------------------------------------

by travisbot at 2012-08-05T06:16:22Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2039120) (merged 5be7237 into c99f9d2).

---------------------------------------------------------------------------

by travisbot at 2012-08-07T07:51:04Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2055164) (merged 3e1a1ab into c99f9d2).

---------------------------------------------------------------------------

by sun at 2012-08-07T07:53:18Z

Only one environment failed, and the [test failure](http://travis-ci.org/#!/symfony/symfony/jobs/2055165/L203) seems unrelated to this PR.
b91a4a8
@bamarni bamarni updated method name in a comment 5ad75c7
@lyrixx lyrixx [Console] Added tests for message exception when command is not avail…
…able

These tests fail
a4d2d31
@lyrixx lyrixx [Console] Fixed tests about message exception when command is not ava…
…ilable
039264d
@eriksencosta eriksencosta [Locale] updated script to generate separated data directories for di…
…fferent ICU releases
0d0a8d4
@eriksencosta eriksencosta [Locale] updated ICU data 64ccee7
@eriksencosta eriksencosta [Locale] updated ICU data paths 5fd4eb1
@eriksencosta eriksencosta [Locale] added ICU update-data script to be run before the test suite 86da1b3
@eriksencosta eriksencosta [Locale] fixed tests 90d6dc3
@eriksencosta eriksencosta [Locale] as of ICU 4.8+, slash ("/") and dash ("-") are interchangeab…
…le, you can use any of them in a date/time pattern
0d442c7
@eriksencosta eriksencosta [Form][Locale] updated minimum ICU version to 4.0 61e3539
@eriksencosta eriksencosta [Locale] changed build data script name 3f2b4bf
@eriksencosta eriksencosta [Locale] don't create a "current" directory anymore, uses only the IC…
…U version as the name of the data directory
d909360
@eriksencosta eriksencosta [Locale] updated CHANGELOG.md 8da99ca
@eriksencosta eriksencosta [Locale] renamed function 025f972
@eriksencosta eriksencosta [Locale] added note about ICU data building: use the same PHP intl/IC…
…U version as the desired version to build
6456361
@eriksencosta eriksencosta [Locale] updated README.md d7b6bb3
@eriksencosta eriksencosta [Validator] fixed tests, ICU 4.4 (Travis version) does not have the "…
…my" locale
3191c70
@eriksencosta eriksencosta [Locale] added more information to the README.md regarding the need t…
…o build the ICU data when the intl extension ICU data version mismatch the one shipped with Symfony
33105e0
@fabpot fabpot merged branch eriksencosta/icu-data-update (PR #5107)
Commits
-------

33105e0 [Locale] added more information to the README.md regarding the need to build the ICU data when the intl extension ICU data version mismatch the one shipped with Symfony
3191c70 [Validator] fixed tests, ICU 4.4 (Travis version) does not have the "my" locale
d7b6bb3 [Locale] updated README.md
6456361 [Locale] added note about ICU data building: use the same PHP intl/ICU version as the desired version to build
025f972 [Locale] renamed function
8da99ca [Locale] updated CHANGELOG.md
d909360 [Locale] don't create a "current" directory anymore, uses only the ICU version as the name of the data directory
3f2b4bf [Locale] changed build data script name
61e3539 [Form][Locale] updated minimum ICU version to 4.0
0d442c7 [Locale] as of ICU 4.8+, slash ("/") and dash ("-") are interchangeable, you can use any of them in a date/time pattern
90d6dc3 [Locale] fixed tests
86da1b3 [Locale] added ICU update-data script to be run before the test suite
5fd4eb1 [Locale] updated ICU data paths
64ccee7 [Locale] updated ICU data
0d0a8d4 [Locale] updated script to generate separated data directories for different ICU releases

Discussion
----------

[2.1][Locale] ICU data update

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: no
Fixes the following tickets:
Todo: -
License of the code: MIT

[![Build Status](https://secure.travis-ci.org/eriksencosta/symfony.png?branch=icu-data-update)](http://travis-ci.org/eriksencosta/symfony)

The tests are passing in Travis only because it uses ICU 4.4. The tests fails in ICU 4.8 and 49.1. The data files now are up-to-date with ICU 49.1.2. The fails are consistent between 32 and 64 bit for the PHP 5.3.3, 5.3.14 and 5.4.4 (each one compiled with ICU 4.2 to 49).

Basically tests that relies on Locale will have some idiosyncrasies:

- Some tests will assert a different value for different ICU versions, mostly for currency/date formatting
- Some tests will skip if not the latest ICU release, code that format/parse something that is directly based on ICU behavior will always implement the  behavior from the latest release
- Some tests will make different assertions for different PHP versions (we already have them, just to note)

The Composer script handler was a very quick implementation, I accept suggestions about it. It basically invokes the `update-data.php` script. I will also rename this script later since it now behave a little bit different from the original script.

@fabpot, @stof: should I add mine Composer `post-install-cmd` script in both the project root and component `composer.json` file?

I'm planning to configure a CI server with a setup similar with mine Symfony development environment to run jobs with the different PHP/ICU releases for the Locale component. But most importantly is to document how I did it since it took a lot of time to have an enviroment that supports all this "ICU hell development". Also, there are some pitfalls regarding testing and to generating the resource bundles for the different ICU versions.

Almost there! I'll try to update later tomorrow (monday).

---------------------------------------------------------------------------

by fabpot at 2012-07-30T08:14:29Z

I would not have added the script in the `composer.json` file but in the `.travis.yml` file directly instead. We don't want this script to be run whenever someone run composer on the repository.

---------------------------------------------------------------------------

by eriksencosta at 2012-07-31T03:07:58Z

Ok, moved the script call to the `.travis.yml` file.

---------------------------------------------------------------------------

by eriksencosta at 2012-07-31T12:38:23Z

@stof The last commit was just to backup WIP changes and to ask something to @igorw, it is mine "stage" :)

---------------------------------------------------------------------------

by travisbot at 2012-08-06T03:05:16Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2044244) (merged c6a1dcd1 into 20d2e5a).

---------------------------------------------------------------------------

by travisbot at 2012-08-06T03:16:12Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2044311) (merged 76868419 into 20d2e5a).

---------------------------------------------------------------------------

by travisbot at 2012-08-06T03:52:20Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2044425) (merged 7e768eb2 into 20d2e5a).

---------------------------------------------------------------------------

by travisbot at 2012-08-06T04:04:30Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2044461) (merged edaca423 into 20d2e5a).

---------------------------------------------------------------------------

by eriksencosta at 2012-08-06T04:33:55Z

Ready for primetime. The failed test is not related with mine changes.

---------------------------------------------------------------------------

by travisbot at 2012-08-07T02:32:19Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2053806) (merged 386d20c8 into 842b599).

---------------------------------------------------------------------------

by fabpot at 2012-08-07T13:51:59Z

After merging this PR, I have more failing tests on my machine:

PHP 5.3.8 - ICU 4.4.1

Is it expected? Is yes, how do we need to run the tests locally?

---------------------------------------------------------------------------

by eriksencosta at 2012-08-07T14:56:23Z

@fabpot Yep, it is expected. You'll need to build the ICU data for this version and export the `USE_INTL_ICU_DATA_VERSION` before running the tests:

    php src/Symfony/Component/Locale/Resources/data/build-data.php
    export USE_INTL_ICU_DATA_VERSION=1
    phpunit src/Symfony/Component/Locale/Tests

The errors happens because the implementation is in sync with the behavior of ICU 49.1.2 and the shipped data is from data version too. Maybe I should add the steps above in the components `README.md` since it is more straightforward.

---------------------------------------------------------------------------

by fabpot at 2012-08-07T14:58:44Z

@eriksencosta Yes, that would be good to add some more information in the README file.

---------------------------------------------------------------------------

by eriksencosta at 2012-08-07T15:21:04Z

@fabpot Done!

---------------------------------------------------------------------------

by eriksencosta at 2012-08-07T15:21:29Z

And rebased.
7dbadbf
Drak [HttpFoundation][Session] Cleaned up constructor invokation 22be499
Commits on Aug 08, 2012
@dlsniper dlsniper [Validator] Updated Romanian translations 0677ed7
Commits on Aug 09, 2012
@fabpot fabpot merged branch dlsniper/translation-update (PR #5220)
Commits
-------

0677ed7 [Validator] Updated Romanian translations

Discussion
----------

[Validator] Updated Romanian translations

Just a small update for the validator translation.

---------------------------------------------------------------------------

by travisbot at 2012-08-08T21:47:01Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2070722) (merged 0677ed7 into 7dbadbf).
dd9afdd
@fabpot fabpot merged branch drak/session_clean (PR #5211)
Commits
-------

22be499 [HttpFoundation][Session] Cleaned up constructor invokation

Discussion
----------

[HttpFoundation][Session] Cleaned up constructor invokation

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: ~
Todo: ~
License of the code: MIT
Documentation PR: ~

This simply cleans up a mismatch between the class instantiation and the actual class constructor. Evidently something left over from the various iterations.

---------------------------------------------------------------------------

by travisbot at 2012-08-07T19:16:14Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2060028) (merged 22be499 into 7dbadbf).

---------------------------------------------------------------------------

by drak at 2012-08-09T08:25:43Z

ping @fabpot
ef2c5bc
@guilhermeblanco guilhermeblanco Added support to redis, wincache and zend data cache. 493aa12
Commits on Aug 10, 2012
Drak [HttpFoundation] Fixed test under Windows environment fa93324
@fabpot fabpot merged branch drak/nativefiletest (PR #5230)
Commits
-------

fa93324 [HttpFoundation] Fixed test under Windows environment

Discussion
----------

[HttpFoundation] Fixed test under Windows environment

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5226
Todo: -
License of the code: MIT
Documentation PR: -

---------------------------------------------------------------------------

by travisbot at 2012-08-10T09:54:20Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2084750) (merged fa93324 into dd9afdd).
1c31467
@fabpot fabpot merged branch bamarni/patch-4 (PR #5207)
Commits
-------

5ad75c7 updated method name in a comment

Discussion
----------

updated method name in a comment

---------------------------------------------------------------------------

by travisbot at 2012-08-07T14:35:39Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2057604) (merged 5ad75c7 into b91a4a8).
1122be7
@fabpot fabpot merged branch lyrixx/console-typo (PR #5208)
Commits
-------

039264d [Console] Fixed tests about message exception when command is not available
a4d2d31 [Console] Added tests for message exception when command is not available

Discussion
----------

[Console] Fixed message exception when command is not avaible

Bug fix: yes
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
License of the code: MIT

Fixed singular / plural
`Did you mean this?` VS `Did you mean one of these`

---------------------------------------------------------------------------

by travisbot at 2012-08-07T14:40:55Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/2057647) (merged 039264d into b91a4a8).

---------------------------------------------------------------------------

by lyrixx at 2012-08-07T15:11:47Z

@travisbot You failed, not me !
268b618
@fabpot fabpot merged 2.0 31536c3
@Tobion Tobion [Form] fix static method call 9e5d5a4
Commits on Aug 13, 2012
@garak garak Update src/Symfony/Component/Validator/Resources/translations/validat…
…ors.it.xlf

fixed typo in Italian translation
f248e0c
@daFish daFish Removed MySQL-exclusive usage of unsigned integer from table creation 57694aa
@fabpot fabpot merged branch garak/patch-1 (PR #5246)
Commits
-------

f248e0c Update src/Symfony/Component/Validator/Resources/translations/validators.it.xlf

Discussion
----------

Update src/Symfony/Component/Validator/Resources/translations/validators...

fixed typo in Italian translation

see symfony/FrameworkBundle#3

---------------------------------------------------------------------------

by travisbot at 2012-08-13T11:26:32Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2107229) (merged f248e0c into 31536c3).
7bc6d6d
@bdmu bdmu [Filesystem] missing realpath breaking FilesystemTest class on Window…
…s (one line of code change)
47b8538
@breerly breerly Adding more specific debug bar reset CSS.
This prevents frameworks like Foundation from getting past the reset.

Fixes #5250
b7caf37
@fabpot fabpot merged branch breerly/patch-1 (PR #5251)
Commits
-------

b7caf37 Adding more specific debug bar reset CSS.

Discussion
----------

Fixes #5250 - Adding more specific debug bar reset CSS.

This prevents frameworks like Foundation from getting past the reset.

Fixes #5250

---------------------------------------------------------------------------

by travisbot at 2012-08-13T19:10:38Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2111135) (merged b7caf37 into 7bc6d6d).
82c0771
@fabpot fabpot merged branch daFish/fixes/issue5108 (PR #5247)
Commits
-------

57694aa Removed MySQL-exclusive usage of unsigned integer from table creation

Discussion
----------

[Security] Removed MySQL-exclusive usage of unsigned integer from table creation

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5108

This patch removes the setting of unsigned integer fields which are MySQL-only.

---------------------------------------------------------------------------

by fabpot at 2012-08-13T12:25:23Z

@beberlei Does it look good?

---------------------------------------------------------------------------

by travisbot at 2012-08-13T12:30:27Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/2107738) (merged 57694aa into 31536c3).

---------------------------------------------------------------------------

by lsmith77 at 2012-08-13T20:04:20Z

indeed afaik unsigned isnt part of the sql standard. in other RDBMS you need to use a constraint if you want to prevent negative values and of course there is no way to then also get the additional values per bit that you get with MySQL, but so it goes. that being said .. i dont know how Doctrine schema handles unsigned for other RDBMS .. ie if it just emulates them by trying to double the size with a constraint.

---------------------------------------------------------------------------

by beberlei at 2012-08-13T20:10:44Z

Looks good.

Doctrine ignores the 'unsigned' => true for all others vendors.
fa4f9f5
Commits on Aug 14, 2012
@beberlei beberlei Revert "Removed MySQL-exclusive usage of unsigned integer from table …
…creation"

This reverts commit 57694aa.

The problem is underlying in Doctrine DBAL change tracking and should
either be fixed or ignored there.
1b5ad17
@gimler gimler add format to exception message a7b4573
@fabpot fabpot Revert "merged branch guilhermeblanco/patch-6 (PR #4456)"
This reverts commit 6c527b6, reversing
changes made to 223d187.
826f512
@myurasov myurasov MongoBinData constructor now require "type" parameter
From mongo driver version 1.2.11 E_DEPRECATED is emitted when the 2nd argument (type) is not used for MongoBinData constructor. At the moment the default value is 0x02 ("byte array").

See: http://php.net/manual/en/mongobindata.construct.php
70a64bd
@TomAdam TomAdam Alter upgrade notes with changes to _form_is_choice_selected twig fun…
…ction
9e3e589
Commits on Aug 15, 2012
@myurasov myurasov 0x02 -> \MongoBinData::BYTE_ARRAY ac0fb48
@ruian ruian fix CS into Finder
fix CS into Finder
524081f
@fabpot fabpot merged branch ruian/patch-1 (PR #5265)
Commits
-------

524081f fix CS into Finder

Discussion
----------

fix CS into Finder

fix CS into Finder
a0b6428
@fabpot fabpot merged branch myurasov/patch-1 (PR #5261)
Commits
-------

ac0fb48 0x02 -> \MongoBinData::BYTE_ARRAY
70a64bd MongoBinData constructor now require "type" parameter

Discussion
----------

MongoBinData constructor now requires "type" parameter

From mongo driver version 1.2.11 E_DEPRECATED is emitted when the 2nd argument (type) is not used for MongoBinData constructor. At the moment the default value is 0x02 ("byte array").

See: http://php.net/manual/en/mongobindata.construct.php
82902e6
@fabpot fabpot merged branch gimler/patch-3 (PR #5256)
Commits
-------

a7b4573 add format to exception message

Discussion
----------

add format to exception message
d4d368f
@fabpot fabpot merged branch guilhermeblanco/redis_support (PR #5224)
Commits
-------

493aa12 Added support to redis, wincache and zend data cache.

Discussion
----------

Added support to redis, wincache and zend data cache.

These three drivers were missing support on DoctrineBundle.

DoctrineBundle PR doctrine/DoctrineBundle#99 must be merged first

---------------------------------------------------------------------------

by stof at 2012-08-09T20:35:21Z

This looks good to me
50df1a7
@mtdowling mtdowling [EventDispatcher] Adding IteratorAggregate to GenericEvent 0ad00f8
Commits on Aug 16, 2012
@fixe fixe Typo in UPGRADE-2.1 4b5adcd
@webmozart webmozart [Form] Fixed support for preferred choices in "entity" type 3ad3876
@webmozart webmozart [Form] Reintroduced the option "invalid_message_parameters" 0add23f
@fabpot fabpot merged branch fixe/patch-7 (PR #5272)
Commits
-------

4b5adcd Typo in UPGRADE-2.1

Discussion
----------

Typo in UPGRADE-2.1
72550ce
@fabpot fabpot fixed typo in the UPGRADE file c15a3a3
@fabpot fabpot merged branch bschussek/issue5205 (PR #5277)
Commits
-------

3ad3876 [Form] Fixed support for preferred choices in "entity" type

Discussion
----------

[Form] Fixed support for preferred choices in "entity" type

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5205
Todo: -
1656bf3
@fabpot fabpot merged branch bschussek/issue5144 (PR #5278)
Commits
-------

0add23f [Form] Reintroduced the option "invalid_message_parameters"

Discussion
----------

[Form] Reintroduced the option "invalid_message_parameters"

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5144
Todo: -
6d74031
@fabpot fabpot merged branch TomAdam/pr-choice-bc-doc (PR #5263)
Commits
-------

9e3e589 Alter upgrade notes with changes to _form_is_choice_selected twig function

Discussion
----------

Undocumented BC break - choice field type template

The upgrade notes for the choice field template are out of date. They currently state:

```
The `choices` variable now contains `ChoiceView` objects with two getters,
getValue() and getLabel(), to access the choice data.
```

However these methods do not exist. I assume this is the result of a rollback to maintain BC?

In addition to this, the `_form_is_choice_selected` twig function has been removed and replaced with a filter called `selectedchoice`. This is an undocumented BC break. I have attached an update to the notes to reflect these changes.

---------------------------------------------------------------------------

by fabpot at 2012-08-15T17:20:35Z

ping @bschussek

---------------------------------------------------------------------------

by bschussek at 2012-08-16T17:36:22Z

Looks good apart from my comment. Thanks for fixing this!
24e2fcb
@fabpot fabpot fixed typos in the UPGRADE file 1996c1f
@mpiecko mpiecko Update src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php 8ea1607
@Tobion Tobion [HttpFoundation] fix #5271 (duplicated header in JsonResponse) bdaa877
Commits on Aug 17, 2012
@Tobion Tobion [HttpFoundation] fixed undefined offset for assoc arrays in HeaderBag ccb6dad
@fabpot fabpot merged branch Tobion/patch-3 (PR #5276)
Commits
-------

bdaa877 [HttpFoundation] fix #5271 (duplicated header in JsonResponse)

Discussion
----------

fix JsonResponse: duplicate header

fix #5271

---------------------------------------------------------------------------

by Tobion at 2012-08-16T16:50:04Z

Will look into the failing test later.

---------------------------------------------------------------------------

by Tobion at 2012-08-16T23:55:45Z

Finished.
71d2301
@fabpot fabpot merged branch Tobion/headerbag (PR #5282)
Commits
-------

ccb6dad [HttpFoundation] fixed undefined offset for assoc arrays in HeaderBag

Discussion
----------

[HttpFoundation] fixed undefined offset for assoc arrays in HeaderBag

`get` is assuming the headers are zero-indexed. So something like this would otherwise create a php warning.
```
$bag->set('foo', array('bad-assoc-index' => 'value'));
$this->assertSame('value', $bag->get('foo'));
```
d3625b0
@bamarni bamarni added a missing phpdoc param bd9319b
Drak [FrameworkBundle] Allow to set null for the handler in NativeSessionS…
…torage
8e11aaa
@Marmelatze Marmelatze fixes pre for var_dump with xdebug 9c20634
@fabpot fabpot merged branch bamarni/patch-5 (PR #5285)
Commits
-------

bd9319b added a missing phpdoc param

Discussion
----------

added a missing phpdoc param
248a48a
@mpiecko mpiecko [Form] Fixed error bubbling from DateTime widget - Issue #5270 58ebd1b
Commits on Aug 18, 2012
@fabpot fabpot merged branch drak/nullhandler (PR #5290)
Commits
-------

8e11aaa [FrameworkBundle] Allow to set null for the handler in NativeSessionStorage

Discussion
----------

[FrameworkBundle] Allow to set null for the handler in NativeSessionStorage

Bug fix: no
Feature addition: yes (ok for RC)
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: 5267
Todo: ~
License of the code: MIT
Documentation PR: ~

Refs #5267

Adds the following configuration

```
session:
        handler_id: ~
```

Which allows the configuration of the session not to use any save handler and therefor just use whatever save_handler is set in `php.ini`

---------------------------------------------------------------------------

by dlsniper at 2012-08-17T17:24:37Z

:+1:
df889fb
@fabpot fabpot merged branch Marmelatze/var_dump (PR #5291)
Commits
-------

9c20634 fixes pre for var_dump with xdebug

Discussion
----------

Displaying var_dump with xdebug in exceptions

When debugging code I often use `var_dump` to quickly look into variables. Since 2.1 alle output generated by `var_dump` is displayed in one line. http://screencast.com/t/11LuIlIdHsvP
It seems to be no problem for small objects, but it becomes a real pain when displaying huge arrays or objects.

This is caused by the changed word-wrapping for the pre tag introduced in #3827

With fix: http://screencast.com/t/GdA3dkpWxU

---------------------------------------------------------------------------

by dlsniper at 2012-08-17T17:22:38Z

:+1:
1f37191
@fabpot fabpot merged branch mtdowling/event_dispatcher_add_iterator (PR #5268)
Commits
-------

0ad00f8 [EventDispatcher] Adding IteratorAggregate to GenericEvent

Discussion
----------

[EventDispatcher] Adding IteratorAggregate to GenericEvent

---------------------------------------------------------------------------

by drak at 2012-08-16T07:43:29Z

What is the use case for this that it should be part of the Generic event?

---------------------------------------------------------------------------

by mtdowling at 2012-08-16T17:12:28Z

This allows for the GenericEvent to be even more generic. Now listeners don't need to know an exact key from the arguments, but rather can iterate over the arguments to find what they are looking for. This makes the GenericEvent more like an array.

---------------------------------------------------------------------------

by mtdowling at 2012-08-17T19:31:04Z

How would this be a nasty break? It's just giving the GenericEvent more capabilities with IteratorAggregate.

This is a completely separate PR from the one that flipped the constructor args.

---------------------------------------------------------------------------

by schmittjoh at 2012-08-17T19:34:47Z

Why are you not just doing ``foreach ($event->getArguments() as $arg) { /** ... */ }``?

If you just have ``foreach ($event)``, to me at least it would not be so clear what we are actually iterating over.

---------------------------------------------------------------------------

by mtdowling at 2012-08-17T19:39:23Z

This class already has ArrayAccess. If you're already using this class like an array, then I think you should expect to be able to iterate it like an array. I'm just finishing that concept off by implementing IteratorAggregate.

---------------------------------------------------------------------------

by schmittjoh at 2012-08-17T19:47:43Z

Indeed, if we already have ArrayAccess which we probably don't want to remove again, then that seems reasonable.
7fe18d1
@linniksa linniksa small optimization 630d16b
Commits on Aug 19, 2012
@fabpot fabpot merged branch Partugal/patch-guesser-perfomance (PR #5298)
Commits
-------

630d16b small optimization

Discussion
----------

[Form] Guesser perfomance

speedup depends on count of guesses
on my tests is 2,4 and 6 x faster for 5, 10 and 20 guesses
ef29276
Commits on Aug 21, 2012
@fabpot fabpot merged branch bdmu/ticket_5233 (PR #5234)
Commits
-------

47b8538 [Filesystem] missing realpath breaking FilesystemTest class on Windows (one line of code change)

Discussion
----------

[Filesystem] missing readlink breaking FilesystemTest class on Windows

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5233
Todo:
License of the code: MIT
Documentation PR:

fix for windows plateform

$file == 'C:\Users\USERNA~1\...' before touch
$file == 'C:\Users\Username\... after the touch and readlink so it can pass following assertEquals

---------------------------------------------------------------------------

by bdmu at 2012-08-13T05:35:07Z

Hello,

Another solution may be (need to test it) to add
    $this->workspace = realpath($this->workspace);
line 36, after the
    mkdir($this->workspace, 0777, true);
in the setup method

Regards,
Christophe
173f23d
@guilhermeblanco guilhermeblanco Update src/Symfony/Bundle/FrameworkBundle/composer.json 595a974
@fabpot fabpot merged branch guilhermeblanco/patch-11 (PR #5310)
Commits
-------

595a974 Update src/Symfony/Bundle/FrameworkBundle/composer.json

Discussion
----------

Update src/Symfony/Bundle/FrameworkBundle/composer.json

Supersedes #5308

---------------------------------------------------------------------------

by guilhermeblanco at 2012-08-21T16:50:10Z

ping @fabpot
7a233bc
Commits on Aug 22, 2012
@Tobion Tobion [Form] removed getPositions from PropertyPathInterface
this method was just an implementation detail (that is not even needed) and should not be part of the public API as it serves no purpose
79a1257
@willdurand willdurand Add minimum-stability (dev) in each component 933e821
@goohib goohib Fixed a typo bca68ca
@webmozart webmozart [Form] Fixed: FormTypeInterface::getParent() supports returning FormT…
…ypeInterface instances again
a38232a
@fabpot fabpot merged branch Tobion/proppath (PR #5313)
Commits
-------

79a1257 [Form] removed getPositions from PropertyPathInterface

Discussion
----------

[Form] removed getPositions from PropertyPathInterface

This method was just an implementation detail (that is not even needed as my implementation shows) and should not be part of the public API as it serves no purpose.

---------------------------------------------------------------------------

by fabpot at 2012-08-22T06:19:35Z

ping @bschussek

---------------------------------------------------------------------------

by stof at 2012-08-22T09:11:51Z

what is the performance impact of your implementation compared to the previous one ? the form binding is executing this code thousands times for big forms.

---------------------------------------------------------------------------

by Tobion at 2012-08-22T14:08:39Z

There is none of course.

---------------------------------------------------------------------------

by bschussek at 2012-08-22T15:23:57Z

Looks good to me.
1121ef0
@fabpot fabpot merged branch goohib/fix-form-component-typo (PR #5323)
Commits
-------

bca68ca Fixed a typo

Discussion
----------

Fixed a typo

The CSRF error message won't be translated due to this typo even if the translator is enabled.
2df222b
@fabpot fabpot merged branch bschussek/issue5221 (PR #5319)
Commits
-------

a38232a [Form] Fixed: FormTypeInterface::getParent() supports returning FormTypeInterface instances again

Discussion
----------

[Form] Fixed: FormTypeInterface::getParent() supports returning FormTypeInterface instances again

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5221
Todo: -

---------------------------------------------------------------------------

by stof at 2012-08-22T14:14:55Z

the return value of the getParent method should be updated in the phpdoc of the FormTypeInterface to mention the FormTypeInterface .And the description of the method should be updated to explain than returning an instance is discouraged as it implies a performance penalty and does not support using type extensions (if the comment in the factory also applies to the unregistered parent)

---------------------------------------------------------------------------

by henrikbjorn at 2012-08-22T14:22:00Z

Wasn't TypeExtensions supported before? This means that Csrf will not be applied?

---------------------------------------------------------------------------

by stof at 2012-08-22T14:23:50Z

@henrikbjorn the csrf extension is targeting the FormType, which is registered in the form registry. What is not supported is having a type extension targeting an unregistered type

---------------------------------------------------------------------------

by bschussek at 2012-08-22T14:39:53Z

@stof Exactly. I find it a bit unlogical to register an extension for something that is not registered.

---------------------------------------------------------------------------

by henrikbjorn at 2012-08-22T14:39:57Z

Okay. That wasn't what i got from reading the comment :)

---------------------------------------------------------------------------

by bschussek at 2012-08-22T14:44:27Z

@stof Updated.
3a14734
@meandmymonkey meandmymonkey removed deprecated examples from doc 7734fdf
@fabpot fabpot merged branch meandmymonkey/remove-deprecated-examples (PR #5324)
Commits
-------

7734fdf removed deprecated examples from doc

Discussion
----------

[Validator] Removed deprecated examples from doc

Removed the MinLength examples from the Component Readme and replaced them with Length.
2cf3cb5
@schmittjoh schmittjoh added note about 404 error pages 0f575a2
Commits on Aug 23, 2012
@Tobion Tobion [Routing] removed cyclic reference Route<->CompiledRoute 4f57d69
@meandmymonkey meandmymonkey added fluent interface to validatorbuilder b5aaf53
@meandmymonkey meandmymonkey updated docblocks for ValidatorBuilderInterface fec11ae
Commits on Aug 24, 2012
@eventhorizonpl eventhorizonpl getNamespaces test
getPrefixes test

loadClass test

getPrefixes test

addPrefix test

getFallbackDirs test

fix things pointed out by stof
8c74b55
@fabpot fabpot merged branch Tobion/compiledroute (PR #5326)
Commits
-------

4f57d69 [Routing] removed cyclic reference Route<->CompiledRoute

Discussion
----------

[Routing] removed cyclic reference Route<->CompiledRoute

BC break: yes

I think we should remove this proxy behavior from CompiledRoute. Cyclic references are often not a good idea and in this case it doesn't even make sense. It's like an integrated decompiler ^^ when going from CompiledRoute -> Route.

It also conflicts with the single responsibility principle in OOP design as you would need to change the CompiledRoute class whenever you change the Route class.

It also mitigates problems like
```
$compiled = $route->compile();
// $route is change by some other layer
$compiled->getRoute(); // is not in synch with $compiled anymore although this getter makes us believe that
```
602a458
@ganchiku ganchiku fixed bug related to the change PR #5326 b1a9587
@ganchiku ganchiku oops, the command with name, too 472dfdc
@fabpot fabpot merged branch ganchiku/compiledroute_bcbreak_fix (PR #5333)
Commits
-------

472dfdc oops, the command with name, too
b1a9587 fixed bug related to the change PR #5326

Discussion
----------

fixed bug related to the change PR #5326

PR #5326 cause error on debugging command for route. compiledroute does not have getRequirements anymore, so should use not compiled route instead.
a1e6cfb
Commits on Aug 25, 2012
@Tobion Tobion [Form] refactor Form::bind to save 7 assignments 8d45539
@Tobion Tobion [Form] optimized the binding of child forms and calculation of extra …
…data
47a8bbd
@meandmymonkey meandmymonkey added tests for ValidatorBuilder fluent interface 1ff081d
@fabpot fabpot merged branch meandmymonkey/fluent-validatorbuilder (PR #5328)
Commits
-------

1ff081d added tests for ValidatorBuilder fluent interface
fec11ae updated docblocks for ValidatorBuilderInterface
b5aaf53 added fluent interface to validatorbuilder

Discussion
----------

[Validator] Added missing fluent interface to ValidatorBuilder

The new ValidatorBuilder class seems to be intended to have a fluent interface, reasoning:

- Static Validation::createValidatorBuilder() method exists
- Consistency with other builders in the framework
- Component README actually uses fluent interface for examples.

This was not implemented though. This PR adds the fluent interface.

BC Break: No
Symfony2 Tests Pass: Yes

---------------------------------------------------------------------------

by henrikbjorn at 2012-08-23T09:47:35Z

Could you add a test for this? :)

---------------------------------------------------------------------------

by bschussek at 2012-08-23T12:04:12Z

Great, thanks! :+1:

---------------------------------------------------------------------------

by meandmymonkey at 2012-08-23T12:30:40Z

@henrikbjorn Yes, will do.

---------------------------------------------------------------------------

by meandmymonkey at 2012-08-25T16:21:37Z

@henrikbjorn done
0e9d1ea
@fabpot fabpot merged branch eventhorizonpl/100pc_symfony_component_class_loader (PR #…
…5329)

Commits
-------

8c74b55 getNamespaces test

Discussion
----------

100pc symfony component class loader

Hi,

I added some tests for Symfony\Component\ClassLoader\UniversalClassLoader and Symfony\Component\ClassLoader\ClassLoader.

Best regards,
Michal

---------------------------------------------------------------------------

by eventhorizonpl at 2012-08-23T20:05:02Z

Fixed. Thanks for the review!

---------------------------------------------------------------------------

by pborreli at 2012-08-24T05:11:00Z

:+1:

---------------------------------------------------------------------------

by fabpot at 2012-08-24T05:46:36Z

Can you squash your commits before I merge the PR? Thanks.
b5517b2
@fabpot fabpot merged branch willdurand/fix-composer-components (PR #5318)
Commits
-------

933e821 Add minimum-stability (dev) in each component

Discussion
----------

Add minimum-stability (dev) in each component

This fixes the ability to run the test suite in each component if a `composer install` is needed.

---------------------------------------------------------------------------

by stof at 2012-08-22T13:57:14Z

If you really want to run the testsuite standalone, some dev requirements are missing (SecurityBundle needs the FrameworkBundle for its functional tests for instance). If you have some time to check the missing dev requirement, it would be great.
Anyway, :+1: for this

---------------------------------------------------------------------------

by willdurand at 2012-08-22T13:59:15Z

Yes I already did that once. I'll try to fix more components later.

On Wed, Aug 22, 2012 at 3:57 PM, Christophe Coevoet <
notifications@github.com> wrote:

> If you really want to run the testsuite standalone, some dev requirements
> are missing (SecurityBundle needs the FrameworkBundle for its functional
> tests for instance). If you have some time to check the missing dev
> requirement, it would be great.
> Anyway, [image: :+1:] for this
>
> —
> Reply to this email directly or view it on GitHub<#5318 (comment)>.
>
>

---------------------------------------------------------------------------

by stof at 2012-08-22T14:02:23Z

Well, I think most components should be good now (as some work has been done on them). But the bridges and bundles may need some work (bundles were not having any dev requirements until yesterday when @guilhermeblanco added some on FrameworkBundle)

---------------------------------------------------------------------------

by pborreli at 2012-08-22T14:14:00Z

what about having for each READ-ONLY repo his own .travis.yml and travisci hook activated ?

---------------------------------------------------------------------------

by fabpot at 2012-08-22T14:30:13Z

please, don't add more travis files. The main already tests everything, and that's all we need.

---------------------------------------------------------------------------

by stof at 2012-08-22T14:33:46Z

@pborreli tests should not be different for subtree split repos as the code is the same and the tests are the same (except that more tests could be skipped because of missing deps).
Note that for the bundles, it is likely to be different currently as I think some skip tests are missing (just like dev requirements are). But fixing this does not require enablign travis.

---------------------------------------------------------------------------

by pborreli at 2012-08-22T14:42:30Z

ok, i was just thinking about a way to be sure each component is usable individually but yeah that would require to relaunch each tests and add a bunch of travis files + hook

---------------------------------------------------------------------------

by hason at 2012-08-24T13:12:04Z

@stof, @eriksencosta, @fabpot: Tests are different for Locale component, see #5235

---------------------------------------------------------------------------

by stof at 2012-08-24T13:35:07Z

@hason no. You also need to do it when running the tests of the Locale component as part of the full run.
d1be451
@fabpot fabpot merged branch Tobion/patch-2 (PR #5240)
Commits
-------

9e5d5a4 [Form] fix static method call

Discussion
----------

[Form] fix static method call

`allowDataWalking` was called statically, but wasnt defined as such.
bef34bd
@bdmu bdmu [FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail …
…on Windows on master branch
85a53c1
@1ed 1ed [Validator] updated hungarian translation of messages 4af877b
Commits on Aug 26, 2012
@Tobion Tobion [Form] optimized PropertyPathMapper to invoke the expensive property …
…path less often
492c990
@fabpot fabpot merged branch 1ed/hungarian-validator-messages (PR #5348)
Commits
-------

4af877b [Validator] updated hungarian translation of messages

Discussion
----------

[Validator] updated hungarian translation of messages
f8f4408
@fabpot fabpot merged branch bdmu/ticket_5345 (PR #5346)
Commits
-------

85a53c1 [FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail on Windows on master branch

Discussion
----------

[FrameworkBundle] fixed *FrameworkExtensionTest::testTranslator fail on Windows on master branch

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5345
Todo: -
License of the code: MIT
Documentation PR:
fixed using some
str_replace('/', DIRECTORY_SEPARATOR, <value>)
so it works on Windows because it replaces the / in \ and shouldn't affect linux based OS, since it will replace / with /.

Not very nice, but it works, if anyone wants to do better, he/she is most welcome.
71732b1
@fabpot fabpot merged 2.0 c29edb5
@vitaliytv vitaliytv [Validator] updated Ukrainian translation of messages 1f95b1e
@fabpot fabpot merged branch vitaliytv/master (PR #5352)
Commits
-------

1f95b1e [Validator] updated Ukrainian translation of messages

Discussion
----------

[Validator] updated Ukrainian translation of messages
2c0e851
@Seldaek Seldaek [Process] Add workaround for PHP's internal sigchild failing to retur…
…n proper exit codes
7b63428
@Tobion Tobion [Form] added test with null parent 214f0de
@Tobion Tobion [Form] fixed Form::setParent(null) 30c1457
@Tobion Tobion [Form] deprecated Form::hasErrors that isn't part of the Interface 5cb8264
@Tobion Tobion [Form] fix phpdoc of Form::hasErrors d5eb4f7
Commits on Aug 27, 2012
@eventhorizonpl eventhorizonpl dump test
fix things pointed out by stof

fix things pointed out by pborreli

fix things pointed out by fabpot
f1970fa
@Tobion Tobion [Form] fixed and added phpDoc a523823
@Tobion Tobion [Form] fixed FormConfigBuilder to use PropertyPathInterface 596bbb1
@pborreli pborreli [Form] Fixed some PHPDoc 83dc966
@fabpot fabpot fixed merge 5cc43f9
Commits on Aug 28, 2012
@fabpot fabpot merged branch Seldaek/sigchild-workaround (PR #5353)
Commits
-------

7b63428 [Process] Add workaround for PHP's internal sigchild failing to return proper exit codes

Discussion
----------

[Process] Add workaround for PHP's internal sigchild failing to return proper exit codes

PHP compiled with --enable-sigchild basically fails to return exit codes, and randomly returns -1 instead most of the time (see https://bugs.php.net/bug.php?id=29123).

This works around it by having the exit code going through another pipe. It's enabled by default for linux because the new pipe trick won't work on windows I think, but that's unlikely to be an issue because most people don't compile their own php there.

I could have it enabled only when sigchild is enabled using the code below, but obviously that adds some overhead, so I'm not sure what's worst.

```php
ob_start();
phpinfo(INFO_GENERAL);
$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
```

That said, this renders composer unusable (because we do check exit codes) for people having sigchild enabled, and it's not so easy to workaround outside of the Process class itself, so I hope this is an acceptable fix.

---------------------------------------------------------------------------

by schmittjoh at 2012-08-26T13:41:18Z

How about prepending commands with ``exec`` to avoid spawning child processes altogether?

see #5030

---------------------------------------------------------------------------

by Seldaek at 2012-08-26T13:51:40Z

@schmittjoh I'm not sure how that's related to this issue? The problem here is that $exitcode is -1 when it should be 0, I don't see how the additional level of exec would help but maybe I'm missing your point.

---------------------------------------------------------------------------

by schmittjoh at 2012-08-26T13:59:15Z

I haven't looked in detail at this, but exec removes the child wrapper that PHP adds normally.

---------------------------------------------------------------------------

by fabpot at 2012-08-26T16:10:24Z

What about doing the fix in 2.0?

---------------------------------------------------------------------------

by stof at 2012-08-26T16:13:04Z

Can it be applied to 2.0 without too much work ? The Process component has been refactored for 2.1

---------------------------------------------------------------------------

by Seldaek at 2012-08-26T16:16:06Z

Just tried to rebase and it's not so trivial.. I can try to rebuild the
patch from scratch for 2.0 if it's important.

---------------------------------------------------------------------------

by fabpot at 2012-08-26T16:24:38Z

ok, let's only do the fix for master for now.

---------------------------------------------------------------------------

by Seldaek at 2012-08-26T20:49:39Z

@fabpot ok so the question remains whether there should be a ctor check for the configure flag to enable this or if we just always do it and hope it doesn't cause issues.
f11d7a0
@fabpot fabpot merged branch Tobion/formdoc (PR #5350)
Commits
-------

83dc966 [Form] Fixed some PHPDoc
596bbb1 [Form] fixed FormConfigBuilder to use PropertyPathInterface
a523823 [Form] fixed and added phpDoc

Discussion
----------

[Form] fixed and added phpDoc

[ci skip]

---------------------------------------------------------------------------

by sstok at 2012-08-26T08:11:01Z

Some descriptions don''t seem to be properly aligned, use the CS-fixer.

---------------------------------------------------------------------------

by Tobion at 2012-08-26T17:02:25Z

@sstok This is more about manual fixes concerning forgotten exceptions or wrong data type. The cs fixer gives many false positives and can be applied later.
66a060d
@fabpot fabpot merged branch eventhorizonpl/100pc_symfony_component_class_loader_p2 …
…(PR #5330)

Commits
-------

f1970fa dump test

Discussion
----------

Symfony\Component\ClassLoader\ClassMapGenerator dump test

Hi,

100 percent test coverage for ClassMapGenerator  :)

Best regards,
Michal

---------------------------------------------------------------------------

by eventhorizonpl at 2012-08-24T07:47:24Z

Fixed, thanks for the review!
c0590bf
@Tobion Tobion [FrameworkBundle] non-permanent redirect should be status code 404 ac…
…cording to spec
4c5bfab
@Tobion Tobion [Form] replaced UnexpectedValueException by InvalidArgumentException …
…in Guess

this is a better fit because the error is a logic exception instead of a runtime exception
dcbeeb1
@Tobion Tobion [Form] refactor Guess e7e39e0
@Tobion Tobion [Form] removed hasParent from FormInterface and deprecated its use
There are already 2 alternatives with getParent() and isRoot(), so a third one with similar semantics is confusing and unneeded.
0186731
@Tobion Tobion [Form] raise OutOfBoundsException instead of InvalidArgumentException…
… for inexistent form childs to be in line with PropertyPath
7e8ab54
@fabpot fabpot Merge branch '2.0'
* 2.0:
  updated VERSION for 2.0.17
  updated CHANGELOG for 2.0.17
  updated vendors for 2.0.17
  fixed XML decoding attack vector through external entities
  prevents injection of malicious doc types
  disabled network access when loading XML documents
  refined previous commit
  prevents injection of malicious doc types
  standardized the way we handle XML errors
  Redirects are now absolute

Conflicts:
	CHANGELOG-2.0.md
	src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	tests/Symfony/Tests/Component/DependencyInjection/Loader/XmlFileLoaderTest.php
	tests/Symfony/Tests/Component/Routing/Loader/XmlFileLoaderTest.php
	tests/Symfony/Tests/Component/Serializer/Encoder/XmlEncoderTest.php
	tests/Symfony/Tests/Component/Translation/Loader/XliffFileLoaderTest.php
	tests/Symfony/Tests/Component/Validator/Mapping/Loader/XmlFileLoaderTest.php
	vendors.php
a6bc12c
@fabpot fabpot updated VERSION for 2.1.0-RC2 39606c8
@fabpot fabpot bumped Symfony version to 2.1.0-DEV e35b4d8
@fabpot fabpot [Routing] fixed a test 3969011
@acasademont acasademont [Validator] Fix Spanish and Catalan translation messages for the CSRF…
… token validator
8bac442
@pitiflautico pitiflautico [Form] Fix double semicolon 7fc8fc0
@fabpot fabpot merged branch acasademont/fix_translations (PR #5371)
Commits
-------

8bac442 [Validator] Fix Spanish and Catalan translation messages for the CSRF token validator

Discussion
----------

[Validator] Fix Spanish and Catalan translation messages for the CSRF to...

...ken validator
7dac95f
@fabpot fabpot merged branch pitiflautico/patch-1 (PR #5372)
Commits
-------

7fc8fc0 [Form] Fix double semicolon

Discussion
----------

[Form] Fix double semicolon
9f4525a
@Tobion Tobion fixed phpdoc 7bec460
@Tobion Tobion fixed '0' problem 3f8127c
Commits on Aug 29, 2012
@dcsg dcsg minor correction f52e6df
@fabpot fabpot merged branch danielcsgomes/master (PR #5374)
Commits
-------

f52e6df minor correction

Discussion
----------

[Form][Validators] Portuguese translation correction

Minor portuguese translation correction and changed the source of id 30 to match the english version.
24a00b5
@Tobion Tobion [Routing] small refactoring in Router dd0403f
@fabpot fabpot merged branch Tobion/patch-7 (PR #5377)
Commits
-------

dd0403f [Routing] small refactoring in Router

Discussion
----------

[Routing] small refactoring in Router
0881bde
@fabpot fabpot merged branch Tobion/redirectcontroller (PR #5368)
Commits
-------

3f8127c fixed '0' problem
7bec460 fixed phpdoc
4c5bfab [FrameworkBundle] non-permanent redirect should be status code 404 according to spec

Discussion
----------

[FrameworkBundle] non-permanent redirect to unknown location with 404

according to spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html see 410 Gone

bc break: tiny when omitting 2 parameter (I can avoid this with `func_num_args` but i think its not necessary and makes the code strange and inconsistent)
e080f5a
@fabpot fabpot merged branch schmittjoh/addNoteFor404 (PR #5325)
Commits
-------

0f575a2 added note about 404 error pages

Discussion
----------

added note about 404 error pages and security features

This has been reported a few times now, and it seems we did not have it in the UPGRADE file yet.
af491b8
@fabpot fabpot merged branch Tobion/formparent (PR #5357)
Commits
-------

30c1457 [Form] fixed Form::setParent(null)
214f0de [Form] added test with null parent

Discussion
----------

[Form] fixed Form::setParent(null)

---------------------------------------------------------------------------

by bschussek at 2012-08-29T10:58:20Z

:+1:
003f8c5
@fabpot fabpot merged branch Tobion/formhaserrors (PR #5356)
Commits
-------

d5eb4f7 [Form] fix phpdoc of Form::hasErrors
5cb8264 [Form] deprecated Form::hasErrors that isn't part of the Interface

Discussion
----------

[Form] deprecated Form::hasErrors that isn't part of the Interface

This method is not part of FormInterface, so I deprecated it as it cannot be used reliably. This is consistent with other hassers that were deprecated like `hasChildren` where one should use `count` instead.

---------------------------------------------------------------------------

by stof at 2012-08-26T19:11:19Z

You should deprecate it, not remove it

---------------------------------------------------------------------------

by Tobion at 2012-08-26T19:17:35Z

oh right. I thought it was added in 2.1 and thus can be removed but it's also in 2.0.
Done.

---------------------------------------------------------------------------

by bschussek at 2012-08-29T11:00:32Z

:+1:
867e31c
@fabpot fabpot merged branch Tobion/formrefactor (PR #5338)
Commits
-------

492c990 [Form] optimized PropertyPathMapper to invoke the expensive property path less often
47a8bbd [Form] optimized the binding of child forms and calculation of extra data
8d45539 [Form] refactor Form::bind to save 7 assignments

Discussion
----------

[Form] refactor Form::bind to save 7 assignments and a complete loop

---------------------------------------------------------------------------

by stof at 2012-08-24T23:45:18Z

the new code is not equivalent. See travis for the proof.

---------------------------------------------------------------------------

by Tobion at 2012-08-25T01:50:41Z

@stof fixed, I had to reduce the refactoring a little

---------------------------------------------------------------------------

by bschussek at 2012-08-29T11:05:52Z

:+1:
0e9156d
@fabpot fabpot merged branch Tobion/formhasparent (PR #5360)
Commits
-------

0186731 [Form] removed hasParent from FormInterface and deprecated its use

Discussion
----------

[Form] removed hasParent from FormInterface and deprecated its use

There are already 2 alternatives with getParent() and isRoot(), so a third one with similar semantics is confusing and unneeded.

---------------------------------------------------------------------------

by bschussek at 2012-08-29T11:11:11Z

:+1:
77a47d3
@fabpot fabpot merged branch Tobion/formguess (PR #5361)
Commits
-------

e7e39e0 [Form] refactor Guess
dcbeeb1 [Form] replaced UnexpectedValueException by InvalidArgumentException in Guess

Discussion
----------

[Form] replaced UnexpectedValueException by InvalidArgumentException in Guess

BC break: yes

this is a better fit because the error is a logic exception (that can be detected at compile time, i.e. when writing the code) instead of a runtime exception

---------------------------------------------------------------------------

by bschussek at 2012-08-29T10:51:54Z

:+1:
deb41a1
@fabpot fabpot merged branch Tobion/formincon (PR #5355)
Commits
-------

7e8ab54 [Form] raise OutOfBoundsException instead of InvalidArgumentException for inexistent form childs to be in line with PropertyPath

Discussion
----------

[Form] raise OutOfBoundsException instead of InvalidArgumentException in Form::get

BC break: yes

Raise OutOfBoundsException instead of InvalidArgumentException in Form::get for inexistent form childs to be in line with PropertyPath, which also uses OutOfBoundsException for invalid indexes. OutOfBoundsException fits much better as it extends RuntimeException instead of LogicException and this error can typically not be detected at compile time.

---------------------------------------------------------------------------

by bschussek at 2012-08-29T11:01:01Z

:+1:

---------------------------------------------------------------------------

by stloyd at 2012-08-29T11:07:51Z

Shouldn't this change be noted in upgrade file ?

---------------------------------------------------------------------------

by stof at 2012-08-29T11:23:04Z

it should (and in the changelog of the component)
e49fd8f
@Tobion Tobion [Form] don't allow users to force exceptions by submitting unexpected…
… data

this makes it more fault-tolerant by simply ignoring wrong stuff from hackers

[Form] added test to ensure binding of wrong data is ignored
eb2eba1
@fabpot fabpot merged branch Tobion/formexception (PR #5337)
Commits
-------

eb2eba1 [Form] don't allow users to force exceptions by submitting unexpected data

Discussion
----------

[Form] don't allow users to force exceptions by submitting unexpected data

fix #5334

This makes it more fault-tolerant by simply ignoring wrong stuff from hackers.

@bschussek: I didn't find any other UnexpectedTypeExceptions that could be invoked by simply submitting unexpected data. But I'm not 100% sure that there aren't any indirectly invokeable, e.g. in some listeners.

---------------------------------------------------------------------------

by stof at 2012-08-24T22:34:52Z

a test is missing for this.

---------------------------------------------------------------------------

by Tobion at 2012-08-24T23:02:26Z

@stof true, I will add one

---------------------------------------------------------------------------

by Tobion at 2012-08-25T13:51:23Z

Added test.

---------------------------------------------------------------------------

by bschussek at 2012-08-29T11:07:37Z

:+1:

Could you please squash the commits?

---------------------------------------------------------------------------

by Tobion at 2012-08-29T13:43:52Z

Done.
ecab04c
@Baachi Baachi Refactor the unit test for the "MongoDbSessionHandler" f2d8a8a
@DerManoMann DerManoMann Move remember me ResponseListener from security bundle into security …
…component

This move allows to implement the remember me feature in Silex without having to reference the security bundle.
cf4189b
Commits on Aug 30, 2012
@fabpot fabpot merged branch sli-systems/master (PR #5380)
Commits
-------

cf4189b Move remember me ResponseListener from security bundle into security component

Discussion
----------

Move remember me response listener from security bundle into security component

...ponent

This move allows to implement the remember me feature in Silex without having to reference the security bundle.

This is the pull request for issue #5264
c4fa0b1
@fabpot fabpot merged branch Baachi/test-refactoring (PR #5379)
Commits
-------

f2d8a8a Refactor the unit test for the "MongoDbSessionHandler"

Discussion
----------

[HttpFoundation] Refactor the unit test for the "MongoDbSessionHandler"

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

---------------------------------------------------------------------------

by drak at 2012-08-29T19:49:49Z

Big +1 from me. Exactly how these kind of tests should be written.
24ae90d
@fabpot fabpot [HttpFoundation] added missing property declarations (refs #5379) 5885547
@fabpot fabpot merged branch Tobion/strictrequirements (PR #5181)
Commits
-------

0706d18 [Routing] fixed 4 bugs in the UrlGenerator

Discussion
----------

[Routing] UrlGenerator: fixed missing query param and some ignored requirements

This was pretty hard to figure out. I could fix 4 bugs and refactor the code to safe 2 variables and several assignments. Sorry for doing this in one commit, but they were highly interdependent.
See the added tests for what was fixed. The most obvious bug was that a query param was ignored if it had by accident the same name as a default param (but wasn't used in the path).
In 3 cases it generated the wrong URL that wouldn't match this route. The generator wrongly ignored either the requirements or the passed parameter. I had to adjust one test that was asserting something wrong (see comments).

---------------------------------------------------------------------------

by Tobion at 2012-08-13T14:22:35Z

ping @fabpot

---------------------------------------------------------------------------

by Tobion at 2012-08-29T17:53:07Z

@fabpot I think it's important to merge this before 2.1 final.
2da2a44
@fabpot fabpot fixed typo 548db6d
@fabpot fabpot merged branch mpiecko/master (PR #5280)
Commits
-------

58ebd1b [Form] Fixed error bubbling from DateTime widget - Issue #5270
8ea1607 Update src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php

Discussion
----------

[Form] Fixed error bubbling from DateTime widget - Issue #5270

This is related to #5270

---------------------------------------------------------------------------

by mpiecko at 2012-08-16T19:37:45Z

Travisbot shows something like this in it's log:

    [Composer\Downloader\TransportException] The "http://nodeload.github.com/phingofficial/phing/zipball/2.4.12" file could not be downloaded (HTTP/1.1 500 Internal Server Error)

So is it my PR ot Travis CI who fails ... ? I saw this error in some other PR's ...

---------------------------------------------------------------------------

by stloyd at 2012-08-16T20:40:39Z

It's GitHub =)

---------------------------------------------------------------------------

by mpiecko at 2012-08-17T09:36:31Z

Bad GitHub :)

---------------------------------------------------------------------------

by bschussek at 2012-08-17T11:21:39Z

Could you please add a test to DateTimeTypeTest?

---------------------------------------------------------------------------

by mpiecko at 2012-08-17T12:23:40Z

Sure!

---------------------------------------------------------------------------

by bschussek at 2012-08-30T08:20:08Z

:+1:
03f34a9
@rdohms rdohms Issue #5307: HTML regexp when match is false
When match is false the html5 validation regexp should be either inverted or not added.
Since we are in RC added a fix where this is not added, but marked a @todo so that this
can be revisited and we try to inverse the regexp instead.
7503ec9
@fabpot fabpot merged branch rdohms/html5-regexp (PR #5382)
Commits
-------

7503ec9 Issue #5307: HTML regexp when match is false

Discussion
----------

Issue #5307: HTML regexp when match is false

When match is false the html5 validation regexp should be either inverted or not added.
Since we are in RC added a fix where this is not added, but marked a @todo so that this
can be revisited and we try to inverse the regexp instead.

Discussed in #5307.

---------------------------------------------------------------------------

by bschussek at 2012-08-30T08:40:06Z

:+1: once the CS issue is fixed.

---------------------------------------------------------------------------

by rdohms at 2012-08-30T09:23:57Z

Could swear that was the CS in PSR-1 or 2, anyway, fixed.

---------------------------------------------------------------------------

by fabpot at 2012-08-30T09:26:07Z

Can you squash your commits before I merge? Thanks.

---------------------------------------------------------------------------

by rdohms at 2012-08-30T09:54:26Z

@fabpot done.
2982e6e
@romainneutron romainneutron Add unit test demonstrating bad exit code getter for a failing process 3bfb976
@romainneutron romainneutron Add @Seldaek remote modifications 407db65
@fabpot fabpot merged branch romainneutron/ProcessExitCode (PR #5386)
Commits
-------

407db65 Add @Seldaek remote modifications
3bfb976 Add unit test demonstrating bad exit code getter for a failing process

Discussion
----------

Add unit test demonstrating bad exit code getter for a failing process

Since symfony/symfony@7b63428 exit code are not well handled anymore.

The unit test provided with this PR demonstrates it

---------------------------------------------------------------------------

by fabpot at 2012-08-30T11:05:05Z

ping @Seldaek

---------------------------------------------------------------------------

by stof at 2012-08-30T11:13:13Z

We probably need to enable the workaround only when sigchild is used.

---------------------------------------------------------------------------

by Seldaek at 2012-08-30T12:51:22Z

Ok I figured out the problem, the hack is even hackier I guess now, but it should work for people with and without --enable-sigchild at least.
569e29d
@Tobion Tobion [Routing] allow disabling the requirements check on URL generation 4225869
@Tobion Tobion [Routing] added test for disabled requirements check 5f64503
@Tobion Tobion extended phpdoc of ConfigurableRequirementsInterface 3363832
@fabpot fabpot merged branch Tobion/requirementscheck (PR #5187)
Commits
-------

3363832 extended phpdoc of ConfigurableRequirementsInterface
5f64503 [Routing] added test for disabled requirements check
4225869 [Routing] allow disabling the requirements check on URL generation

Discussion
----------

[Routing] allow disabling the requirements check on URL generation

This adds the possibility to disable the requirements check (`strict_requirements = null`) on URL generation.

To sum up, here the possibilities:
- `strict_requirements = true`: throw exception for mismatching requirements (most useful in development environment).
- `strict_requirements = false`: don't throw exception but return null as URL for mismatching requirements and log it (useful when you cannot control all params because they come from third party libs or something but don't want to have a 404 in production environment. it logs the mismatch so you can review it).
- `strict_requirements = null`: Return the URL with the given parameters without checking the requirements at all. When generating an URL you should either trust your params or you validated them beforehand because otherwise it would break your link anyway (just as with strict_requirements=false). So in production environment you should know that params allways pass the requirements. Thus you could disable the check on each URL generation for performance reasons. If you have 300 links on a page and each URL at least one param you safe 300 unneeded `preg_match` calls. I tested the performance in one of my projects. The rendering time of a single template that contains ~300 links with several params was reduced from avg. 46ms to avg. 42ms. That are 8.7% reduction in the twig layer where the links are created on each request. So this option combines the improved usability of strict_requirements=false with an additional increased performance.

---------------------------------------------------------------------------

by fabpot at 2012-08-30T13:40:38Z

Can you put the comment about all the possibilities you have mentioned here in the phpdoc for future reference? Thanks.

---------------------------------------------------------------------------

by Tobion at 2012-08-30T13:49:25Z

In `ConfigurableRequirementsInterface` or which phpdoc would you like to have it? Because `ConfigurableRequirementsInterface` already has it explained. But I can extend its description if thats what you mean.

---------------------------------------------------------------------------

by fabpot at 2012-08-30T13:50:40Z

The comment in the PR is more explicit and more detailed than the one in the interface. So, yes, basically, it would be great if you can move all the information in the interface phpdoc.

---------------------------------------------------------------------------

by Tobion at 2012-08-30T14:35:59Z

Done.
2cf50b7
Commits on Aug 31, 2012
@Tobion Tobion [Routing] added route compile check to identify a default value of a …
…required variable that does not match the requirement
cb7e3f5
@fabpot fabpot merged branch janmarek/patch-1 (PR #5202)
Commits
-------

890aea2 FileLocatorInterface used in typehint instead of FileLocator

Discussion
----------

FileLocatorInterface used in typehint instead of FileLocator

---------------------------------------------------------------------------

by stof at 2012-08-30T22:09:39Z

@fabpot this makes sense (and it is BC)

---------------------------------------------------------------------------

by mvrhov at 2012-08-31T08:34:17Z

What's wrong with Interface hint? I always hint interface when available as this means that I can inject whatever class implementing that interface.
5e7723f
@fabpot fabpot merged branch Tobion/uselessparamdefaults (PR #5400)
Commits
-------

cb7e3f5 [Routing] added route compile check to identify a default value of a required variable that does not match the requirement

Discussion
----------

[Routing] added route compile check to identify a bad default value

BC break: yes but only for strange route definitions

See the exception message in code for the reasoning.

An exception is thrown for a __required__ variable that __has a default__ that __doesn't match__ the requirement.
So optional variables can of course still have a default that don't meet the requirement, which is useful.
This helps to identify useless route definitions at compile time instead of when generating or matching a URL.
0f61b2e
@stof stof Removed the unnecessary file include
As of Doctrine 2.2, the ORM annotations can be found by the autoloader
directly.
7ef6295
@fabpot fabpot merged branch stof/fix_testsuite (PR #5403)
Commits
-------

7ef6295 Removed the unnecessary file include

Discussion
----------

Removed the unnecessary file include

As of Doctrine 2.2, the ORM annotations can be found by the autoloader directly.

This will also avoid breaking the testsuite in case the dev deps have not been installed as the ORM would not be available in this case (the tests relying on the ORM should already be skipped when it is not available). See #5402
c0673d7
@webmozart webmozart [Form] Fixed PropertyPath to not modify Collection instances (not eve…
…n their clones)
04fd5f1
@fabpot fabpot [Security] fixed typo in a test 07ec1cb
Commits on Sep 01, 2012
@fabpot fabpot merged branch bschussek/issue4670 (PR #5406)
Commits
-------

04fd5f1 [Form] Fixed PropertyPath to not modify Collection instances (not even their clones)

Discussion
----------

[Form] Fixed PropertyPath to not modify Collection instances

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4670
Todo: -

---------------------------------------------------------------------------

by pocallaghan at 2012-08-31T14:20:52Z

As far as I can see the pull request does fix the issue, which makes sense based on the code change (I didn't know iterator_to_array existed, good call). One thing I would say, I'm not sure on the use in the change to the test case. It's not clear to me what additional protection this extra assertion gives, as both the old and new code seem to pass.

---------------------------------------------------------------------------

by bschussek at 2012-08-31T14:21:46Z

The new assertion is there because not even the old code (`clone`) was tested.

---------------------------------------------------------------------------

by stof at 2012-08-31T14:37:38Z

@bschussek but was it failing without the code change ?

---------------------------------------------------------------------------

by bschussek at 2012-08-31T22:12:00Z

@stof It was not, but I was unable to write a good test for the change within reasonable time. I added an explanatory comment instead.
797ba68
@sebastianbergmann sebastianbergmann Point to information on how to run the test suite. (closes #5405) 41ffd00
@eventhorizonpl eventhorizonpl JsonResponseTest 3036b00
@eventhorizonpl eventhorizonpl load test 8a3c8c9
@eventhorizonpl eventhorizonpl ResponseHeaderBag tests c74d9a9
@eventhorizonpl eventhorizonpl StreamedResponseTest b89d4ee
@eventhorizonpl eventhorizonpl RedirectResponse tests 21a5841
Commits on Sep 02, 2012
@eventhorizonpl eventhorizonpl Response tests
fix things pointed out by Koc

fix things pointed out by stof
0af8778
Commits on Sep 04, 2012
@armetiz armetiz Remove "you" word. 6d49bfb
@fabpot fabpot merged branch armetiz/patch-2 (PR #5429)
Commits
-------

6d49bfb Remove "you" word.

Discussion
----------

Remove "you" word.
7888598
@fabpot fabpot merged branch eventhorizonpl/100ptc_component_httpfundation_p5 (PR #5416
)

Commits
-------

21a5841 RedirectResponse tests

Discussion
----------

RedirectResponse tests

Hi,

This patch adds 100% test coverage for RedirectResponse class.

Best regards,
Michal
36c64e0
@fabpot fabpot merged branch eventhorizonpl/100ptc_component_httpfundation_p4 (PR #5415
)

Commits
-------

b89d4ee StreamedResponseTest

Discussion
----------

StreamedResponseTest

Hi,

This patch adds one test to StreamedResponseTest and fixes another. StreamedResponse has 100% test coverage.

Best regards,
Michal
ee51ca8
@fabpot fabpot merged branch eventhorizonpl/100ptc_component_httpfundation_p3 (PR #5414
)

Commits
-------

c74d9a9 ResponseHeaderBag tests

Discussion
----------

ResponseHeaderBag tests

Hi,

This patch adds some ResponseHeaderBag tests. Now ResponseHeaderBag got 100% test coverage :)

Best regards,
Michal
a44c8d8
@fabpot fabpot merged branch eventhorizonpl/100ptc_component_httpfundation_p2 (PR #5413
)

Commits
-------

0af8778 Response tests

Discussion
----------

Response tests

Hi,

This patch adds some tests to ResponseTest.

Best regards,
Michal

---------------------------------------------------------------------------

by eventhorizonpl at 2012-09-01T09:45:16Z

Fixed, thanks for the review.

---------------------------------------------------------------------------

by eventhorizonpl at 2012-09-02T19:39:26Z

CS fixed. Thanks for the review :)
5040599
@fabpot fabpot merged branch eventhorizonpl/100_ptc_symfony_component_class_loader_p…
…3 (PR #5412)

Commits
-------

8a3c8c9 load test

Discussion
----------

load test

Hi,

This patch add test that covers this situation

public static function load($classes, $cacheDir, $name, $autoReload, $adaptive = false, $extension = '.php')
{
  // each $name can only be loaded once per PHP process
  if (isset(self::$loaded[$name])) {
     return;
}

Best regards,
Michal
2cd61ab
@fabpot fabpot merged branch eventhorizonpl/100ptc_component_httpfundation (PR #5409)
Commits
-------

3036b00 JsonResponseTest

Discussion
----------

JsonResponseTest

Hi,

This patch adds some tests for JsonResponse.

Best regards,
Michal

---------------------------------------------------------------------------

by eventhorizonpl at 2012-09-01T07:09:12Z

Done. Thanks for the review!
0919361
@fabpot fabpot merged branch beberlei/RevertDbalAcl (PR #5253)
Commits
-------

1b5ad17 Revert "Removed MySQL-exclusive usage of unsigned integer from table creation"

Discussion
----------

[Security][DBAL] Revert MySQL unsigned removal

Revert "Removed MySQL-exclusive usage of unsigned integer from table creation"

This reverts commit 57694aa.

The problem is underlying in Doctrine DBAL change tracking and should
either be fixed or ignored there.

I opened a ticket on Doctrine Jira http://doctrine-project.org/jira/browse/DBAL-322

---------------------------------------------------------------------------

by fabpot at 2012-08-14T06:40:47Z

I will merge this PR after we have a release of DBAL that includes the fix for DBAL-322.

---------------------------------------------------------------------------

by acasademont at 2012-08-20T08:01:48Z

This was already fixed 2 weeks ago in doctrine/dbal#183 so i guess this can be closed

---------------------------------------------------------------------------

by acasademont at 2012-08-20T08:02:06Z

merged i mean
1dd1532
Commits on Sep 05, 2012
@fabpot fabpot Revert "merged branch Tobion/uselessparamdefaults (PR #5400)"
This reverts commit 0f61b2e, reversing
changes made to 5e7723f.
fdf2528
@fabpot fabpot Revert "merged branch Tobion/requirementscheck (PR #5187)"
This reverts commit 2cf50b7, reversing
changes made to 569e29d.
aae4cee
@fabpot fabpot Revert "merged branch Tobion/strictrequirements (PR #5181)"
This reverts commit 2da2a44, reversing
changes made to 5885547.
00ec9b5
Commits on Sep 06, 2012
@fabpot fabpot Merge branch '2.0'
* 2.0:
  bumped Symfony version to 2.0.18-DEV

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
4035e1a
@fabpot fabpot updated VERSION for 2.1.0 5745b53