This PR was merged into the master branch.
Commits
-------
bcc5552 [Form] Protected methods in FormConfigBuilder and FormBuilder from being called when it is turned into a FormConfigInterface instance
fee1bf5 [Form] Introduced base ExceptionInterface
Discussion
----------
[Form] Protected methods in FormConfigBuilder and FormBuilder
Bug fix: yes
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
When a form is created, a `FormConfigInterface` instance is passed to the constructor of `Form` and then accessible via `getConfig()`. For performance reasons, `FormBuilder` also implements `FormConfigInterface` and is passed here directly instead of copying its values to a new `FormConfig` instance, although protected from further modifications.
In addition to the already existing guard clauses in the setters, this PR adds guard clauses to the getters of `FormBuilder` to prevent misuse of the "config" object giving unexpected results.
Additionally, this PR introduces first improvements of the form's `Exception\` namespace as described in #6549.
---------------------------------------------------------------------------
by mvrhov at 2013-01-05T18:19:04Z
@bschussek I don't have the time to review this one, but please do not over optimize. We do a lot of weird things. e.g. I have the following code in one of my models.
```php
public function validateEmail(ExecutionContextInterface $context)
{
if ((null !== $this->product) && (in_array($this->product->getType(), array(ProductTypeEnum::Software, ProductTypeEnum::Subscription)))) {
/** @var $form Form */
$form = $context->getRoot();
if (($form instanceof Form) && ('foo' == $form->getConfig()->getOption('app_name'))) {
$context->validate($this, 'email', 'Email');
}
}
}
```
---------------------------------------------------------------------------
by bschussek at 2013-01-05T18:46:17Z
@mvrhov Absolutely no problem. Most people will use methods from `FormConfigInterface` on the result of `getConfig()`, because that's the type hinted return value, and that's the way it should be. I don't even know how many people are aware that `getConfig()` returns the builder object.
This PR is for rare cases where people write forward-incompatible hacks by accessing `FormBuilder` methods like `get()`, `getParent()` or the like on `getConfig()` (I don't know why anyone would do this, but you never know...)
---------------------------------------------------------------------------
by vicb at 2013-01-07T11:08:34Z
> Backwards compatibility break: no
Really ?
---------------------------------------------------------------------------
by vicb at 2013-01-07T12:26:22Z
Changing `FormException` from a class to an interface is a BC break (`new FormException()`)
---------------------------------------------------------------------------
by bschussek at 2013-01-07T12:41:20Z
@vicb Fair enough ;) I adapted the CHANGELOG and UPGRADE-2.2.
---------------------------------------------------------------------------
by fabpot at 2013-01-07T15:50:03Z
This PR break the tests.
---------------------------------------------------------------------------
by bschussek at 2013-01-07T15:50:34Z
I just fixed them and they run on my computer. I'm not sure why Travis fails again.
---------------------------------------------------------------------------
by bschussek at 2013-01-07T15:56:41Z
Travis merged the wrong commit. It merged 42c8987f350650a42d8c968d32cde50fc5d548c0 - see the merge commit here 766f7fe958ea69a302bed6298e55a3001a51e2b8 - when it should have merged cd3f4f9dfe43a526c23f30e16354ff11489b9db1.
This PR was merged into the 2.0 branch.
Commits
-------
3195122 [HttpFoundation] Check if required shell functions for `FileBinaryMimeTypeGuesser` are not disabled
Discussion
----------
[HttpFoundation] Check if required shell functions are not disabled
Rebased to `2.0` & squashed version of #6526.
This PR was merged into the master branch.
Commits
-------
0cf9fcb [HttpFoundation] Deprecated count() and \Countable
Discussion
----------
[HttpFoundation] Deprecated count() and \Countable
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6408
Todo: -
License of the code: MIT
Documentation PR: -
The docblock is done in #6423 so will be merged up.
---------------------------------------------------------------------------
by stloyd at 2013-01-07T11:19:20Z
@fabpot ping
---------------------------------------------------------------------------
by drak at 2013-01-07T11:22:54Z
This should be OK for merge as the solution was agreed with @fabpot before making the PR.
---------------------------------------------------------------------------
by fabpot at 2013-01-07T11:24:50Z
@drak Can you add an entry in the CHANGELOG stating that this is a BC break?
---------------------------------------------------------------------------
by drak at 2013-01-07T15:31:21Z
@fabpot - There doesnt seem to be a CHANGELOG-2.2 in the master branch... where should I place the information?
---------------------------------------------------------------------------
by Tobion at 2013-01-07T15:46:25Z
@drak just in the CHANGELOG under the 2.2. header
---------------------------------------------------------------------------
by fabpot at 2013-01-07T15:48:43Z
Here: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/CHANGELOG.md
---------------------------------------------------------------------------
by drak at 2013-01-07T15:48:45Z
@Tobion - thanks, I forgot it's in the package root, not the repo root. :)
---------------------------------------------------------------------------
by drak at 2013-01-07T15:52:37Z
@fabpot - updated changelog, squashed and rebased.
This PR was merged into the 2.1 branch.
Commits
-------
8513777 [HttpFoundation] Update docblock for non-working method
Discussion
----------
[HttpFoundation] Update docblock for non-working method
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Rerences the following tickets: #6408
Todo: -
License of the code: MIT
Documentation PR: -
---------------------------------------------------------------------------
by piotrpasich at 2012-12-19T21:32:24Z
I think that we shouldn't comment it as not working but add new methods called countFlashes and countFlashesTypes. CountFlashesTypes should return count($this->flashBag) and countFlashes should count all items in every array inside flashbag.
---------------------------------------------------------------------------
by drak at 2012-12-20T17:43:38Z
ping @fabpot
This PR was merged into the 2.1 branch.
Commits
-------
33e9d00 [Form] Deleted references in FormBuilder::getFormConfig() to improve performance
Discussion
----------
[Form] Deleted references in FormBuilder::getFormConfig() to improve performance
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6558
Todo: -
License of the code: MIT
Documentation PR: -
---------------------------------------------------------------------------
by vicb at 2013-01-07T11:09:24Z
> Backwards compatibility break: no
Really ?
---------------------------------------------------------------------------
by vicb at 2013-01-07T12:27:37Z
Adding a public method is a BC break.
---------------------------------------------------------------------------
by bschussek at 2013-01-07T12:42:14Z
The method is inherited from the parent class, so the change should not affect BC.
---------------------------------------------------------------------------
by vicb at 2013-01-07T13:27:21Z
my bad.
This PR was squashed before being merged into the master branch (closes#6491).
Commits
-------
5d264ce [Routing] made RouteCompilerInterface::compile static
Discussion
----------
[Routing] made RouteCompilerInterface::compile static
bc break: yes but probably nobody affected
It makes much more sense that the compile method is static because having instances of a compiler is strange. Also the compiler could not use DI or anything anyway as the `Route` class was instantiating compiler instances itself and was assuming there are no constructor arguments.
This PR was squashed before being merged into the master branch (closes#6594).
Commits
-------
9d94fc7 [Console] Autocomplete cleanups/optimisations
Discussion
----------
[Console] Autocomplete cleanups/optimisations
I know the optimisations to this code are getting kinda ridiculous, but I found a few more things to tidy up.
This PR was merged into the 2.0 branch.
Commits
-------
666283c [HttpFoundation] Docblock for Request::isXmlHttpRequest() now points to Wikipedia
Discussion
----------
[2.0][HttpFoundation] Docblock for Request::isXmlHttpRequest()
Docblock now points to [Wikipedia entry](http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript) instead of pointing all known JS frameworks.
Replacement for #6444.
This PR was squashed before being merged into the 2.0 branch (closes#6271).
Commits
-------
dbafc2c [CssSelector] added css selector with empty string
Discussion
----------
[CssSelector] added css selector with empty string
---------------------------------------------------------------------------
by kosssi at 2012-12-14T18:29:40Z
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
---------------------------------------------------------------------------
by stloyd at 2013-01-07T08:21:56Z
@fabpot ping
---------------------------------------------------------------------------
by fabpot at 2013-01-07T10:28:54Z
Sorry, but I don't understand the use case.
---------------------------------------------------------------------------
by kosssi at 2013-01-07T10:36:31Z
if you have this code :
\<img src="..." alt="">
you can find
$this->assertCount(1, $crawler->filter('img[alt=""]'));
---------------------------------------------------------------------------
by fabpot at 2013-01-07T10:40:12Z
Then, can you change the unit test with the real use case?
---------------------------------------------------------------------------
by kosssi at 2013-01-07T11:05:50Z
I don't know if it suits you
---------------------------------------------------------------------------
by fabpot at 2013-01-07T11:07:11Z
thanks
This PR was merged into the master branch.
Commits
-------
f5290b9 [FrameworkBundle] Force users to set "kernel.secret" to something different than default "ThisTokenIsNotSoSecretChangeIt"
Discussion
----------
[RFC][BC][FrameworkBundle] Force users to set "kernel.secret" to something unique
Bug fix: kinda*
Feature addition: no
BC break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #6480
License of the code: MIT
This PR is to show different approach for "fix" suggested in #6480, as IMO there is no real point for "yet another listener" =)
This PR also introduces BC break for all users that used default value for `kernel.secret`, but IMO it's worth it.
This PR was merged into the master branch.
Commits
-------
d570dbe [Security][Acl] CS fix for commit: 3c3a90b9e53c3a90b [Security][Acl] Reduce query size when Select ACL entries for many instances of the same Type at once
Discussion
----------
[Security][Acl] Reduce query size when select ACL type is same
Rebased & squashed version of #6479.
ps. I was thinking that this could be done on _lower_ versions too, but was not sure =)
This PR was merged into the master branch.
Commits
-------
4bf82e0 Update Ukrainian translation for master branch
Discussion
----------
[Validator] Update Ukrainian translation for master branch
This PR was merged into the 2.1 branch.
Commits
-------
31edf85 Update Ukrainian translation for 2.1 branch
Discussion
----------
[Validator] Update Ukrainian translation for 2.1 branch
This PR was merged into the master branch.
Commits
-------
b1f190f covers edge case for Luhn
Discussion
----------
[Validator] Covering edge case for Luhn when checksum is exactly 0
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:
Actually not a big deal, but a Credit Card with all 0s passed validation. Now this is covered.
This PR was merged into the master branch.
Commits
-------
2b73975 Add new tests and fix problem with the second option being chosen on down arrow
8a0bcfb Use strpos in place of substr
9864d95 Not much use in blanking the array each time
a4d711c Enable arrow keys to browse matched autocomplete options
Discussion
----------
[Console] Enable arrow keys to browse matched autocomplete options
See notes in original autocomplete pull request: #6391
See also @bamarni's pull request implementing more or less the same stuff: #6561
---------------------------------------------------------------------------
by fabpot at 2013-01-05T10:12:47Z
Looks good to me. Can you add some unit tests?
---------------------------------------------------------------------------
by bamarni at 2013-01-05T12:51:51Z
1 line addition... you definitely got me on the diff!
That's what I had mind too, excepted for the default highlight, but as you said it's usually displayed in the question so it 's not necessary. 👍
---------------------------------------------------------------------------
by lmcd at 2013-01-06T04:07:02Z
@fabpot Added tests
* 2.1:
[Console] made Application::getTerminalDimensions() public
Revert "merged branch egeloen/f-2.0-terminal-width (PR #6571)"
[2.1] [Console] Added getTerminalDimensions() with fix for osx/freebsd
Restrict Monolog version to be in version `<1.3`. Because of conflict between `HttpKernel/Log/LoggerInterface` and `Psr\Log\LoggerInterface` (PSR-3)
Conflicts:
composer.json
This PR was merged into the master branch.
Commits
-------
e0b4480 [Form] Removed separator characters between choice or text fields in DateType
Discussion
----------
[Form] Removed separator characters between choice or text fields in DateType
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: -
This commit was originally contained in #6217 (for 2.1) but then split away for master since it changes behavior.