This PR was squashed before being merged into the master branch (closes#7951).
Discussion
----------
[Templating] Allows "template" and "parameters" as parameter name (replaces #7908)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | n/a
Allows "template" and "parameters" as parameter name.
**BC break:** These variables were previously declared on every template with respectively the Templating\Storage instance and the array of parameters.
Commits
-------
6e8b918 [Templating] Allows "template" and "parameters" as parameter name (replaces #7908)
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation][NamespacedAttributeBag] Refactoring of resolveKey() method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Just code enhancement. Low priority.
1) We don't need to call strlen($name) as last argument of substr() function
2) We don't need to call strrpos (or strpos) two times.
Commits
-------
a644516 [HttpFoundation][NamespacedAttributeBag] Refactoring of resolveKey() method
This PR was merged into the master branch.
Discussion
----------
[2.4][Console] Added status code to CommandTester and ApplicationTester
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes, but not on travis (segfault)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Theses classes are already statefull. They contain the input and the
output data. So we can safely add the last status code to the class.
Commits
-------
6526166 [Console] Added status code to CommandTester and ApplicationTester
This PR was merged into the master branch.
Discussion
----------
[Console] Add clear() to ProgressHelper.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | symfony/symfony-docs#2642
One may want to print something else while the progress bar is running.
The output will be messy if the progress bar is not removed first.
One may also want to remove the progress bar after the work is complete.
Commits
-------
29c71a5 [Console] Add clear() to ProgressHelper.
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] Added few tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
804b182 [Config] Added tests for the FileResource and DirectoryResource.
c5dda79 [Config] Fixed @covers annotation which ignored some of the methods from the code coverage.
bf769e0 [Config] Added tests for the ConfigCache.
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Added more tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Continuation of #8136
Commits
-------
5409852 [Security] Added few new test cases for the HttpUtils and improved readability of existing tests.
d6ab77e [Security] Added tests for the SwitchUserListener.
cccd005 [Security] Added tests for the ContextListener.
307bc91 [Security] Added a test to the BasicAuthenticationListener.
314f29a [Security] Removed an unnecessary call to sprintf() and added a test case.
* 2.3:
ErrorHandler and fixes
fixed typo in CS translation (closes#8069)
fix arab translation
Removed reference to Symfony\Component\Form\Extension\Core\Type\FormType in form.xml
slovenian validator translations updated
[FrameworkBundle] set the dispatcher in the console application
[Console] fix typehint for Application::setDispatcher
[Finder] Fixed a path in a test.
[Form] [Validator] Fixed post_max_size = 0 bug (Issue #8065)
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] set the dispatcher in the console application
BC break: no
test pass: yes
Otherwise events are not dispatched in symfony frameworkbundle.
The first commit fixes a related typehint in the console.
Commits
-------
e93fc7a [FrameworkBundle] set the dispatcher in the console application
176a3d4 [Console] fix typehint for Application::setDispatcher
* 2.3: (37 commits)
[Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
Fix several instances of doubled words
[Security] Fixed the check if an interface exists.
Added missing slovak translations
[FrameworkBundle] removed HttpFoundation classes from HttpKernel cache
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
[Security] Added tests for the DefaultLogoutSuccessHandler.
[Security] Added tests for the DefaultAuthenticationSuccessHandler.
[ClassLoader] tiny refactoring
[Security] Added tests for the DefaultAuthenticationFailureHandler.
[Security] Added tests for the remember me ReponseListener.
[Security] Added tests for the SessionAuthenticationStrategy.
[Security] Added tests for the AccessMap.
[FrameworkBundle] removed deprecated method from cache:clear command
[WebProfiler] remove deprecated verbose option
fix logger in regards to DebugLoggerInterface
[Form] [2.3] removed old option
Added type of return value in VoterInterface.
[Console] Add namespace support back in to list command
...
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
I wondered about the name and now I figured the problem was already raised in the PR: https://github.com/symfony/symfony/pull/7466#discussion-diff-3503539
So I think it should be fixed for LTS.
BC break: yes
test pass: yes
Commits
-------
554ab9f [Console] renamed ConsoleForExceptionEvent into ConsoleExceptionEvent
* 2.2:
Fix several instances of doubled words
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
Added type of return value in VoterInterface.
Fixed two bugs in HttpCache
Conflicts:
src/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php
* 2.1:
Fix several instances of doubled words
[Finder] Fix iteration fails with non-rewindable streams
[Finder] Fix unexpected duplicate sub path related AppendIterator issue
Added type of return value in VoterInterface.
Fixed two bugs in HttpCache
Conflicts:
src/Symfony/Component/Finder/Tests/FinderTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Validator] Added missing slovak translations
This commit sholud be also merged to master.
Commits
-------
af2cd98 Added missing slovak translations
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] Add namespace support back in to list command
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | Couldn't spot this issue in the list
| License | MIT
| Doc PR | NA
Added a test to prevent this happening again.
Commits
-------
79a842a [Console] Add namespace support back in to list command
This PR was squashed before being merged into the 2.1 branch (closes
Discussion
----------
[Finder] Fix iteration fails with non-rewindable streams
<table>
<tr>
<th>Q</th><th>A</th>
</tr>
<tr>
<td>Bug fix?</td><td>yes</td>
</tr>
<tr>
<td>New feature?</td><td>no</td>
</tr>
<tr>
<td>BC breaks?</td><td>no</td>
</tr>
<tr>
<td>Deprecations?</td><td>no</td>
</tr>
<tr>
<td>Tests pass?</td><td>yes</td>
</tr>
<tr>
<td>Fixed tickets</td><td>#3585, #7834</td>
</tr>
<tr>
<td>License?</td><td>MIT</td>
</tr>
</table>
- [x] Add a good detection of non seekable stream
- [x] Add some unit tests
But the iteration under ftp stream still not work properly. Edit: need
tests for that.
Commits
-------
169c0b9 [Finder] Fix iteration fails with non-rewindable streams
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] [2.3] removed old option
Looks like a leftover from @c8afa886cd7c9598e5fbda661e93210a7786739b
Commits
-------
a8f4501 [Form] [2.3] removed old option
This PR was merged into the 2.3 branch.
Discussion
----------
[ClassLoader] tiny refactoring
test pass: yes
bc break: no
Commits
-------
6394a5b [ClassLoader] tiny refactoring
1. 304 responses always send "Content-Type: text/html; charset=UTF-8"
header
I discovered that the HttpCache::handle method calls Response::prepare
after calling Response::isModified. Response::isModified removes the
Content-Type header as it should, but Response::handle adds in the
default Content-Type header when none is set. If the default
Content-Type is not the correct Content-Type, then the Content-Type in
the cache gets clobered. I solved this problem by moving the
Response::isModified call after the Response::prepare call. I updated
the testRespondsWith304WhenIfModifiedSinceMatchesLastModified and
testRespondsWith304WhenIfNoneMatchMatchesETag tests to verify that the
Content-Type header was not being sent for 304 responses.
2. Failure to invalidate cached entities referred to by the Location
header
I discovered that the Store::invalidate method was looking for Location
and Content-Location headers to invalidate, but it was looking in the
request headers instead of the response headers. Because the
Store::invalidate method doesn't take a response, I decided it was
better to move this logic to the HttpCache::invalidate method instead.
I updated the testInvalidatesCachedResponsesOnPost test to verify that
Location headers are getting invalidated correctly.
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] Including exception message to clarify the underlying issue
Hi guys!
In the framework if you, for example, make a syntax error in YAML, then the true, clear message (e.g. Unable to parse at line 5 (near "framework") is nested, and harder to visually see. This includes that message in the main exception so that users can debug more easily.
I see this quite a bit, it's a choke point for newcomers :).
Before: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml".
After: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml". (Unable to parse at line 5 (near "framework").)
Corrections and comments warmly appreciated.
Thanks!
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | n/a
Commits
-------
435012f [Config] Adding the previous exception message into the FileLoaderLoadException so it's more easily seen
This PR was merged into the master branch.
Discussion
----------
[Console] ensure integer exit codes in events
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
fe1db71 [Console] ensure integer exit codes in events
This PR was merged into the 2.1 branch.
Discussion
----------
[Console] fix and refactor exit code handling
Split of #8038
Commits
-------
5c317b7 [Console] fix and refactor exit code handling
* 2.2:
[CssSelector] Fix :nth-last-child() translation
Fix Crawler::children() to not trigger a notice for childless node
Conflicts:
src/Symfony/Component/CssSelector/Node/FunctionNode.php
src/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Fixed the class namespaces in the @covers annotations.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
a39db7b [Intl] Fixed the class namespaces in the @covers annotations.
In the framework if you, for example, make a syntax error in YAML, then the true, clear message (e.g. Unable to parse at line 5 (near "framework") is nested, and harder to visually see. This includes that message in the main exception so that users can debug more easily.
Before: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml".
After: Cannot import resource "/path/to/app/config/config.yml" from "/path/to/app/config/config_dev.yml". (Unable to parse at line 5 (near "framework").)
One may want to print something else while the progress bar is running.
The output will be messy if the progress bar is not removed first.
One may also want to remove the progress bar after the work is complete.
This PR was squashed before being merged into the master branch (closes#8025).
Discussion
----------
[BrowserKit] should not follow redirects if status code is not 30x
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Currently, BrowserKit operates incorrectly. It follows "redirect" when `Location` header is present, but having just the header is not enough to perform redirection. [RFC-2616](http://tools.ietf.org/html/rfc2616#section-14.30) precisely says that the redirection should be performed only with `30x` status codes.
This PR fixes the incorrect behaviour of BrowserKit and make it consist with both the RFC document and with other clients, used for example with Behat.
I've found the issue while testing my application with Behat. I was returning `Location` header with `HTTP 201/Created` status code and was surprised that BrowserKit follows the redirection.
This PR is for 2.3 version (master) of Symfony.
Commits
-------
8f54da7 [BrowserKit] should not follow redirects if status code is not 30x
This PR was merged into the master branch.
Discussion
----------
Improvement composer.json Console
Added suggest to composer.json.
Commits
-------
5e6245f [ADD] Component_Console -add suggest in the composer.json to event-dispatcher
This PR was merged into the master branch.
Discussion
----------
Fixed the tests on PHP 5.3.3
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7754
| License | MIT
| Doc PR | -
PHPUnit with PHP 5.3.3 couldn't handle garbage collecting properly.
Commits
-------
0617ed1 [Console] Removed the descriptor from data set providers.
It should not extend from abstract Output class because than it inherits the useless constructor arguments and applies formatting in write() needlessly.
This PR was merged into the master branch.
Discussion
----------
[DomCrawler] Fixed the Crawler::html() method for early PHP versions
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes, but not on travis (segfault)
| Fixed tickets | #7963
| License | MIT
| Doc PR | -
Node argument was added to the [`DOMDocument::saveHTML()`](http://php.net/manual/en/domdocument.savehtml.php) in PHP 5.3.6. See http://php.net/manual/en/domdocument.savehtml.php.
It's not a nice looking solution, but seems to be the only option. Condition should be removed once PHP dependency goes over 5.3.6.
Commits
-------
a4e3ebf [DomCrawler] Fixed the Crawler::html() method for PHP versions earlier than 5.3.6.
* 2.2:
fixed CS
Fixed XML syntax.
Fixed parsing of leading blank lines in folded scalars. Closes#7989.
[Form] Fixed a method name.
Added a test case for Loader::import().
Fixed Loader import
[Console] Added dedicated testcase for HelperSet class
[Serializer] fixed CS (refs #7971)
Fixed fatal error in normalize/denormalizeObject.
Fixed 2 namespaces
Conflicts:
src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
* 2.1:
Fixed XML syntax.
Fixed parsing of leading blank lines in folded scalars. Closes#7989.
Added a test case for Loader::import().
Fixed Loader import
[Console] Added dedicated testcase for HelperSet class
This PR was merged into the master branch.
Discussion
----------
Update Crawler.php
If HTML is not well-formed XML parsing goes wrong.
Could be useful create another method returning XML and XHTML in a `well-formed` standard?
Commits
-------
0a26641 Update Crawler.php
This PR was squashed before being merged into the master branch (closes#8000).
Discussion
----------
Pass exceptions from the ExceptionListener to Monolog
| Q | A
| ------------- | ---
| Bug fix? | rather yes
| New feature? | rather no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7973, #7976
| License | MIT
| Doc PR | n/a
Pass exceptions caught by the ExceptionListener to Monolog, using the log message context. As of Monolog 1.5, exceptions passed that way will at least be logged with the line they were thrown in, also including any previous exceptions.
Getting full stack traces (as suggested in #7976) becomes a possible change at the Monolog level (see seldaek/monolog#192) or users can add their own Monolog Formatter for that.
This PR is based on master. I'd be glad to provide similar ones for 2.1/2.2 if you'd pick them. Due to recent changes in the ExceptionListener I don't think a single patch on the older branches can easily be pulled to master anyway.
Commits
-------
97bee20 Pass exceptions from the ExceptionListener to Monolog
This PR was merged into the master branch.
Discussion
----------
Console fix
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes (possibly)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | symfony/symfony-standard#256
| License | MIT
| Doc PR | n/a
Everything is explained in the commits.
Commits
-------
bd0c48c [Console] moved the IO configuration to its own method
fdb4b1f [Console] moved --help support to allow proper behavior with other passed options
The IO configuration was also moved earlier in the process so that
options are taken into account as early as possible.
That's useful for instance in Symfony FrameworkBundle, where
commands are registered in the doRun() method. If an exception
occurs during registration, the -q, -v, ... options would not
have any effect.
This PR was merged into the master branch.
Discussion
----------
[Validator] Updated translation
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This updates the Romanian translations to match the latest changes.
Commits
-------
3532f2d Updated translation
This PR was merged into the master branch.
Discussion
----------
[Validator] Updated czech translation of comparison validators
Commits
-------
1416595 [Validator] Updated czech translation of comparison validators
This PR was merged into the master branch.
Discussion
----------
[Validator] Update validators.uk.xlf
append translation
Commits
-------
7bc9e09 Update validators.uk.xlf
* 2.2:
bumped Symfony version to 2.1.11-DEV
updated VERSION for 2.1.10
update CONTRIBUTORS for 2.1.10
updated CHANGELOG for 2.1.10
fixed CS
[Process] Cleanup tests & prevent assertion that kills randomly Travis-CI
[Filesystem] Fix regression introduced in 10dea948
Conflicts:
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
* 2.2:
added additional tests to cover invalid argument exceptions in OutputFormatterStyle component
added a missing check for the provider key
[Validator] fixed wrong URL for XSD
[Validator] Fixed: $traverse and $deep is passed to the visitor from Validator::validate()
[Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
[Form] Fixed: String validation groups are never interpreted as callbacks
if the repository method returns an array ensure that it's internal poin...
[Form] Improved multi-byte handling of NumberToLocalizedStringTransformer
Fix wrong method in findTaggedServiceIds(), add example to docblock.
Conflicts:
src/Symfony/Component/Form/Extension/Core/DataTransformer/ChoicesToBooleanArrayTransformer.php
src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
* 2.1:
added additional tests to cover invalid argument exceptions in OutputFormatterStyle component
added a missing check for the provider key
[Validator] fixed wrong URL for XSD
[Form] Fixed transform()/reverseTransform() to always throw TransformationFailedExceptions
[Form] Fixed: String validation groups are never interpreted as callbacks
if the repository method returns an array ensure that it's internal poin...
Fix wrong method in findTaggedServiceIds(), add example to docblock.
Conflicts:
src/Symfony/Bridge/Doctrine/Form/DataTransformer/CollectionToArrayTransformer.php
src/Symfony/Component/Form/Extension/Core/DataTransformer/DataTransformerChain.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ArrayToPartsTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoiceToValueTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ChoicesToValuesTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToArrayTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/DateTimeToRfc3339TransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformerTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataTransformer/ValueToDuplicatesTransformerTest.php
This PR was merged into the master branch.
Discussion
----------
made some optimization when parsing YAML files
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This change makes a small speed optimization when loading a YAML file, but more important, it allows to use local stream wrappers instead of regular files on the filesystem.
Commits
-------
0586c7e made some optimization when parsing YAML files
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] Reverted a part of #7931
refs: #7931
Commits
-------
09c2114 Reverted a part of f5e7f24819
This PR was squashed before being merged into the master branch (closes#7890).
Discussion
----------
ProxyManager Bridge
As of @beberlei's suggestion, I re-implemented #7527 as a new bridge to avoid possible hidden dependencies.
Everything is like #7527 except that the new namespace (and possibly package/subtree split) `Symfony\Bridge\ProxyManager` is introduced
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6140 (supersedes) #5012#6102 (maybe) #7527 (supersedes)
| License | MIT (attached code) - BSD-3-Clause (transitive dependency)
| Doc PR | Please pester me to death so I do it
This PR introduces lazy services along the lines of zendframework/zf2#4146
It introduces an **OPTIONAL** dependency to [ProxyManager](https://github.com/Ocramius/ProxyManager) and transitively to [`"zendframework/zend-code": "2.*"`](https://github.com/zendframework/zf2/tree/master/library/Zend/Code).
## Lazy services: why? A comprehensive example
For those who don't know what this is about, here's an example.
Assuming you have a service class like following:
```php
class MySuperSlowClass
{
public function __construct()
{
// inject large object graph or do heavy computation
sleep(10);
}
public function doFoo()
{
echo 'Foo!';
}
}
```
The DIC will hang for 10 seconds when calling:
```php
$container->get('my_super_slow_class');
```
With this PR, this can be avoided, and the following call will return a proxy immediately.
```php
$container->getDefinitions('my_super_slow_class')->setLazy(true);
$service = $container->get('my_super_slow_class');
```
The 10 seconds wait time will be delayed until the object is actually used:
```php
$service->doFoo(); // wait 10 seconds, then 'Foo!'
```
A more extensive description of the functionality can be found [here](https://github.com/Ocramius/ProxyManager/blob/master/docs/lazy-loading-value-holder.md).
## When do we need it?
Lazy services can be used to optimize the dependency graph in cases like:
* Webservice endpoints
* Db connections
* Objects that cause I/O in general
* Large dependency graphs that are not always used
This could also help in reducing excessive service location usage as I've explained [here](http://ocramius.github.com/blog/zf2-and-symfony-service-proxies-with-doctrine-proxies/).
## Implementation quirks of this PR
There's a couple of quirks in the implementation:
* `Symfony\Component\DependencyInjection\CompilerBuilder#createService` is now public because of the limitations of PHP 5.3
* `Symfony\Component\DependencyInjection\Dumper\PhpDumper` now with extra mess!
* The proxies are dumped at the end of compiled containers, therefore the container class is not PSR compliant anymore
Commits
-------
78e3710 ProxyManager Bridge
This PR was squashed before being merged into the master branch (closes#7924).
Discussion
----------
[Crawler] Add proper validation of node argument of method add
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Crawler method add, fix PHPdoc and
Commits
-------
41805c0 [Crawler] Add proper validation of node argument of method add
This PR was merged into the master branch.
Discussion
----------
[DependencyInjection] Add a method map to avoid computing method names from service names
/cc @schmittjoh @stof
The diff is a bit messy because of indenting, but all this adds really is an `if(isset($this->methodMap[$id])) { $method = $this->methodMap[$id]; }` that bypasses the method_exists + strtr calls. It's not a huge improvements but saves some cycles on something that's typically called a few hundred times per request.
Commits
-------
f1c2ab7 [DependencyInjection] Add a method map to avoid computing method names from service names
This PR was merged into the master branch.
Discussion
----------
A few optimizations
Commits
-------
ea633f5 [HttpKernel] Avoid updating the context if the request did not change
997d549 [HttpFoundation] Avoid a few unnecessary str_replace() calls
f5e7f24 [HttpFoundation] Optimize ServerBag::getHeaders()
Due to the BC $this->setRequest() call in the onKernelRequest method, the
request is set twice every time in Symfony, and RequestContext::fromRequest
takes 1ms to run here so if we can skip one call it is a win.
This PR was merged into the master branch.
Discussion
----------
[Form] Fixed CSRF error messages to be translated and added "csrf_message" option
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7642
| License | MIT
| Doc PR | TODO
Commits
-------
549a308 [Form] Fixed CSRF error messages to be translated and added "csrf_message" option
This PR was merged into the master branch.
Discussion
----------
[Validation] Add dutch translation for new validators
This PR already uses the dots added in #7911
Commits
-------
84a0618 Add translation for new validators from #790
* 2.2:
[Swiftmailer] bumped allowed versions
remove validation related headers when needed
use while loop for iterating
[Filesystem] copy() is not working when open_basedir is set
* 2.1:
remove validation related headers when needed
use while loop for iterating
[Filesystem] copy() is not working when open_basedir is set
Conflicts:
src/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php
This PR was merged into the 2.1 branch.
Discussion
----------
[Filesystem] copy() is not working when open_basedir is set
More details: https://bugs.php.net/bug.php?id=64634
Commits
-------
10dea94 [Filesystem] copy() is not working when open_basedir is set
* 2.2:
Fix getPort() returning 80 instead of 443 when X-FORWARDED-PROTO is set to https
[Translation] fixed a unit test
Conflicts:
src/Symfony/Component/HttpFoundation/Request.php
This PR was merged into the master branch.
Discussion
----------
[2.3] [Validator] added comparison constraints and validators
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
They work on a class level and you specify a list of properties. Included are the standard GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual and Equal. e.g.:
```php
<?php
/**
* @assert:GreaterThan({"diedDate", "bornDate"})
* @assert:LessThanOrEqual({"bornDate", "firstSchoolDayDate", "diedDate"})
*/
class Person
{
private $bornDate;
private $firstSchoolDayDate;
private $diedDate;
}
```
I think it would also be useful if they worked on a property level rather than just class. I'm not sure what the default option should be though. e.g. is there a reliable way to determine what's a raw value and what's a property name:
```php
<?php
/** @assert:GreaterThan(80) */
private $iq;
/** @assert:LessThan('dateDied') */
private $bornDate;
/** @assert:LessThanOrEqual('C') */
private $grade;
/** @assert:GreaterThanOrEqual({50, 'ageStartedSchool'}) */
private $age;
```
Commits
-------
0bffdff [Validator] Added comparison validators.
This PR was merged into the master branch.
Discussion
----------
[PropertyAccess] Made naming consistent with Form and Validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
8817e70 [PropertyAccess] Made naming consistent with Form and Validator
This PR was merged into the master branch.
Discussion
----------
[Form] *_SET_DATA events are now guaranteed to be fired *after* the initial children were added
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7873
| License | MIT
| Doc PR | -
Commits
-------
441222e [Form] *_SET_DATA events are now guaranteed to be fired *after* the initial children were added
This PR was merged into the master branch.
Discussion
----------
[Process] Add unit tests for #7865
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | |no
| Tests pass? | yes when 2.1 will be merged in master
| License | MIT
This PR adds test for #7865. It's currently failing, but will pass once 2.1 will be merged in master.
Commits
-------
421c354 [Process] Add unit tests for #7865
* 2.2:
[BrowserKit] fixed BC break done recently
[Process] Fix#5594 : `termsig` must be used instead of `stopsig` in exceptions when a process is signaled
[Console] find command even if its name is a namespace too (closes#7860)
Rename misprint property (from warmer to finder)
Reset all catalogues when adding resource to fallback locale (#7715, #7819)
Added reloading of fallback catalogues when calling addResource() (#7715)
Re-added context information to log list
Add This field is missing RU translation
Conflicts:
src/Symfony/Component/Console/Tests/ApplicationTest.php
* 2.1:
[BrowserKit] fixed BC break done recently
[Process] Fix#5594 : `termsig` must be used instead of `stopsig` in exceptions when a process is signaled
Rename misprint property (from warmer to finder)
Add This field is missing RU translation
Conflicts:
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Validator/Resources/translations/validators.ru.xlf
This PR was merged into the master branch.
Discussion
----------
Fix http-kernel dep in symfony/security
The current constraint will not match 2.3.x-dev and cause edge cases
where either:
* composer falls back to symfony/symfony because it cannot find a match
* composer installs 2.2 versions of http-kernel and http-foundation
Commits
-------
01016be Fix http-kernel dep in symfony/security
This PR was merged into the master branch.
Discussion
----------
Place hasArgument() check at the beginning of getArgument() method
If input definition doesn't have specified argument, then unnecessary operations will be executed ($arguments = is_int($name) ? array_values($this->arguments) : $this->arguments;)
Commits
-------
992c218 Place hasArgument() check at the beginning of getArgument() method
The current constraint will not match 2.3.x-dev and cause edge cases
where either:
* composer falls back to symfony/symfony because it cannot find a match
* composer installs 2.2 versions of http-kernel and http-foundation
If input definition doesn't have specified argument, then unnecessary operations will be executed ($arguments = is_int($name) ? array_values($this->arguments) : $this->arguments;)