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.
This PR was merged into the master branch.
Discussion
----------
[Form][Twig] Removed an extra table column in the "button_row" block template
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
6d5bc7a [Twig][Form] Removed extra table colunm in the button_row block template
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()
This PR was merged into the master branch.
Discussion
----------
[Form] Added radio button for empty value to expanded single-choice fields
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #3154
| License | MIT
| Doc PR | symfony/symfony-docs#2605
Commits
-------
7933971 [Form] Added radio button for empty value to expanded single-choice fields
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 2.1 branch.
Discussion
----------
[Form] Fixed: String validation groups are never interpreted as callbacks
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7371
| License | MIT
| Doc PR | -
Commits
-------
7b2ebbf [Form] Fixed: String validation groups are never interpreted as callbacks
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 squashed before being merged into the 2.1 branch (closes#7906).
Discussion
----------
if the repository method returns an array ensure that it's internal poin...
...ter is resetted
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6651
| License | MIT
| Doc PR |
Commits
-------
0610750 if the repository method returns an array ensure that it's internal poin...
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
This PR was merged into the master branch.
Discussion
----------
[FrameworkBundle] Place initialization of $bundlesDir out of the foreach loop.
Code enhancement. $bundlesDir variable doesn't need any bundle information for initialization. So it must be placed out of the loop to not process unnecessary operations.
Commits
-------
9cca065 [FrameworkBundle] Place initialization of $bundlesDir out of foreach loop
* 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
Code enhancement. $bundlesDir variable doesnt't need any bundle information for initialization. So it must be placed out of the loop to not process unnecessary operations.
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;)
Before:
enabled: true # the profiler is enabled and data are collected
enabled: false # the profiler is enabled but data are not collected (data can be collected on demand)
No way to disable the profiler
After:
enabled: true # the profiler is enabled and data are collected
collect: true
enabled: true # the profiler is enabled but data are not collected (data can be collected on demand)
collect: false
enabled: false # the profiler is disabled
This PR was merged into the master branch.
Discussion
----------
[2.3] [TwigBridge] save auto-escaping of generated URLs when possible
| Q | A
| ------------- | ---
| Bug fix? | [no]
| New feature? | [yes: optimization]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets | #7088
| License | MIT
| Doc PR | [-]
Determines at compile time whether the generated URL will be safe and thus
saving the unneeded automatic escaping for performance reasons.
The URL generation process percent encodes non-alphanumeric characters. So there is no risk
that malicious/invalid characters are part of the URL. The only character within an URL that
must be escaped in html is the ampersand ("&") which separates query params. So we cannot mark
the URL generation as always safe, but only when we are sure there won't be multiple query
params. This is the case when there are none or only one constant parameter given.
E.g. we know beforehand this will be safe:
- path('route')
- path('route', {'param': 'value'})
But the following may not:
- path('route', var)
- path('route', {'param': ['val1', 'val2'] }) // a sub-array
- path('route', {'param1': 'value1', 'param2': 'value2'})
If param1 and param2 reference placeholder in the route, it would still be safe. But we don't know.
Commits
-------
725568b [TwigBridge] added some unit test for the previous commit
0721ff8 save auto-escaping of generated URLs when possible for performance reasons
This PR was merged into the master branch.
Discussion
----------
[Security] Outsource all the BCrypt heavy lifting to a library
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| License | MIT
The [BCrypt bundle](https://github.com/elnur/ElnurBlowfishPasswordEncoderBundle) is already using the library.
This is a working implementation of #7247
Commits
-------
c83546d [Security] tweaked previous commit
b2e553a Outsource all the BCrypt heavy lifting to a library
This PR was merged into the master branch.
Discussion
----------
[Form] Added support for PATCH requests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #1341
| License | MIT
| Doc PR | not needed
Commits
-------
eabb7a1 [Form] Added support for PATCH requests
This PR was merged into the master branch.
Discussion
----------
Windows test fixes
I checked all components/bundles/bridges.. Now everything is green except a few things still in Process that I wasn't sure what to do with yet.
Commits
-------
ae1624f [Process] Fix tests on windows
08e95db [Finder] Fix tests on windows
e8b07a0 [Filesystem] Fix tests on windows
7b83b72 [Console] Fix tests on windows
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] added a note about JSON responses as arrays (refs #6970)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6970
| License | MIT
| Doc PR | symfony/symfony-docs#2555
Commits
-------
abb32a1 [HttpFoundation] added a note about JSON responses as arrays (refs #6970)
This PR was merged into the master branch.
Discussion
----------
Add a way to create a short controller name (a🅱️c) from a fully qualify one (controller::action)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5865
| License | MIT
| Doc PR | n/a
Working implementation of #5865
Commits
-------
0795ea8 [FrameworkBundle] fixed implementation of previous merge (refs #5865)
91ebba4 new method to create shorthand name from full Controller name
This PR was merged into the master branch.
Discussion
----------
[Console] Add more verbosity levels
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6066
| License | MIT
| Doc PR | symfony/symfony-docs#2554
This adds new verbosity levels.
Replaces #7626 /cc @dlsniper
Commits
-------
02c2038 Fix tests
5327ec4 Add notes in UPGRADE and CHANGELOG
77c9791 [Console] Add tests and support for more types of inputs
54c1377 [Console] Handle new verbosity levels
e639686 Revert invalid changes
8f4d376 Removed unused options
5bb4163 Fixed tests
b62d35f Fix handling of --verbose=... and BC break
16cdb61 Added more verbosity levels
This PR was merged into the master branch.
Discussion
----------
add german translation for currency validator
| Q | A
| ------------- | ---
| Fixed tickets | N/A
| License | MIT
Commits
-------
e99b430 update german translation for validators
This PR was merged into the master branch.
Discussion
----------
Browserkit redirections
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7811, #7731
| License | MIT
| Doc PR | n/a
Commits
-------
b60290a [BrowserKit] isolated the max redirect count to a given main request (refs #7811)
c8bc953 Add max redirections limit
This PR was merged into the master branch.
Discussion
----------
[Console] Add support for multiple InputOption shortcuts
IDEs and others parsing the xml output of command helps should take note that there is a new shortcuts attribute listing all shortcuts, the shortcut one will only list the first for BC.
Commits
-------
a6421a0 [Console] Add support for multiple InputOption shortcuts
This PR was merged into the master branch.
Discussion
----------
[PropertyAccess] add support for magic call
Hi,
I add support for magic call with the `PropertyAccess`
the is basic implementation, if no `getter`, `isser`, or `hasser` or `_get` is found and there is `__call` then the PropertyAccess call the getter
the same for setter.
This functionality is disable by default
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | seems OK (failure/errors are the same on master)
| Fixed tickets | #4683, #6413, #5309
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2472
- [x] submit changes to the documentation
@bschussek is this ok ?
Commits
-------
a785baa [PropertyAccess] add support for magic call, related to #4683
This PR was merged into the master branch.
Discussion
----------
fixed Client implementation to return the right Response (closes#4475)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #4475
| License | MIT
| Doc PR | symfony/symfony-docs#2549
This PR addresses #4475 by trying to minimize the BC break impact.
Commits
-------
31cefc6 made some small tweaks
84ca34b alternate fix where we had accessor for the BrowerKit request/response instances
1005fd1 fixed Client implementation to return the right Response (closes#4475)
This PR was merged into the master branch.
Discussion
----------
[Process] Fix two process-builder minor bugs
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Everything is in the commit messages :
- Use new ProcessUtils::escapeArgument to escape ProcessBuillder prefix
- Do not throw LogicException in ProcessBuilder::getProcess if no arguments are set but a prefix is
Commits
-------
1de29b9 [Process] Do not throw LogicException in ProcessBuilder::getProcess if no arguments are set but a prefix is
209799b [Process] Use new ProcessUtils::escapeArgument to escape ProcessBuilder prefix
This PR was squashed before being merged into the master branch (closes#7454).
Discussion
----------
[Console] application/command as text/xml/whatever decoupling
This PR removes description generation from `Command`, `Application` and `InputDefinition` classes and delegate it to specialized descriptor classes, making it dead simple to add new output formats.
**Maybe this could include other commands, like `router:debug` or `container:debug` (see #5740)?**
- [x] Add a `DescriptorProvider` which uses `DescriptorInterface` objects to describe things.
- [x] Add `txt` descriptors.
- [x] Add `xml` descriptors.
- [x] Add `json` descriptors.
- [x] Add `md` descriptors.
- [x] Remove obsolete methods.
- [x] Repair tests.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6339
Commits
-------
51512e6 [Console] application/command as text/xml/whatever decoupling
This PR was merged into the master branch.
Discussion
----------
[Validator] Added missing Italian translation
Commits
-------
a2e1e25 updated it translation for validators
This PR was merged into the master branch.
Discussion
----------
[Form] Deprecated bind() and isBound() in favor of submit() and isSubmitted()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes (*)
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #5493
| License | MIT
| Doc PR | TODO
This change was discussed for a while in #5493. **(*)** It breaks BC *only for people who implemented* `FormInterface` *manually* (not a lot, so I hope). These can fix the problem by simply renaming `bind()` and `isBound()` in their implementation to `submit()` and `isSubmitted()`.
The main rationale is that with the request handlers introduced in #6522, people won't be confronted with the term "binding" anymore. As such, `isBound()` will be a very strange name to new users that have never used `bind()` manually.
See this code sample as example:
```php
$form = $this->createForm(...);
$form->handleRequest($request);
// Imagine you have never heard about bind() or binding. What does this mean?
if ($form->isBound()) {
// ...
}
```
In reality, `bind()` submits a form. Where-ever I renamed "bind" to "submit" in the comments, "submit" made actually much more sense. So it does in the code sample above:
```php
$form = $this->createForm(...);
$form->handleRequest($request);
// Aha!
if ($form->isSubmitted()) {
// ...
}
```
Also when using `submit()` directly, the code makes much more sense now:
```php
$text = $this->createForm('text');
$text->submit('New Value');
```
For current users, the current naming will be supported until 3.0.
Commits
-------
41b0127 [Form] Deprecated bind() and isBound() in favor of submit() and isSubmitted()
This PR was merged into the master branch.
Discussion
----------
[WIP][HttpFoundation] File mime types and extensions
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5039, #6963, #5258, #7415, #5615
| License | MIT
| Doc PR | n/a
This pull request addresses most of the issues regarding mime types and extension on File instances.
I've also created an issue on the docs to add more documentation about how things work (see symfony/symfony-docs#2542).
Commits
-------
acc2b6a [HttpFoundation] updated the list of known mime types (sync from Apache)
f85cdd2 [HttpFoundation] fixed phpdoc
1aa68da [HttpFoundation] added a way to inject a custom magic file into FileinfoMimeTypeGuesser (closes#6963)
29b5413 [HttpFoundation] added some more phpdocs to clarify usage
ee784fb clarified how/when to use client or guessed mime-types and extensions on a File instance (closes#5039)
This PR was merged into the master branch.
Discussion
----------
[Validator] Rename requireHyphens to requireHyphen for Issn constraint
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
While writing the documentation for the new Issn validator submitted yesterday at https://github.com/symfony/symfony/pull/7756, I've realized that the option ```requireHyphens``` should be renamed to ```requireHyphen``` because only one hyphen is allowed in the ISSN value.
Commits
-------
94173ec Rename requireHyphens to requireHyphen for Issn constraint
This PR was merged into the master branch.
Discussion
----------
[Filesystem] Added a missing test case for Filesystem::dumpFile()
This PR adds a test case for the ``Filesystem::dumpFile()`` method (introduced in #7753).
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | [![Build Status](https://travis-ci.org/jakzal/symfony.png?branch=dumpfile-tests)](https://travis-ci.org/jakzal/symfony)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
8fcf4c2 [Filesystem] Added a missing test case for Filesystem::dumpFile().
This PR was merged into the master branch.
Discussion
----------
[Form] Allowed binding false to a checkbox
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | [![Build Status](https://travis-ci.org/jakzal/symfony.png?branch=checkbox-type-false)](https://travis-ci.org/jakzal/symfony)
| Fixed tickets | #7139
| License | MIT
| Doc PR | -
Commits
-------
24ef8d2 [Form] Added a SimpleFormTest test case.
e493984 [Form] Allowed binding false to a checkbox.
This PR was merged into the master branch.
Discussion
----------
[Finder] adds a way to ignore AccessDeniedException
This PR adds a `Finder::ignoreUnreadableDirs()` method which tells `Finder` to ignore unreadable directories instead of throwing an `AccessDeniedException`.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6981
Commits
-------
a63b30b [Finder] added Finder::ignoreUnreadableDirs() method
This PR was squashed before being merged into the master branch (closes#7787).
Discussion
----------
[Validator] added Arabic translation for ISSN message
Commits
-------
4ae9b52 [Validator] added Arabic translation for ISSN message
This PR was merged into the master branch.
Discussion
----------
[Validator] added french translation for ISSN message
Commits
-------
06e7d17 [Validator] added french trans for ISSN message
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Basque translations of IBAN and ISBN
Commits
-------
cd0ade3 Added some basque translations
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Catalan translations for IBAN, ISBN and ISSN messages.
Commits
-------
5114233 add new validation messages for catalan
This PR was merged into the 2.1 branch.
Discussion
----------
Add This field is missing RU translation
This PR was submitted on the symfony/Validator read-only repository and moved automatically to the main Symfony repository (closessymfony/Validator#4).
<source>This field is missing.</source>
Have no translation. Not exists in EN version too. Just forgot?
Symfony\Component\Validator\Constraints\Collection()
public $missingFieldsMessage = 'This field is missing.';
Commits
-------
97c4291 Add This field is missing RU translation
<source>This field is missing.</source>
Have no translation. Not exists in EN version too. Just forgotten?
Symfony\Component\Validator\Constraints\Collection()
public $missingFieldsMessage = 'This field is missing.';
This PR was merged into the master branch.
Discussion
----------
Added html method into Crawler class
This PR was submitted on the symfony/DomCrawler read-only repository and moved automatically to the main Symfony repository (closessymfony/DomCrawler#11).
A pull request is waiting for aproval, but is not tested
* This method allow to get html inside desired element
* New method is tested
Commits
-------
a8d2e06 Added html method into Crawler class
This PR was squashed before being merged into the master branch (closes#7751).
Discussion
----------
Method each return an instance of Crawler instead DOMElement
This PR was submitted on the symfony/DomCrawler read-only repository and moved automatically to the main Symfony repository (closessymfony/DomCrawler#9).
Method each return an instance of Crawler instead DOMElement
Commits
-------
14eed63 Method each return an instance of Crawler instead DOMElement
This PR was merged into the master branch.
Discussion
----------
Add Brazilian Portuguese translations for IBAN, ISBN, and ISSN messages
Commits
-------
7d6d891 Add Brazilian Portuguese translations for IBAN, ISBN, and ISSN messages
* 2.2:
[Validator] added missing estonian translation of messages
Removed trailing whitespace
[Validator] added missing estonian translation of messages
Filesystem::touch() not working with different owners (utime/atime issue)
* 2.1:
Removed trailing whitespace
[Validator] added missing estonian translation of messages
Filesystem::touch() not working with different owners (utime/atime issue)
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.et.xlf
This PR was merged into the master branch.
Discussion
----------
added changelog note about RedirectController action signature changes
Commits
-------
07d7927 added changelog note about RedirectController action signature changes
This PR was merged into the master branch.
Discussion
----------
fix DateTimeToLocalizedStringTransformer issue #7561
this PR fix#7561 issue:
This fix possible issue with new `\DateTime` throwing `Exception` not handled by the transformer.
Commits
-------
6ccbbe9 fix DateTimeToLocalizedStringTransformer issue #7561, add tests
This PR was squashed before being merged into the master branch (closes#7753).
Discussion
----------
Mitigate dependency upon ConfigCache
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes (refactoring)
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | todo, issue is symfony/symfony-docs#2531
Some clients use ConfigCache only for its ability to atomically write into a file.
The PR moves that code into the Filesystem component.
It's a pick off #7230.
__To-Do:__
- [ ] Update docs for the Filesystem component
Commits
-------
3158c41 Mitigate dependency upon ConfigCache
This PR was merged into the master branch.
Discussion
----------
[VALIDATOR] Dutch translation of ISSN message
Added dutch translation of the ISSN message (added in #7756 )
Commits
-------
d336979 [VALIDATOR] Dutch translation of ISSN message
This PR was squashed before being merged into the master branch (closes#7756).
Discussion
----------
[Validator] Added ISSN Validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This PR complements the ISBN validator added some months ago to allow validation of relevant library systems data.
Commits
-------
77f62ec [Validator] Added ISSN Validator
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Arabic translations for IBAN & ISBN messages
Commits
-------
fd9eaae [Validator] Added Arabic trans of ISBN validator
This PR was merged into the master branch.
Discussion
----------
fix register mappings pass to only register mappings with one object manager
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes (but feature is totally new)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7599
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2507
This PR fixes the issues @Stof discovered in #7599 - we now introduce a way to only register the mappings with one of the object managers.
Commits
-------
fc12bd1 fix register mappings pass to only register mappings with one object manager
This PR was merged into the master branch.
Discussion
----------
[Process] Added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
a557b89 [Process] Added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] made the classmap lazy-loaded
| Q | A
| ------------- | ---
| Bug fix? | [no]
| New feature? | [yes]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| License | MIT
see https://github.com/symfony/symfony-standard/pull/437#issuecomment-14667140
Instead of managing this from HttpCache, I suggest to handle it at Kernel's level, what do you think?
Commits
-------
2aefe21 [HttpKernel] made the classmap lazy-loaded
This PR was merged into the master branch.
Discussion
----------
[TwigBundle] Make twig extension handle custom template escaping guesser
I wanted to add a custom template escaping guesser for twig like in http://twig.sensiolabs.org/doc/recipes.html#using-the-template-name-to-set-the-default-escaping-strategy
This pull request allows you register a service id and a method as a custom guesser:
twig:
autoescape: my_service:guess
Documentation is missing for this PR and the unit tests are not that good. I´d work on it if this PR has any chance of getting merged?
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | (missing)
Commits
-------
c2c1ed0 make twig extension handle custom template escaping guesser
This PR was squashed before being merged into the master branch (closes#7494).
Discussion
----------
[master] Better documentation for
Fixes#7492
Commits
-------
b1e14b2 [master] Better documentation for
This PR was squashed before being merged into the master branch (closes#7602).
Discussion
----------
[DialogHelper] Multiselect : added an option to the "select" function that makes the possibility of multiselect options.
When the option list appears, you can select more than one value separated by comma.
Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
c8a5e02 [DialogHelper] Multiselect : added an option to the "select" function that makes the possibility of multiselect options.
This PR was squashed before being merged into the master branch (closes#7559).
Discussion
----------
[HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP
This is a better alternative to fix issue highlighted in #7554 and #7557.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7554, #7557
| License | MIT
When dealing with inline fragment renderer, it emulates an internal request by overriding the REMOTE_ADDR on Request. This is true, since conceptually request came from local server.
The problem that this introduces is that overriding the server value, it turns into an impossible state to retrieve the real client ip, only returning the local server IP (which is hardcoded to 127.0.0.1).
This patch takes the same approach as a Varnish call (it behaves the exact same way, reusing all code built for handling client ip handling on sub-requests), populating the X-Forwarded-For header and also making getClientIp smarter by removing possible local IP addresses from being considered as the client IP address.
Commits
-------
773e109 [HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP
This PR was merged into the master branch.
Discussion
----------
[Validator] added Japanese translation for IBAN & ISBN messages
| Q | A
| ------------- | ---
| Fixed tickets | N/A
| License | MIT
Commits
-------
3719cd5 [Validator] added Japanese translation for IBAN & ISBN messages
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Polish translations for IBAN and ISBN messages.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | ~
Commits
-------
811fc30 [Validator] Added Polish translations for IBAN and ISBN messages.
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Slovak translations for IBAN and ISBN messages.
Commits
-------
2890a3f [Validator] Added Slovak translations of IBAN and ISBN
This PR was merged into the master branch.
Discussion
----------
Classes should be removed only when adaptive is specified
This fixes a regression introduced in refactoring done on July 3rd.
Commits
-------
92fbb0b Classes should be removed only when adaptive is specified
This PR was merged into the master branch.
Discussion
----------
[Validator] Dutch translation of IBAN and ISBN messages
Added Dutch translations for the IBAN and ISBN validators
Commits
-------
298d5fd [Validator] Dutch translation of IBAN and ISBN messages
This PR was merged into the master branch.
Discussion
----------
make it possible to ignore route attributes in the RedirectContoller
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
```
_welcome:
pattern: /{path}
defaults:
_controller: FrameworkBundle:Redirect:redirect
route: licenses_projects
ignoreAttributes: true
requirements:
path: .*
```
or
```
_welcome:
pattern: /{path}
defaults:
_controller: FrameworkBundle:Redirect:redirect
route: licenses_projects
ignoreAttributes: [path]
requirements:
path: .*
```
Ensures that ``path`` isnt added as a GET parameter in case the ``licenses_projects`` doesnt have a path in the pattern.
Commits
-------
190abc1 add unit tests for $ignoreAttributes
0c7b65f inject the Request via the action signature, rather than fetching it from the DIC
49062aa make it possible to ignore route attributes in the RedirectContoller
This PR was squashed before being merged into the master branch (closes#7634).
Discussion
----------
[2.3][HttpFoundation] PDO Session handling enhancements
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
`PdoSessionHandler` class assumes that the PDO object is set to throw exceptions, not errors. I added a line in the constructor to set that attribute, so configuration/query errors are able to be seen and caught a lot easier.
Commits
-------
ce8a441 [2.3][HttpFoundation] PDO Session handling enhancements
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] allowed any callable to be returned by ControllerResolver::createController
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Commits
-------
8c44768 [HttpKernel] allowed any callable to be returned by ControllerResolver::createController
* 2.2:
[Config] #7644 add tests for passing number looking attributes as strings
[HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
[BrowserKit] removed dead code
[HttpFoundation] fixed empty domain= in Cookie::__toString()
fixed detection of secure cookies received over https
[2.2] Pass ESI header to subrequests
[Translation] removed an uneeded class property
[Translation] removed unneeded getter/setter
[Translator] added additional conversion for encodings other than utf-8
fixed source messages to accept pluralized messages [Validator][translation][japanese] add messages for new validator
fix a DI circular reference recognition bug
[HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
Conflicts:
src/Symfony/Component/HttpFoundation/Tests/CookieTest.php
* 2.1:
[HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
[BrowserKit] removed dead code
[HttpFoundation] fixed empty domain= in Cookie::__toString()
fixed detection of secure cookies received over https
[Translation] removed an uneeded class property
[Translation] removed unneeded getter/setter
[Translator] added additional conversion for encodings other than utf-8
fix a DI circular reference recognition bug
[HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
This PR was squashed before being merged into the 2.2 branch (closes#7655).
Discussion
----------
[Config] #7644 add tests for passing number looking attributes as strings
| Q | A |
| ----------------- |:-------------:|
| Bug fix? | yes |
| New feature | no |
| BC breaks? | no |
| Deprecations?| no |
| Tests pass? | yes |
| Fixed tickets | #7644 |
| License | MIT |
Commits
-------
d98118a [Config] #7644 add tests for passing number looking attributes as strings
BrowserKit's cookie handling only recognises a secure cookie if the
cookie option is set and the cookie was set over an https request.
The client was not passing the url into the cookiejar update code,
causing Cookie::isSecure() to always return false for every cookie.
Fixessymfony/symfony#7666
This PR was merged into the master branch.
Discussion
----------
[Process] Add ProcessBuilder::setPrefix method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
This introduce a new feature for the `ProcessBuilder` that allows to prefix all generated `Process` commands with a custom value.
This is mostly useful when dealing with binary drivers.
Use case :
```php
use Symfony\Component\Process\ExecutableFinder;
use Symfony\Component\Process\ProcessBuilder;
class PhpDriver
{
private $pb;
public function __construct(ProcessBuilder $pb)
{
$this->pb = $pb;
}
public function getInfos()
{
return $this->execute('-i');
}
public function getVersion()
{
return $this->execute('-v');
}
private function execute(array $arguments)
{
return $this
->pb
->setArguments($arguments)
->createProcess()
->run()
->getOutput();
}
}
$finder = new ExecutableFinder();
$pb = new ProcessBuilder();
$pb->setPrefix($finder->find('php'));
$driver = new PhpDriver($pb);
$driver->getVersion();
$driver->getInfos();
```
Commits
-------
cab53ee Add ProcessBuilder::setPrefix method
This PR was merged into the master branch.
Discussion
----------
Refactored tests of Request::getTrustedProxies()
| 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 PR reorganizes the tests for the request trusted proxies as they were unreadable. In the process, I've also removed obsolete stuff and changed the order returned by `Request::getClientIps()` (not a BC break as this method was added in 2.3 -- see #7612).
Commits
-------
75db8eb [HttpFoundation] changed the order of IP addresses returned by Request::getClientIps()
deccb76 [HttpFoundation] refactored trusted proxies tests to make them easier to understand and change
1af9e5e [Request] removed obsolete proxy setting in tests
168b8cb [HttpFoundation] removed obsolete request property
This PR was merged into the master branch.
Discussion
----------
[Form] Renamed form processors to request handlers
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2092
Commits
-------
ae7c378 [Form] Renamed form processors to request handlers
This PR was squashed before being merged into the 2.2 branch (closes#7253).
Discussion
----------
[2.2] Pass ESI header to subrequests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7252
| License | MIT
Commits
-------
af819a7 [2.2] Pass ESI header to subrequests
This PR was squashed before being merged into the master branch (closes#7251).
Discussion
----------
[SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules
Fixes#7249.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes (small)
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7249
| License | MIT
| Doc PR | n/a
Commits
-------
650352d [SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules
This PR was squashed before being merged into the master branch (closes#6718).
Discussion
----------
[Validator] Added ISBN validator
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
License of the code: MIT
For information about ISBN-10 and ISBN13: https://en.wikipedia.org/wiki/Isbn
This constraint permits to valid a ISBN-10 code, a ISBN-13 code or both on a value
Commits
-------
4582261 [Validator] Added ISBN validator
This PR was merged into the master branch.
Discussion
----------
[DomCrawler] Allow schema-less url in the base tag
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7421
| License | MIT
| Doc PR | -
Commits
-------
6bf9c68 [DomCrawler] allowed schema-less url in the base tag
This PR was merged into the master branch.
Discussion
----------
[Form] [Validator] Added IBAN validator
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
License of the code: MIT
Validation for International Bank Account Numbers
http://en.wikipedia.org/wiki/International_Bank_Account_Number
I don't know if the community likes new validators. I have been using this in many projects and would love to see it integrated directly with Symfony.
Commits
-------
c8906f4 [Validator] Added IBAN validator
This PR was merged into the master branch.
Discussion
----------
[FrameworkBundle] Allow to debug container parameters
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: ~
Todo: -
License of the code: MIT
Documentation PR: ~
Hey!
This PR adds a new command which allows to debug container parameters. IMO, being able to list all available parameters is very useful. We can now know which parameters we can inject into our services.
Regards
Commits
-------
ceb401d Add parameters debug to the container:debug command
64388c1 [FrameworkBundle] Allow to debug container parameters
This PR was merged into the 2.1 branch.
Discussion
----------
[HttpFoundation] fixes creation of sub requests under IIS & Rewite Module
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6936, #6923
| License | MIT
| Doc PR | N/A
There are a few bugs to address.
1. `HTTP_X_ORIGINAL_URL` wasn't removed from the server parameters, so is picked back up [here](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/ServerBag.php#L33) upon recreation of a sub request.
2. When `X_ORIGINAL_URL` is passed in the headers by IIS, `IIS_WasUrlRewritten` and `UNENCODED_URL` can also be passed as server vars, so they must also be removed for sub request URI's to be resolved correctly.
Additionally, I have removed the OS check for windows, because it was only done for 2 out of 4 of the IIS specific checks, and it made the code untestable.
Also added tests for all scenarios as there were none.
Commits
-------
9fcd2f6 [HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
This PR was merged into the master branch.
Discussion
----------
[Process] Added support for processes that need a TTY to run.
Added support for processes that need a TTY to run. This can be useful in scenarios where we need to open an editor and wait for the user (like "crontab -e" or "git commit"). The new methos "setTTY" can be used to control this.
Regards
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
2d30fb3 [Process] Added support for processes that need a TTY to run.
This PR was squashed before being merged into the master branch (closes#7399).
Discussion
----------
[Config] Add possibility to get "parent bundle resource file" in import file loading process
FileLoader doesn't throw FileLoaderImportCircularReferenceException anymore if another file matchs import request.
Currently if a Bundle is defined as child of another Bundle and if we try to import a Resource from parent Bundle into the same "overrided" Resource, we get a FileLoaderImportCircularReferenceException.
Now, FileLoader locates "available files" and try to import one of them (rule is "the first that is not currently loading").
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes?
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
b20386e [Config] Add possibility to get "parent bundle resource file" in import file loading process
This PR was squashed before being merged into the 2.1 branch (closes#7698).
Discussion
----------
[Translator] added additional conversion for encodings other than utf-8
Added an additional conversion if there is another encoding in the
xlf file present. Values from simple_xml are always utf-8 encoded.
Also added some tests to verify this new behaviour.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
54bcf5c [Translator] added additional conversion for encodings other than utf-8
This PR was merged into the master branch.
Discussion
----------
[2.3] [Form] Renamed option "virtual" to "inherit_data" and improved handling of such forms
Bug fix: yes
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #5899, #5720, #5578
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#2107
This PR renames the option "virtual" to "inherit_data" for more clarity (the old option is deprecated and usable until 2.3). It also fixes the behavior of forms having that option set.
Forms with that option set will now correctly return their parents' data from `getData()`, `getNormData()` and `getViewData()`. Furthermore, `getPropertyPath()` was fixed for forms that inherit their parent data.
Commits
-------
1290b80 [Form] Fixed the deprecation notes for the "virtual" option
ac2ca44 [Form] Moved parent data inheritance from data mappers to Form
8ea5e1a [Form] Renamed option "virtual" to "inherit_data"
This PR was merged into the master branch.
Discussion
----------
[Validator] Moved constraints Optional and Required to the Constraints\ namespace
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | symfony/symfony-docs#2512
Commits
-------
a868048 [Validator] Moved constraints Optional and Required to the Constraints\ namespace
This PR was merged into the 2.1 branch.
Discussion
----------
[DependencyInjection] Fix a DI circular reference recognition bug
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets |
| License | MIT
| Doc PR |
plus add ability to detect deeper circular references eg: A -> B -> C -> B
Commits
-------
8a434ed fix a DI circular reference recognition bug
This PR was merged into the master branch.
Discussion
----------
[PropertyAccess] Changed PropertyAccessor to continue searching when a non-public method/property are found
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | not necessary
Commits
-------
2a666cb [PropertyAccess] Changed PropertyAccessor to continue searching when a non-public method/property are found
This PR was merged into the master branch.
Discussion
----------
[Form] Remove "value" attribute on empty_value option
Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and won't submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.
Although I know this must be an issue with the WebKit version the BB10 has, it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set
Commits
-------
9e849eb [Form] Remove "value" attribute on empty_value option
This PR was merged into the master branch.
Discussion
----------
[Intl] Refactored Locale component into two new components Icu and Intl
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #5279
| License | MIT
| Doc PR | symfony/symfony-docs#2312
The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available.
Additionally, the component ships data from the ICU library which can be accessed through the methods:
```php
use Symfony\Component\Intl\Intl;
Intl::getCurrencyBundle()->...
Intl::getLanguageBundle()->...
Intl::getLocaleBundle()->...
Intl::getRegionBundle()->...
```
If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`).
See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information.
Todo:
- [x] finish the Intl README file
- [x] update the Icu README file
- [x] update the documentation
- [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods
- [x] remove `(Icu)?Version::compare` calls in the tests
- [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock
Create the following branches in the [Icu component](https://github.com/symfony/Icu):
- [x] 1.0.x
- [x] 1.1.x
- [x] 1.2.x
Commits
-------
9118b4a [Locale] Removed "Stub" prefixes in Intl component
b4cccfd [Intl] Removed "Stub" prefix from stub classes
60f31d1 [Intl] Improved inline documentation
c2d37e6 [Intl] Improved error messages in the build scripts
1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system
9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning
e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing
427d24a [Intl] Outsourced bundle reader creation to Icu component
0160fd5 [Intl] Moved stub data to Icu component 1.0.x
dbca3b7 [Intl] Added empty directory needed for the tests
a717ce9 [Intl] Removed ICU version comparisons from the tests
5d17de5 [Intl] Fixed version comparisons in the transformation rules
470927d [Intl] Improved build scripts
aceb20d [Form] Improved tests to use the IntlTestHelper class
3dd75ff [Locale] Improved tests to use the IntlTestHelper class
03b78b0 [Validator] Improved tests to use the IntlTestHelper class
9d9c389 [Intl] Simplified tests
c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data
17a480b [Intl] Added IntlTestHelper class for convenience
1dcdcd3 [Locale] Fixed failing tests
f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component
080c880 [Intl] Bumped the stub version to 50.1.2
dd2d013 [Intl] Improved the bundle compilation process
f47e60a [Intl] Fixed small bugs in the resource bundle transformation
467cc93 [Intl] Fixed various problems in the resource compilation process
4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs
9899de7 [Intl] Updated the README
bfec58a [Intl] Fixed flawed PHPDoc
21323ba [Intl] Updated the README file
209a9cb [Validator] Adapted to latest Intl changes
f2a0aec [Form] Adapted to latest Intl changes
0f6277f [Locale] Adapted to latest Intl changes
2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces
b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore
838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion()
dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded
99f6f8a [Form] Fixed failing tests
5d0b849 Fixed PHPDoc
b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion()
b902b6b [Locale] Added default locale
01d0ee8 [Validator] Changed component to use the Intl component
0c1fe39 [Form] Changed component to use the Intl component
5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch.
Discussion
----------
[2.3][Session] Give greater control over how and when session starts
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | na
| License | MIT
| Doc PR | symfony/symfony-docs#2475
Refs #6036
Gives control over how start on demand works: allowing to turn it on or off and to allow bag access when session is off.
Commits
-------
f431cb0 Fix tests
1f521d8 Coding standards
2583c26 [HttpFoundation][FrameworkBundle] Keep save auto_start behaviour as in 2.2 and make component values consistent with FrameworkBundle's configuration options.
ceaf69b [FrameworkBundle] Use more sophisticated validation and configuration.
af0a140 [FrameworkBundle] Add configuration to allow control over session start on demand.
8fc2397 [HttpFoundation] Give control over how session start on demand.
This PR was squashed before being merged into the master branch (closes#7571).
Discussion
----------
[2.3] Handle PHP sessions started outside of Symfony
| 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#2474
This PR brings a way to allow Symfony2 to manage a session started outside of Symfony in such a way that quite explicit. It also introduces more robust detection of previously started sessions under PHP 5.3 and supports real session status detection under PHP 5.4
Commits
-------
df99902 [2.3] Handle PHP sessions started outside of Symfony
This PR was squashed before being merged into the master branch (closes#7599).
Discussion
----------
[Doctrine-Bridge] add a base compiler pass class to register doctrine mappings
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | not on code, but defining best practices
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2507
Reusable bundles providing model classes should not rely on the automapping provided by the doctrine bundles. What is more, the same model can often be mapped to Doctrine ORM, MongoODM, CouchODM and PHPCR-ODM.
This pull request adds a base class for a compiler pass that the concrete doctrine bundles extend to provide a default compiler pass that makes it trivial for bundles to register their mappings. See https://github.com/doctrine/DoctrineBundle/pull/177
The FOSUserBundle shows how this would look in practice. See https://github.com/FriendsOfSymfony/FOSUserBundle/pull/1081
I will create the documentation pull request as well as pull requests for the mongo, couch and phpcr bundles once we agree how exactly to do this.
Commits
-------
099fd9f [Doctrine-Bridge] add a base compiler pass class to register doctrine mappings
This PR was merged into the master branch.
Discussion
----------
[DependencyInjection] fixed management of scoped services with an invalid behavior set to null
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7636
| License | MIT
| Doc PR | n/a
Commits
-------
edd7649 [DependencyInjection] fixed management of scoped services with an invalid behavior set to null (closes#7636)
This PR was merged into the master branch.
Discussion
----------
[2.3] [Form] Support buttons in forms
Bug fix: no
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #5383
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#2489
The general idea of this PR is to be able to add buttons to forms like so:
```php
$builder->add('clickme', 'submit');
```
You can then check in the controller whether the button was clicked:
```php
if ($form->get('clickme')->isClicked()) {
// do stuff
}
```
Button-specific validation groups are also supported:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => 'OnlyClickMe',
));
```
The validation group will then override the one defined in the form if that button is clicked.
This PR also introduces the disabling of form validation by passing the value `false` in the option `validation_groups`:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => false,
));
```
The same can be achieved (already before this PR) by passing an empty array:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => array(),
));
```
See the linked documentation for more information.
Commits
-------
faf8d7a [Form] Added upgrade information about setting "validation_groups" => false
d504732 [Form] Added leading backslashes to @exceptionMessage doc blocks
c8afa88 [Form] Removed deprecated code scheduled for removal in 2.3
36ca056 [Form] Simplified Twig code
ce29c70 [Form] Fixed incorrect doc comment
0bc7129 [Form] Fixed invalid use of FormException
600007b [Form] The option "validation_groups" can now be set to false to disable validation. This is identical to setting it to an empty array.
277d6df [Form] Fixed concatenation operator CS (see 7c47e34928)
7b07925 [Form] Changed isset() to array_key_exists() to be consistent with ParameterBag
7b438a8 [Form] Made submit buttons able to convey validation groups
cc2118d [Form] Implemented support for buttons
Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and not submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.
Although I know this must be an issue with the WebKit version the BB10 has it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] ConfigDataCollector: Add support for new Zend OPcache accelerator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Related: https://github.com/symfony/symfony/pull/7670
**From original pull request:**
More information: https://github.com/zend-dev/ZendOptimizerPlus
This extension is compatible with PHP 5.2-5.5. I'm using it with 5.5 and 5.4. The PHP developers plan to include this as opposed to APC in PHP 5.5 core. http://php.net/archive/2013.php#id2013-03-21-1
This does not really have to do with Zend Optimiser+. It has to do with the newly open sourced version, Zend OPcache.
I noticed a *similar* PR here https://github.com/symfony/symfony/pull/7087 but did not like that the unit test check for accelerators was completely removed. I also do not consider it necessary to add more code just for an extension check (I would consider that 'unnecessary re-factoring'). And finally, I have no idea what the final purpose of it is. Based on its title, it seemed like at first that it was for Zend Optimizer+ (the proprietary extension: http://files.zend.com/help/Zend-Server-6/zend-server.htm#zendoptimizerplus.html) but then it sort of changed to adding support for Zend OPcache (the recently open sourced version).
This does only Zend OPcache. Tested on PHP 5.5 and PHP 5.4, including unit tests.
Based on naming scheme, I decided to name the function `hasZendOpcache` (ignoring the abbreviation as with `hasApc`) as opposed to `hasZendOpCache` or other names. Not sure if this is the 'perfect name' (it gets called in all lower-case in the twig file anyway).
Commits
-------
8e9cb3b Add support for detection of Zend OPcache as an accelerator
This PR was squashed before being merged into the master branch (closes#7691).
Discussion
----------
[Stopwatch] Fix checking started events
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7639, #7653
| License | MIT
Stopwatch component return true from isStarted method, when StopwatchEvent was added but not started.
Commits
-------
b626542 [Stopwatch] Fix checking started events
* 2.2:
Fix default value handling for multi-value options
[HttpKernel] truncate profiler token to 6 chars (see #7665)
Disabled APC on Travis for PHP 5.5+ as it is not available
[HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
Fix download over SSL using IE < 8 and binary file response
[Console] Fix merging of application definition, fixes#7068, replaces #7158
[HttpKernel] fixed the Kernel when the ClassLoader component is not available (closes#7406)
fixed output of bag values
[Yaml] improved boolean naming ($notEOF -> !$EOF)
[Yaml] fixed handling an empty value
[Routing][XML Loader] Add a possibility to set a default value to null
[Console] fixed handling of "0" input on ask
The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
fixed handling of "0" input on ask
[HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
[Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
Update PhpEngine.php
[PropertyAccess] Add objectives to pluralMap
[Security] Removed unused var
[HttpFoundation] getClientIp is fixed.
Conflicts:
src/Symfony/Component/Console/Tests/Command/CommandTest.php
src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpKernel/Kernel.php
* 2.1:
Fix default value handling for multi-value options
[HttpKernel] truncate profiler token to 6 chars (see #7665)
Disabled APC on Travis for PHP 5.5+ as it is not available
[HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
[Yaml] improved boolean naming ($notEOF -> !$EOF)
[Yaml] fixed handling an empty value
[Routing][XML Loader] Add a possibility to set a default value to null
The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
[HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
[Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
Update PhpEngine.php
[HttpFoundation] getClientIp is fixed.
Conflicts:
.travis.yml
src/Symfony/Component/Routing/Loader/XmlFileLoader.php
src/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
src/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
src/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
The default value for array options will be an array, so it is not suitable to use as the default when processing one of many values for a multi-value option. Using null seems appropriate here, as it indicates the absence of a value and also converts nicely to an empty string (as opposed to an empty array).
Fixes#7689
This PR was squashed before being merged into the master branch (closes#5476).
Discussion
----------
[Process] Add signal and getPid methods
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
This PR replaces #5391 ; it adds :
- sigchild compatibility mode. This means that if you activate it you have access to this exitcode of the process in case your php has been compiled with --enable-sigchild. This can happen when you deal with Oracle databases.
```php
$process->setEnhanceSigchildCompatibility(true);
```
- `getPid` method to get the actual process identifier of the process
```php
$process->getPid();
```
- `signal` method to send Posix signal to the process
```php
$process->signal(SIGHUP);
```
- Add optionnal `$signal` as second argument to `stop`method. If provided, the signal is sent at timeout to the process. Example of use :
```php
$process->stop(5, SIGKILL);
```
Tests have been enhanced and now run both sigchild / non-sigchild mode.
By the way, tests are successful with a PHP compiled with the --enable-sigchild option ;)
Commits
-------
5ed2737 [Process] Add signal and getPid methods
This PR was squashed before being merged into the master branch (closes#7653).
Discussion
----------
[HttpKernel] Improve TraceableEventDispatcher to not call Stopwatch::stop() when not started
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7639
| License | MIT
Commits
-------
e638e01 [HttpKernel] Improve TraceableEventDispatcher to not call Stopwatch::stop() when not started
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] Split getClientIp into two methods for better flexibility
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | Locally: NO (HttpFoundation tests passes, but all Symfony tests fails because of my local setup). Travis : YES
| Fixed tickets | #7349
| License | MIT
| Doc PR | none (yet?)
Split the ``Request::getClientIp`` method in two to allow better overriding flexibility. See #7349 for more information.
Commits
-------
2678dd5 [HttpFoundation] Move comments from one method to the other [ci skip].
7529664 [HttpFoundation] Removed the @api annotation on getClientIps method.
f0c4ab6 [HttpFoundation] Split the tests into two methods / data providers.
80030fb [HttpFoundation] Use @see annotation for better documentation generation.
3e703a2 [HttpFoundation] Fixing tests.
63cbbb5 [HttpFoundation] Add tests for the newly created Request::getClientIps() method.
58347fb [HttpFoundation] Split getClientIp into two methods for better flexibility.
This PR was merged into the 2.2 branch.
Discussion
----------
[HTTPFoundation] Fix download over SSL using IE < 8 and binary file response
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
related to #7153
Commits
-------
4c51ec7 Fix download over SSL using IE < 8 and binary file response
This PR was merged into the 2.2 branch.
Discussion
----------
[Console] Fix merging of application definition
Fixes#7068, replaces #7158 - the fix there introduces a regression and always shows the application arguments in the commands help (i.e. it lists "command" as an argument to every command, except list because it overrides getNativeDefinition).
Commits
-------
46909fa [Console] Fix merging of application definition, fixes#7068, replaces #7158
This PR was merged into the 2.1 branch.
Discussion
----------
[HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7564
| License | MIT
| Doc PR | N/A
Fixed a bug in NamespacedAttributeBag causing a result to be falsely found when
the last key of the attribute matched the last of the queried name regardless of
if the key did not exist in the search.
Added Tests to demonstrate the issue and resolved by setting keys to null when
iterating through query and returning proper responses in the case that the
given array does in fact not exist.
Commits
-------
0f0c29c [HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
This PR was merged into the 2.1 branch.
Discussion
----------
[Routing][XML Loader] Add a possibility to set a default value to null
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/7335
| License | MIT
Example:
<route id="acme_user_show" pattern="/{id}">
<default key="_controller">AcmeUserBundle:User:show</default>
<default key="id" xsi:nil="true" />
</route>
Commits
-------
94a9cdc [Routing][XML Loader] Add a possibility to set a default value to null
This PR was merged into the 2.1 branch.
Discussion
----------
[Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
Handle _Exception_ throwed by DateTime constructor if an invalid date is passed.
Then throws proper transformation exception.
| 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
Commits
-------
7fc429f [Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
This PR was squashed before being merged into the master branch (closes#7620).
Discussion
----------
Enforce sprintf for exceptions
| Q | A
| ------------- | ---
| Bug fix? |no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | [yes|no]
| Fixed tickets | n/a
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2483
Changed format of exceptions which concatenate strings as follows
````
throw new \Exception('The '.$something.' needs the '.$foobar.' parameter');
````
to
````
throw new \Exception(sprintf('The %s needs the %s parameter', $something, $foobar));
````
This follows discussion on mailing list: https://groups.google.com/forum/?fromgroups#!topic/symfony-devs/tecj3UOAueM
Unit test results are pending...
Commits
-------
e655120 Enforce sprintf for exceptions
Fixed a bug in NamespacedAttributeBag causing a result to be falsely found when
the last key of the attribute matched the last of the queried name regardless of
if the key did not exist in the search.
Added Tests to demonstrate the issue and resolved by setting keys to null when
iterating through query and returning proper responses in the case that the
given array does in fact not exist.
* Updated Syntax of null checks
* Fixing missing else case for if statement in write context
This PR was merged into the 2.1 branch.
Discussion
----------
[HttpFoundation] getClientIp is fixed.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | no
The getClientIp now returns ip of the earliest server in a proxy chain when all the servers in the chain are trusted proxies. Before this patch the getClientIp used to return null at such condition.
Some appropriate tests are added.
Commits
-------
c4da2d9 [HttpFoundation] getClientIp is fixed.
This PR was merged into the master branch.
Discussion
----------
[Console] Cleaned up the unit tests.
Cleaned up some unit tests in the Console component as suggested in #6935. I didn't fully cleanup the Application tests to not to delay this PR. I might do it later as a separate one.
| Q | A |
|--------------|--------------------------------|
| Bug fix? | no |
|New feature? | no |
|BC breaks? | no |
|Deprecations? | no |
|Tests pass? | yes |
|Fixed tickets | #6935 |
|License | MIT |
|Doc PR | n/a |
Commits
-------
5ca04b0 [Console] Cleaned up the unit tests.
This PR was squashed before being merged into the master branch (closes#7507).
Discussion
----------
[FrameworkBundle] Enable possibility to run PHP bultin server in production env
See the referenced ticket for discussion;
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7430
| License | MIT
Commits
-------
12fce13 [FrameworkBundle] Enable possibility to run PHP bultin server in production env
This PR was merged into the master branch.
Discussion
----------
[CssSelector] Updated parsers to support namespaces (fix for ClassParser included)
ClassParser was passing improper parameters to `ElementNode`, as well as namespaces simply not being supported in the various parsers. This is a natural extension of #6650, by properly parsing the requested CSS filter if supplied.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Commits
-------
3c015d5 Updated parsers to support namespaces (fix for ClassParser included)
This PR was merged into the master branch.
Discussion
----------
[Security] [Acl] [BasicPermissionMap] Made $map protected and moved it to __construct
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
By making $map protected and moving it to the construct, you can simply extend the BasicPermissionMap class if you want to simply add some extra permissions. In it's current form, you have to copy/paste the entire array AND the getMasks and contains functions.
Commits
-------
1369d54 Made $map protected and moved it to construct.
This PR was merged into the master branch.
Discussion
----------
[2.3] [Security] Add a getter for providers to the ChainUserProvider class
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
I've got a use case where I need to check if any of the chained user providers implement a particular interface. This getter would really help with that.
Commits
-------
0a82d73 Add a getter for providers to the ChainUserProvider class
This PR was merged into the 2.2 branch.
Discussion
----------
[Security] Removed unused var
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | I guess
| Fixed tickets | -
Commits
-------
bd26419 [Security] Removed unused var
By making $map protected and moving it to the construct, you can simply extend the BasicPermissionMap class if you want to simply add some extra permissions. In it's current form, you have to copy/paste the entire array AND the getMasks and contains functions.
* 2.2:
Fix finding ACLs from ObjectIdentity's with different types
[HttpKernel] tweaked previous merge
#7531: [HttpKernel][Config] FileLocator adds NULL as global resource path
Fix autocompletion of command names when namespaces conflict
Fix timeout in Process::stop method
fixed CS
Round stream_select fifth argument up.
Fix Process timeout
[HttpKernel] Remove args from 5.3 stack traces to avoid filling log files, fixes#7259
bumped Symfony version to 2.2.2-DEV
updated VERSION for 2.2.1
updated CHANGELOG for 2.2.1
Fixed phpdoc blocks to show that $uri can be passed as a string or ControllerReference (rather than just as a string)
[HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
[FrameworkBundle] fixed the discovery of the PHPUnit configuration file when using aggregate options like in -vc app/ (closes#7562)
[WebProfilerBundle] removed next pointer class in a template
fix overwriting of request's locale if attribute _locale is missing
Conflicts:
src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
src/Symfony/Component/HttpKernel/EventListener/LocaleListener.php
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.2 branch.
Discussion
----------
[HttpKernel] fix overwriting of request's locale by LocaleListener if attribute _locale is missing
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7474
| License | MIT
| Doc PR | n.a.
Commits
-------
e8cae94 fix overwriting of request's locale if attribute _locale is missing
This PR was merged into the master branch.
Discussion
----------
[DomCrawler] added support for HTML5 'form' attribute
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7486
| License | MIT
| Doc PR |
Commits
-------
f8178dd [DomCrawler] added support for HTML5 'form' attribute
This PR was squashed before being merged into the master branch (closes#7535).
Discussion
----------
AF_* constants are only available with the sockets extension
Skip test if the extension is not available
Commits
-------
82e550b AF_* constants are only available with the sockets extension
This PR was merged into the 2.2 branch.
Discussion
----------
[Symfony\Bridge\Twig\Extension] fixed two methods' documentation blocks
| Q | A
| ------------- | ---
| Fixed tickets | None
| License | MIT
Fixed phpdoc blocks to show that $uri can be passed as a string or ControllerReference (rather than just as a string)
Commits
-------
2ea5eaa Fixed phpdoc blocks to show that $uri can be passed as a string or ControllerReference (rather than just as a string)
This PR was merged into the 2.1 branch.
Discussion
----------
[2.1][Process] Fix timeout in Process::stop method
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7579
| License | MIT
- The timeout is ten times more than set.
- The timeout does not occurs, it is actually blocking until the process dies.
Commits
-------
bec8ff1 Fix timeout in Process::stop method
This PR was squashed before being merged into the master branch (closes#6368).
Discussion
----------
[2.3] [Console] TableHelper
When building a console application it may be useful to display tabular data.
`TableHelper` can display table header and rows, customizable alignment of columns, cell padding and colors.
Basic usage example:
```php
$table = $app->getHelperSet()->get('table');
$table
->setHeaders(array('ISBN', 'Title', 'Author'))
->setRows(array(
array('99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'),
array('9971-5-0210-0', 'A Tale of Two Cities', 'Charles Dickens'),
array('960-425-059-0', 'The Lord of the Rings', 'J. R. R. Tolkien'),
array('80-902734-1-6', 'And Then There Were None', 'Agatha Christie'),
))
;
$table->render($output);
```
Output:
![table](https://f.cloud.github.com/assets/208957/14955/6fb4f500-46ca-11e2-8435-0f6b22f96e58.png)
If this PR gets merged I will submit doc PR as well.
I'm sure there is a plenty of room for improvements so any feedback is welcome.
Commits
-------
8de7813 [2.3] [Console] TableHelper
* 2.1:
[HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
[FrameworkBundle] fixed the discovery of the PHPUnit configuration file when using aggregate options like in -vc app/ (closes#7562)
[WebProfilerBundle] removed next pointer class in a template
This allows control over how the session start on demand works
0: no start on demand when bags are accessed
1: start session if bags are accessed
2: no start on demand when bags are accessed but still return bag contents
This PR was merged into the 2.1 branch.
Discussion
----------
[HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
| Q | A
| ------------- | ---
| Bug fix? | [no]
| New feature? | [no]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes] I assume : only changed a comment word
| License | MIT
Commits
-------
815eb61 [HttpFoundation] Fixed copy pasted comment from FlashBag in AttributeBag
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] adds possibility to add attributes to hx:include tag
This PR follows #7439 and adds escaping to attributes.
This introduces 2 options to the `HIncludeFragmentRenderer::render()` method:
* `id`: an optional `id` attribute for the `hx:include` tag
* `attrs`: an optional array of attributes for the `hx:include` tag
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7439
Commits
-------
670a502 [HttpKernel] added escaping for hx:include tag attributes
342d089 Allow to set id + custom attributes to hinclude tag
* 2.2: (22 commits)
fixed doc references (closes#7515)
fixed doc references (closes#7515)
On OS X, sys_get_tmp_dir() returns /var/private/..., which really is below /private/var.
Doctrine cannot handle bare random non-utf8 strings
small changes
[SecurityBundle] Fixed configuration exemple
idAsIndex should be true with a smallint or bigint id field.
[PropertyAccess] Remove trailing periods from doc blocks
Fix param docs for PropertyAccessor read method
Fixed long multibyte parameter logging in DbalLogger:startQuery
Keep the file extension in the temporary copy and test that it exists (closes#7482)
bumped Symfony version to 2.1.10-DEV
[Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation
updated VERSION for 2.1.9
update CONTRIBUTORS for 2.1.9
updated CHANGELOG for 2.1.9
[Security] fixed wrong interface
Remove already defined arguments
Add missing use
[FrameworkBundle] Reuse definition variable in FormPass
...
Conflicts:
src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/config.html.twig
* 2.1:
fixed doc references (closes#7515)
small changes
[SecurityBundle] Fixed configuration exemple
idAsIndex should be true with a smallint or bigint id field.
Fixed long multibyte parameter logging in DbalLogger:startQuery
Keep the file extension in the temporary copy and test that it exists (closes#7482)
[Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.ja.xlf
This PR was merged into the 2.1 branch.
Discussion
----------
[Form] [Doctrine] [EntityChoiceList] idAsIndex should be true with a smallint id field.
When the id of an entity is a smallint, $this->idAsIndex should also be true.
It was not the case.
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: should
License of the code: MIT
Commits
-------
673fd9b idAsIndex should be true with a smallint or bigint id field.
This PR was merged into the 2.1 branch.
Discussion
----------
[2.1][SecurityBundle] Fixed configuration exemple
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
2c7a99b [SecurityBundle] Fixed configuration exemple
This PR was merged into the 2.2 branch.
Discussion
----------
[Security/Http/RememberMe] PersistentTokenBasedRememberMeServices bugfix
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
The database and debug layer cannot handle raw random strings. It may contain invalid ut8 characters and whatnot. So, in order to avoid a lot of database bugs, we must base64_encode the random strings.
Commits
-------
751abe1 Doctrine cannot handle bare random non-utf8 strings
This PR was merged into the 2.1 branch.
Discussion
----------
[Validator] [translation] updated Japanese translation for Validator component
| Q | A
| ------------- | ---
| Fixed tickets | N/A
| License | MIT
I will also update translations for new messages available after 2.2 once this request is merged.
Commits
-------
987aded [Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation
* 2.1:
bumped Symfony version to 2.1.10-DEV
updated VERSION for 2.1.9
update CONTRIBUTORS for 2.1.9
updated CHANGELOG for 2.1.9
[FrameworkBundle] Reuse definition variable in FormPass
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
[Validator][translation][japanese]fixed japanese translation to more practical one
[Validator][translation][japanese]fixed message ordering to be consistent with other languages
[Validator][translation][japanese]added new validation messages in japanese translation
This PR was merged into the master branch.
Discussion
----------
Improve bytes conversion method
This PR improves bytes conversion `regex` method introduced in #7413 (thanks to @vicb's comments).
* Adds support of `+` prefix.
* Adds support of blank chars between `+`, number and unit.
* Adds support of octal/hexa bases.
Notice that this can not be unit tested for `ServerParams` and `UploadedFile` classes because `ini_set()` function does not work with `post_max_size` and `upload_max_filesize` settings.
For information, this convertion is located in 3 classes:
* `Symfony\Component\Form\Extension\Validator\Util\ServerParams`
* `Symfony\Component\HttpFoundation\File\UploadedFile`
* `Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector`
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7413
Commits
-------
21291ca improved bytes conversion method
This PR was merged into the master branch.
Discussion
----------
Console dispatcher
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #3889, #6124
| License | MIT
| Doc PR | symfony/symfony-docs#2352
refs #1884, #1929
This is an alternative implementation for adding events to console applications.
This implementation has the following features:
* Available for anyone using the Console component and it is not tied to
FrameworkBundle (this is important as one thing we are trying to solve is
email sending from a command, and frameworks like Silex using the Console
component needs a solution too);
* Non-intrusive as the current code has not been changed (except for renaming
an internal variable that was wrongly named -- so that's not strictly needed
for this PR)
* The new DispatchableApplication class also works without a dispatcher,
falling back to the regular behavior. That makes easy to create applications
that can benefit from a dispatcher when available, but can still work
otherwise.
* Besides the *before* and *after* events, there is also an *exception* event
that is dispatched whenever an exception is thrown.
* Each event is quite powerful and can manipulate the input, the output, but
also the command to be executed.
Commits
-------
4f9a55a refactored the implementation of how a console application can handle events
4edf29d added helperSet to console event objects
f224102 Added events for CLI commands
The getClientIp now returns ip of the earliest server in a proxy chain when all the servers in the chain are trusted proxies. Before this patch the getClientIp used to return null at such condition.
Some appropriate tests are added.
This PR was merged into the master branch.
Discussion
----------
[Console] added a way to normalize a command display when using the tester
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Commits
-------
afd7d05 [Console] added a way to normalize a command display when using the tester
This adds an init and terminate event for commands. They are
dispatched from ContainerAwareCommand.
The cache:clear command can't implement this (cf. #3889 on Github).
This PR was merged into the master branch.
Discussion
----------
[2.3] [FrameworkBundle] [Serializer] Loads the Serializer component as a service in the Framework Bundle
This PR is the same as
https://github.com/symfony/symfony/pull/5347
but since I am struggling to squash all the commits I better create a new one. Sorry for the inconveniences, :)
Commits
-------
b4e4844 Add the serializer service
This PR was merged into the master branch.
Discussion
----------
[Security] Return 401 when using use_forward for form authentication
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
- [x] document the BC breaks in UPDATE and CHANGELOG
Currently, unauthenticated requests gets handled as exceptions and forwarded to the FormAuthenticationEntryPoint::start. When using use_forward = true, this method does not modify the status code, which means that final response to the end user will use a 500 status code. This is not right, as there is not a server problem, the problem is that the user is not authenticated. The status code should be 401.
This PR checks if the sub request to the form view is successful, and sets an X-Status-Code header if it is.This might break applications that rely on the 500 error code being returned for unauthenticated requests.
Commits
-------
b5597e8 [Security] Return 401 when using use_forward for form authentication
This PR was merged into the master branch.
Discussion
----------
[2.3] [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
I did not include tests nor documentation because there weren't any for TimedTwigEngine (I took it as an example). If I'm mistaken and they are needed, I'll gladly write them.
Commits
-------
3c3d34d [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine
This PR was merged into the master branch.
Discussion
----------
[2.2] [Security] Add an option to disable the hasPreviousSession() check in AbstractAuthenticationListener
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/adrienbrault/symfony.png?branch=security-feature)](http://travis-ci.org/adrienbrault/symfony)
Fixes the following tickets: #3703
Todo: Add this option to the symfony doc security configuration reference
License of the code: MIT
Documentation PR: N/A
As stated in #3703, all authentication listeners that inherit from AbstractAuthenticationListener, only work when a previous session has been created.
This PR allows to change the default behavior in the security.yml file.
Example:
```yml
security:
firewalls:
secured_area:
pattern: ^/demo/secured/
form_login:
check_path: /demo/secured/login_check
login_path: /demo/secured/login
require_previous_session: false # The default value is true
logout:
path: /demo/secured/logout
target: /demo/
#anonymous: ~
#http_basic:
# realm: "Secured Demo Area"
```
PS: While removing my old commit, it closed the #4774 PR ...
Commits
-------
0562463 [Security] Add an option to disable the hasPreviousSession() check in AbstractAuthenticationListener
This PR was merged into the master branch.
Discussion
----------
[2.3] [WIP] Synchronized services...
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5300, #6756
| License | MIT
| Doc PR | symfony/symfony-docs#2343
Todo:
- [x] update documentation
- [x] find a better name than contagious (synchronized)?
refs #6932, refs #5012
This PR is a proof of concept that tries to find a solution for some problems we have with scopes and services depending on scoped services (mostly the request service in Symfony).
Basically, whenever you want to inject the Request into a service, you have two possibilities:
* put your own service into the request scope (a new service will be created whenever a sub-request is run, and the service is not available outside the request scope);
* set the request service reference as non-strict (your service is always available but the request you have depends on when the service is created the first time).
This PR addresses this issue by allowing to use the second option but you service still always has the right Request service (see below for a longer explanation on how it works).
There is another issue that this PR fixes: edge cases and weird behaviors. There are several bug reports about some weird behaviors, and most of the time, this is related to the sub-requests. That's because the Request is injected into several Symfony objects without being updated correctly when leaving the request scope. Let me explain that: when a listener for instance needs the Request object, it can listen to the `kernel.request` event and store the request somewhere. So, whenever you enter a sub-request, the listener will get the new one. But when the sub-request ends, the listener has no way to know that it needs to reset the request to the master one. In practice, that's not really an issue, but let me show you an example of this issue in practice:
* You have a controller that is called with the English locale;
* The controller (probably via a template) renders a sub-request that uses the French locale;
* After the rendering, and from the controller, you try to generate a URL. Which locale the router will use? Yes, the French locale, which is wrong.
To fix these issues, this PR introduces a new notion in the DIC: synchronized services. When a service is marked as synchronized, all method calls involving this service will be called each time this service is set. When in a scope, methods are also called to restore the previous version of the service when the scope leaves.
If you have a look at the router or the locale listener, you will see that there is now a `setRequest` method that will called whenever the request service changes (because the `Container::set()` method is called or because the service is changed by a scope change).
Commits
-------
17269e1 [DependencyInjection] fixed management of scoped services with an invalid behavior set to null
bb83b3e [HttpKernel] added a safeguard for when a fragment is rendered outside the context of a master request
5d7b835 [FrameworkBundle] added some functional tests
ff9d688 fixed Request management for FragmentHandler
1b98ad3 fixed Request management for LocaleListener
a7b2b7e fixed Request management for RequestListener
0892135 [HttpKernel] ensured that the Request is null when outside of the Request scope
2ffcfb9 [FrameworkBundle] made the Request service synchronized
ec1e7ca [DependencyInjection] added a way to automatically update scoped services
This PR was merged into the master branch.
Discussion
----------
moved the request scope creation to the ContainerAwareHttpKernel class
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#2343
While updating the scope documentation, I realized that the request scope was created in the FrameworkBundle while the HttpKernel that manages it was in the HttpKernel component. So, this PR makes things more consistent.
Commits
-------
cec98c1 [DependencyInjection] fixed PHP notice when the scope is not defined
550df5a moved the request scope creation to the ContainerAwareHttpKernel class
This PR was merged into the master branch.
Discussion
----------
[2.3][TwigBundle] Use display instead of visibility for exception page icons
Originally spawned from #6612, this allows us to get rid of the ugly margins for the open and close icons on the exception page.
Commits
-------
e66bd14 [TwigBundle] Use display instead of visibility for exception page icons
This PR was merged into the master branch.
Discussion
----------
[2.3] [Serializer] Enabled camelCase format to be used on denormalize method
Enabled camelCase formater , that way when hydrating from arrays, attributes as attribute_name could be implemented as attributteName parameter, with getAttributeName and setAttributeName, giving different formating option from setAttribute_name getAttribute_name.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | no
| License | MIT
| Doc PR | no
Commits
-------
fbffdf0 Enabled camelCase format to be used on denormalize method, that way camel_case attribute can be used on object as getCamelCase()
This PR was squashed before being merged into the master branch (closes#7028).
Discussion
----------
[2.3] [Routing] Added access to querystring in RequestContext
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This is related to a Silex change request: https://github.com/fabpot/Silex/pull/623
Commits
-------
4a2b755 [2.3] [Routing] Added access to querystring in RequestContext
* 2.2:
#7106 - fix for ZTS builds
Added '@@' escaping strategy for YamlFileLoader and YamlDumper
[Yaml] fixed bugs with folded scalar parsing
[Form] made DefaultCsrfProvider using session_status() when available
Added unit tests to Dumper
Update .travis.yml (closes#7355)
[HttpFoudantion] fixed Request::getPreferredLanguage()
Revert "merged branch jfsimon/issue-6928 (PR #7378)"
Routing issue with installation in a sub-directory ref: https://github.com/symfony/symfony/issues/7129
This PR was merged into the master branch.
Discussion
----------
[2.3] Add missing WinCacheClassLoader
Commits
-------
af86e5b Add missing WinCacheClassLoader
* 2.1:
#7106 - fix for ZTS builds
Added '@@' escaping strategy for YamlFileLoader and YamlDumper
[Yaml] fixed bugs with folded scalar parsing
[Form] made DefaultCsrfProvider using session_status() when available
Added unit tests to Dumper
Update .travis.yml (closes#7355)
[HttpFoudantion] fixed Request::getPreferredLanguage()
Revert "merged branch jfsimon/issue-6928 (PR #7378)"
Routing issue with installation in a sub-directory ref: https://github.com/symfony/symfony/issues/7129
Conflicts:
.travis.yml
src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
src/Symfony/Component/Routing/RouteCollection.php
This PR was squashed before being merged into the master branch (closes#7300).
Discussion
----------
[Console] Progress helper enhancements
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Two enhancements:
1. The progress bar clears the current line before writing the current progress. This can cause some flickering in the terminal. I've modified the write method to append whitespace to the line to be written, so it matches the previous line's length.
2. Added a `setCurrent` method to set the current progress. Rather than advancing by 1 or more steps, sometimes you want to just set the current state. For example if you are downloading a file, and a callback provides you with the current download status. A workaround for this could be to keep track of the previous event, calculate the difference, and advancing by the diff. But it's easier to just set the current progress.
Sidenotes:
* The [`overwrite`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Helper/ProgressHelper.php#L387) method copied documentation of the Output's [`write`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/Output.php#L139) method. The difference is, the overwrite method does not handle an array of messages. I've updated the documentation for this.
* The helper uses `strlen` to calculate line lengths. This could cause a problem when using multibyte strings. I'd change it to `mb_strlen`, but I'm not sure if the `mb_string` extension is required by Symfony.
Commits
-------
5ae76f0 [Console] Progress helper enhancements
Added the possibility to to use '@@' as an escaping strategy for
parameters that should be treated as strings but start with '@'
(i.e. safe mailer passwords).
This PR was merged into the master branch.
Discussion
----------
[DependencyInjection] Added missing support for setting previous exception
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
9b4cd73 [DependencyInjection] Added missing support for setting previous exception
This PR was merged into the 2.1 branch.
Discussion
----------
[Form] made DefaultCsrfProvider using session_status() when available
| Q | A
| ------------- | ---
| Bug fix? | [on PHP 5.4]
| Tests pass? | [yes]
| License | MIT
Commits
-------
5afea04 [Form] made DefaultCsrfProvider using session_status() when available
This exception is thrown when trying to open a non-readable directory.
Squashed commits:
[Finder] Fixed small errors
[Finder] small changes about AccessDeniedException
[Finder] removed unnecessary comment
[Finder] added access denied exception test
[Finder] Updated AccessDeniedException base class
[Finder] fixed access denied exception test
[Finder] native adapters now throw AccessDeniedException on stderr
This PR was merged into the master branch.
Commits
-------
7c3179a [HttpKernel] moved the Container compilation for more flexibility
757194c [HttpKernel] made the Kernel class more flexible (closes#7396)
Discussion
----------
[HttpKernel] made the Kernel class more flexible (closes#7396)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7396
| License | MIT
| Doc PR | n/a
---------------------------------------------------------------------------
by jrobeson at 2013-03-20T14:04:53Z
I still (personally) think that the compile() method is still too close to the building of the container. Is there a reasonable way to move the compile() method away from the rest of the logic used to build the container?
---------------------------------------------------------------------------
by elnur at 2013-03-20T14:34:23Z
I like this one. Can't wait to see this merged.
---------------------------------------------------------------------------
by stof at 2013-03-20T14:50:22Z
@jrobeson compiling the container is part of building it (it is the step running the compiler passes)
---------------------------------------------------------------------------
by jrobeson at 2013-03-20T15:32:26Z
i read the code stof .. that is what it does :) . I just thought it'd be easier to modify the container from the kernel of the compile() call was placed after the buildContainer() call at https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Kernel.php#L556
This is something i had to work around when migrating to symfony. It's not a big deal to me anymore, so no worries.
---------------------------------------------------------------------------
by stof at 2013-03-20T15:36:12Z
@jrobeson the container is not fully build until you compile it. Half of the work is done by the compile() call.
---------------------------------------------------------------------------
by fabpot at 2013-03-20T15:38:24Z
I've moved the compile method as it makes things even more flexible.
---------------------------------------------------------------------------
by jrobeson at 2013-03-20T15:41:45Z
@stof : i know .. which is even better reason to move it outside that big method.
@fabpot: thanks!
This change allows any service to depend on the Request (via a method
call) and always have the right Request instance without the need for
the service to be in the request scope (you still need to set the
Request reference as non-strict).
A service can now be marked as synchronized; when set, all method calls
involving this service will be called each time this service is set.
When in a scope, methods are also called to restore the previous version of the
service.
* 2.2: (70 commits)
change wrapped exception message to be more usefull
updated VERSION for 2.0.23
update CONTRIBUTORS for 2.0.23
updated CHANGELOG for 2.0.23
[Form] fixed failing test
[DomCrawler] added support for query string with slash
Fixed invalid file path for hiddeninput.exe on Windows.
fix xsd definition for strict-requirements
[WebProfilerBundle] Fixed the toolbar styles to apply them in IE8
[ClassLoader] fixed heredocs handling
fixed handling of heredocs
Add a public modifier to an interface method
removing xdebug extension
[HttpRequest] fixes Request::getLanguages() bug
[HttpCache] added a test (cached content should be kept after purging)
[DoctrineBridge] Fixed non-utf-8 recognition
[Security] fixed HttpUtils class tests
replaced new occurences of 'Request::create()' with '::create()'
changed sub-requests creation to '::create()'
fixed merge issue
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/toolbar.html.twig
src/Symfony/Component/DomCrawler/Link.php
src/Symfony/Component/Translation/Translator.php
* 2.1:
updated VERSION for 2.0.23
update CONTRIBUTORS for 2.0.23
updated CHANGELOG for 2.0.23
[Form] fixed failing test
[DomCrawler] added support for query string with slash
This PR was merged into the master branch.
Commits
-------
3674c22 changed bytes conversion method
Discussion
----------
Changed bytes conversion method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
**The old way:**
```php
switch (strtolower(substr($memory, -1))) {
case 'g':
$memory *= 1024;
case 'm':
$memory *= 1024;
case 'k':
$memory *= 1024;
}
```
**The new way:**
```php
if (preg_match('#^(\d+)([bkmgt])#i', $memory, $match)) {
$shift = array('b' => 0, 'k' => 10, 'm' => 20, 'g' => 30, 't' => 40);
$memory = ($match[1] * (1 << $shift[strtolower($match[2])]));
}
```
---------------------------------------------------------------------------
by bendavies at 2013-03-18T16:27:52Z
pretty unreadable, no?
---------------------------------------------------------------------------
by benja-M-1 at 2013-03-18T16:29:25Z
I agree, I would not like to have to debug it.
---------------------------------------------------------------------------
by pborreli at 2013-03-18T16:31:43Z
just for my culture, what does : `1 << $var` ?
---------------------------------------------------------------------------
by bendavies at 2013-03-18T16:33:23Z
@pborreli it's a left shift http://php.net/manual/en/language.operators.bitwise.php
---------------------------------------------------------------------------
by jfsimon at 2013-03-18T16:47:15Z
@bendavies @benja-M-1 it's concise and easily recognised (if you understood it the first time).
FYI I didn't find it myself... pretty clever isn't it?
---------------------------------------------------------------------------
by benja-M-1 at 2013-03-18T16:50:53Z
Clearly too much clever for me :)
And what about moving this code in its own class to avoid the copy/paste?
---------------------------------------------------------------------------
by jfsimon at 2013-03-18T16:52:51Z
@benja-M-1 It would add a dependency to the components using it :(
---------------------------------------------------------------------------
by bendavies at 2013-03-18T16:55:26Z
@jfsimon clever indeed, but not necessarily better!
---------------------------------------------------------------------------
by jfsimon at 2013-03-18T16:57:18Z
@bendavies that's true.
---------------------------------------------------------------------------
by Tobion at 2013-03-18T17:00:56Z
There are other places where it could be used too (e.g. FileValidator).
---------------------------------------------------------------------------
by bendavies at 2013-03-18T17:06:01Z
on the other side of the argument, i *hate* the sneaky fall through on the switch statement.
very confusing the first time you see it!
---------------------------------------------------------------------------
by bendavies at 2013-03-18T17:19:42Z
this method has already made it into symfony here: https://github.com/symfony/symfony/pull/7395
---------------------------------------------------------------------------
by jfsimon at 2013-03-19T08:16:19Z
@Tobion I have some questions about the `FileValidator`:
* Why is th `k` in lower case and the `M` in upper case?
* Why is the size divided by 1000 and not 1024?
---------------------------------------------------------------------------
by Tobion at 2013-03-19T08:30:23Z
I was wondering the same. I guess this config (which is also displayed to users) uses the official metric prefixes (k = kilo, M = mega). So it's not about the computer terms where 1 KB = 1024 byte.
---------------------------------------------------------------------------
by vicb at 2013-03-19T16:03:21Z
kB =1000, kiB=1024.
Imo regexps should be case insensitive and account for the "i".
I am not in favor of the changes in this pr (the current way is also documented on php.net fwiw)
This PR was merged into the 2.1 branch.
Commits
-------
e6b7515 [DomCrawler] added support for query string with slash
Discussion
----------
[DomCrawler] added support for query string with slash
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Link\getUri() failed to return correct uri when current query string contains slash
Test pass on branch 2.1 but fails on master
This PR was merged into the 2.2 branch.
Commits
-------
633c051 Fixed invalid file path for hiddeninput.exe on Windows.
Discussion
----------
[2.2] [Console] Fix "The system cannot find the path specified." on Windows for askHiddenResponse().
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none available
| License | MIT
| Doc PR | n/a
* 2.1:
Add a public modifier to an interface method
[HttpRequest] fixes Request::getLanguages() bug
[HttpCache] added a test (cached content should be kept after purging)
[DoctrineBridge] Fixed non-utf-8 recognition
[Security] fixed HttpUtils class tests
This PR was merged into the 2.1 branch.
Commits
-------
54609b9 [HttpCache] added a test (cached content should be kept after purging)
Discussion
----------
[HttpCache] added a test (cached content should be kept after purging)
closes#6830
This PR was merged into the master branch.
Commits
-------
a011842 [HttpKernel] fixed memory collector
def2ccb Add PHP memory_limit to WDT
Discussion
----------
[HttpKernel] fixed memory collector
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7037
---------------------------------------------------------------------------
by vicb at 2013-03-15T20:21:55Z
OT, that's great to see many contributions for you @jfsimon, thanks !
---------------------------------------------------------------------------
by jfsimon at 2013-03-18T09:35:54Z
Thanks @vicb, this is so lovely :)
This PR was merged into the master branch.
Commits
-------
ed58e36 [HttpKernel] CLI - don't always display errors
Discussion
----------
[HttpKernel] CLI - don't always display errors
I had closed#6370 by mistake when cleaning up my branches.
---------------------------------------------------------------------------
by sstok at 2013-02-13T15:13:16Z
👍
This PR was merged into the 2.2 branch.
Commits
-------
0992032 [Translator] fix metadata
3b71000 [Translator] fix typecast in transChoice
88f98c9 [Translator] optimized adding of resources and saving a call to array_unique
e88bf7b [Translator] fix phpdoc of MessageCatalogueInterface::add and ::replace
c97ee8d [Translator] mention that the message id may also be an object that can be cast to string in TranslatorInterface and fix the IdentityTranslator that did not respect this
5a36b2d [Translator] fix MessageCatalogueInterface::getFallbackCatalogue that can return null
d1c34e8 [Translator] coding style
Discussion
----------
[Translator] several fixes and refactorings
Reasoning see individual commits.
BC break: no <del>yes because I added an array typehint to `MessageCatalogueInterface::add` and `::replace` since it's required. I could remove the typhint again so there would be no bc break, but IMO having it is much more explicit and consistent as there are already other array typhints as in the constructor.</del>
---------------------------------------------------------------------------
by Tobion at 2013-02-14T09:36:35Z
@fabpot removed typehint and code movement. Added 2 more commits.
---------------------------------------------------------------------------
by Tobion at 2013-03-04T16:14:37Z
@fabpot ping
This PR was merged into the master branch.
Commits
-------
b6a5457 [Validator] Fixed member (getter/property) metadata readers. [Validator] added overridden getter metadata test [Validator] class member reflection build requires object instance [Validator] fixed error [Validation] fixed member metadata reflection cache [Validation] added property metedata test [Validation] fixed class/member metadata mapping [Validation] removed var_dump
9b6cd80 Update src/Symfony/Component/Validator/Mapping/GetterMetadata.php
Discussion
----------
[Validator] Use concrete Class Methods to check validations
This PR just adds a test to #7069.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7069
---------------------------------------------------------------------------
by vicb at 2013-03-05T18:21:02Z
@jfsimon Do you have a response about my comment in the original PR ?
At least we now have a BC break (ie new is no more called).
---------------------------------------------------------------------------
by jfsimon at 2013-03-05T18:30:43Z
@vicb I didn't saw it. I update the description.
---------------------------------------------------------------------------
by vicb at 2013-03-05T18:34:01Z
np, do you have a reply ?
_BCB = yes should trigger a note in the changelog_
---------------------------------------------------------------------------
by jfsimon at 2013-03-05T18:51:15Z
@vicb a response about the `newReflectionMember` method update?
---------------------------------------------------------------------------
by vicb at 2013-03-05T19:08:54Z
Yep
"Jean-François Simon" <notifications@github.com> wrote:
>@vicb a response about the `newReflectionMember` method update?
>
>---
>Reply to this email directly or view it on GitHub:
>https://github.com/symfony/symfony/pull/7271#issuecomment-14457748
---------------------------------------------------------------------------
by Gladhon at 2013-03-06T08:04:38Z
@vicb
newReflectionMember is a Method that comes from the parent and has no argument "object". So it can only get the reflection Member of the configured class, while we need once (in this special case) need the method of the concrete class.
---------------------------------------------------------------------------
by jfsimon at 2013-03-06T08:29:11Z
@vicb @Gladhon correct me if I'm wrong.
This method is only used to check the member scope. In the case of a getter, this scope is always public (`method_exists` returns true only if method is visible, then is this case public, isn'it?), so the `isPublic`, `isProtected` and `isPrivate` methods can be safely overriden. Am I right?
---------------------------------------------------------------------------
by Gladhon at 2013-03-06T08:43:54Z
Yes i am in agreement with that.
But I just think about to change the getPropertyValue also in PropertyMetadata. Can that make sense in any case ?
---------------------------------------------------------------------------
by vicb at 2013-03-06T08:56:21Z
@jfsimon `method_exists` returns `true` when the method exists, whatever its visibility.
My question is whether it would make sense to change the signature of `newReflectionMember` to accept an objet ?
That would be a BC break but the implementation proposed here is also a BC break (`newReflectionMember` which was called from `getReflectionMember` is no more called with this PR - it could have been overriden by a dev)
Finally `PropertyMetadata` should probably be updated in the same way.
---------------------------------------------------------------------------
by vicb at 2013-03-06T08:57:33Z
_and fyi you can both work on the same PR, ie @Gladhon you can send some changes (a PR) to the repo of @jfsimon_
---------------------------------------------------------------------------
by Gladhon at 2013-03-06T10:22:07Z
Well, i like it how it is now. Cause if we change that, you also need to have a object if calling "isPublic". For me it makes more sence to have only the object parameter if its realy needed.
Where do you see a real benefit if we change the `newReflectionMember` instead ?
---------------------------------------------------------------------------
by jfsimon at 2013-03-07T13:43:43Z
@vicb I think passing object instance to `getReflectionMember` is **required** for consistency.
I just pushed it.
This PR was squashed before being merged into the 2.1 branch (closes#7378).
Commits
-------
17dc2ff [HttpRequest] fixes Request::getLanguages() bug
Discussion
----------
[HttpRequest] fixes Request::getLanguages() bug
This PR adds to suported languages the first segment of all compouds languages codes.
When receiving `Accept-Language: en-us` header, accepted languages will now be `en, en_US`.
This should not be a BC break as most browsers already send the long **and** short versions of language codes... but some dont.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6928
This PR was merged into the 2.1 branch.
Commits
-------
bd38483 [Security] fixed HttpUtils class tests
Discussion
----------
[Security] fixed HttpUtils class tests
This fixes tests broken in #7325.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7325
* 2.1:
sub-requests are now created with the same class as their parent
[FrameworkBundle] removed BC break
[FrameworkBundle] changed temp kernel name in cache:clear
[DoctrineBridge] Avoids blob values to be logged by doctrine
[Security] use current request attributes to generate redirect url?
[Validator] fix showing wrong max file size for upload errors
[TwigBridge] removed double var initialization (refs #7344)
[2.1][TwigBridge] Fixes Issue #7342 in TwigBridge
[FrameworkBundle] fixed cahe:clear command's warmup
[TwigBridge] now enter/leave scope on Twig_Node_Module
[TwigBridge] fixed fixed scope & trans_default_domain node visitor
[TwigBridge] fixed non probant tests & added new one
[BrowserKit] added ability to ignored malformed set-cookie header
[Translation] removed wriong 'use'
[Translation] added xliff loader/dumper with resname support
[TwigBridge] fixes
Conflicts:
src/Symfony/Bundle/FrameworkBundle/HttpKernel.php
src/Symfony/Component/Security/Http/HttpUtils.php
src/Symfony/Component/Translation/Loader/XliffFileLoader.php
src/Symfony/Component/Translation/Tests/Loader/XliffFileLoaderTest.php
This PR was merged into the 2.2 branch.
Commits
-------
602cdee replace INF to PHP_INT_MAX inside Finder component.
Discussion
----------
[2.2][Finder] fix assets:install issue
I have some bundle with assets, and when i do.
```
app/console assets:install --env=prod
```
I don't have any of my file inside web/bundles, only empty first level directory like "css"
bug issue introduced by 7c66dffa6b
---------------------------------------------------------------------------
by fabpot at 2013-03-13T13:34:10Z
Can you base your patch on the 2.1 branch as the bug is also there? Thanks.
---------------------------------------------------------------------------
by BenoitLeveque at 2013-03-13T14:29:55Z
i didn't reproduce this issue on the latest commit (175cdc0fd0) on 2.1 branch
---------------------------------------------------------------------------
by taylorotwell at 2013-03-13T14:35:28Z
Yeah, it appears the Finder component's recursion is basically broken on the 2.2 branch.
---------------------------------------------------------------------------
by BenoitLeveque at 2013-03-14T13:24:52Z
@fabpot i can't reproduce this issue on the 2.1 branch because you already fix it, see 7241be9b64
This PR was squashed before being merged into the 2.2 branch (closes#7365).
Commits
-------
d9ee869 [HttpKernel] Updated TraceableEventDispatcher.php
Discussion
----------
[HttpKernel] Updated TraceableEventDispatcher.php
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets |
| License | MIT
| Doc PR |
Currently, if no listeners are registered for an dispatched event, the StopwatchEvent "$eventName.'.loading'" is never being stopped.