If an empty token is provided (from automated tools, or on purpose when
running a command), the argument getter was not checking the other
tokens, as '' == false in php, which is the stop condition of the while
loop in this method.
This method should now rely on the count of tokens rather than the value
of the return of array_shift
This PR was squashed before being merged into the 2.7 branch (closes#13418).
Discussion
----------
[DX] Attempt to improve logging messages with parameters
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/12594#issuecomment-68589400
| License | MIT
| Doc PR | n/a
This PR is a follow-up of #12594 `[DX] [HttpKernel] Use "context" argument when logging route in RouterListener`.
I have attempted to improve the log messages, as well as updating the usage context. I wasn't sure if the log messages should end with a `.` or not, if so I can update all messages to confirm a standard.
Commits
-------
ea80c9b [DX] Attempt to improve logging messages with parameters
This PR was squashed before being merged into the 3.0-dev branch (closes#13348).
Discussion
----------
[3.0][Monolog] Remove deprecated interface and deprecated methods
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
Commits
-------
0fa072c [3.0][Monolog] Remove deprecated interface and deprecated methods
* 2.7:
fixed tests
[EventDispatcher] Add missing checks to RegisterListenersPass
Inline private 'is quoting required' methods in Escaper
[HttpKernel] Add request uri to Logger context
removed notices for some constants as it does not work well
[Debug] fix loading order for legacy classes
Add comment as requested
Remove duplicate 'require'
[Yaml] Improve YAML boolean escaping
* Support services using a parameter for their class name.
* Prevent abstract services as event subscribers.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This PR was merged into the 2.7 branch.
Discussion
----------
removed notices for some constants as it does not work well
| 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
-------
ee42544 removed notices for some constants as it does not work well
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] Improve YAML boolean escaping
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13209
| License | MIT
| Doc PR | None
This PR ensures that PHP [values which would be interpreted as booleans][1] in older versions of the YAML spec are escaped with single quotes when dumped by the Dumper.
For example, dumping this:
```php
array(
'country_code' => 'no',
'speaks_norwegian' => 'y',
'heating' => 'on',
)
```
Will produce this YAML:
```yaml
country_code: 'no'
speaks_norwegian: 'y'
heating: 'on'
```
[1]: http://yaml.org/type/bool.html
Commits
-------
8fa056b Inline private 'is quoting required' methods in Escaper
afe827a Merge pull request #2 from larowlan/patch-2
a0ec0fe Add comment as requested
1e0633e Merge pull request #1 from larowlan/patch-1
81a8090 Remove duplicate 'require'
3760e67 [Yaml] Improve YAML boolean escaping
This PR was merged into the 2.7 branch.
Discussion
----------
[HttpKernel][2.7] Add request uri to Logger context
... so host info does not get lost in the logging. The current situation does not allow the user, that receives a `Monolog` email for instance, to determine at which host an error occurred.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | -
Commits
-------
c8f1f19 [HttpKernel] Add request uri to Logger context
... so host info does not get lost in the logging. The current situation does not allow the user to determine at which host an error occured.
| Q | A
| ------------- | ---
| Bug fix? | [no]
| New feature? | [yes]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets |
| License | MIT
| Doc PR |
Fixed typo
Distinguish route-params from request-uri
Update context consistency
... and inline the context variable.
Rename `route_params` to `route_parameters`
* 2.7:
[FrameworkBundle] fix routing descriptor for options
exit when Twig environment is not set
[Routing] fix misleading test for condition
[Debug] fix test
* 2.6:
[FrameworkBundle] fix routing descriptor for options
exit when Twig environment is not set
[Routing] fix misleading test for condition
[Debug] fix test
[Debug] add missing conflict dep rules
[TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
[HttpFoundation] Make use of isEmpty() method
fix missing comma in YamlDumper
[VarDumper] fix very special vars handling
[Console] Helper\Table->addRow optimization
[Console] Helper\Table->addRow optimization
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_1.md
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_2.md
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_collection_1.md
This PR was merged into the 3.0-dev branch.
Discussion
----------
[TwigBundle] removed deprecated ActionsExtension
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This removes the `{% render %}` tags which was replaced by the `{{ render }}` function in 2.2.
Commits
-------
70cd6c9 [TwigBundle] removed deprecated ActionsExtension
* 2.7:
[TwigBundle] added some missing deprecation notices
[TwigBundle] use the new Twig autoescaping strategy
exit when Twig environment is not set
[HttpKernel] fixed missing use cases
fixed typo
moved AppVariable to the bridge
Conflicts:
src/Symfony/Bridge/Twig/composer.json
This PR was merged into the 2.7 branch.
Discussion
----------
[TwigBundle] use the new Twig autoescaping strategy
| 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
-------
55c4b41 [TwigBundle] use the new Twig autoescaping strategy
This PR was merged into the 2.7 branch.
Discussion
----------
[TwigBridge] exit when Twig environment is not set in the DebugCommand
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The `DebugCommand` from the TwigBridge requires the `Twig_Environment`
to be set. Thus, if the `setTwigEnvironment()` were not called, the
command execution would have been aborted with a PHP error.
Commits
-------
1cfc1b7 exit when Twig environment is not set
This PR was merged into the 2.7 branch.
Discussion
----------
moved AppVariable to the bridge
| 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
-------
293765a moved AppVariable to the bridge
The `LintCommand` from the TwigBridge requires the `Twig_Environment`
to be set. Thus, if the `setTwigEnvironment()` were not called, the
command execution would have been aborted with a PHP error.
The `DebugCommand` from the TwigBridge requires the `Twig_Environment`
to be set. Thus, if the `setTwigEnvironment()` were not called, the
command execution would have been aborted with a PHP error.
This PR was merged into the 2.7 branch.
Discussion
----------
[Routing] apply deprecation triggers and fix tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | [#12641, #12640, #12719]
| License | MIT
| Doc PR |
Correctly add deprecation for _scheme and _method requirements and fix code to not trigger deprecations itself. And fix test so that they either explicitly test deprecated functionality or alternatively refactor tests to use new style.
It also fixes the deprecation triggers for "pattern" which was not correctly done for YAML/XML loading.
Commits
-------
9af0ff2 [FrameworkBundle] fix routing container param resolving to not access deprecated requirements while maintaining BC
bd91867 [FrameworkBundle] remove superfluous test that is already covered in routing
bc1c5c8 [Routing] apply deprecation triggers and fix tests
* 2.7:
[Debug] fix composer.json
[Debug] add missing conflict dep rules
[VarDumper] fix very special vars handling
Conflicts:
src/Symfony/Component/Debug/composer.json
This PR was merged into the 2.6 branch.
Discussion
----------
[VarDumper] fix very special vars handling
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13235
| License | MIT
| Doc PR | -
Commits
-------
e26dc2c [VarDumper] fix very special vars handling
* 2.7:
[TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
[TwigBundle] fall back to security instead of tokenStorage when not available
[FrameworkBundle] bumped deps for HttpKernel
[TwigBundle] bumped deps for HttpKernel
[HttpFoundation] Make use of isEmpty() method
fix missing comma in YamlDumper
[Console] Helper\Table->addRow optimization
[Console] Helper\Table->addRow optimization
Conflicts:
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Bundle/TwigBundle/composer.json
* 2.6:
[TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
[HttpFoundation] Make use of isEmpty() method
fix missing comma in YamlDumper
[Console] Helper\Table->addRow optimization
[Console] Helper\Table->addRow optimization
* 2.5:
[TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
[HttpFoundation] Make use of isEmpty() method
fix missing comma in YamlDumper
[Console] Helper\Table->addRow optimization
[Console] Helper\Table->addRow optimization
Conflicts:
src/Symfony/Bundle/SecurityBundle/composer.json
* 2.3:
[TwigBundle] allowed SecurityBundle to use the latest versions of FrameworkBundle
[HttpFoundation] Make use of isEmpty() method
fix missing comma in YamlDumper
[Console] Helper\Table->addRow optimization
Conflicts:
src/Symfony/Bundle/SecurityBundle/composer.json
src/Symfony/Component/Console/Helper/TableHelper.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
* 2.7:
[TwigBundle] optimized the hinclude fragement renderer when only Twig is used
[FrameworkBundle] removed obsolete ContainerAwareHIncludeFragmentRenderer class
lazy-load fragment renderers
Update README.md to min PHP 5.3.9
Conflicts:
README.md
This PR was merged into the 2.3 branch.
Discussion
----------
fix missing comma in YamlDumper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The YamlDumper were missing commas between tag attributes.
See https://github.com/rosstuck/TuckConverterBundle/issues/6
Commits
-------
f600d1a fix missing comma in YamlDumper
* 2.7:
[TwigBundle] added some tests
decoupled Twig from the Templating system
decoupled global variables system in Twig from the Templating one
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Resources/config/templating_php.xml
src/Symfony/Bundle/TwigBundle/composer.json
* 2.7:
[FrameworkBundle|TwigBundle] update functional tests configuration files to not use deprecated config keys anymore.
added a relative_path Twig function
added an absolute_url() Twig function
This PR was merged into the 2.7 branch.
Discussion
----------
URL manipulations as a Twig extension
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#4805
While working on the new asset component, I realized that the "absolute URL" feature was misplaced and would benefit from being exposed as a Twig function (composition is always a good thing). Then, I wondered if having a Twig function to generate a relative path (like done by the Routing component would also make sense). And here is the corresponding PR.
```jinja
{# generate an absolute URL for the given absolute path #}
{{ absolute_url('/me.png') }}
{# generate a relative path for the given absolute path (based on the current Request) #}
{{ relative_path('/foo/me.png') }}
{# compose as you see fit #}
{{ absolute_url(asset('me.png')) }}
```
As you can see, we require an absolute path for both functions (and we even add the leading slash if it is omitted), not sure if we want to do otherwise.
ping @tobion
Commits
-------
0ec852d added a relative_path Twig function
ee27ed8 added an absolute_url() Twig function
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] Fix deprecations on TwigBundle and FrameworkBundle semantic configurations
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
8d60396 [FrameworkBundle|TwigBundle] update functional tests configuration files to not use deprecated config keys anymore.
* 2.6:
[PropertyAccessor] Added test to allow null value for a array
[Yaml] Fixed#10597: Improved Yaml directive parsing
[Form] Fixed check of violation constraint #12792
[Form] Set a child type to text if added to the form without a type.
* 2.5:
[PropertyAccessor] Added test to allow null value for a array
[Yaml] Fixed#10597: Improved Yaml directive parsing
[Form] Set a child type to text if added to the form without a type.
* 2.3:
[PropertyAccessor] Added test to allow null value for a array
[Yaml] Fixed#10597: Improved Yaml directive parsing
[Form] Set a child type to text if added to the form without a type.
Conflicts:
src/Symfony/Component/PropertyAccess/PropertyAccessor.php
src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] Set a child type to text if added to the form without a type.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13167
| License | MIT
| Doc PR | -
This copies the behaviour of `FormBuilder::create()` to `Form::add()`.
ping @webmozart
Commits
-------
57070a2 [Form] Set a child type to text if added to the form without a type.
ConstraintViolation::getConstraint() must not expect to provide a
constraint as long as Symfony\Component\Validator\ExecutionContext
exists (before 3.0)
This PR was merged into the 2.7 branch.
Discussion
----------
[FrameworkBundle] avoid using deprecated classes for reflection
| 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
-------
26fa1a5 [FrameworkBundle] avoid using deprecated classes for reflection
This PR was merged into the 2.7 branch.
Discussion
----------
Make that AddExpressionLanguageProviderPass works with aliases
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12847
| License | MIT
| Doc PR |
Replaces #12982 by @maarekj (includes his commit).
Commits
-------
16a22cd [FrameworkBundle] Add a test case for service aliases used with AddExpressionLanguageProviderPass.
fd97cef [FrameworkBundle] fixed#12847 AddExpressionLanguageProviderPass
* 2.7:
added type-hint
[Security] removed usage of the deprecated SecurityContextInterface
[Form] fixed deprecation triggers, removed usage of deprecated features
[EventDispatcher] fixed deprecation notices in the EventDispatcher Component
[HttpFoundation] maked a test as being for deprecated feature
added missing error_reporting
[Yaml] maked a test as being for deprecated feature
[Yaml] removed deprecation notices on internal constant
[Security] moved test files into the right place
[HttpKernel] fixed deprecation notices for ESI classes
[Form] moved a deprecation notice
[Form] fixed the CSRF extension to allow using only the new interfaces
[Form] tweaked a deprecation message
[Validator] Add a Russian translation for the checkDNS option in the URL validator
[Validator] Add a Slovenian translation for the checkDNS option in the URL validator
[Validator] Add a Polish translation for the checkDNS option in the URL validator.
fixed typo
added missing support for factories in console descriptions
[FrameworkBundle] fixed missing information in some descriptors
Conflicts:
src/Symfony/Bridge/Twig/composer.json
src/Symfony/Bundle/SecurityBundle/composer.json
src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
src/Symfony/Component/Yaml/Tests/YamlTest.php
This PR was merged into the 2.7 branch.
Discussion
----------
[Security] removed usage of the deprecated SecurityContextInterface
| 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 removed internal usage of SecurityContextInterface in favor of the new alternatives, it also fixes removes as many deprecation notices as possible for the Security component.
Commits
-------
ba71b68 added type-hint
91d01d8 [Security] removed usage of the deprecated SecurityContextInterface
This PR was merged into the 2.7 branch.
Discussion
----------
[Form] fixed deprecation triggers, removed usage of deprecated features
| 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
-------
60bc402 [Form] fixed deprecation triggers, removed usage of deprecated features
This PR was merged into the 2.7 branch.
Discussion
----------
[EventDispatcher] fixed deprecation notices in the EventDispatcher Component
| 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
-------
98047ae [EventDispatcher] fixed deprecation notices in the EventDispatcher Component
This PR was merged into the 2.7 branch.
Discussion
----------
[Yaml] removed deprecation notices on internal constant
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | antonioribeiro/tracker#56, #13306
| License | MIT
| Doc PR | n/a
Reverting the deprecated notices on `Unescaper::ENCODING` for two reasons:
* The constant is only used internally and nobody ever used it anyway;
* The deprecation notice is ALWAYS triggered when using the YAML component.
Commits
-------
faeed58 [Yaml] removed deprecation notices on internal constant
This PR was merged into the 2.7 branch.
Discussion
----------
[HttpFoundation] maked a test as being for deprecated feature
| 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
-------
a2ea28d [HttpFoundation] maked a test as being for deprecated feature
This PR was merged into the 2.7 branch.
Discussion
----------
[Yaml] maked a test as being for deprecated feature
| 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
-------
651f5fb [Yaml] maked a test as being for deprecated feature
This PR was merged into the 2.7 branch.
Discussion
----------
[HttpKernel] fixed deprecation notices for ESI classes
| 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
-------
bd954aa [HttpKernel] fixed deprecation notices for ESI classes
This PR was merged into the 2.7 branch.
Discussion
----------
[Form] tweaked a deprecation message
| 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
While upgrading an app to 2.7, I found this message unclear. To be honest, and like many developers, I did not read the entire message and I missed the "cast to a string" part.
Commits
-------
a396b41 [Form] tweaked a deprecation message
This PR was merged into the 2.7 branch.
Discussion
----------
[Form] moved a deprecation notice
| 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 deprecation notice on BindListener was wrongly put at the top of the class. This listener is always registered to provide BC, but the deprecation notice should only be generated when taking the path that is deprecated.
Commits
-------
050f4bc [Form] moved a deprecation notice
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] Add a Russian translation for the checkDNS option in the URL validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
ac00b87 [Validator] Add a Russian translation for the checkDNS option in the URL validator
* 2.6:
added missing support for factories in console descriptions
[FrameworkBundle] fixed missing information in some descriptors
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.md
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_1.txt
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_2.txt
* 2.7: (24 commits)
bumped Symfony version to 2.6.4
updated VERSION for 2.6.3
updated CHANGELOG for 2.6.3
bumped Symfony version to 2.6.3
updated VERSION for 2.6.2
updated CHANGELOG for 2.6.2
bumped Symfony version to 2.5.10
updated VERSION for 2.5.9
updated CHANGELOG for 2.5.9
[FrameworkBundle] Use security.token_storage service in Controller::getUser()
bumped Symfony version to 2.3.25
updated VERSION for 2.3.24
update CONTRIBUTORS for 2.3.24
added missing E_USER_DEPRECATED argument to trigger_error() calls
Removed unneeded version requirements
updated CHANGELOG for 2.3.24
fixed tests
[Security] Don't destroy the session on buggy php releases.
Enhance deprecation summary at end of tests
[2.7] silence deprecations for getFactory*() BC layer
...
Conflicts:
CHANGELOG-2.3.md
CHANGELOG-2.5.md
CHANGELOG-2.6.md
src/Symfony/Component/Form/Tests/ResolvedFormTypeTest.php
* 2.6:
bumped Symfony version to 2.6.4
updated VERSION for 2.6.3
updated CHANGELOG for 2.6.3
bumped Symfony version to 2.6.3
updated VERSION for 2.6.2
updated CHANGELOG for 2.6.2
bumped Symfony version to 2.5.10
updated VERSION for 2.5.9
updated CHANGELOG for 2.5.9
[FrameworkBundle] Use security.token_storage service in Controller::getUser()
bumped Symfony version to 2.3.25
updated VERSION for 2.3.24
update CONTRIBUTORS for 2.3.24
Removed unneeded version requirements
updated CHANGELOG for 2.3.24
fixed tests
[Security] Don't destroy the session on buggy php releases.
[Process] Fix input reset in WindowsPipes
add back model_timezone and view_timezone options
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.5:
bumped Symfony version to 2.5.10
updated VERSION for 2.5.9
updated CHANGELOG for 2.5.9
bumped Symfony version to 2.3.25
updated VERSION for 2.3.24
update CONTRIBUTORS for 2.3.24
Removed unneeded version requirements
updated CHANGELOG for 2.3.24
fixed tests
[Security] Don't destroy the session on buggy php releases.
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.6 branch.
Discussion
----------
[Form] add back model_timezone and view_timezone options
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13224
| License | MIT
| Doc PR | TODO (deprecate the `model_timezone` and `view_timezone` options)
This reverts #12404.
Commits
-------
1c4a75a add back model_timezone and view_timezone options
This PR was merged into the 2.6 branch.
Discussion
----------
[Process] Fix input reset in WindowsPipes
| 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
Unsetting the input property causes an E_NOTICE error when the
property is checked on line 249 (and is likely unintentional anyway).
Commits
-------
4e941e3 [Process] Fix input reset in WindowsPipes
This PR was squashed before being merged into the 2.6 branch (closes#13214).
Discussion
----------
[FrameworkBundle] Use security.token_storage service in Controller::getUser()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Replace deprecated `security.context` with `security.token_storage` service.
Commits
-------
f46ce9c [FrameworkBundle] Use security.token_storage service in Controller::getUser()
* 2.3:
bumped Symfony version to 2.3.25
updated VERSION for 2.3.24
update CONTRIBUTORS for 2.3.24
updated CHANGELOG for 2.3.24
fixed tests
[Security] Don't destroy the session on buggy php releases.
Conflicts:
src/Symfony/Component/Console/Tests/Fixtures/application_2.json
src/Symfony/Component/HttpKernel/Kernel.php
This PR was squashed before being merged into the 2.3 branch (closes#13286).
Discussion
----------
[Security] Don't destroy the session on buggy php releases.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13269, #13283
| License | MIT
| Doc PR | none
See #13269 for the discussion. This workaround avoids destroying the old session after login on the migrate strategy when running under a php version that we know to be broken.
Corresponding php bug: https://bugs.php.net/bug.php?id=63379
Commits
-------
5d0b527 [Security] Don't destroy the session on buggy php releases.
This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] Refactoring and object_to_populate support.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | n/a
This PR is mainly a refactoring. It move up the common code of `PorpertyNormalizer` and `GetSetMethodNormalizer` into `AbstractNormalizer`.
It also adds a news feature: the ability to use an existing object instance for denormalization:
```php
$dummy = new GetSetDummy();
$dummy->setFoo('foo');
$obj = $this->normalizer->denormalize(
array('bar' => 'bar'),
'GetSetDummy',
null,
array('object_to_populate' => $dummy)
);
// $obj and $dummy are references to the same object
```
Commits
-------
b5990be [Serializer] Refactoring and object_to_populate support.
This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] Add circular reference handling to the PropertyNormalizer
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | n/a
Move circular references handling to `AbstractNormalizer` and use it in `PropertyNormalizer`.
Commits
-------
fbc9335 [Serializer] Add circular reference handling to the PropertyNormalizer
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] silence deprecations for getFactory*() BC layer
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
From 150k to 5k notices
Commits
-------
998dedf [2.7] silence deprecations for getFactory*() BC layer
* 2.7:
[WIP] Made help information of commands more consistent
[HttpKernel] deprecated ContainerAwareHttpKernel
Deprecate the translator implementation in the Validator component
[2.6] Added internal annotation on Descriptor classes
Made CLI help consistent
Made help information consistent
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
src/Symfony/Component/Validator/composer.json
* 2.6:
[WIP] Made help information of commands more consistent
[2.6] Added internal annotation on Descriptor classes
Made CLI help consistent
Made help information consistent
* 2.5:
[WIP] Made help information of commands more consistent
Made help information consistent
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
src/Symfony/Component/Console/Tests/Fixtures/application_1.txt
src/Symfony/Component/Console/Tests/Fixtures/application_2.txt
src/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt
src/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt
src/Symfony/Component/Console/Tests/Fixtures/application_gethelp.txt
src/Symfony/Component/Console/Tests/Fixtures/application_run1.txt
This PR was merged into the 2.6 branch.
Discussion
----------
[2.6] Made help information of commands more consistent
Just like https://github.com/symfony/symfony/pull/13231, but then for commands added in 2.6
Commits
-------
57b08e4 Made CLI help consistent
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5] Made help information of commands more consistent
Follow up of https://github.com/symfony/symfony/pull/13231 for commands added in 2.4 and 2.5
Commits
-------
a450d66 Made help information consistent
* 2.3:
[WIP] Made help information of commands more consistent
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php
src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php
src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
src/Symfony/Component/Console/Tests/Fixtures/application_1.json
src/Symfony/Component/Console/Tests/Fixtures/application_2.json
This PR was squashed before being merged into the 2.3 branch (closes#13231).
Discussion
----------
[WIP] Made help information of commands more consistent
| Q | A
| --- | ---
| Test pass | Not yet
| License | MIT
| Fixed tickets | -
Commits
-------
602d687 [WIP] Made help information of commands more consistent
This PR was merged into the 2.7 branch.
Discussion
----------
[HttpKernel] deprecated ContainerAwareHttpKernel
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
In Symfony 3.0, the `request` scope will be removed as the `request` is not a service anymore. So, the `ContainerAwareHttpKernel` should be deprecated now as it won't be needed anymore in 3.0. I've moved the only line of code that is still relevant in `HttpKernel` directly.
Note that I did not trigger a deprecation notice as the class is still used in Symfony 2.7.
Commits
-------
0c50301 [HttpKernel] deprecated ContainerAwareHttpKernel
The Translation component already provides an implementation which only
deals with replacing parameters in the message without translating it.
Duplicating the logic in the Validator component is not needed (and it
is the wrong place for it).
* 2.7: (23 commits)
[FrameworkBundle] Removed the use of TableHelper
Spanish translation for the ```checkDNS``` option introduced in #12956.
use Table instead of the deprecated TableHelper
[2.3] fix failing test
Fixes more deprecation notices as per @stof review.
Fixed some deprecations according to @stof feedbacks.
Normalizes deprecation notice messages.
[Validator] fixes UuidValidator deprecated class namespace.
[Form] adds more deprecation notices.
[Validator] adds more deprecation notices.
[Form] Adds a way to trigger deprecation notice on demand for VirtualFormAwareIterator class.
Fixes more deprecation notices.
Normalized @deprecated annotations.
Removed deprecation notices from test files.
Fixes deprecation notices.
Reverted trigger_error() function calls on deprecated interfaces to prevent breaking third party projects implementing them.
Adds deprecation notices for structures to be removed in 3.0.
fixed typo
Escape annotations in comments, refs #13089.
[2.3] missing cleanup for legacy test
...
Conflicts:
.travis.yml
src/Symfony/Bridge/Monolog/Logger.php
src/Symfony/Bridge/Swiftmailer/DataCollector/MessageDataCollector.php
src/Symfony/Bridge/Twig/Node/FormEnctypeNode.php
src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/Descriptor.php
src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
src/Symfony/Bundle/FrameworkBundle/HttpCache/HttpCache.php
src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.txt
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.txt
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.txt
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/parameters_1.txt
src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_collection_1.txt
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Component/Config/Definition/ReferenceDumper.php
src/Symfony/Component/Console/Helper/DialogHelper.php
src/Symfony/Component/Console/Helper/ProgressHelper.php
src/Symfony/Component/Console/Helper/TableHelper.php
src/Symfony/Component/Form/Deprecated/FormEvents.php
src/Symfony/Component/Form/Extension/HttpFoundation/EventListener/BindRequestListener.php
src/Symfony/Component/Form/FormEvents.php
src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
src/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/HttpKernel/KernelInterface.php
src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php
src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
src/Symfony/Component/Yaml/Yaml.php
* 2.6:
use Table instead of the deprecated TableHelper
[2.3] fix failing test
fixed typo
Escape annotations in comments, refs #13089.
[2.3] missing cleanup for legacy test
add missing param names to @param annotation
Improve the composer root version setting on Travis
use Table instead of the deprecated TableHelper
Conflicts:
src/Symfony/Bundle/FrameworkBundle/composer.json
* 2.5:
[2.3] fix failing test
fixed typo
Escape annotations in comments, refs #13089.
[2.3] missing cleanup for legacy test
add missing param names to @param annotation
Improve the composer root version setting on Travis
use Table instead of the deprecated TableHelper
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
* 2.3:
[2.3] fix failing test
fixed typo
Escape annotations in comments, refs #13089.
[2.3] missing cleanup for legacy test
add missing param names to @param annotation
Improve the composer root version setting on Travis
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] adds deprecation notices.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12608, #12672, #12675#12684, #12686
| License | MIT
| Doc PR | ~
Commits
-------
f9fbb4f Fixes more deprecation notices as per @stof review.
fd47c07 Fixed some deprecations according to @stof feedbacks.
2a3e7d2 Normalizes deprecation notice messages.
738b9be [Validator] fixes UuidValidator deprecated class namespace.
e608ba6 [Form] adds more deprecation notices.
cd9617a [Validator] adds more deprecation notices.
a7f841e [Form] Adds a way to trigger deprecation notice on demand for VirtualFormAwareIterator class.
97efd2c Fixes more deprecation notices.
fd9c7bb Normalized @deprecated annotations.
39cfd47 Removed deprecation notices from test files.
2a9749d Fixes deprecation notices.
6f57b7b Reverted trigger_error() function calls on deprecated interfaces to prevent breaking third party projects implementing them.
86b9f6b Adds deprecation notices for structures to be removed in 3.0.
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] use Table instead of the deprecated TableHelper
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
c5ad74d use Table instead of the deprecated TableHelper
* 2.7:
[2.6] fix deprecation silencing...
[Form] fix Context\ExecutionContextInterface mock
add german translation for checkDNS option
[Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
* 2.6:
[2.6] fix deprecation silencing...
[Form] fix Context\ExecutionContextInterface mock
[Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
* 2.5:
[Form] fix Context\ExecutionContextInterface mock
[Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
This PR was merged into the 2.3 branch.
Discussion
----------
CS: add missing param names to @param annotation
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
as stated by @stof [here](https://github.com/symfony/symfony/pull/12886#issuecomment-68626732)
Commits
-------
665825b add missing param names to @param annotation
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5] [Validator] marks TraversalStrategy::STOP_RECURSION constant internal
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
This constant has been introduced for the BC layer and will be removed in 3.0.
Commits
-------
583fee4 [Validator] marks TraversalStrategy::STOP_RECURSION constant internal as it has been introduced for the BC layer and will be removed in 3.0.
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] add german translation for checkDNS option
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
German translation for the `checkDNS` option introduced in #12956.
Commits
-------
33d79b6 add german translation for checkDNS option
- Moves dumping single-quoting logic into Yaml\Escaper
- Ensures that PHP values which would be interpreted as booleans in
older versions of the YAML spec are escaped with single quotes when
dumped by the Dumper.
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7][Validator] Added checkDNS option on URL validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10088
| License | MIT
| Doc PR | symfony/symfony-docs#4631
Commits
-------
ad2f906 [Validator] Added a check DNS option on URL validator
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] missing cleanup for legacy test
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
7e929ab [2.3] missing cleanup for legacy test
This PR was merged into the 2.6 branch.
Discussion
----------
[Debug] split tests for deprecated interfaces
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Splitting tests for deprecated interfaces in "Legacy" prefixed test classes/methods should be done for every component.
Let's start by this simple one. To anyone: help welcomed for the other components.
Commits
-------
3a18cc6 [Debug] split tests for deprecated interfaces
* 2.7:
[TwigBundle] always load the exception listener if the templating.engines is not present
[TwigBundle] removed the Container dependency on ActionsExtension
[Filesystem] keep exec perms when copying
fixed typo
Fixed minor typo - override
[Filesystem] enforce umask while testing
[TwigBridge] moved fixtures into their own directory
[2.3] Fix lowest deps
[TwigBundle] added missing @deprecated tags
Use $this->iniSet() in tests
Conflicts:
src/Symfony/Bundle/TwigBundle/composer.json
This PR was merged into the 2.7 branch.
Discussion
----------
[TwigBundle] always load the exception listener if the templating.engines is not present
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | fixes#11876 partially
| License | MIT
| Doc PR | n/a
This PR removes (partially) the dependency of TwigBundle on FrameworkBundle. If FrameworkBundle is not registered, the Twig exception listener is always registered (this change was part of #13143 but as it is now totally independent, I've created a new PR).
Commits
-------
30ba9df [TwigBundle] always load the exception listener if the templating.engines is not present
* 2.6:
fixed typo
Fixed minor typo - override
[Filesystem] enforce umask while testing
[TwigBridge] moved fixtures into their own directory
Use $this->iniSet() in tests
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5] Use $this->iniSet() in tests
| 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
Conversion for 2.3 was done in #13195.
Only one test in 2.5 where replacing `ini_set()` with `$this->iniSet()` was needed. Other uses were class wide and in isolated tests.
Commits
-------
6309ffd Use $this->iniSet() in tests
* 2.3:
[Filesystem] enforce umask while testing
[TwigBridge] moved fixtures into their own directory
Conflicts:
src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Filesystem] enforce umask while testing
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Having a predictable umask (but not the usual one) should help (TDD for #13222).
When merging in 2.5, the patch should be moved to the new `FilesystemTestCase`
Commits
-------
1e547be [Filesystem] enforce umask while testing
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBridge] moved fixtures into their own directory
Commits
-------
0b775cd [TwigBridge] moved fixtures into their own directory
* 2.5:
[2.3] Remove useless tests skips
[ClassLoader] removes deprecated classes from documentation.
[ClassLoader] added missing deprecation notice.
[HttpFoundation] Fix an issue caused by php's Bug #66606.
[Yaml] Update README.md
Don't add Accept-Range header on unsafe HTTP requests
simplify hasScheme method
adapted merge to 2.5
adapted previous commit for 2.3
[Security] Don't send remember cookie for sub request
[Security] fixed wrong phpdoc
[HttpKernel] Fix UriSigner::check when _hash is not at the end of the uri
[2.3] Cleanup deprecations
Conflicts:
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/logger.html.twig
src/Symfony/Component/HttpKernel/composer.json
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBundle] added missing @deprecated tags
The `Symfony\Bundle\TwigBundle\Extension\ActionsExtension` class has been deprecated in Symfony 2.2 but we forgot to deprecate the related classes.
Commits
-------
82f8a79 [TwigBundle] added missing @deprecated tags
This PR was squashed before being merged into the 2.7 branch (closes#12750).
Discussion
----------
[Hackday] - add trigger error for deprecated clases.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | -
| Fixed tickets | #12669
| License | MIT
| Doc PR | -
Commits
-------
48dd497 [Hackday] - add trigger error for deprecated clases.
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] Update README.md
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
The ability to pass file names to Yaml::parse() was deprecated in 2.2 and will be removed in 3.0. So show an up-to-date example.
Commits
-------
bab98f0 [Yaml] Update README.md
* 2.3:
adapted previous commit for 2.3
[Security] Don't send remember cookie for sub request
[HttpKernel] Fix UriSigner::check when _hash is not at the end of the uri
Conflicts:
src/Symfony/Component/Security/Http/Tests/RememberMe/ResponseListenerTest.php
This PR was merged into the 2.7 branch.
Discussion
----------
[DX] [HttpKernel] Use "context" argument when logging route in RouterListener
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
When using the "fingers_crossed" option, I only log stuff when a certain level is reached. I found the matched route with parameters to be extremely useful. The only problem was, that it gets dumped in a string, which reduces readability significantly when having multiple parameters.
I've used the context argument to provide the additional information so it becomes easier to read. Especially for formatters that use the context, such as the HtmlFormatter, can really use this.
*I've done a quick check and noticed that almost always the information is dumped in the message, while I think it should be in the context. Is this something that should be changed in general?*
Commits
-------
448c03f [HttpKernel] RouterListener uses "context" argument when logging route
This PR was merged into the 2.7 branch.
Discussion
----------
[Filesystem] Keep executable permission when a file is copied
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | /
| License | MIT
| Doc PR | /
I made this PR in order to have the same behavior as the default `cp` unix command: permissions are not keep when copying a file at the exception of the execution flag (unless `-p` is passed to the command).
Commits
-------
b8f8234 [Filesystem] Keep executable permission when a file is copied
* 2.7:
Use PHPUnit ini_set wrapper in tests
[Process] Added a test skip check for Windows
[Process] Removed unused variable assignment
Fixes various phpdoc and coding standards.
Fixes Issue #13184 - incremental output getters now return empty strings
Updated copyright to 2015
Updated copyright to 2015
Updated copyright to 2015
[VarDumper] increase debug.max_items to 2500
[Debug] Update exception messages.
use value of DIRECTORY_SEPARATOR to detect Windows
force ExpressionLanguage version >= 2.6
[Debug] fixes ClassNotFoundFatalErrorHandler to correctly handle class not found errors with Symfony ClassLoader component autoloaders.
Clarify a comment.
use PHP_WINDOWS_VERSION_BUILD to detect Windows
Check if a field type_class is defined before using it.
Currently if you want to use inline bootstrap form rendering, this is usually enough:
Add deprecation warning to LegacyPdoSessionHandler
Conflicts:
src/Symfony/Bridge/Monolog/Logger.php
src/Symfony/Bridge/Swiftmailer/LICENSE
src/Symfony/Component/Debug/composer.json
src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
* 2.6:
Use PHPUnit ini_set wrapper in tests
[Process] Added a test skip check for Windows
[Process] Removed unused variable assignment
Fixes various phpdoc and coding standards.
Fixes Issue #13184 - incremental output getters now return empty strings
Updated copyright to 2015
Updated copyright to 2015
Updated copyright to 2015
[VarDumper] increase debug.max_items to 2500
[Debug] Update exception messages.
use value of DIRECTORY_SEPARATOR to detect Windows
force ExpressionLanguage version >= 2.6
[Debug] fixes ClassNotFoundFatalErrorHandler to correctly handle class not found errors with Symfony ClassLoader component autoloaders.
Clarify a comment.
use PHP_WINDOWS_VERSION_BUILD to detect Windows
Check if a field type_class is defined before using it.
Currently if you want to use inline bootstrap form rendering, this is usually enough:
Conflicts:
src/Symfony/Component/Debug/composer.json
* 2.5:
Use PHPUnit ini_set wrapper in tests
[Process] Added a test skip check for Windows
[Process] Removed unused variable assignment
Fixes various phpdoc and coding standards.
Fixes Issue #13184 - incremental output getters now return empty strings
Updated copyright to 2015
Updated copyright to 2015
Clarify a comment.
Conflicts:
src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
* 2.3:
Use PHPUnit ini_set wrapper in tests
[Process] Added a test skip check for Windows
[Process] Removed unused variable assignment
Fixes various phpdoc and coding standards.
Fixes Issue #13184 - incremental output getters now return empty strings
Updated copyright to 2015
Conflicts:
src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php
src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
src/Symfony/Component/Debug/ExceptionHandler.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
PHPUnit ini_set wrapper is now used in tests to automatically reset
ini settings after the test is run. This avoids possible side effects
and test skipping.
Native ini_set is still used in DefaultCsrfProviderTest, but its
tests are run in isolation.
This PR was merged into the 2.7 branch.
Discussion
----------
Add deprecation warning to LegacyPdoSessionHandler
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
| Doc PR | N/A
LegacyPdoSessionHandler has been deprecated in favor of PdoSessionHandler. Trigger an E_USER_DEPRECATED error when the deprecated class is used.
Addresses @fabpot's comment on [#13068](https://github.com/symfony/symfony/pull/13068#issuecomment-67977358).
Commits
-------
3b9c073 Add deprecation warning to LegacyPdoSessionHandler
This PR was merged into the 2.6 branch.
Discussion
----------
[TwigBridge] bootstrap_3_layout.html.twig inline form rendering button problem fix#13150
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13150
| License | MIT
| Doc PR |
Commits
-------
10df5d1 Currently if you want to use inline bootstrap form rendering, this is usually enough:
This PR was merged into the 2.6 branch.
Discussion
----------
[DependencyInjection] force ExpressionLanguage version >= 2.6
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13176
| License | MIT
| Doc PR |
The DependencyInjection component requires the ExpressionLanguage
component to be present in version 2.6 or higher to be able to use
expressions in service configurations since Symfony 2.6.
Commits
-------
625a02c force ExpressionLanguage version >= 2.6
* 2.5:
[Debug] fixes ClassNotFoundFatalErrorHandler to correctly handle class not found errors with Symfony ClassLoader component autoloaders.
use PHP_WINDOWS_VERSION_BUILD to detect Windows
Conflicts:
src/Symfony/Component/Process/ProcessPipes.php
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5] for consistency, use DIRECTORY_SEPARATOR to detect Windows
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This commit unifies the detection of Windows builds across the Symfony
codebase.
Specific changes for Symfony 2.5 not included in #13147.
Commits
-------
559273e use PHP_WINDOWS_VERSION_BUILD to detect Windows
The DependencyInjection component requires the ExpressionLanguage
component to be present in version 2.6 or higher to be able to use
expressions in service configurations since Symfony 2.6.
This PR was merged into the 3.0-dev branch.
Discussion
----------
[Console] Removed DialogHelper, ProgressHelper and TableHelper
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
- [X] Adapt output in fixtures according to the standard display with table.
Commits
-------
dfb9706 [Console] Removed DialogHelper, ProgressHelper and TableHelper
This PR was merged into the 2.6 branch.
Discussion
----------
Fix a web profiler form issue with fields added to the form after the form was built
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no, but not because of this PR
| Fixed tickets | #13155
| License | MIT
| Doc PR | -
This also make the check consistent with a similar check in this template made further down:
* check for `data.type_class`, instead of `data.type`
* check if `data.type_class` is defined rather than if it's empty
The problem doesn't exist in 2.5.
Commits
-------
1e794ca Check if a field type_class is defined before using it.
* 2.7:
[Debug] track and report deprecated classes and interfaces
[Form] Remove a redundant test.
use value of DIRECTORY_SEPARATOR to detect Windows
Conflicts:
src/Symfony/Bundle/SecurityBundle/Tests/Functional/SecurityRoutingIntegrationTest.php
src/Symfony/Component/Security/Core/Util/SecureRandom.php
* 2.3:
[Form] Remove a redundant test.
use value of DIRECTORY_SEPARATOR to detect Windows
Conflicts:
src/Symfony/Component/Console/Application.php
src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php
src/Symfony/Component/Process/Process.php
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] for consistency, use value of DIRECTORY_SEPARATOR to detect Windows
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This commit unifies the detection of Windows builds across the Symfony
codebase.
Commits
-------
20a427d use value of DIRECTORY_SEPARATOR to detect Windows
This PR was merged into the 2.7 branch.
Discussion
----------
[Debug] track and report deprecated classes and interfaces
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
a541faf [Debug] track and report deprecated classes and interfaces
This make the check consistent with a similar check in this template made further down, and fixes an issue with fields added to the form after the form was built.
* 2.7: (26 commits)
Updated generateSql tool
Fix grammar
Fix the implementation of deprecated Locale classes
Fix phpdoc and coding standards
Replace usages of the deprecated TypeTestCase by the new one
Remove usages of deprecated constants
Update functional tests to use the PSR NullLogger
Updated the SQL data generated from the generateSql tool
Updated generateSql tool
fix regression in form tests after pr #13027 | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | -
[FrameworkBundle] added a test router for the buil-in web server
Make fabbot happy
Clean up testing
No global state for isolated tests and other fixes
No global state for isolated tests and other fixes
fix#10054 - form data collector with dynamic fields
[TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
[Debug] fix checkip6
[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
[2.7] Allow 3.0 requirements
...
* 2.6: (21 commits)
Updated generateSql tool
Fix grammar
Fix the implementation of deprecated Locale classes
Fix phpdoc and coding standards
Replace usages of the deprecated TypeTestCase by the new one
Remove usages of deprecated constants
Update functional tests to use the PSR NullLogger
fix regression in form tests after pr #13027 | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | -
Make fabbot happy
Clean up testing
No global state for isolated tests and other fixes
No global state for isolated tests and other fixes
fix#10054 - form data collector with dynamic fields
[TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
[Debug] fix checkip6
[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
Update the note about origins of the CssSelector component.
Use the correct cssselect library name in docblocks.
Fix wrong DateTransformer timezone param for non-UTC configuration. #12808
[Form] Add further timezone tests for date type
...
Conflicts:
src/Symfony/Component/Locale/Locale.php
src/Symfony/Component/Locale/composer.json
* 2.5:
Updated generateSql tool
Fix the implementation of deprecated Locale classes
Fix phpdoc and coding standards
Replace usages of the deprecated TypeTestCase by the new one
Remove usages of deprecated constants
Update functional tests to use the PSR NullLogger
fix regression in form tests after pr #13027 | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | - | License | MIT | Doc PR | -
Make fabbot happy
Clean up testing
No global state for isolated tests and other fixes
No global state for isolated tests and other fixes
fix#10054 - form data collector with dynamic fields
[TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
[Debug] fix checkip6
[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
Update the note about origins of the CssSelector component.
Use the correct cssselect library name in docblocks.
[DomCrawler] fixed bug #12143
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Templating/GlobalVariables.php
src/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php
* 2.3:
Updated generateSql tool
Fix the implementation of deprecated Locale classes
Fix phpdoc and coding standards
Replace usages of the deprecated TypeTestCase by the new one
Remove usages of deprecated constants
Update functional tests to use the PSR NullLogger
Make fabbot happy
Clean up testing
[DomCrawler] fixed bug #12143
Conflicts:
src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
src/Symfony/Bundle/FrameworkBundle/Tests/Templating/TimedPhpEngineTest.php
src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php
src/Symfony/Component/Console/Application.php
src/Symfony/Component/DomCrawler/Crawler.php
src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php
src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php
src/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
src/Symfony/Component/Serializer/Encoder/EncoderInterface.php
src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataFactoryTest.php
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] Allow 3.0 requirements
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | lets see
| Fixed tickets | -
| License | MIT
| Doc PR | -
2.7 is going to provide almost the same interfaces as 3.0 but also a BC layer for previous releases.
This means that 2.7 is going to be mostly compatible with 3.0.
Lets continuously test this assumption and see when and were we break compat with 2.7 (and try to avoid it as much as possible to smoothen the transition to 3.0).
Commits
-------
b369bb6 [2.7] Allow 3.0 requirements
This PR was merged into the 2.3 branch.
Discussion
----------
Fix the implementation of deprecated Locale classes
| 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
The ICU component does not exist anymore, but the BC layer was still referencing it.
Commits
-------
eb0637f Fix the implementation of deprecated Locale classes
This PR was merged into the 2.3 branch.
Discussion
----------
Fix phpdoc and coding standards
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
This removes the unused use statements which were not catched by PHP-CS-Fixer because of string occurences. It also fixes some invalid phpdoc (scalar is not recognized as a valid type for instance).
This is complementary to https://github.com/symfony/symfony/pull/13134
Commits
-------
8cc3f6a Fix phpdoc and coding standards
This PR was merged into the 2.3 branch.
Discussion
----------
Remove usages of deprecated constants
| 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 removes the usage of deprecated constants in our code.
I'm applying this in 2.3 to make merging branches easier. This is especially needed for 2.7 because of deprecation warnings added in #13060 (warnings are triggered in this PR because of these usages)
Commits
-------
6c00c22 Remove usages of deprecated constants
This PR was merged into the 2.3 branch.
Discussion
----------
Update functional tests to use the PSR NullLogger
| 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 avoids using the deprecated NullLogger in tests.
I'm applying this in 2.3 to make merging branches easier. This is especially needed for 2.7 because of deprecation warnings added in #13060 (tests are failing in this PR currently because of that)
Commits
-------
30cff26 Update functional tests to use the PSR NullLogger
This removes the unused use statements which were not catched by
PHP-CS-Fixer because of string occurences. It also fixes some invalid
phpdoc (scalar is not recognized as a valid type for instance).
enough:
1. Using bootstrap_3_layout.html.twig
2. Rendering form with `{{ form(form, { 'attr': {'class': 'form-inline'} }) }}`
Form rendering breaks for buttons as the buttons are rendered in a separate
<div> element without any attributes (this is coming from
form_div_layout.html.twig which has this block hard-coded). The rest of the
elements render with <div class="form-group"> which make them compatible with
form-inline attribute in the form (`<form class="form-inline">`).
The problem makes buttons render on new lines for inline forms. Extending
button_row in bootstrap_3_layout.html.twig template fixes this.
Signed-off-by: Edvinas Klovas <edvinas@pnd.io>
This PR was merged into the 2.6 branch.
Discussion
----------
[Form] Add further timezone tests for date type
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no (failing tests added)
| Fixed tickets | Adds tests for bug in #12808
| License | MIT
| Doc PR | ~
#12404 removed the timezone options from DateType and TimeType, however the tests don't cover all cases and there was a bug introduced as per #12808.
This PR adds tests for the expected behaviour but will not fix the bug.
Unfortunately, it seems that the tests are being skipped in the form component on Travis (and have been for a year) - probably due to the ICU version being changed.
Commits
-------
f919793 [Form] Add further timezone tests for date type
This PR was merged into the 2.6 branch.
Discussion
----------
Fix wrong DateTransformer timezone param for non-UTC configuration
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | N/A
| Fixed tickets | #12808
| License | MIT
| Doc PR | none
This PR is a fix of a little mistake on PR #12404.
Thanks @mvrhov for the clue! 👍
Pass 'UTC' param cause issue on single_text date type, `null` should be passed to get the default php timezone.
Don't know how to add test for #12808 issue, do someone know how to "change" properly timezone during tests? Where can I do this?
Thanks.
Commits
-------
0104f15 Fix wrong DateTransformer timezone param for non-UTC configuration. #12808
* 2.3:
No global state for isolated tests and other fixes
[TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
[Debug] fix checkip6
[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
Update the note about origins of the CssSelector component.
Use the correct cssselect library name in docblocks.
This PR was merged into the 2.3 branch.
Discussion
----------
No global state for isolated tests and other fixes
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
By default, phpunit preserves global state for isolated processes. This made the tests break on my laptop.
Other tweaks included.
In branch 2.5, `src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php` also misses the `@preserveGlobalState disabled` annotation. Please add it when merging
Commits
-------
750f3a6 No global state for isolated tests and other fixes
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11773
| License | MIT
| Doc PR | n/a
The default escaping strategy was set on the Twig Engine and not the Twig Environment. That's a problem under some circumstances (like what #11773 describes), but it's also much better to set everything on the Twig Environment directly.
Commits
-------
91b24e8 [TwigBundle] Moved the setting of the default escaping strategy from the Twig engine to the Twig environment
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP head...
| 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
On symfony.com, we have errors related to IP addresses in the `X-Forwarded-For` HTTP header that have a port. If that happens (I have no ideas what is doing that), the page crashes with an error like `inet_pton(): Unrecognized address 187.65.229.211:63479` (which comes from IpUtils::checkIpv6()). This fixes the root cause by removing the port.
#12572 is solving the consequence and I propose to also merge it.
Commits
-------
60ad382 [HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
This PR was merged into the 2.7 branch.
Discussion
----------
[FrameworkBundle] Optimize validator registration
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Optimize validator registration (avoid an unneeded loop and access to the Reflection API).
Commits
-------
9c5b9e1 [FrameworkBundle] Optimize validator registration
* 2.5:
[FrameworkBundle] fix browserkit requirement
[TwigBridge] fix form requirement
[FrameworkBundle] fix http-foundation requirement
[CssSelector] added the license of the Python library we ported to PHP
[SecurityBundle] avoid unneeded work
Conflicts:
src/Symfony/Bridge/Twig/composer.json
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Component/HttpKernel/composer.json
* 2.3:
[TwigBridge] fix form requirement
[CssSelector] added the license of the Python library we ported to PHP
[SecurityBundle] avoid unneeded work
Conflicts:
src/Symfony/Bridge/Twig/composer.json
This PR was merged into the 2.3 branch.
Discussion
----------
[CssSelector] added the license of the Python library we ported to PHP
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11894
| License | MIT
| Doc PR | n/a
Commits
-------
fa36b98 [CssSelector] added the license of the Python library we ported to PHP
* 2.7:
[Security/Http] fix mock logger in test
[Serializer] Fix XmlFileLoader test
[2.6] silence deprecation notices in new components
[2.5] silence deprecation notices in new components
[VarDumper] Minor fix for the uniformity
[TwigBundle] added missing absolute URL in Twig exceptions
* 2.6:
[2.6] silence deprecation notices in new components
[2.5] silence deprecation notices in new components
[VarDumper] Minor fix for the uniformity
[TwigBundle] added missing absolute URL in Twig exceptions
Conflicts:
src/Symfony/Bundle/DebugBundle/phpunit.xml.dist
src/Symfony/Component/ExpressionLanguage/phpunit.xml.dist
src/Symfony/Component/Security/Acl/phpunit.xml.dist
src/Symfony/Component/Security/Core/phpunit.xml.dist
src/Symfony/Component/Security/Csrf/phpunit.xml.dist
src/Symfony/Component/Security/Http/phpunit.xml.dist
src/Symfony/Component/VarDumper/phpunit.xml.dist
This PR was merged into the 2.6 branch.
Discussion
----------
[2.6] silence deprecation notices in new components
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
b0a156f [2.6] silence deprecation notices in new components
This PR was merged into the 2.7 branch.
Discussion
----------
[Serializer] Fix XmlFileLoader test
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | not yet
Fix a bug in `XmlFileLoaderTest` tests.
Commits
-------
efd39cf [Serializer] Fix XmlFileLoader test
* 2.7:
[DependencyInjection] use/fix newest Definition::setFactory
fixed unit tests
[2.7] print deprecation summary at end of tests
[Bridge] [Propel] minor improvements to the Propel bridge.
[FrameworkBundle] Allow custom services for validator mapping cache.
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] Allow custom services for validator mapping cache.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12803
| License | MIT
| Doc PR | -
#9892 introduced `DoctrineCache`, but it's not really used by the FrameworkBundle. This was overlooked, therefore I think it should go into 2.5.
This PR will let us to configure a service id, instead of a driver name. The only exception is apc, which is converted to `validator.mapping.cache.apc` to keep BC.
Examples:
```yaml
framework:
validation:
cache: apc # converted to validator.mapping.cache.apc
```
```yaml
framework:
validation:
cache: my_custom_cache_service
```
It would be nice to be able to provide a doctrine service id, instead of `CacheInterface` implementation. It could be automatically decorated with `DoctrineCache`:
```yaml
framework:
validation:
cache:
doctrine: my_doctrine_cache_service # could be provided by DoctrineCacheBundle
```
I'll work on it next.
Commits
-------
4cdcf10 [FrameworkBundle] Allow custom services for validator mapping cache.
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [Bridge] [Propel] minor improvements to the Propel bridge.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
6d9d460 [Bridge] [Propel] minor improvements to the Propel bridge.
* 2.7:
Add LegacyPdoSessionHandler class
fix dependency on ExtensionInterface over implementation
[Console] Remove $this in closure
[FrameworkBundle] forward error reporting level to insulated Client
[VarDumper] fix and test PdoCaster
[Config] fix error handler restoration in test
* 2.6:
Add LegacyPdoSessionHandler class
fix dependency on ExtensionInterface over implementation
[FrameworkBundle] forward error reporting level to insulated Client
[VarDumper] fix and test PdoCaster
[Config] fix error handler restoration in test
* 2.5:
fix dependency on ExtensionInterface over implementation
[FrameworkBundle] forward error reporting level to insulated Client
[Config] fix error handler restoration in test
The changes made to the PdoSessionHandler in 2.6 introduced a
backwards-compatability break for users upgrading from 2.5. This update
introduces a LegacyPdoSessionHandler class that uses the old service's
functionality.
Users who cannot make schema updates or do not want to lose sessions can
use LegacyPdoSessionHandler until 3.0.
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] fix error handler restoration in test
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
266afeb [Config] fix error handler restoration in test
This PR was merged into the 2.6 branch.
Discussion
----------
[VarDumper] fix and test PdoCaster
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13042
| License | MIT
| Doc PR | -
Commits
-------
0b1be13 [VarDumper] fix and test PdoCaster
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] forward error reporting level to insulated Client
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Especially if deprecation notices are silenced on the main php instance, we should also silence them in the insulated Client
Commits
-------
d82e062 [FrameworkBundle] forward error reporting level to insulated Client
* 2.7:
[2.3] CS And DocBlock Fixes
[Serializer] Serialization groups support
[2.3] CS Fixes
Fixed the issue 11116
[Security] Fixed tests
[Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
[FrameworkBundle] Fixed Translation loader and update translation command.
[Console] remove « use » statement for PHP built-in exception classes.
[SecurityBundle] replaced deprecated SecurityContextInterface dependency by new TokenStorageInterface instance in SecurityDataCollector. Also added unit tests suite for SecurityDataCollector class.
[SecurityBundle] use TokenStorageInterface instead of deprecated SecurityContextInterface in SecurityDataCollector and added unit tests suite.
[SecurityBundle] adds unit tests suite for SecurityDataCollector class.
[Serializer] Add xml_format_output context option. Close#12517.
[WebProfilerBundle] Fixed IE8 support
This PR was squashed before being merged into the 3.0-dev branch (closes#12994).
Discussion
----------
Add LegacyPdoSessionHandler class
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12833
| License | MIT
| Doc PR | N/A
The changes made to the PdoSessionHandler in 2.6 introduced a
backwards-compatability break for users upgrading from 2.5. This update
introduces a LegacyPdoSessionHandler class that uses the old service's
functionality.
Users who cannot make schema updates or do not want to lose sessions can
use LegacyPdoSessionHandler until 3.0.
Commits
-------
20cb713 Add LegacyPdoSessionHandler class
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7] [SecurityBundle] replaced deprecated SecurityContextInterface dependency by new TokenStorageInterface instance in SecurityDataCollector. Also added unit tests suite for SecurityDataCollector class.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
337eb57 [SecurityBundle] replaced deprecated SecurityContextInterface dependency by new TokenStorageInterface instance in SecurityDataCollector. Also added unit tests suite for SecurityDataCollector class.
* 2.6:
[SecurityBundle] use TokenStorageInterface instead of deprecated SecurityContextInterface in SecurityDataCollector and added unit tests suite.
[WebProfilerBundle] Fixed IE8 support
Conflicts:
src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
src/Symfony/Bundle/SecurityBundle/Resources/config/collectors.xml
This PR was squashed before being merged into the 2.3 branch (closes#13054).
Discussion
----------
[2.3] CS Fixes
| 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 pull request provides some cs fixes.
Commits
-------
b521c20 [2.3] CS Fixes
This PR was merged into the 2.6 branch.
Discussion
----------
[2.6] [SecurityBundle] use TokenStorageInterface instead of deprecated SecurityContextInterface in SecurityDataCollector and added unit tests suite.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
ea4cf33 [SecurityBundle] use TokenStorageInterface instead of deprecated SecurityContextInterface in SecurityDataCollector and added unit tests suite.
This PR was merged into the 2.5 branch.
Discussion
----------
[Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
e22c887 [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [SecurityBundle] adds unit tests suite for SecurityDataCollector class.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
85f72f4 [SecurityBundle] adds unit tests suite for SecurityDataCollector class.
* 2.7: (32 commits)
[Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
[Config] fixes broken unit test on ArrayNode class.
fixed CS
[Security] Delete old session on auth strategy migrate
skip if param "translator.logging" doesn't exist.
[SecurityBundle] fixes SecurityDataCollector::getInheritedRoles() documentation.
update required minimum TwigBridge version
Very minor grammar fix in error message
Added the function providers as container resources
[Tests] Silenced all deprecations in tests for 2.3
BinaryFileResponse - add missing newline
fixed CS
add a limit and a test to FlattenExceptionTest.
[DebugBundle] enable the DumpDataCollectorPass
[FrameworkBundle] Use debug namespace.
[FrameworkBundle] update debug commands references
skip compiler pass if interface doesn't exist
Unify the way to provide expression functions for the DI container
CS: There should be no empty lines following phpdocs
[Security] Added the triggering of the security.interactive_login event after set of token
...
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.6: (23 commits)
[Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
[Config] fixes broken unit test on ArrayNode class.
fixed CS
[Security] Delete old session on auth strategy migrate
skip if param "translator.logging" doesn't exist.
update required minimum TwigBridge version
Very minor grammar fix in error message
Added the function providers as container resources
[Tests] Silenced all deprecations in tests for 2.3
BinaryFileResponse - add missing newline
fixed CS
add a limit and a test to FlattenExceptionTest.
[DebugBundle] enable the DumpDataCollectorPass
[FrameworkBundle] Use debug namespace.
[FrameworkBundle] update debug commands references
skip compiler pass if interface doesn't exist
Unify the way to provide expression functions for the DI container
CS: There should be no empty lines following phpdocs
fix link format handling with disabled templating
[FrameworkBundle] fix cache:clear command
...
Conflicts:
src/Symfony/Bridge/Doctrine/phpunit.xml.dist
src/Symfony/Bridge/Monolog/phpunit.xml.dist
src/Symfony/Bridge/Propel1/phpunit.xml.dist
src/Symfony/Bridge/ProxyManager/phpunit.xml.dist
src/Symfony/Bridge/Twig/phpunit.xml.dist
src/Symfony/Bundle/FrameworkBundle/phpunit.xml.dist
src/Symfony/Bundle/SecurityBundle/phpunit.xml.dist
src/Symfony/Bundle/TwigBundle/phpunit.xml.dist
src/Symfony/Bundle/WebProfilerBundle/phpunit.xml.dist
src/Symfony/Component/BrowserKit/phpunit.xml.dist
src/Symfony/Component/ClassLoader/phpunit.xml.dist
src/Symfony/Component/Config/phpunit.xml.dist
src/Symfony/Component/Console/phpunit.xml.dist
src/Symfony/Component/CssSelector/phpunit.xml.dist
src/Symfony/Component/Debug/phpunit.xml.dist
src/Symfony/Component/DependencyInjection/phpunit.xml.dist
src/Symfony/Component/DomCrawler/phpunit.xml.dist
src/Symfony/Component/EventDispatcher/phpunit.xml.dist
src/Symfony/Component/Filesystem/phpunit.xml.dist
src/Symfony/Component/Finder/phpunit.xml.dist
src/Symfony/Component/Form/phpunit.xml.dist
src/Symfony/Component/HttpFoundation/phpunit.xml.dist
src/Symfony/Component/HttpKernel/phpunit.xml.dist
src/Symfony/Component/Intl/phpunit.xml.dist
src/Symfony/Component/Locale/phpunit.xml.dist
src/Symfony/Component/OptionsResolver/phpunit.xml.dist
src/Symfony/Component/Process/phpunit.xml.dist
src/Symfony/Component/PropertyAccess/phpunit.xml.dist
src/Symfony/Component/Routing/phpunit.xml.dist
src/Symfony/Component/Security/phpunit.xml.dist
src/Symfony/Component/Serializer/phpunit.xml.dist
src/Symfony/Component/Stopwatch/phpunit.xml.dist
src/Symfony/Component/Templating/phpunit.xml.dist
src/Symfony/Component/Translation/phpunit.xml.dist
src/Symfony/Component/Validator/phpunit.xml.dist
src/Symfony/Component/Yaml/phpunit.xml.dist
* 2.5:
[Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
[Config] fixes broken unit test on ArrayNode class.
fixed CS
[Security] Delete old session on auth strategy migrate
update required minimum TwigBridge version
Very minor grammar fix in error message
[Tests] Silenced all deprecations in tests for 2.3
BinaryFileResponse - add missing newline
fixed CS
add a limit and a test to FlattenExceptionTest.
CS: There should be no empty lines following phpdocs
[FrameworkBundle] fix cache:clear command
[2.3] Docblocks should not be followed by a blank line
Fix return phpdoc
[PropertyAccess] Added test to verify #5775 is fixed
* 2.3:
[Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
[Config] fixes broken unit test on ArrayNode class.
fixed CS
[Security] Delete old session on auth strategy migrate
update required minimum TwigBridge version
Very minor grammar fix in error message
[Tests] Silenced all deprecations in tests for 2.3
BinaryFileResponse - add missing newline
fixed CS
add a limit and a test to FlattenExceptionTest.
CS: There should be no empty lines following phpdocs
[FrameworkBundle] fix cache:clear command
[2.3] Docblocks should not be followed by a blank line
Fix return phpdoc
[PropertyAccess] Added test to verify #5775 is fixed
Conflicts:
src/Symfony/Bundle/TwigBundle/composer.json
src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
This PR was merged into the 3.0-dev branch.
Discussion
----------
[3.0][HttpKernel] Remove unused method Kernel::isClassInActiveBundle
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes, if using isClassInActiveBundle (not used by Symfony itself)
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #11652
| License | MIT
| Doc PR | - (Not mentioned in the docs)
Follow-up of #11869
Commits
-------
91dcca4 [HttpKernel] Remove unused method Kernel::isClassInActiveBundle
This PR was merged into the 2.3 branch.
Discussion
----------
[PropertyAccess] Added test to verify #5775 is fixed
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5775
| License | MIT
| Doc PR |
Added regression test to verify #5775 has been fixed some time ago, so that it can be closed.
Commits
-------
45651c6 [PropertyAccess] Added test to verify #5775 is fixed
This PR was merged into the 2.7 branch.
Discussion
----------
Deprecations
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12625, #12605, #12628, #12622, #12642, #12609, #12651, #12604, #12607, #12667, #12648
| License | MIT
| Doc PR | -
Cherry-picking some pending PRs to make them move forward
Commits
-------
badf8fc [Form] Log deprecation of constants, fixes#12607#126671d58df4 Fix deprecation notice on VirtualFormAwareIterator
e2a19ee Add a deprecation note about VirtualFormAwareIterator
ab4d9b8 Add a deprecation note about CsrfProviderInterface
cb70632 [HttpKernel] fix deprecation notice for Kernel::init()
b5a315d [HttpKernel] Added deprecated error to init()
70012c1 [Hackday] [2.7] Add a deprecation note about TypeTestCase
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] fixes broken unit test on ArrayNode class.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
a7ee58a [Config] fixes broken unit test on ArrayNode class.
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
e855424 [Config] adds missing « use » statement for InvalidTypeException type hint in documentation.
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Delete old session on auth strategy migrate
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13026
| License | MIT
| Doc PR |
As identified by @austinh in #13026 there are two sessions after authentication, since the previous session is migrated to a new one by ``session_regenerate_id``. This PR ensures the old session is been deleted immediately on migration.
I can't see any drawbacks, but if the change would break BC, another approach would be to add a new strategy like ``switch`` to enable instant deletion of the old session.
Commits
-------
5dd11e6 [Security] Delete old session on auth strategy migrate
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] Very minor grammar fix in error message
It's just a tiny detail, but I found it important enough to submit a fix.
| Q | A
| --- | ---
| License | MIT
| Fixed tickets | -
Commits
-------
1c65f36 Very minor grammar fix in error message
This PR was merged into the 2.3 branch.
Discussion
----------
[Tests] Silenced all deprecations in tests for 2.3
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Also removed src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php as it was not running at all.
Commits
-------
ef4ae63 [Tests] Silenced all deprecations in tests for 2.3
To be able to use `Twig_SimpleFunction` in `AssetsExtension`, Twig has
to be present in version 1.12 or higher. The TwigBridge only enforces
this Twig version as of version 2.3.10.
This PR was merged into the 2.6 branch.
Discussion
----------
[DebugBundle] enable the DumpDataCollectorPass
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
I forget to activate the `DumpDataCollectorPass` in #13009.
Commits
-------
cdb6c43 [DebugBundle] enable the DumpDataCollectorPass
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] skip compiler pass if interface doesn't exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12813
| License | MIT
| Doc PR |
The FrameworkBundle doesn't depend on the `symfony/translation`
component and therefore does not enforce a high enough version of this
package. Thus, with `symfony/translation` versions before `2.6`, the
`translator` service does exist, but the `TranslatorBagInterface` is
not present.
Commits
-------
beff6fa skip compiler pass if interface doesn't exist
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] fix cache:clear command
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12893
| License | MIT
| Doc PR | -
Reading comment on #12893 stating that using absolute paths works around the pb, I tried using realpath(),
and it works!
Pending work on #12955 can be done quietly now.
Commits
-------
a14153a [FrameworkBundle] fix cache:clear command
This PR was merged into the 2.6 branch.
Discussion
----------
Unify the way to provide expression functions for the DI container
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #13012
| License | MIT
| Doc PR | n/a
Function providers registered on the ContainerBuilder are now reused by the PhpDumper when dumping the container instead of forcing to register them again.
I consider it as a bugfix, because the hook introduced in 2.6 is currently unusable.
Commits
-------
8425e4d Unify the way to provide expression functions for the DI container
With #11627, both the `ContainerDebugCommand` name and the
`ConfigDebugCommand` name have been moved to the `debug` namespace.
Thus, references should be updated accordingly.
The FrameworkBundle doesn't depend on the `symfony/translation`
component and therefore does not enforce a high enough version of this
package. Thus, with `symfony/translation` versions before `2.6`, the
`translator` service does exist, but the `TranslatorBagInterface` is
not present.
Function providers registered on the ContainerBuilder are now reused by
the PhpDumper when dumping the container instead of forcing to register
them again.
Closes#13012
This PR was merged into the 2.3 branch.
Discussion
----------
CS: There should be no empty lines following phpdocs
Commits
-------
143f900 CS: There should be no empty lines following phpdocs
This PR was merged into the 2.6 branch.
Discussion
----------
[DebugBundle] fix link format handling with disabled templating
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #13007
| License | MIT
| Doc PR |
Commits
-------
91b4d1d fix link format handling with disabled templating
* 2.7:
[2.6] Test lowest versions of dependencies
Test lowest versions of dependencies
Fix placeholder date format
Test components using their lowest possible deps
* 2.6:
[2.6] Test lowest versions of dependencies
Test lowest versions of dependencies
Fix placeholder date format
Test components using their lowest possible deps
* symfony/2.5:
Test lowest versions of dependencies
Test components using their lowest possible deps
Conflicts:
src/Symfony/Bridge/Twig/composer.json
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Bundle/SecurityBundle/composer.json
src/Symfony/Component/EventDispatcher/composer.json
src/Symfony/Component/HttpKernel/composer.json
src/Symfony/Component/Security/composer.json
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] Fix return phpdoc
| Q | A
| ------------- | ---
| Bug fix? | tiny (for IDE autocompletion)
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
What about using `self` or `static` keyword for this?
Commits
-------
9af2d81 Fix return phpdoc
This PR was squashed before being merged into the 2.3 branch (closes#12993).
Discussion
----------
[2.3] Docblocks should not be followed by a blank line
| 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
There should be no blank line(s) between phpdocs that document properties, interfaces, classes, functions, or traits. This pull request was a test run of a new php-cs-fixer: https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/864.
Commits
-------
4e7ba1b [2.3] Docblocks should not be followed by a blank line
This PR was merged into the 2.6 branch.
Discussion
----------
[WebProfilerBundle] Avoid missing method when using __invoke on a controller
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
2.6 added support for using `__invoke` on controllers, but the profiler toolbar still expects a method name, leading to:
![image](https://cloud.githubusercontent.com/assets/1784740/5412993/4553c4da-820a-11e4-899c-50ef9f330cdd.png)
This PR changes it to only include the method section/double dots if the method name is included (and the `link` is moved to the class name).
Commits
-------
fb87558 Avoid missing method when using __invoke
This PR was merged into the 2.7 branch.
Discussion
----------
[DX][Profiler] Show the inherited roles in the web profiler
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12892
| License | MIT
| Doc PR | -
Given the following role hierarchy configuration
````php
security:
role_hierarchy:
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
ROLE_ADMIN: [ROLE_EMPLOYEE]
ROLE_EMPLOYEE: [ROLE_SALES]
````
If you were checking the user roles in the web profiler as an user with the assigned
role `ROLE_ADMIN` you saw only the following output.
![bildschirmfoto 2014-12-08 um 12 31 25](https://cloud.githubusercontent.com/assets/2010989/5338601/26fd4c90-7ed6-11e4-961b-12103ddddf50.png)
This was kind of tricky since pages where you were checking `is_granted('ROLE_EMPLOYEE')`
granted access. Debugging was hard for newcomers to the project if they did not understand
the role hierarchy.
With this adjustment you will see the assigned roles as well as the inherited roles separately as
follows:
![bildschirmfoto 2014-12-08 um 12 23 59](https://cloud.githubusercontent.com/assets/2010989/5338622/5b0ffc58-7ed6-11e4-9863-27c9105897df.png)
Commits
-------
31dc672 Show the inherited roles in the web profiler
* 2.7: (26 commits)
[Form] fixed a maxlength overring on a guessing
[Debug] Show only unique class candidates
[FrameworkBundle] make GetSetMethodNormalizer available by default
[SecurityBundle] Firewall providers building - code cleaning
[Filesystem] symlink use RealPath instead LinkTarget
[DependencyInjection] Remove duplicate declaration in PhpDumper
terminals are not interactive on Travis
Revert "[DependencyInjection] backport perf optim"
[WebProfiler] Tweaked ajax requests toolbar css reset
[WebProfilerBundle] replaced pattern to path attribute in routes definitions.
fix phpdoc's alignment
Fixed deprecation version
Fix missing addExpressionLanguageProvider (used by service container to add expression providers)
Fixed the AuthenticationProviderInterface alignment
Fixed the proxy-manager version constraint
Fix missing space in label_attr
fix DumpDataCollectorTest after CS changes
avoid risky tests
Fixed typo in SecurityContext PHPDoc
[FrameworkBundle][Template name] avoid error message for the shortcut notation.
...
* 2.6: (24 commits)
[Form] fixed a maxlength overring on a guessing
[Debug] Show only unique class candidates
[SecurityBundle] Firewall providers building - code cleaning
[Filesystem] symlink use RealPath instead LinkTarget
[DependencyInjection] Remove duplicate declaration in PhpDumper
terminals are not interactive on Travis
Revert "[DependencyInjection] backport perf optim"
[WebProfiler] Tweaked ajax requests toolbar css reset
[WebProfilerBundle] replaced pattern to path attribute in routes definitions.
fix phpdoc's alignment
Fix missing addExpressionLanguageProvider (used by service container to add expression providers)
Fixed the AuthenticationProviderInterface alignment
Fixed the proxy-manager version constraint
Fix missing space in label_attr
fix DumpDataCollectorTest after CS changes
avoid risky tests
Fixed typo in SecurityContext PHPDoc
[FrameworkBundle][Template name] avoid error message for the shortcut notation.
[DependencyInjection] perf optim: call dirname() at most 5x
[DependencyInjection] backport perf optim
...
* 2.5:
[Form] fixed a maxlength overring on a guessing
[Debug] Show only unique class candidates
[SecurityBundle] Firewall providers building - code cleaning
[Filesystem] symlink use RealPath instead LinkTarget
[DependencyInjection] Remove duplicate declaration in PhpDumper
terminals are not interactive on Travis
Revert "[DependencyInjection] backport perf optim"
[WebProfilerBundle] replaced pattern to path attribute in routes definitions.
fix phpdoc's alignment
Fixed the AuthenticationProviderInterface alignment
Fixed the proxy-manager version constraint
[FrameworkBundle][Template name] avoid error message for the shortcut notation.
[DependencyInjection] perf optim: call dirname() at most 5x
[DependencyInjection] backport perf optim
Fixed#12845 adding a listener to an event that is currently being dispatched will not result into a fatal error in TraceableEventDispatcher [EventDispatcher]
[2.5] Remove possible call_user_func()
[2.3] Remove possible call_user_func()
Conflicts:
src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
This PR was squashed before being merged into the 2.5 branch (closes#12548).
Discussion
----------
[Form] fixed a maxlength overring on a guessing
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11527
| License | MIT
| Doc PR | -
Commits
-------
7248680 [Form] fixed a maxlength overring on a guessing
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [Security] Fixed The AuthenticationProviderInterface Alignment
| 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 pull request fixes the AuthenticationProviderInterface alignment.
Everything was indented by one too many spaces.
Commits
-------
1270327 Fixed the AuthenticationProviderInterface alignment
This PR was squashed before being merged into the 2.3 branch (closes#12761).
Discussion
----------
[Filesystem] symlink use RealPath instead LinkTarget
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
a8b8d33 [Filesystem] symlink use RealPath instead LinkTarget
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] Fixed the proxy-manager version constraint
| 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 pull request fixes the `ocramius/proxy-manager` version constraint in the 2.3 branch.
`"~0.3.1"` is far cleaner than `">=0.3.1,<0.4-dev"`, and does the same thing.
Commits
-------
ed6c50f Fixed the proxy-manager version constraint
This PR was merged into the 2.5 branch.
Discussion
----------
[EventDispatcher] Fixed#12845 adding a listener to an event that is currently being dispatched
[EventDispatcher] Fixed adding listener when event is currently being dispatched
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12845
| License | MIT
Commits
-------
0cbc2b0Fixed#12845 adding a listener to an event that is currently being dispatched will not result into a fatal error in TraceableEventDispatcher [EventDispatcher]
This PR was merged into the 2.6 branch.
Discussion
----------
[HttpKernel] fix DumpDataCollectorTest after CS changes
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Modify the expected line value which was affected by the move of the
`__LINE__` constant in #12872 to make tests pass again.
Commits
-------
1917b70 fix DumpDataCollectorTest after CS changes
This PR was merged into the 2.5 branch.
Discussion
----------
[Console] terminals are not interactive on Travis
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
You cannot assume that the input is always interactive when the tests
for the `Application` class are executed. The expected value depends
on the terminal being interactive.
Commits
-------
d58ac9e terminals are not interactive on Travis
You cannot assume that the input is always interactive when the tests
for the `Application` class are executed. The expected value depends
on the terminal being interactive.
This PR was merged into the 2.6 branch.
Discussion
----------
[2.6] Remove possible call_user_func()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Remove possible call_user_func() introduced in 2.6
Commits
-------
1de4920 [2.6] Remove possible call_user_func()
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5] Remove possible call_user_func()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Remove possible call_user_func() introduced in 2.5
Commits
-------
94a04cb [2.5] Remove possible call_user_func()
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] Remove possible call_user_func()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Merging this in 2.3 enhances performance a bit, but more importantly will ease future merges into 3.0.
Commits
-------
fad7aba [2.3] Remove possible call_user_func()
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection] Perf php dumper
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR came up after this comment to reduce the number of calls to dirname():
https://github.com/symfony/symfony/pull/12784#issuecomment-65619179
Commits
-------
375f83e Revert "[DependencyInjection] backport perf optim"
fcd8ff9 [DependencyInjection] perf optim: call dirname() at most 5x
c11535b [DependencyInjection] backport perf optim
* 2.7: (27 commits)
Added information when an error occured during validation of an answer of a question
Adding note about known BC issues
Adding note about the PdoSessionHandler BC break
[Console] fixes some typos and phpdoc.
[HttpKernel] Add deprecation log for Kernel::isClassInActiveBundle()
fix phpdoc's alignment
[2.6] CS Fixes And Removed An Unused Import
Minor phpcs fixes
[ClassLoader] Fix undefined index in ClassCollectionLoader
CS fixes
Revert "minor #12821 Remove deprecated class (MasterB)"
[2.3] More cs fixes
Removed unused imports
CS fixes
bumped Symfony version to 2.6.2
updated VERSION for 2.6.1
updated CHANGELOG for 2.6.1
bumped Symfony version to 2.5.9
updated VERSION for 2.5.8
update CONTRIBUTORS for 2.5.8
...
* 2.6: (25 commits)
Added information when an error occured during validation of an answer of a question
Adding note about known BC issues
Adding note about the PdoSessionHandler BC break
[Console] fixes some typos and phpdoc.
fix phpdoc's alignment
[2.6] CS Fixes And Removed An Unused Import
Minor phpcs fixes
[ClassLoader] Fix undefined index in ClassCollectionLoader
CS fixes
Revert "minor #12821 Remove deprecated class (MasterB)"
[2.3] More cs fixes
Removed unused imports
CS fixes
bumped Symfony version to 2.6.2
updated VERSION for 2.6.1
updated CHANGELOG for 2.6.1
bumped Symfony version to 2.5.9
updated VERSION for 2.5.8
update CONTRIBUTORS for 2.5.8
updated CHANGELOG for 2.5.8
...
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.5:
Added information when an error occured during validation of an answer of a question
[Console] fixes some typos and phpdoc.
fix phpdoc's alignment
Minor phpcs fixes
[ClassLoader] Fix undefined index in ClassCollectionLoader
This PR was merged into the 2.3 branch.
Discussion
----------
[ClassLoader] Fix undefined index in ClassCollectionLoader
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
cfdb925 [ClassLoader] Fix undefined index in ClassCollectionLoader
* 2.5:
CS fixes
[2.3] More cs fixes
Removed unused imports
CS fixes
bumped Symfony version to 2.5.9
updated VERSION for 2.5.8
update CONTRIBUTORS for 2.5.8
updated CHANGELOG for 2.5.8
bumped Symfony version to 2.3.24
updated VERSION for 2.3.23
update CONTRIBUTORS for 2.3.23
updated CHANGELOG for 2.3.23
Conflicts:
src/Symfony/Component/Console/Helper/ProgressBar.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Security/Http/HttpUtils.php
src/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php
This PR was merged into the 2.7 branch.
Discussion
----------
[Console] improve deprecation warning triggers
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12771, #12791
| License | MIT
| Doc PR |
Since the default helper set of the Console `Application` relies on
the `DialogHelper`, the `ProgressHelper` and the `TableHelper`, there
must be a way to not always trigger `E_USER_DEPRECATION` errors when
one of these helper is used.
Commits
-------
88e3314 [Console] improve deprecation warning triggers
* 2.3:
[2.3] More cs fixes
Removed unused imports
CS fixes
bumped Symfony version to 2.3.24
updated VERSION for 2.3.23
update CONTRIBUTORS for 2.3.23
updated CHANGELOG for 2.3.23
Conflicts:
src/Symfony/Bundle/FrameworkBundle/EventListener/SessionListener.php
src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
This PR was squashed before being merged into the 3.0-dev branch (closes#12731).
Discussion
----------
[Monolog Bridge] Remove deprecated log methods + add unit tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | --
Remove deprecated methods. I took the opportunity to add some missing unit tests.
Commits
-------
9ecfc84 [Monolog Bridge] Remove deprecated log methods + add unit tests
* 2.7:
[DependencyInjection] keep some of the reverted perf optim
Revert "minor #10241 [DependencyInjection] made some perf improvements (fabpot)"
Remove deprecated class
* 2.6:
[DependencyInjection] keep some of the reverted perf optim
Revert "minor #10241 [DependencyInjection] made some perf improvements (fabpot)"
Remove deprecated class
This PR was merged into the 2.6 branch.
Discussion
----------
[DependencyInjection] fix PhpDumper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12815
| License | MIT
| Doc PR | none
Commits
-------
7887a46 [DependencyInjection] keep some of the reverted perf optim
2f0b355 Revert "minor #10241 [DependencyInjection] made some perf improvements (fabpot)"
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
replace deprecated class with correct one
* 2.7: (65 commits)
Configure firewall's kernel exception listener with configured entry point or a default entry point
PSR-2 fixes
[DependencyInjection] make paths relative to __DIR__ in the generated container
[FrameworkBundle][Router Cmd] use debug namespace.
[FrameworkBundle] Update deprecated service call
Fix PHP Fatal error: Cannot call constructor in symfony/console/Symfony/Component/Console/Helper/DialogHelper.php on line 37
Removed a dev annotation from a version constraint
Fixed the syntax of a composer.json file
Fixed the symfony/config version constraint
Tweaked the password-compat version constraint
Docblock fixes
Append to PR #12737 referring Ticket #12704
Issue #12658 Add a deprecation note about Translator's setFallbackLocale...
Issue #12606 Adding warning logs about the deprecation of [...]/Tests/FormIntegration...
Hackday deprecated 12621
Added deprecation log for validate and validateValue on ExecutionContext...
[Console] [Hackday] [2.7] Add a deprecation note about ProgressHelper
[Hackday][2.7] Add a deprecation note about MetadataInterface's accept() method
[Validator] Added a deprecation note about setPropertyAccessor #12698
[Locale] Adding a deprecation note about the Locale component
...
* 2.6:
Configure firewall's kernel exception listener with configured entry point or a default entry point
PSR-2 fixes
[DependencyInjection] make paths relative to __DIR__ in the generated container
[FrameworkBundle][Router Cmd] use debug namespace.
[FrameworkBundle] Update deprecated service call
Removed a dev annotation from a version constraint
Fixed the syntax of a composer.json file
Fixed the symfony/config version constraint
Tweaked the password-compat version constraint
Docblock fixes
[Filesystem] fix lock file permissions
Remove dialog usage
define constant only if it wasn't defined before
Fix incorrect spanish translation
Fixed typos
Fixed a docblock
bumped Symfony version to 2.6.1
updated VERSION for 2.6.0
updated CHANGELOG for 2.6.0
removed unneeded check
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.5:
Configure firewall's kernel exception listener with configured entry point or a default entry point
PSR-2 fixes
[DependencyInjection] make paths relative to __DIR__ in the generated container
Fixed the syntax of a composer.json file
Fixed the symfony/config version constraint
Tweaked the password-compat version constraint
Docblock fixes
Remove dialog usage
define constant only if it wasn't defined before
Fix incorrect spanish translation
Fixed typos
Conflicts:
src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
src/Symfony/Component/OptionsResolver/Options.php
src/Symfony/Component/OptionsResolver/OptionsResolverInterface.php
src/Symfony/Component/Process/ProcessPipes.php
src/Symfony/Component/Security/Http/Tests/Firewall/RememberMeListenerTest.php
src/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php
src/Symfony/Component/Validator/ConstraintViolation.php
src/Symfony/Component/Yaml/Inline.php
src/Symfony/Component/Yaml/Parser.php
* 2.3:
Configure firewall's kernel exception listener with configured entry point or a default entry point
PSR-2 fixes
[DependencyInjection] make paths relative to __DIR__ in the generated container
Fixed the syntax of a composer.json file
Fixed the symfony/config version constraint
Tweaked the password-compat version constraint
Docblock fixes
define constant only if it wasn't defined before
Fix incorrect spanish translation
Fixed typos
Conflicts:
composer.json
src/Symfony/Bridge/Twig/TwigEngine.php
src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php
src/Symfony/Component/Console/Helper/TableHelper.php
src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php
src/Symfony/Component/HttpFoundation/Response.php
src/Symfony/Component/HttpFoundation/StreamedResponse.php
src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
src/Symfony/Component/PropertyAccess/PropertyAccessorBuilder.php
src/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
src/Symfony/Component/Security/composer.json
src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
src/Symfony/Component/Stopwatch/StopwatchEvent.php
src/Symfony/Component/Stopwatch/StopwatchPeriod.php
src/Symfony/Component/Templating/PhpEngine.php
src/Symfony/Component/Templating/TemplateReference.php
src/Symfony/Component/Templating/TemplateReferenceInterface.php
src/Symfony/Component/Translation/TranslatorInterface.php
src/Symfony/Component/Validator/ConstraintViolation.php
src/Symfony/Component/Validator/ExecutionContextInterface.php
src/Symfony/Component/Validator/Mapping/ClassMetadata.php
src/Symfony/Component/Validator/MetadataFactoryInterface.php
This PR was merged into the 2.3 branch.
Discussion
----------
PSR-2 Fixes
| 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 pull request brings symfony 2.3 back inline with PSR-2.
Commits
-------
eda746b PSR-2 fixes
This PR was merged into the 2.6 branch.
Discussion
----------
[Filesystem] fix lock file permissions
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12589, #12634
| License | MIT
| Doc PR | -
This PR replaces #12634. It tunes permissions on lock files so that locking is allowed for any OS user.
Commits
-------
ceecb50 [Filesystem] fix lock file permissions
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection] make paths relative to __DIR__ in the generated container
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6484, #3079, partially #9238, #10894, #10999
| License | MIT
| Doc PR | n/a
This is an alternative approach to #10999 for removing absolute paths from the generated container:
instead of trying to fix the container file after it has been dumped, telling to the PhpDumper where its output will be written allows it to replace parts of strings by an equivalent value based on `__DIR__`.
This should be safe, thus the PR is on 2.3.
Commits
-------
edd7057 [DependencyInjection] make paths relative to __DIR__ in the generated container
Since the default helper set of the Console `Application` relies on
the `DialogHelper`, the `ProgressHelper` and the `TableHelper`, there
must be a way to not always trigger `E_USER_DEPRECATION` errors when
one of these helper is used.
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle][Router Cmd] Use debug namespace.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
408df7c [FrameworkBundle][Router Cmd] use debug namespace.
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] Update deprecated service call
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none, but related to #11593 and #11690
| License | MIT
| Doc PR | none
Service `security.context` is now deprecated due to PR #11690. This commit updates PR #11593 replacing `security.context` with `security.authorization_checker` in the `isGranted()` controller shortcut introduced in Symfony 2.6.
Commits
-------
2625193 [FrameworkBundle] Update deprecated service call
The service `security.context` is now deprecated due to PR #11690.
This commit updates PR #11593 replacing `security.context` with
`security.authorization_checker` in the `isGranted()` controller
shortcut.
This PR was merged into the 2.3 branch.
Discussion
----------
Fixed the symfony/config version constraint
| 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
##### This pull request fixes the `symfony/config` version constraint in the proxy manager bridge.
Before this pull, composer was only allowing `v2.3.0` to be downloaded. This surely was not the intention. I've updated the version constraint from `"2.3"` to `"~2.3"` thus allowing all 2.x versions that are equal to or greater than `v2.3.0`.
Commits
-------
ec14f0f Fixed the symfony/config version constraint
This PR was merged into the 2.3 branch.
Discussion
----------
Docblock Fixes
| 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 pull request fixes the docblock alignment as requested in #12760.
It was also necessary for me to ensure the `@return` annotations were correctly separated in order to accurately align the `@param` annotations.
Commits
-------
443307e Docblock fixes
This PR was merged into the 2.3 branch.
Discussion
----------
Tweaked the password-compat version constraint
| 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 pull request tweaks the `"ircmaxell/password-compat` version constraint in the 2.3 branch.
I've updated the version constraint to `"~1.0"` match the way we require all "stable" releases. Note that this version constraint is technically different, but I consider it safe still.
Commits
-------
f703e56 Tweaked the password-compat version constraint
This PR was squashed before being merged into the 2.7 branch (closes#12671).
Discussion
----------
Issue #12658 Add a deprecation note about Translator's setFallbackLocale...
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12658
| License | MIT
| Doc PR |
Commits
-------
cd05026 Issue #12658 Add a deprecation note about Translator's setFallbackLocale...
This PR was squashed before being merged into the 2.7 branch (closes#12680).
Discussion
----------
Issue #12606 Adding warning logs about the deprecation of [...]/Tests/FormIntegration...
This fixes Issue #12606
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12606
| License | MIT
| Doc PR | x
Commits
-------
2267749 Issue #12606 Adding warning logs about the deprecation of [...]/Tests/FormIntegration...
This PR was squashed before being merged into the 2.7 branch (closes#12699).
Discussion
----------
Hackday deprecated 12621
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12621
| License | MIT
| Doc PR | -
[MonologBridge] added the deprecated error trigger in the monolog logger emerg(), crit(), err() and warn() methods
[HttpKernel] added the deprecated error trigger in the NullLogger emerg(), crit(), err() and warn() methods
Commits
-------
88b9500 Hackday deprecated 12621
This PR was squashed before being merged into the 2.7 branch (closes#12723).
Discussion
----------
Added deprecation log for validate and validateValue on ExecutionContext...
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12685
| License | MIT
| Doc PR |
Commits
-------
deeb652 Added deprecation log for validate and validateValue on ExecutionContext...
This PR was squashed before being merged into the 2.7 branch (closes#12734).
Discussion
----------
[Console] [Hackday] [2.7] Add a deprecation note about ProgressHelper
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12706
| License | MIT
| Doc PR |
Commits
-------
69fa99a [Console] [Hackday] [2.7] Add a deprecation note about ProgressHelper
This PR was squashed before being merged into the 2.7 branch (closes#12738).
Discussion
----------
[Hackday][2.7] Add a deprecation note about MetadataInterface's accept() method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12676
| License | MIT
Commits
-------
171377d [Hackday][2.7] Add a deprecation note about MetadataInterface's accept() method
This PR was squashed before being merged into the 2.7 branch (closes#12745).
Discussion
----------
[Validator] Added a deprecation note about setPropertyAccessor #12698
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12698
| License | MIT
| Doc PR |
Commits
-------
c82dc5e [Validator] Added a deprecation note about setPropertyAccessor #12698
This PR was squashed before being merged into the 2.7 branch (closes#12746).
Discussion
----------
[Locale] Adding a deprecation note about the Locale component
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12635
| License | MIT
| Doc PR | -
Commits
-------
5580a4f [Locale] Adding a deprecation note about the Locale component
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] added a deprecation note about MetadataFactoryInterface
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12690
| License | MIT
| Doc PR |
Commits
-------
33fa8ff [Validator] added a deprecation note about MetadataFactoryInterface addressing #12690
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator][Hackday] [2.7] Add a deprecation note about ValidationVisito...
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12755
| License | MIT
| Doc PR | none
Commits
-------
786e509 [Validator][Hackday] [2.7] Add a deprecation note about ValidationVisitorInterface and ValidationVisitor #12675
This PR was merged into the 2.7 branch.
Discussion
----------
Added a deprecation warning for the command dumper
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12620
| License | MIT
This fixes#12620
Commits
-------
07436d7 Added a deprecation warning for the command dumper
This PR was merged into the 2.7 branch.
Discussion
----------
[PHPUnit] ignore E_USER_DEPRECATED notices
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This updates the PHPUnit configuration files that have not been
updated in #12705.
Commits
-------
dcc1103 [PHPUnit] ignore E_USER_DEPRECATED notices
This PR was squashed before being merged into the 2.7 branch (closes#12737).
Discussion
----------
[Console] Adding a deprecation note about DialogHelper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12704
| License | MIT
| Doc PR | -
Commits
-------
673c253 [Console] Adding a deprecation note about DialogHelper
This PR was merged into the 2.7 branch.
Discussion
----------
[Valid] [Validator] [Constraints] [DEPRECATION] Added deprication note on Valid constraint validator for deep option.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12695
| License | MIT
| Doc PR | -
Commits
-------
46f1eb0 Added deprication note on Valid constraint validator for deep option.
This PR was merged into the 2.7 branch.
Discussion
----------
Fix tests after changes from #12598
The messages in the UndefinedMethodFatalErrorHandlerTest have been updated to match the new format.
Commits
-------
9258547 Fix tests after changes from #12598
This PR was merged into the 2.7 branch.
Discussion
----------
[Controller] [FrameworkBundle] [DEPRECATION] Added a deprecation error trigger for getRequest method of the base controller
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12614
| License | MIT
| Doc PR | -
Commits
-------
64a9701 Added deprecation warning on the base controller getRequest method.
This PR was squashed before being merged into the 2.7 branch (closes#12748).
Discussion
----------
[Validator] [Hackday] [2.7] Add a deprecation note about PropertyMetadataContainerInterface
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12679
| License | MIT
| Doc PR |
Commits
-------
a93ab3e [Validator] [Hackday] [2.7] Add a deprecation note about PropertyMetadataContainerInterface
This PR was squashed before being merged into the 2.7 branch (closes#12645).
Discussion
----------
[Hackday] [2.7] Add a deprecation note about RegisterListenersPass
| Q | A
| ------------- | ---
| Fixed tickets | #12633
| License | MIT
Commits
-------
9938179 [Hackday] [2.7] Add a deprecation note about RegisterListenersPass
This PR was squashed before being merged into the 2.7 branch (closes#12629).
Discussion
----------
Added deprecation note about 'virtual' form option. Issue #12603.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12603
| License | MIT
| Doc PR |
Uncommented the trigger_error method calls for 'virtual' form option.
Commits
-------
1308310 Added deprecation note about 'virtual' form option. Issue #12603.
This PR was merged into the 2.7 branch.
Discussion
----------
[DEPRECATION] Add a deprecation note about Yaml::parse() file support #12701
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12701
| License | MIT
| Doc PR |
Commits
-------
4ef4c2c Add a deprecation note about Yaml::parse() file support #12701
This PR was merged into the 2.7 branch.
Discussion
----------
[DEPRECATION] Added deprecated trigger for ApacheMatcherDumper and ApacheUrlMatcher
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12655
| License | MIT
| Doc PR |
Commits
-------
963615a Added deprecated trigger for ApacheMatcherDumper and ApacheUrlMatcher
This PR was merged into the 2.7 branch.
Discussion
----------
Improved error message
If no alternatives could be found, the error message is: "Attempted to call method "getContents" on class "SebastianBergmann\Diff\Diff"." This doesn't point out any error, as it doesn't tell you that the method does not exists. This PR tries to fix this.
Commits
-------
5076a77 Improved error message
This PR was merged into the 2.7 branch.
Discussion
----------
[Validator] add deprecation log to class ApcCache (#12665)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12665
| License | MIT
| Doc PR |
This adds depreciation note for the Symfony\Component\Validator\Mapping\Cache\ApcCache class.
Commits
-------
881ed1e [Validator] add deprecation log (#12665)
This PR was merged into the 2.7 branch.
Discussion
----------
[Hackday][Stopwatch] added __toString on StopwatchEvent
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12152
| License | MIT
| Doc PR | no
This allow to just print the events in a log or something.
```php
$stopwatch = new Stopwatch();
$event = $stopwatch->start('foo', 'cat');
echo $event; // cat: 0.00 MiB - 0 ms
```
Commits
-------
0b88a23 [Stopwatch] added __toString on StopwatchEvent
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7][Process] Add deprecation message for component
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
Commits
-------
b9a6b71 Add deprecation message for Process
This PR was merged into the 2.3 branch.
Discussion
----------
[ClassLoader] define constant only if it wasn't defined before
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
388229b define constant only if it wasn't defined before
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] removed unneeded check
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
It is already checked in the `isEnabled()` method of the parent
`ServerCommand` class if the current PHP build is HHVM and the
`server:start` command is never enabled then. Thus, it's not needed
to check for HHVM on every command execution.
This was pointed out by @stof in #12489 for the `server:run` command.
Commits
-------
ce2adfa removed unneeded check
* 2.7: (36 commits)
[Debug] fix error message on double exception
[Validator] make DateTime objects represented as strings in the violation message.
[RFC] [DebugBundle] [HttpKernel] Avoid using container as dependency for DumpListener
Upgrade information for the Translation component regarding the new LoggingTranslator class.
[WebProfilerBundle] Remove usage of app.request in search bar template
Fix initialized() with aliased services
fix data type in docblock
Rename Symfony2 to Symfony
bumped Symfony version to 2.6.0
updated VERSION for 2.6.0-BETA2
updated CHANGELOG for 2.6.0-BETA2
[Debug] fix ENT_SUBSTITUTE usage
compare version using PHP_VERSION_ID
backport #12489
remove an unneeded check
Remove block submit_widget
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
properly set request attributes in controller test
...
* 2.6: (36 commits)
[Debug] fix error message on double exception
[Validator] make DateTime objects represented as strings in the violation message.
[RFC] [DebugBundle] [HttpKernel] Avoid using container as dependency for DumpListener
Upgrade information for the Translation component regarding the new LoggingTranslator class.
[WebProfilerBundle] Remove usage of app.request in search bar template
Fix initialized() with aliased services
fix data type in docblock
Rename Symfony2 to Symfony
bumped Symfony version to 2.6.0
updated VERSION for 2.6.0-BETA2
updated CHANGELOG for 2.6.0-BETA2
[Debug] fix ENT_SUBSTITUTE usage
compare version using PHP_VERSION_ID
backport #12489
remove an unneeded check
Remove block submit_widget
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
properly set request attributes in controller test
...
* 2.5:
[Debug] fix error message on double exception
Fix initialized() with aliased services
Rename Symfony2 to Symfony
compare version using PHP_VERSION_ID
backport #12489
remove an unneeded check
This PR was merged into the 2.5 branch.
Discussion
----------
compare version using PHP_VERSION_ID
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This continues the work started in #12497 on the `2.3` branch.
Commits
-------
d2f846b compare version using PHP_VERSION_ID
This PR was merged into the 2.3 branch.
Discussion
----------
Rename Symfony2 to Symfony
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
Replaces #12563
Commits
-------
0a76b7e Rename Symfony2 to Symfony
This PR was merged into the 2.6 branch.
Discussion
----------
[Security][Http] fix data type in docblock
| Q | A
| ------------- | ---
| Fixed tickets | #12564
| License | MIT
Commits
-------
1c6f5a1 fix data type in docblock
It is already checked in the `isEnabled()` method of the parent
`ServerCommand` class if the current PHP build is HHVM and the
`server:start` command is never enabled then. Thus, it's not needed
to check for HHVM on every command execution.
This was pointed out by @stof in #12489 for the `server:run` command.
It is already checked in the `isEnabled()` method if the current PHP
build is HHVM and the `server:run` command is never enabled then.
Thus, it's not needed to check for HHVM on every command execution.
* 2.5:
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
[Form][WebProfiler] Empty form names fix
[FrameworkBundle] cache:clear command fills *.php.meta files with wrong data
bumped Symfony version to 2.5.8
updated VERSION for 2.5.7
update CONTRIBUTORS for 2.5.7
updated CHANGELOG for 2.5.7
bumped Symfony version to 2.3.23
fixed typo
updated VERSION for 2.3.22
update CONTRIBUTORS for 2.3.22
updated CHANGELOG for 2.3.22
Conflicts:
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/form.html.twig
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
[FrameworkBundle] cache:clear command fills *.php.meta files with wrong data
bumped Symfony version to 2.3.23
fixed typo
updated VERSION for 2.3.22
update CONTRIBUTORS for 2.3.22
updated CHANGELOG for 2.3.22
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] be smarter when guessing the document root
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12524
| License | MIT
| Doc PR |
Commits
-------
83d768d be smarter when guessing the document root
* 2.7:
Extract an AbstractEventDispatcherTest from EventDispatcherTest and also use it in ContainerAwareEventDispatcherTest
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
[HttpKernel] fix parse error in DumpDataCollector
[TwigBundle/DebugBundle] move dump extension & cleanups
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
*_timezone changes also affect the BirthdayType
don't override internal PHP constants
Drop support for model_timezone and view_timezone options in TimeType and DateType.
[DomCrawler] Added support for link tags in the Link class
[Session] Fix parameter names in WriteCheckSessionHandler
Add consistency with request type checking
[FrameworkBundle] Fix server run in case the router script does not exist
* 2.6:
Extract an AbstractEventDispatcherTest from EventDispatcherTest and also use it in ContainerAwareEventDispatcherTest
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
[HttpKernel] fix parse error in DumpDataCollector
[TwigBundle/DebugBundle] move dump extension & cleanups
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
*_timezone changes also affect the BirthdayType
don't override internal PHP constants
Drop support for model_timezone and view_timezone options in TimeType and DateType.
[DomCrawler] Added support for link tags in the Link class
[Session] Fix parameter names in WriteCheckSessionHandler
Add consistency with request type checking
[FrameworkBundle] Fix server run in case the router script does not exist
* 2.5:
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
don't override internal PHP constants
[Session] Fix parameter names in WriteCheckSessionHandler
Add consistency with request type checking
[FrameworkBundle] Fix server run in case the router script does not exist
Conflicts:
composer.json
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/Debug/ExceptionHandler.php
* 2.3:
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
don't override internal PHP constants
Conflicts:
UPGRADE-3.0.md
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/HttpFoundation/Response.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Bundle][FrameworkBundle] be smarter when guessing the document root
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12524
| License | MIT
| Doc PR |
Commits
-------
e28f5b8 be smarter when guessing the document root
This PR was merged into the 2.3 branch.
Discussion
----------
compare version using PHP_VERSION_ID
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
Commits
-------
367ed3c compare version using PHP_VERSION_ID
To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
This PR was merged into the 2.5 branch.
Discussion
----------
[2.5][FrameworkBundle] Fix server run in case the router script does not exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
I've also added the use of `Process\PhpExecutableFinder`
Commits
-------
1a79859 [FrameworkBundle] Fix server run in case the router script does not exist
* 2.7:
Update filesystem readme.md to include exists method
Add machine readable events
Fixed minor typo
[FrameworkBundle] Fix server start in case the PHP binary is not found
Update UPGRADE-2.6.md
[HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
fixed typo
[Translations] Added missing Hebrew language trans-unit sources
[DependencyInjection] inlined factory not referenced
Fixed case for empty folder
Fixed whitespace control for password form widget
[Routing] correctly initialize condition as string
* 2.6:
Update filesystem readme.md to include exists method
Add machine readable events
Fixed minor typo
[FrameworkBundle] Fix server start in case the PHP binary is not found
Update UPGRADE-2.6.md
[HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
fixed typo
[Translations] Added missing Hebrew language trans-unit sources
[DependencyInjection] inlined factory not referenced
Fixed case for empty folder
Fixed whitespace control for password form widget
[Routing] correctly initialize condition as string
* 2.5:
Update filesystem readme.md to include exists method
Add machine readable events
[HttpKernel][2.6] Adding support for invokable controllers in the RequestDataCollector
fixed typo
[Translations] Added missing Hebrew language trans-unit sources
[DependencyInjection] inlined factory not referenced
Fixed case for empty folder
Fixed whitespace control for password form widget
[Routing] correctly initialize condition as string
This PR was merged into the 2.6 branch.
Discussion
----------
[2.6][FrameworkBundle] Fix server start in case the PHP binary is not found
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
Commits
-------
a6b1cfc [FrameworkBundle] Fix server start in case the PHP binary is not found
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Use Unicode Control Pictures
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I wasn't satisfied with how control chars where dumped, until I found the [Unicode Control Pictures](http://www.unicode.org/charts/PDF/U2400.pdf).
This PR takes advantage of them:
![capture du 2014-11-04 10 52 15](https://cloud.githubusercontent.com/assets/243674/4897678/752fac20-6408-11e4-9186-7b788c9a88bb.png)
Commits
-------
6258ae8 [DebugBundle] remove README.md
50021bd [Debug] No gc_collect_cycles(), it's costly and can segfault
b592e90 [VarDumper] inline dump() function loading
cd076e4 [VarDumper] Use Unicode Control Pictures
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] symfony.com color scheme on the CLI
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12355, #12391
| License | MIT
| Doc PR | -
Commits
-------
d5620bf [VarDumper] symfony.com color scheme on the CLI
This PR was merged into the 2.6-dev branch.
Discussion
----------
[OptionsResolver] Documented BC break
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12378
| License | MIT
| Doc PR | -
Commits
-------
0b0bfc0 [OptionsResolver] Documented BC break
* 2.5:
added missing files
[TwigBundle] added a test
Indicate which file was being parsed if an exception is thrown while running translation:debug
[ClassLoader] Cast $useIncludePath property to boolean
[HttpFoundation] Minor spelling fix in PHPDocs
improve error message for multiple documents
Remove aligned '=>' and '='
[Session] remove invalid workaround in session regenerate
[Kernel] ensure session is saved before sending response
[Routing] serialize the compiled route to speed things up
[Form] Fixed usage of "name" variable in form_start block
[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
[DependencyInjection] use inheritdoc for loaders
[Config] fix filelocator with empty name
[Form] fix form handling with unconventional request methods like OPTIONS
CSRF warning docs on Request::enableHttpMethodParameterOverride()
Conflicts:
src/Symfony/Component/Console/Helper/ProgressBar.php
* 2.3:
added missing files
[TwigBundle] added a test
Indicate which file was being parsed if an exception is thrown while running translation:debug
[ClassLoader] Cast $useIncludePath property to boolean
[HttpFoundation] Minor spelling fix in PHPDocs
improve error message for multiple documents
[Session] remove invalid workaround in session regenerate
[Kernel] ensure session is saved before sending response
[Routing] serialize the compiled route to speed things up
[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
[DependencyInjection] use inheritdoc for loaders
[Config] fix filelocator with empty name
[Form] fix form handling with unconventional request methods like OPTIONS
CSRF warning docs on Request::enableHttpMethodParameterOverride()
Conflicts:
src/Symfony/Component/Routing/Route.php
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] CSRF warning docs on Request::enableHttpMethodParameterOverride()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12043
| License | MIT
| Doc PR | /
Since I wanted to understand this issue I did some research and altered the comment block. Is this a clear enough explanation or does it need more?
Commits
-------
deb70ab CSRF warning docs on Request::enableHttpMethodParameterOverride()
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Profiler] Flexible height for resume box (to accommodate long urls)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
There is an issue when the request url contains many parameters (eg. filter form values) - the url overflows the container.
My proposed solution would be to use ellipsis on it, and on mouseover display the complete url.
Tested it on IE9, Chromium 37 and Firefox 32.
Here is a preview of how it looks:
![profiler-url](https://cloud.githubusercontent.com/assets/886304/4548542/e985b718-4e55-11e4-9963-b97b59279a26.png)
Commits
-------
e7ad172 Removed fixed height from profiler resume box.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Debug] DI controllable ErrorHandler::register()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12327
| License | MIT
| Doc PR | -
This enhances the `ErrorHandler::register()` signature in a BC way, allowing greater control.
See https://github.com/symfony/symfony/pull/12330/files?w=1
Commits
-------
417f021 [Debug] DI controllable ErrorHandler::register()
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] improve error message for multiple documents
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The YAML parser doesn't support multiple documents. This pull requests
improves the error message when the parser detects multiple YAML
documents.
see also #11840
Commits
-------
c77fdcb improve error message for multiple documents
This PR was merged into the 2.3 branch.
Discussion
----------
Translation debug improve error reporting
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12252
| License | MIT
| Doc PR |
Indicate which file was being parsed if an exception is thrown while running translation:debug
When running the translation:debug command, if a template contains invalid twig markup,
an exception is thrown. This patch rethrows a new exception that includes the filename
being parsed in the message to aid debugging.
Commits
-------
97a8f7e [TwigBundle] added a test
b1bffc0 Indicate which file was being parsed if an exception is thrown while running translation:debug
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] fix form handling with OPTIONS request method
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8282
| License | MIT
| Doc PR | -
The OPTIONS request is just handled as any other request method. And accoring to the spec, an options request can also contain a request body like a POST. This only applied when using the deprecated form processing with `$form->submit($request)`. The change also makes the handling consistent with the `handleRequest` behavior via https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php
Commits
-------
28eabd8 [Form] fix form handling with unconventional request methods like OPTIONS
When running the translation:debug command, if a template contains invalid twig markup,
an exception is thrown. This patch rethrows a new exception that includes the filename
being parsed in the message to aid debuging.
This PR was squashed before being merged into the 2.6-dev branch (closes#12198).
Discussion
----------
[HttpFoundation] Allow Cache-Control headers on StreamedResponse
StreamedResponse currently always sets `Cache-Control: no-cache` headers, which prevents all caching of streamed responses.
This change removes this limitation to allow normal cache control response behaviour.
Some caching proxies support caching streamed responses using chunked encoding, most notably AWS CloudFront:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#ResponseCustomTransferEncoding
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/issues/6530
| License | MIT
| Doc PR |
Commits
-------
dd7a9b6 [HttpFoundation] Allow Cache-Control headers on StreamedResponse
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5307
| License | MIT
| Doc PR | -
According to my own testing, this should fix the generation of HTML patterns when `Regex::$match` is set to false. Additionally, patterns containing pipes (or statements) are fixed. See the test cases for examples.
Commits
-------
bf006f5 [Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
This PR was merged into the 2.3 branch.
Discussion
----------
[Session] remove invalid hack in session regenerate
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
The original issue #7380 was just caused because the developer missed to save the session before doing the redirect. That's all. Such mistakes won't happen anymore with #12341
This reverts #8270 and following. Also it makes absolutely no sense to do this only for the `files` save handler which creates huge inconsistencies. All save handlers are affected and it's more a documentation thing.
Commits
-------
703d906 [Session] remove invalid workaround in session regenerate
This PR was merged into the 2.3 branch.
Discussion
----------
[Kernel] ensure session is saved before sending response
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6417, #7885
| License | MIT
| Doc PR | n/a
Saves the session, in case it is still open, before sending the response.
This ensures several things in case the developer did not save the session explicitly:
- If a session save handler without locking is used, it ensures the data is available
on the next request, e.g. after a redirect. PHPs auto-save at script end via
session_register_shutdown is executed after fastcgi_finish_request. So in this case
the data could be missing the next request because it might not be saved the moment
the new request is processed.
- A locking save handler (e.g. the native 'files') circumvents concurrency problems like
the one above. By saving the session before long-running things in the terminate event,
we ensure the session is not blocked longer than needed.
- When regenerating the session ID no locking is involved in PHPs session design. See
https://bugs.php.net/bug.php?id=61470 for a discussion. So in this case, the session must
be saved anyway before sending the headers with the new session ID. Otherwise session
data could get lost again for concurrent requests with the new ID. One result could be
that you get logged out after just logging in.
This listener should be executed as one of the last listeners, so that previous listeners
can still operate on the open session. This prevents the overhead of restarting it.
Listeners after closing the session can still work with the session as usual because
Symfonys session implementation starts the session on demand. So writing to it after
it is saved will just restart it.
Commits
-------
b7bfef0 [Kernel] ensure session is saved before sending response
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Use symfony.com's colorscheme
As promised, this PR changed the current colorscheme to something used in Symfony. This means developers have a consistent experience and the colorscheme is easier to read.
While doings this, I also improved the `HtmlDumper#style()` method to make it easier to understand and maintain. I also changed a bit of the output it created, mostly adding visibility prefixes to properties.
**Before**
![sf-dump-before](https://cloud.githubusercontent.com/assets/749025/4828241/b070d32e-5f7e-11e4-9d51-865ffd47753e.png)
**After**
![sf-dump-after](https://cloud.githubusercontent.com/assets/749025/4828244/b4ec3e52-5f7e-11e4-9031-71f41bc30c25.png)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | -
| Deprecations? | -
| Tests pass? | -
| Fixed tickets | #12348
| License | MIT
| Doc PR | the one about the VarDumper
Commits
-------
07a1e70 Changed meta color
a316420 [VarDumper] use symfony.com colorscheme
7ffba44 [VarDumper] UML prefixes for properties
This PR was merged into the 2.3 branch.
Discussion
----------
[Config] fix filelocator with empty name
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
fix filelocator with empty name + phpdoc in config component
Commits
-------
63b8c07 [DependencyInjection] use inheritdoc for loaders
ddd2fe2 [Config] fix filelocator with empty name
The original issue #7380 was just caused because the developer missed to save the session before doing the redirect. That's all. This reverts #8270 and following.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DebugBundle] add XML schema definition for the DebugBundle
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
d9c239d add XML schema definition for the DebugBundle
This PR was merged into the 2.6-dev branch.
Discussion
----------
[OptionsResolver] fix count() and exceptions
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Please see commits.
Commits
-------
b93c4c0 [OptionsResolver] add missing exception based on OutOfBoundsException and clarify message
8bcbcc3 [OptionsResolver] fix calling resolve from within closure
dc1250c [OptionsResolver] fix invalid value exception formatting
6c2130f [OptionsResolver] fix counting of options
This also makes the CompiledRoute implement Serializable in order to:
1. make the serialization format shorter
2. have no null bytes in there, which the native serializer add for private properties, and thus would complicate saving in databases etc.
3. We should add to our symfony BC promise, that only classes that implement Serializable are ensured to be deserializable correctly with serialized representations of the class in previous symfony versions.
This PR was merged into the 2.6-dev branch.
Discussion
----------
Various fixes
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12278
| License | MIT
| Doc PR | -
A 3 in one PR (diff is best viewed [with whitespaces ignored](https://github.com/symfony/symfony/pull/12285/files?w=1)):
- changed the way the DebugHandlerListeners desactivates itself
- reduced a N×N iteration to a N one in ContainerAwareEventListener::removeListener
- fixed an issue in VarDumper
Commits
-------
ac8efd9 [HttpKernel] fix DebugHandlersListener
5af0f89 [EventDispatcher] perf optim
c7cf6cf [VarDumper] fix control chars styling
* 2.5:
Remove aligned '=>' and '='
Break infinite loop while resolving aliases
[Security][listener] change priority of switchuser
Improved the phpdoc for security token classes
bumped Symfony version to 2.5.7
updated VERSION for 2.5.6
updated CHANGELOG for 2.5.6
bumped Symfony version to 2.3.22
updated VERSION for 2.3.21
update CONTRIBUTORS for 2.3.21
updated CHANGELOG for 2.3.21
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/AbstractFactory.php
src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/Debug/ExceptionHandler.php
src/Symfony/Component/Form/Extension/Core/Type/BaseType.php
src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
src/Symfony/Component/Form/Extension/Core/Type/DateType.php
src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Security/Core/SecurityContextInterface.php
src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php
src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php
src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
src/Symfony/Component/Serializer/Serializer.php
src/Symfony/Component/Validator/Constraints/File.php
This PR was squashed before being merged into the 2.3 branch (closes#12293).
Discussion
----------
Remove aligned '=>' and '='
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | [https://github.com/symfony/symfony/issues/12284]
| License | MIT
Could you said to me if i should make an other PR for 2.5 branch.
Commits
-------
51312d3 Remove aligned '=>' and '='
This PR was merged into the 2.3 branch.
Discussion
----------
[Security][listener] change priority of switchuser
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Hi,
I have the following users:
- Manager: Allowed to access to (/admin) and has a role ROLE_ALLOWED_TO_SWITCH
- Partner: Allowed to access to (/partner)
When I attempt to switch to partner user I get "Access denied", well I think the switchuser listener must be registred before access listener.
Commits
-------
5f8047d [Security][listener] change priority of switchuser
* 2.5:
enforce memcached version to be 2.1.0
[PropertyAccess] Simplified code
[FrameworkBundle] improve server:run feedback
[Form] no need to add the url listener when it does not do anything
[Form] Fix#11694 - Enforce options value type check in some form types
Lithuanian security translations
[SecurityBundle] Add trust_resolver variable into expression | Q | A | ------------- | --- | Bug fix? | [yes] | New feature? | [no] | BC breaks? | [no] | Deprecations? | [no] | Tests pass? | [yes] | Fixed tickets | [#12224] | License | MIT | Doc PR | [-]
[Router] Cleanup
Fixed UPGRADE-3.0.md markup
[FrameworkBundle] Fixed ide links
Add missing argument
[TwigBundle] do not pass a template reference to twig
[TwigBundle] show correct fallback exception template in debug mode
[TwigBundle] remove unused email placeholder from error page
use meta charset in layouts without legacy http-equiv
Conflicts:
src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
* 2.3:
enforce memcached version to be 2.1.0
[FrameworkBundle] improve server:run feedback
[Form] no need to add the url listener when it does not do anything
[Form] Fix#11694 - Enforce options value type check in some form types
Lithuanian security translations
[Router] Cleanup
[FrameworkBundle] Fixed ide links
Add missing argument
[TwigBundle] do not pass a template reference to twig
[TwigBundle] show correct fallback exception template in debug mode
[TwigBundle] remove unused email placeholder from error page
use meta charset in layouts without legacy http-equiv
Conflicts:
src/Symfony/Bundle/TwigBundle/Loader/FilesystemLoader.php
src/Symfony/Bundle/TwigBundle/Resources/views/layout.html.twig
This PR was merged into the 2.6-dev branch.
Discussion
----------
[OptionsResolver] Merged Options class into OptionsResolver
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #4500, #9174, #10585, #10202, #11020, makes #7979+#10616 obsolete
| License | MIT
| Doc PR | symfony/symfony-docs#4159#11716 was reverted as preparation of this PR (453882cd03).
The Options class was merged into OptionsResolver. This made it possible to fix several tickets, as indicated above.
**Usage**
See [the updated documentation](https://github.com/webmozart/symfony-docs/blob/issue11705/components/options_resolver.rst).
**Bug Fixes**
Previously, the options weren't validated before the normalizers were called. As a result, the normalizers had to perform validation again:
```php
$resolver->setAllowedTypes(array(
'choices' => 'array',
));
$resolver->setNormalizers(array(
'choices' => function (Options $options, $value) {
array_merge($options['choices'], ...);
},
));
// fatal error
$resolver->resolve(array('choices' => 'foobar'));
```
This is fixed now.
**BC Breaks**
The `array` type hint was removed from `setRequired()`, `setAllowedValues()`, `addAllowedValues()`, `setAllowedTypes()` and `addAllowedTypes()`. If anybody implemented `OptionsResolverInterface`, they must adapt their code.
The Options class was turned into an interface extending ArrayAccess and Countable. Anybody instantiating Options directly should instantiate OptionsResolver instead. Anybody using any of the methods available in Options (`get()`, `has()`) should use the ArrayAccess interface instead.
Normalizers are not called anymore for undefined options (#9174). People need to set a default value if they want a normalizer to be executed independent of the options passed to `resolve()`.
**Deprecations**
OptionsResolverInterface was deprecated and will be removed in 3.0. OptionsResolver instances are not supposed to be shared between classes, hence an interface does not make sense.
Several other methods were deprecated. See the CHANGELOG and UPGRADE-2.6 files for information.
**Todo**
- [x] Fix PHPDoc
- [x] Adapt CHANGELOG/UPGRADE
- [x] Adapt documentation
- [x] Deprecate OptionsResolver[Interface]
Commits
-------
642c119 [OptionsResolver] Merged Options class into OptionsResolver
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] add meta-data on hover
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR adds meta-data on hover to HTML dumps:
- strings length
- constants value
- control chars code
- local refs count
Commits
-------
bef48b3 [VarDumper] add meta-data on hover
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] no need to add the url listener when it does not do anything
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
In line with #11696
Commits
-------
7aea1c9 [Form] no need to add the url listener when it does not do anything
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Serializer] Handle circular references
| Q | A
| ------------- | ---
| Bug fix? | Yes: avoid infinite loops. Allows to improve #5347
| New feature? | yes (circular reference handler)
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | symfony/symfony-docs#4299
This PR adds handling of circular references in the `Serializer` component.
The number of allowed iterations is configurable (one by default).
The behavior when a circular reference is detected is configurable. By default an exception is thrown. Instead of throwing an exception, it's possible to register a custom handler (e.g.: a Doctrine Handler returning the object ID).
Usage:
```php
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
use Symfony\Component\Serializer\Serializer;
class MyObj
{
private $id = 1312;
public function getId()
{
return $this->getId();
}
public function getMe()
{
return $this;
}
}
$normalizer = new GetSetMethodNormalizer();
$normalizer->setCircularReferenceLimit(3);
$normalizer->setCircularReferenceHandler(function ($obj) {
return $obj->getId();
});
$serializer = new Serializer([$normalizer]);
$serializer->normalize(new MyObj());
```
Commits
-------
48491c4 [Serializer] Handle circular references
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Bridge][Doctrine][Form] Add entity manager instance support for em option
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10157
| License | MIT
| Doc PR | symfony/symfony-docs#4336
This PR allows to pass an explicit entity manager instance as em option.
Commits
-------
d84e3a8 [Bridge][Doctrine][Form] Add entity manager instance support for em option
In #12253, improved feedback was added to the `server:run` command
instructing the user how to terminate the built-in web server. This
is hereby backported to the `2.3` branch.
* display a message when `server:start` is executed and the PCNTL
extension is not loaded
* print instructions about how to terminate the `server:run` command
This PR was squashed before being merged into the 2.6-dev branch (closes#12191).
Discussion
----------
[Security] More accurate docblocks for AbstractVoter
| Q | A
| ------------- | ---
| Fixed tickets | none
| License | MIT
Two fixes for docblocks in AbstractVoter:
1. Previously the example return value for a few methods used PHP's short array syntax (>= PHP 5.4). Symfony minimum PHP is 5.3 so the docblock examples should be compatible with that.
2. Previously getSupportedClasses() docblock had an example return value showing a FQCN using a leading slash. AbstractVoter looks for `get_class($object)` in the array of getSupportedClasses() returned values, and `get_class()` returns the FQCN without a leading slash.
Commits
-------
ed226ec [Security] More accurate docblocks for AbstractVoter
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBundle] do not pass a template reference to twig
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
twig does not know about template references and only expects a string.
this commit also fixes that name parsing and locating was called twice for nonexistent templates.
Commits
-------
7fe33e3 [TwigBundle] do not pass a template reference to twig
twig does not know about template references and only expects a string.
this commit also fixes that name parsing and locating was called twice for nonexistent templates
This PR was merged into the 2.3 branch.
Discussion
----------
use meta charset in layouts without legacy http-equiv
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
`<meta charset="UTF-8" />` is now the recommended approach
Commits
-------
96e7b01 use meta charset in layouts without legacy http-equiv
* 2.5:
[Routing] add tests for RequestContext
[Routing] fix inconsistencies in RequestContext
don't raise warnings when exception is thrown
[Framework][DX] Set the proper validator class according to the configured api version
`array_map()` raises a warning when an exception is thrown inside the
callback (see https://bugs.php.net/bug.php?id=55416). To avoid these
warnings, `selectorToXPath()` is applied inside the loop.
This PR was squashed before being merged into the 2.6-dev branch (closes#12180).
Discussion
----------
Prevent an empty choice list being passed in debug:container
Hi guys!
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | n/a
Currently, there is a "bug" where if you pass an empty array to ChoiceList, then you get this following warning from `QuestionHelper::doAsk()`:
>
Warning: max(): Array must contain at least one element
That should probably be fixed too, but it would go on an earlier version, so I didn't want to mix fixes for different branches.
Thanks!
Commits
-------
ef23b63 Prevent an empty choice list being passed in debug:container
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel] properly handle exceptions in translator listener
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The `setLocale()` method can throw an `\InvalidArgumentException` when
an invalid locale has been passed. These exceptions must be handled by
the `TranslatorListener` which should then pass the request's default
locale instead.
Commits
-------
d3a0a55 properly handle exceptions in translator listener
Since the `TranslatorListener` was not registered as a service, the
proper locale would never have been passed from the current request
to the translator.
The `setLocale()` method can throw an `\InvalidArgumentException` when
an invalid locale has been passed. These exceptions must be handled by
the `TranslatorListener` which should then pass the request's default
locale instead.
[HttpFoundation] fixed the docs so that it gives some explanation about how you are vulnerable to CSRF when you enable the httpMethodeParameterOverride
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Sfdump JS ns and VarCloner replacing Ext+PhpCloner
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12140
| License | MIT
| Doc PR | -
As VarDumper is independant of the WDT, this patch creates a new JavaScript namespace used for HTML dumps.
Commits
-------
da96ad8 [VarDumper] Sfdump JS ns and VarCloner replacing Ext+PhpCloner
This PR was squashed before being merged into the 2.6-dev branch (closes#12146).
Discussion
----------
[HttpFoundation] Fix PdoSessionHandler to work properly with streams
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Ref: https://github.com/symfony/symfony/pull/10931#discussion_r18387931
Commits
-------
9531a2b [HttpFoundation] Fix PdoSessionHandler to work properly with streams
This PR was squashed before being merged into the 2.6-dev branch (closes#11976).
Discussion
----------
[Yaml] Ensure whole number floats have their data type is persisted.
| 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
See http://yaml.org/spec/1.1/#id858936 specifically the spec about specific data types.
Sample code that exposes the issue:
```php
$yaml = new \Symfony\Component\Yaml\Yaml();
$expected = array('float' => (float) 1);
$test = $yaml->parse($yaml->dump($expected));
if ($expected === $test) {
print "match!\n";
}
else {
var_dump($test);
}
```
This will output
```
array(1) {
'float' =>
int(1)
}
```
Commits
-------
6a507cc [Yaml] Ensure whole number floats have their data type is persisted.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Dynamic HTML dumper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12109
| License | MIT
| Doc PR | -
This PR partially reverts #12109 because it didn't take into account that many dumps can share a single style tag.
More importantly, this PR enhance dump rendering with some cute JS navigation effects:
- references highlighting on hovering
- moving references toggling
Here is a screenshot (note the yellow background and the fact that `#2` appears after the first `@2`):
![capture du 2014-10-04 09 45 44](https://cloud.githubusercontent.com/assets/243674/4514936/4431c67e-4b9b-11e4-9809-8d06836be824.png)
Commits
-------
b799844 [VarDumper] Dynamic HTML dumper
A small fix in the "parse" function of the "ControllerNameParser" Controller.
We should use "!==" instead of "!=" since it's better and faster in this case.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
This PR was squashed before being merged into the 2.6-dev branch (closes#12096).
Discussion
----------
Add an action to show *error* pages in kernel.debug mode
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7446, #1486, #11327
| License | MIT
| Doc PR | symfony/symfony-docs#4293
See #7446 for the initial reasoning. In short, add to your `routing_development.yml` file the following
```yaml
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
```
Then you can use `http://localhost/app_dev.php/_error/xxx` to preview the HTML *error* page that the default `ExceptionController` (from `TwigBundle`) would pick for the XXX status code.
You can also use `http://localhost/app_dev.php/_error/xxx.{some_format}` to show error pages for other formats than HTML, most notably `txt`.
Note that the status code will be 500 for all exceptions [that do not implement `HttpExceptionInterface`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Debug/Exception/FlattenException.php#L47).
##### Want to test with a custom exception?
~~Folks might want to display (part of) the exception even on error pages and thus need to work with generic (own) exceptions.~~
~~They could write an arbitrary controller and throw their exception there. By default, the `ExceptionController` would be used to handle this, only that it would not show *error* pages in `kernel.debug` mode.~~
~~Thus, a simple public setter to change the `debug` flag after construction could help. Do we want to add that as well?~~
If you want to test error pages with your own exceptions,
* create a subclass of `ExceptionController`
* set the protected `debug` flag to false
* register it as twig.exception_controller in the config
* throw your custom exception from any controller.
That should give you the error page also in `kernel.debug` mode.
##### To-Do
- [x] Update docs
- [x] Add route in symfony/symfony-default
Commits
-------
66ed177 Add an action to show *error* pages in kernel.debug mode
Commands cannot have a double colon in their name (for example, a
command can't be named `foo::bar`). However, one might try to
retrieve a `foo::bar` command from the application like this:
```php
$command = $application->find('foo::bar');
```
The `findAlternatives()` method of the `Application` class fails to
handle these strings when there are commands registered with a name
consisting of at least three parts (e.g. a command is named
`foo:bar:baz`). In this case, an empty string is passed to `strpos()`
causing PHP to raise a warning.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Fix Binary Format when maxSize is smaller than uploadLimit
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Add a small fix to #12103.
If constraint `maxSize` is defined with base10 (K or M) and is smaller than ini `upload_max_filesize` (defined with base2 (Ki, Mi, Gi, ...) then the error message will not be nicely displayed.
Commits
-------
ef30dea Fix Binary Format when maxSize is smaller than uploadLimit
This PR was merged into the 2.6-dev branch.
Discussion
----------
[WIP] minor [Serializer] Fix CS
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
* Reverts CS breaks introduced by #12102 found by @stof and @xabbuh.
* Fix CS of `PropertyNormalizer` (missed in last commit)
Commits
-------
dffa3e4 [Serializer] Fix CS
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] make assets-install --relative equivalent to --symlink --relative
| Q | A
| ------------- | ---
| Bug fix? | kinda
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
The `--relative` option of `assets:install` only makes sense when asking for symlinks. Before this change, you were forced to pass the two options: `--symlink --relative`. This PR lets you just use `--relative` and the `--symlink` option will be set for you.
This PR also fallbacks to absolute symlinks when relative ones do not work.
Commits
-------
87d4039 [FrameworkBundle] make assets-install --relative equivalent to --symlink --relative
This PR was merged into the 2.6-dev branch.
Discussion
----------
tests for the TranslatorListener
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
26b619b tests for the TranslatorListener
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Display a nice upload limit message
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Actualy when a user upload a file who exceed the upload limit, the error messag looks like `The file is too large. Allowed maximum size is 2097152 bytes.` which is not very readable.
This PR use the same method who generate the `maxSize` error message by gessing the smallest possible number.
The error message became `The file is too large. Allowed maximum size is 2 MiB.`
Commits
-------
b6e29e9 Display a nice upload limit message
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Improved dump in html
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | http://www.w3.org/TR/html5/dom.html#the-id-attribute
| License | MIT
| Doc PR | -
Commits
-------
f214eda [VarDumper] Added unique id for every single dump in html
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] enable ErrorHandler in prod
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11053, #8281
| License | MIT
| Doc PR | -
- a new debug.error_handler service is the registered PHP error handler, with ErrorHandler::register() as factory
- ErrorHandler::register() is patched so that it checks if the currently registered error handler is an instance of ErrorHandler - in which case it returns this instance and don't create a new one.
- DebugHandlersListener now listen to ConsoleEvents and re-injects fatal errors within the $app->renderException code path
- DebugHandlersListener also has a new $scream parameter to control is silenced errors are logged or not
Commits
-------
fac3cc4 [FrameworkBundle] register ErrorHandler at boot time
4acf5d3 [Debug] make screaming configurable
4d0ab7d [FrameworkBundle] enable ErrorHandler in prod
This PR was merged into the 2.6-dev branch.
Discussion
----------
minor [Serializer] Fix CS. Uniformize PHPDoc.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
5be84c4 [Serializer] Fix CS. Uniformize PHPDoc.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DependencyInjection] Tweaked factories
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12008
| License | MIT
| Doc PR | n/a
There are some issues with new service factories:
* `ContainerBuilder` cannot instantiate service from factory (i.e. currently it works for dumped code only)
* Dumped code sometimes is invalid (anonymous services as factories, factories without arguments)
Commits
-------
ee82392 [DependencyInjection] Tweaked factories
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpFoundation] enhance PdoSessionHandler
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5483, #2067, #2382, #9029
| License | MIT
0. [x] Continuation of locking implementation (#10908): Implement different locking strategies
- `PdoSessionHandler::LOCK_TRANSACTIONAL` (default): Issues a real row lock but requires a transaction
- `PdoSessionHandler::LOCK_ADVISORY`: app-level lock, safe as long as only the PdoSessionHandler accesses sessions, advantage is it does not require a transaction (not implemented for oracle or sqlsrv yet)
- `PdoSessionHandler::LOCK_NONE`: basically what is was before, prone to race conditions, means the last session write wins
1. [x] Save session data as binary: Encoding session data was definitely the wrong solution. Session data is binary text (esp. when using other session.serialize_handler) that must stay as-is and thus must also be safed in a binary column. Base64 encoding session data just decreses performance and increases storage costs and is semantically wrong because it does not have a character encoding.
That saving null bytes in Posgres won't work on a character column is also documented
> First, binary strings specifically allow storing octets of value zero and other "non-printable" octets (usually, octets outside the range 32 to 126). Character strings disallow zero octets, and also disallow any other octet values and sequences of octet values that are invalid according to the database's selected character set encoding.
http://www.postgresql.org/docs/9.1/static/datatype-binary.html#DATATYPE-BINARY-TABLE
2. [x] Implement lazy connections that are only opened when session is used by either passing a dsn string explicitly or falling back to session.save_path ini setting. Fixes#9029
3. [x] add a create table method that creates the correct table depending on database vendor. This makes the class self-documenting and standalone useable.
5. [x] add lifetime column to session table which allows to have different lifetimes for each session
6. [x] add isSessionExpired() method to be able to distinguish between a new session and one that expired due to inactivity, e.g. to display flash message to user
7. [x] added upgrade and changelog notes
Commits
-------
1bc6680 [HttpFoundation] implement different locking strategies for sessions
6f5748e adjust sqlite table definition
5978fcf added upgrade and changelog notes for PdoSessionHandler
182a5d3 [HttpFoundation] add create table method to pdo session handler
e79229d [HttpFoundation] allow different lifetime per session
af1bb1f add test for null byte in session data
251238d [HttpFoundation] implement lazy connect for pdo session handler
7dad54c [HttpFoundation] remove base64 encoding of session data
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] container:debug : list services if no service match exacly the name argument
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11303
| License | MIT
| Doc PR |
If we launch the command "container:debug log" and there is no
service nammed log, it will print something like this :
```
[0] logger
[1] monolog.handler.console
[2] monolog.handler.debug
```
After the service has been chosen, usual container:debug informations
are displayed.
Commits
-------
16201b6 [FrameworkBundle] container:debug : list services if no service match exacly the name argument
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Debug] expose object_handle
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This is a small enhancement to the symfony debug C extension that allows fetching an object's handle.
This is the `#number` as displayed by var_dump():
`class stdClass**#1** (0) {}`
This is required for VarDumper to be able to expose objects' handles and thus have more precise dumps.
It will allow inspecting "same" relationships between two *different* dumps.
Commits
-------
5f6b676 [Debug] expose object_handle
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11303
| License | MIT
| Doc PR |
If we launch the command "container:debug log" and there is no
service nammed log, it will print something like this :
```
[0] logger
[1] monolog.handler.console
[2] monolog.handler.debug
```
After the service has been chosen, usual container:debug informations
are displayed.
* 2.5:
[Doc] Use Markdown syntax highlighting
[Finder] tweaked docs
[Finder] Add info about possibilities offered by SplFileInfo
fixed CS
[Security][Http][Authentication] Make a test pass on HHVM
fix components tests
[Intl] FIxed failing test
[Intl] Generated the data for ICU version 54-rc
[EventDispatcher] fix doc bloc on EventDispatcherInterface
[Validator] Update validators.zh_CN.xlf, fix translation error
bumped Symfony version to 2.5.6
updated VERSION for 2.5.5
updated CHANGELOG for 2.5.5
bumped Symfony version to 2.3.21
updated VERSION for 2.3.20
update CONTRIBUTORS for 2.3.20
updated CHANGELOG for 2.3.20
[Intl] Integrated ICU data into Intl component
Conflicts:
src/Symfony/Component/Debug/README.md
src/Symfony/Component/DependencyInjection/README.md
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/OptionsResolver/README.md
* 2.3:
[Doc] Use Markdown syntax highlighting
[Finder] tweaked docs
[Finder] Add info about possibilities offered by SplFileInfo
fix components tests
[Intl] FIxed failing test
[Intl] Generated the data for ICU version 54-rc
[EventDispatcher] fix doc bloc on EventDispatcherInterface
[Validator] Update validators.zh_CN.xlf, fix translation error
bumped Symfony version to 2.3.21
updated VERSION for 2.3.20
update CONTRIBUTORS for 2.3.20
updated CHANGELOG for 2.3.20
[Intl] Integrated ICU data into Intl component
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Intl/ResourceBundle/LocaleBundle.php
This PR was merged into the 2.3 branch.
Discussion
----------
fix components tests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Since #12006, the `ContainerBuilder` contains the `addExpressionLanguageProvider()` method which references a class from the ExpressionLanguage component. By default, the PHPUnit mock API tries to mock all methods of the class being doubled. Since the ExpressionLanguage component is not required to run the tests, creating the mock objects fails when the mock API fails to mock the `addExpressionLanguageProvider()` method.
Commits
-------
2f2a732 fix components tests
Since #12006, the `ContainerBuilder` contains the
`addExpressionLanguageProvider()` method which references a class from
the ExpressionLanguage component. By default, the PHPUnit mock API
tries to mock all methods of the class being doubled. Since the
ExpressionLanguage component is not required to run the tests,
creating the mock objects fails when the mock API fails to mock
the `addExpressionLanguageProvider()` method.
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Integrated ICU data into Intl component #1
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11447, #10807
| License | MIT
| Doc PR | -
This PR is an alternative implementation to #11884. It depends on ~~#11906~~ and ~~#11907~~ being merged first (~~these are included in the diff until after a merge+rebase~~ merged+rebased now).
With this PR, the ICU component becomes obsolete. The ICU data is bundled with Intl in two different formats: JSON and the binary ICU resource bundle format (version 2) readable by PHP's `\ResourceBundle` class. For a performance comparison between the two, see my [benchmark](/webmozart/json-res-benchmark).
~~The data is contained in two zip files: json.zip (2.6MB) and rb-v2.zip (3.8MB). The handler~~
```php
\Symfony\Component\Intl\Composer\ScriptHandler::decompressData()
```
~~needs to be added as Composer hook and decompresses the data after install/update.~~
The data is included as text/binary now. Git takes care of the compression.
Before this PR can be merged, I would like to find out what the performance difference between the two formats is in real applications. For that, I need benchmarks from some real-life applications which use ICU data - e.g. in forms (language drop-downs, country selectors etc.) - for both the JSON and the binary data. You can force either format to be used by hard-coding the return value of `Intl::detectDataFormat()` to `Intl::JSON` and `Intl::RB_V2` respectively. I'll also try to create some more realistic benchmarks.
If JSON is not significantly slower/takes up significantly more memory than the binary format, we can drop the binary format altogether.
Commits
-------
be819c1 [Intl] Integrated ICU data into Intl component
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Form] Added "label_format" option
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11456
| License | MIT
| Doc PR | TODO
This PR replaces #11456. It adds a "label_format" option which allows to configure a format for generating labels. Two placeholders are available: `%name%` and `%id%`.
**Feedback wanted**: Should we change the placeholders to `{{ name }}` and `{{ id }}`?
The option is inherited from the parent form if not set explicitly on a field:
```php
$form = $this->createForm('myform', $data, array('label_format' => 'form.label.%id%'));
```
Follow-up PR: Make the default label format and translation domain configurable in config.yml.
Commits
-------
aad442d [Form] Added "label_format" option
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Made it possible to store the cause of a constraint violation
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | TODO
This change makes it possible to store the cause of a violation (e.g. an exception). This way it is possible to follow the trace of violations caused by exceptions up to their root.
```php
try {
// ...
} catch (Exception $e) {
$this->context->buildViolation('Error!')
->setCause($e)
->addViolation();
}
```
This is one step to solve #5607. See #12054.
Commits
-------
499eeb4 [Validator] Made it possible to store the cause of a constraint violation
This PR was merged into the 2.6-dev branch.
Discussion
----------
[MonologBridge] Ignore empty context/extra by default in the ConsoleFormatter
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This adds support for https://github.com/Seldaek/monolog/pull/388 and turns it on by default since the console output is arguably meant for humans and not for machine readable stuff it makes sense I believe. /cc @Tobion
**Note:** This depends on an unreleased version of monolog and should not be merged until 1.11 is out.
Commits
-------
9b69f56 [MonologBridge] Ignore empty context/extra by default in the ConsoleFormatter
This fixes a DumpDataCollector error when the debug panel is opened
without collected data:
ContextErrorException: Warning: Invalid argument supplied for foreach() -
in vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php at line 165
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] remove invalid tests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
With #12046, the `getLocale()` method isn't overriden anymore by the `Translator` from the FrameworkBundle, but the locale is set by the new `TranslatorListener`. Therefore, the tests ensuring the old behavior are removed.
Commits
-------
80d52c7 remove invalid tests
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DebugBundle] fix dev dependencies
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
3454e59 [DebugBundle] fix dev dependencies
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Debug] add some file link format handling
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
c6923af [Debug] add some file link format handling
With #12046, the `getLocale()` method isn't overriden anymore by the
`Translator` from the FrameworkBundle, but the locale is set by the
new `TranslatorListener`. Therefore, the tests ensuring the old
behavior are removed.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DependencyInjection] Removed unreachable code
| Q | A
| ------------- | ---
| Bug fix? | not really
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
According to undefined $e, this is an unreachable code. As I can see, circular references are handled by parent method.
Commits
-------
ecedea2 [DependencyInjection] Removed unreachable code
* 2.5:
fixed deps
[Debug] fixed class lookup when using PSR-0 with a target dir
fixed standalone tests
fixed standalone tests
[Validator] fixed component standalone tests
fixed standalone component tests depending on Validator and Form
fixed some composer.json to make standalone component tests pass
[SecurityBundle] fixed tests when used in standalone
* 2.4:
[Debug] fixed class lookup when using PSR-0 with a target dir
fixed standalone tests
fixed standalone tests
[Validator] fixed component standalone tests
fixed standalone component tests depending on Validator and Form
fixed some composer.json to make standalone component tests pass
[SecurityBundle] fixed tests when used in standalone
Conflicts:
src/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
src/Symfony/Component/Validator/composer.json
This PR was merged into the 2.6-dev branch.
Discussion
----------
Expression language extensibility
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10512
| License | MIT
| Doc PR | not yet
The way we can add functions to an ExpressionLanguage instance is by using inheritance. #10512 tries to make the expression language in the routing flexible but using inheritance won't work when several bundles want to add functions.
So, this PR takes another approach to solve the problem globally.
Todo:
* [x] add some more tests
* [ ] add some docs
Commits
-------
7c24188 [FrameworkBundle] added a compiler pass for expression language providers
4195a91 [Routing] added support for custom expression language functions
1a39046 [Security] added support for custom expression language functions
79bcd52b [DependencyInjection] added support for custom expression language functions
184742c [ExpressionLanguage] added ExpressionFunction and ExpressionFunctionProviderInterface
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Security] Fix BC break introduced in #10694
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12034
| License | MIT
Not sure about this fix, @stof 'ing welcome
Commits
-------
b2183aa [Security] Fix BC break introduces in #10694
* 2.5:
Make Doctrine's dependency injection test less fragile.
[Finder] [Iterator] Make the tests less fragile
[Form][DateTime] Propagate invalid_message & invalid_message parameters to date & time sub widgets
Fix expression language in the container when using the "container" variable
Conflicts:
src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
* 2.4:
Make Doctrine's dependency injection test less fragile.
[Finder] [Iterator] Make the tests less fragile
[Form][DateTime] Propagate invalid_message & invalid_message parameters to date & time sub widgets
Fix expression language in the container when using the "container" variable
* 2.3:
Make Doctrine's dependency injection test less fragile.
[Finder] [Iterator] Make the tests less fragile
[Form][DateTime] Propagate invalid_message & invalid_message parameters to date & time sub widgets
[Doctrine][DependencyInjection] The test checks that a few items are ordered according to the value of their 'priority' attribute. However, a few of the items have the same value of this attribute. RegisterEventListenersAndSubscribersPass doesn't use a stable sorting, yet the test asserts that items that are 'equal' shall go in the original order. Modified so that the order of the original items is not checked.
This PR was merged into the 2.6-dev branch.
Discussion
----------
fixed translator locale when dealing with sub-requests
| Q | A
| ------------- | ---
| Bug fix? | yes, kinda
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This fixes the (edge) case where the locale of a sub-requests is different from the locale of the master request. The listener synchronizes the translator locale with the one from the request.
Commits
-------
0e65af2 fixed translator locale when dealing with sub-requests
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DependencyInjection] made some perf improvements
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This PR optimizes the creation of dumped containers drastically (thanks @jpauli for the hint).
The Container class generated by the PHP dumper does not include the `getDefaultParameters()` method anymore. It does not seem like a big deal to me as I fail to see a use case where someone would override this method.
Commits
-------
e1a3ef8 [DependencyInjection] made some perf improvements
We are always using $this->container->get() and now we're using the short-cut sometimes to access to a service.
It could be nice to stay with $this->container->get(), so for those who copy and paste the Controller to create a ControllerUtils, they wont have to change it (in fact neither ControllerUtils::get() nor ControllerUtils::has() exists).
See: http://www.whitewashing.de/2013/06/27/extending_symfony2__controller_utilities.html
This PR was merged into the 2.6-dev branch.
Discussion
----------
[2.3] Update src/Symfony/Component/HttpFoundation/Request.php
This makes `getContentType()` work when a regular form is submitted. It would return `"form"`
Commits
-------
c81ec4d Update src/Symfony/Component/HttpFoundation/Request.php
This PR was squashed before being merged into the 2.6-dev branch (closes#11453).
Discussion
----------
[Config] Allow extra hint in exception message
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #1666
| License | MIT
| Doc PR | symfony/symfony-docs#4047
Commits
-------
3062b3e [Config] Allow extra hint in exception message
* 2.5:
[Validator] Added ConstraintValidator::buildViolation() helper for BC with 2.4 API
[Validator] Fixed LegacyValidator when only a constraint is validated
Conflicts:
src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
src/Symfony/Component/Validator/Constraints/RangeValidator.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Security] make it possible to override the default success/failure handler
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5432, #9272, #10417, #11926
| License | MIT
| Doc PR | symfony/symfony-docs#4258
Overriding the default success/failure handler of the security firewalls is possible via the `success_handler` and `failure_handler` setting but this approach is not flexible as it does not allow you to get the options/provider key.
To sum up the problem:
* Overriding the default success/failure handler is possible via a service;
* When not overridden, the default success/failure handler gets options and the provider key;
* Those options and the provider key are injected by the factory as they are dynamic (they depend on the firewall and the provider key), so getting those options/provider key is not possible for a custom service that is only configured via the container configuration;
* Extending the default handler does not help as the injection mechanism is only triggered when no custom provider is set;
* Wrapping the default handler is not possible as the service id is dynamic.
... and of course we need to keep BC and make it work for people extending the default handler but also for people just using the interface.
Instead of the current PR, I propose this slightly different approach. It's not perfect, but given the above constraint, I think this is an acceptable trade-of.
So, several use cases:
* Using the default handler (no change);
* Using a custom handler that implements `AuthenticationSuccessHandlerInterface` directly and does not need any options (no change);
* Using a custom handler that needs the options/provider key (that's the new use case this PR supports).
This PR introduces 2 new classes that wrap custom handlers. If those classes define the `setOptions()` and/or `setProviderKey()` methods, they are automatically called with the correct arguments. Yours handler does not need to extend the default handler `DefaultAuthentication*Handler`, but doing so helps as the setters are already defined there.
Commits
-------
810eeaf [Security] made it possible to override the default success/failure handler (take 2)
36116fc [Security] made it possible to override the default success/failure handler
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Added ConstraintValidator::buildViolation() helper for BC with the 2.4 API
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR adds a `buildViolation()` helper method to the base `ConstraintValidator` to remove the API checks (2.4 vs. 2.5) from the constraint validator implementations. Once the 2.4 API is removed, this helper method will be removed as well.
**Todos**
- [x] Backport changes from #12021
Commits
-------
6b0c24a [Validator] Added ConstraintValidator::buildViolation() helper for BC with 2.4 API
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Fixed LegacyValidator when only a constraint is validated
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
The 2.5-BC API is currently broken for the following use case:
```php
$validator->validate($value, $constraint);
```
This is fixed now.
Commits
-------
1d48206 [Validator] Fixed LegacyValidator when only a constraint is validated
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Form] Choice children can be template customized like collection
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes?
| Deprecations? | no
| Tests pass? | No ?
| Fixed tickets |
| License | MIT
| Doc PR | None
I wanted to customize the template of a children of a choice field. I learned it was not currently possible, though it is with the collection type. So this should let people be able to customize the template for all the choice children at once.
Ie:
```jinja
{% block _user_colors_entry_widget %}
```
Still have to fix the tests
Commits
-------
4e6b27f [Form] Choice children can be template customized like collection
* 2.5:
[Command] Set the process title as late as possible
[Form] Removed constructor argument from FormTypeHttpFoundationExtension for forward compatibility with 2.5
[Validator] Simplified testing of violations
remove obsolete test file
[FrameworkBundle] output failed matched path for clarification
bug #10242 Missing checkPreAuth from RememberMeAuthenticationProvider
[Validator] Fixed StaticMethodLoaderTest to actually test something
[Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required
Use request format from request in twig ExceptionController
fixed bug
added the possibility to return null from SimplePreAuthenticationListener
[Form] Moved POST_MAX_SIZE validation from FormValidator to request handler
[Form] Add a form error if post_max_size has been reached.
Response::isNotModified returns true when If-Modified-Since is later than Last-Modified
[WebProfilerBundle] turbolinks compatibility
Conflicts:
src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
This PR was squashed before being merged into the 2.4 branch (closes#12030).
Discussion
----------
Fix expression language in the container when using the "container" variable
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11995
| License | MIT
| Doc PR | n/a
See #11995 for the description of the problem.
Commits
-------
2b2f0df Fix expression language in the container when using the "container" variable
* 2.4:
[Form] Removed constructor argument from FormTypeHttpFoundationExtension for forward compatibility with 2.5
[Validator] Simplified testing of violations
remove obsolete test file
[FrameworkBundle] output failed matched path for clarification
bug #10242 Missing checkPreAuth from RememberMeAuthenticationProvider
[Validator] Fixed StaticMethodLoaderTest to actually test something
[Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required
Use request format from request in twig ExceptionController
fixed bug
added the possibility to return null from SimplePreAuthenticationListener
[Form] Moved POST_MAX_SIZE validation from FormValidator to request handler
[Form] Add a form error if post_max_size has been reached.
Response::isNotModified returns true when If-Modified-Since is later than Last-Modified
[WebProfilerBundle] turbolinks compatibility
Conflicts:
src/Symfony/Component/Form/Extension/Core/Type/FormType.php
src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
src/Symfony/Component/Form/Extension/Validator/Util/ServerParams.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/RememberMeAuthenticationProviderTest.php
src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
* 2.3:
[Form] Removed constructor argument from FormTypeHttpFoundationExtension for forward compatibility with 2.5
[Validator] Simplified testing of violations
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Simplified testing of violations
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I simplified the assertion of violations in preparation of a replacement PR for #7276.
Commits
-------
8e5537b [Validator] Simplified testing of violations
* 2.3:
remove obsolete test file
[FrameworkBundle] output failed matched path for clarification
bug #10242 Missing checkPreAuth from RememberMeAuthenticationProvider
[Validator] Fixed StaticMethodLoaderTest to actually test something
[Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required
Use request format from request in twig ExceptionController
[Form] Moved POST_MAX_SIZE validation from FormValidator to request handler
[Form] Add a form error if post_max_size has been reached.
Response::isNotModified returns true when If-Modified-Since is later than Last-Modified
[WebProfilerBundle] turbolinks compatibility
Conflicts:
src/Symfony/Component/Form/CHANGELOG.md
src/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/RememberMeAuthenticationProviderTest.php
This PR was squashed before being merged into the 2.6-dev branch (closes#11949).
Discussion
----------
[Console] More consistent application description
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Commits
-------
28edd30 [Console] More consistent application description
This PR was merged into the 2.6-dev branch.
Discussion
----------
New php library structure made easier
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
[This article](https://medium.com/@christophewillemsen/stop-making-bundles-think-bundles-deadd27b88c0) from @ikwattro gives some good ideas on how to ease the creation of a PHP package:
- which is not a bundle usable only on a symfony full stack framework
- without requiring to maintain 2 repos (one for the lib and the other for the bundle)
The only drawback is that Symfony requires the DI extension to be on a given location. So I created a new method Bundle#getContainerExtensionClass than can be easily overwritten if you want to move the Extension class in another directory.
Commits
-------
8eda6b5 New php library structure made easier
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed StaticMethodLoaderTest to actually test something
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This test is not testing anything, except for whether PHP throws a strict standards error when invalid code is loaded.
I disabled error reporting for this test, so that the actual functionality (ignoring static+abstract functions) is tested.
Commits
-------
1b1303a [Validator] Fixed StaticMethodLoaderTest to actually test something
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Added unit-tests for GlobalVariables::getUser()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Tests added should explain that `getUser()` should return `null` when a string is found as user. If this is not correct, a PR should be made. However, this would result in a huge BC break due to people using `{% if app.user %}` which would return `null` if an anonymous token was found. If this suddenly returns a string, this check will fail.
While at it, I have also added `getUser()` tests to verify the unhappy flow is working. These tests uncovered that if `$container->get('security.token_storage')` fails, it will throw an exception rather than return `null`. This issue is now fixed.
List of changes
--------------------
- The old `testGetUser` has been refactored to be tested with multiple variations of return types to verify the return type to work as the code tells.
- `get('security.token_storage')` is now only executed if `has('security.token_storage')` returns true
@fabpot I think this PR should be merged before 2.6, because it fixes an uncaught exception bug in my previous PR which splits the security context
Commits
-------
3f055f7 Fixed a bug and added unit-tests for GlobalVariables
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] output failed matched path for clarification
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11780
| License | MIT
| Doc PR | -
Because cygwin resolves the path behind the scenes, it is otherwise very unclear what path is actually used for matching.
Commits
-------
8d13af7 [FrameworkBundle] output failed matched path for clarification
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel] Extract method to instantiate controller in ControllerResolver
Replaces #10814 to merge into `master` instead of `2.3`.
---
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Currently it's required to duplicate the entirety of the `getController()` and `createController()` methods just to replace the call to `new` (e.g. with container resolution, instead).
Now it's possible to just override the `instantiateController()` method.
Commits
-------
88274df [HttpKernel] Extract method to make callable controller in ControllerResolver
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Serializer] PropertyNormalizer: a new normalizer that maps an object's properties to an array
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | if PR is deemed mergeable, I'll write the docs
This PR adds a new Normalizer for the Serializer component: **`PropertyNormalizer`**.
Currently the only normalizer is `GetSetMethodNormalizer`, which calls getters and setters. This new serializer uses the properties values directly.
This is especially useful if you write a webservice and take/return very simple DTO (Data Transfer Objects) which role is only to act like a "named" `stdClass`. Every property is public (the class doesn't contain any logic), and mapping that to an array is pretty easy.
This normalizer takes into account public, but also *private* and *protected* properties.
FYI I've based most of the code of `GetSetMethodNormalizer`.
Commits
-------
78ceed1 [Serializer] Added PropertyNormalizer, a new normalizer that maps an object's properties to an array
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6645
| License | MIT
| Doc PR | -
Consider the following entity:
```php
class Author
{
/**
* @Assert\NotBlank
*/
private $name;
private $age;
}
```
Right now, the "required" HTML attribute is set for both fields (since the default value of the "required" option is true). IMO this is wrong.
With this fix, the ValidatorTypeGuesser guesses `false` for the "required" option unless a NotNull/NotBlank constraint is present.
Commits
-------
fd77b09 [Form] Fixed ValidatorTypeGuesser to guess properties without constraints not to be required
This PR was merged into the 2.6-dev branch.
Discussion
----------
[WebProfilerBundle] Show AJAX requests in the symfony profiler toolbar
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Adds AJAX requests in the web debug toolbar.
See #8896 for the original discussion.
![image](https://cloud.githubusercontent.com/assets/47313/4384087/43d1feb2-43b0-11e4-99c9-3e50e19e623f.png)
Commits
-------
16d1b35 optimized JS for the AJAX section of the toolbar
2e708d7 made minor tweaks to JS code
8e4c603 replaced the AJAX icon with a smaller one
b66f39a removed hack
9c74fcc removed uneeded web_profiler.debug_toolbar.excluded_ajax_paths parameter in the container
d43edaf [WebProfilerBundle] improved the ajax section of the WDT
37f7dd7 [WebProfilerBundle] Show AJAX requests in the symfony profiler toolbar
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Added "payload" option to all constraints for attaching domain-specific data
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7273
| License | MIT
| Doc PR | TODO
The "payload" option can be used to pass whatever data should be attached to a constraint for an application:
```php
/**
* Domain-specific error codes
* @NotNull(payload="100")
*/
/**
* Structured domain-specific data
* @NotNull(payload={"display": "inline", "highlight": false})
*/
```
The term "payload" is borrowed from JSR-303.
Commits
-------
e8b7c6d [Validator] Added "payload" option to all constraints for attaching domain-specific data
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DependencyInjection] Add a new Syntax to define factories as callables
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
From the original PR #9839:
"This pull requests adds a new syntax to define factories based on the syntax for configurators. This is more flexible than the old syntax (factoryMethod and either of factoryClass or factoryService), as it also allows for functions as factories.
Since the service is now a Reference to a Definition it also allows us to inline factories for a small performance improvement and better encapsulation.
Lastly this prevents a bug where a private factory is simple removed because it's not referenced in the graph.
I did not change any of the existing definitions (there's one use of a factory in FrameworkBundle) or automatically use the new internal representation when parsing YAML or XML definitions because this could introduce subtle B/C issues.
"
Commits
-------
187aeee fixed CS
bd8531d added a new Syntax to define factories as callables.
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] Moved POST_MAX_SIZE validation from FormValidator to request handler
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11729, #11877
| License | MIT
| Doc PR | -
Commits
-------
759ae1a [Form] Moved POST_MAX_SIZE validation from FormValidator to request handler
4780210 [Form] Add a form error if post_max_size has been reached.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Form] Renamed the option "empty_value" to "placeholder"
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #5791
| License | MIT
| Doc PR | TODO
This PR is changing the "empty_value" option to the more understandable name "placeholder".
In a subsequent PR, the "placeholder" option should also be added to all types that support the "placeholder" HTML5 attribute.
Commits
-------
2b440f3 [Form] Renamed the option "empty_value" to "placeholder"
This PR was merged into the 2.6-dev branch.
Discussion
----------
VarDumper and DebugBundle
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
From a user land point of view, this PR creates a global `dump()` function that is to be used instead of `var_dump()`. The component can be used standalone in any dev workflow. Please see the [provided README](https://github.com/symfony/symfony/pull/10640/files?short_path=52d526f#diff-52d526f19bc9e3825c80e7694755409c) for details.
When used with the Framework bundle, variables passed to `dump()` are dumped in a new dedicated panel in the web toolbar. The function is also available in twig templates.
Regarding the implementation, I'm pretty sure you'll find a lot to comment. As I'm sure of nothing else, not even the names of things, please do.
I tried to organize this PR in several commits, from the most fundamental algorithm to pure Symfony glue.
I suggest you follow this order while progressing in the review and the discussion around this PR, so that we can together validate commits one after the other.
Don't hesitate to fork the PR and submit PR on it, I'll cherry-pick your patches.
TODO:
- [x] open a doc PR: https://github.com/symfony/symfony-docs/pull/4243
- [x] open a PR on the Standard edition: https://github.com/symfony/symfony-standard/pull/710
- [x] prefix the CSS classes
- [x] tests for the DebugBundle + other Symfony glue classes
- [x] inline css and js for compat with e.g. Silex
- [x] finish and merge nicolas-grekas/Patchwork-Dumper#5 for better UX
- [x] show a dump excerpt on hovering the icon in the toolbar
- [x] verify README and comments
- [x] validate interfaces/names (Caster / Cloner / Dumper)
- [x] validate new VarDumper component + DebugBundle
- [x] validate Resource/ext/ vs independent repos.
- [x] test and define behavior after KernelEvents::RESPONSE
- [x] update dependencies between components/bundles and composer.json files
- [x] no hard dep on iconv
Not for this PR but might be worth later:
- show a light stack trace + timing + memory at debug() calls
- create a "theme" concept for custom colors/UX
Commits
-------
80fd736 [DebugBundle] Enhance some comments
2e167ba [TwigBridge] add Twig dump() function + tests and fixes
0f8d30f [VarDumper] Replace \e with \x1B in CliDumper to support colour in PHP < 5.4
d43ae82 [VarDumper] Add workaround to https://bugs.php.net/65967a8d81e4 [DebugBundle] Inlined assets to avoid installation issues
5f59811 [DebugBundle] Add doc example for Twig usage
e4e00ef [TwigBridge] DumpNode and Token parser
de05cd9 [DebugBundle] enhance dump excerpts
49f13c6 [HttpKernel] add tests for DumpDataCollector
081363c [HttpKernel] tests for DumpListener
0d8a942 [VarDumper] add Stub objects for cutting cleanly and dumping consts
c8746a4 [DebugBundle] add tests for twig and for the bundle
8d5d970 [DebugBundle] adjust after review
eb98c81 [DebugBundle] dump() + better Symfony glue
9dea601 [DebugBundle] global dump() function for daily use
297d373 [VarDumper] README, LICENSE and composer.json
a69e962 [VarDumper] tests for HtmlDumper
5eaa187 [VarDumper] tests for CliDumper
e6dde33 [VarDumper] HTML variant of the CLI dumper
fa81544 [VarDumper] CLI dedicated dumper and related abstract
1d5e3f4 [VarDumper] interface for dumping collected variables
0266072 [VarDumper] casters for DOM objects
c426d8b [VarDumper] casters for Doctrine objects
0a92c08 [VarDumper] casters for PDO related objects
da3e50a [VarDumper] casters for SPL data structures
c91bc83 [VarDumper] casters for exceptions representation
3ddbf4b [VarDumper] add casters for per class/resource custom state extraction
5b7ae28 [VarDumper] symfony_debug ext. fast and memory efficient cloning algo
07135a0 [VarDumper] algo to clone any PHP variable to a breadth-first queue
4bf9300 [Debug] a README for the debug extension
eec5c92 [Debug] Symfony debug extension
This PR was merged into the 2.3 branch.
Discussion
----------
[WebProfilerBundle] turbolinks compatibility
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
Fix profiler when using turbolinks. (Without this, profiler is rendered without assets)
Commits
-------
c65b4c7 [WebProfilerBundle] turbolinks compatibility
This PR was merged into the 2.6-dev branch.
Discussion
----------
[OptionsResolver] Added a light-weight, low-level API for basic option resolving
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11705
| License | MIT
| Doc PR | symfony/symfony-docs#4159
See [the updated documentation](https://github.com/webmozart/symfony-docs/blob/issue11705/components/options_resolver.rst) for details on the usage of the simple API.
The most important motivation for this change is DX and speed. The basic features of the component should be easily usable in a wide variety of use cases without impacting performance.
For DX reasons, I added the static methods to the `Options` class, which makes the code concise and easy to read and understand:
```php
use Symfony\Component\OptionsResolver\Options;
$options = Options::validateRequired($options, 'format');
$options = Options::validateTypes($options, array(
'format' => array('string', 'int'),
'calendar' => 'int',
));
$options = Options::validateValues($options, array(
'calendar' => array(
\IntlDateFormatter::GREGORIAN,
\IntlDateFormatter::TRADITIONAL,
),
));
$options = Options::resolve($options, array(
'format' => null,
'calendar' => \IntlDateFormatter::GREGORIAN,
));
```
If you need to distribute the option configuration, this PR also extracts the configuration part of the `OptionsResolver` class into a new class `OptionsConfig`, which can be passed around. When the configuration is complete, pass the config object to `Options::resolve()` as second argument:
```php
$config = new OptionsConfig();
$config->setDefaults(array(
'format' => \IntlDateFormatter::MEDIUM,
'calendar' => \IntlDateFormatter::GREGORIAN,
));
$options = Options::resolve($options, $config);
```
Consequently - since `OptionsResolver` extends `OptionsConfig` - the two following statements now become identical:
```php
$options = $resolver->resolve($options);
$options = Options::resolve($options, $resolver);
```
Commits
-------
9066025 [OptionsResolver] Added a light-weight, low-level API for basic option resolving
This PR was squashed before being merged into the 2.6-dev branch (closes#10698).
Discussion
----------
[Security] Added a REMOTE_USER based listener to security firewalls
| 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#3912
TODO
- [x] submit changes to the documentation
I've seen myself implementing a few times a REMOTE_USER based authentication listener, as a large part of security modules for Apache (Kerberos, CAS, and more) are providing the username via an environment variable.
So I thought this could benefit the whole community if directly included in the framework. It is very similar to the X509AuthenticationListener, and basing the RemoteUserAuthenticationListener on the AbstractPreAuthenticatedListener is relevant and very convenient.
Using the X509AuthenticationListener could be possible, but it is confusing to use it directly when your authentication is not certificate based.
Please let me know if I need to update anything.
Regards
Commits
-------
a2872f2 [Security] Added a REMOTE_USER based listener to security firewalls
This PR was squashed before being merged into the 2.6-dev branch (closes#11183).
Discussion
----------
[Security] add an AbstractVoter implementation
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/4257
The idea is to reduce boilerplate required to create custom Voter, doing most of the work for the developer and guiding him on the path by providing simple requirements via abstract methods that will be called by the AbstractVoter.
P.S. This is meant to be a [DX Initiative](https://github.com/symfony/symfony/issues?labels=DX&state=open) improvement.
Commits
-------
d3bafc6 [Security] add an AbstractVoter implementation
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Form] Add allow_html5 option to date and time FormType to disable HTML5 input type
[Form] added allow_html5 option to date and time FormType to disable HTML5 input type when widget is set to single_text
| Q | A
| --------------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6927#7123
| License | MIT
| Doc PR |
With this little patch we can have a single text widget without HTML5 date input type which is required when using some javascript date or time picker .
Commits
-------
392d6c7 add allow_html5 option to date and time FormType to disable HTML5 date input when widget is set to single_text
* 2.5:
typo fixed in AbstractProcessTest (getoutput() => getOutput())
Avoid question mark and asterisk in folder names to prevent windows filesystem issues.
[Translation] [Config] Clear libxml errors after parsing XML file
check for the Validator if forms are enabled
Clear json_last_error
Fix JsonSerializable namespace
Catch exceptions to restore the error handler
[HttpFoundation] Silent only JSON errors
* 2.4:
typo fixed in AbstractProcessTest (getoutput() => getOutput())
Avoid question mark and asterisk in folder names to prevent windows filesystem issues.
[Translation] [Config] Clear libxml errors after parsing XML file
* 2.3:
typo fixed in AbstractProcessTest (getoutput() => getOutput())
Avoid question mark and asterisk in folder names to prevent windows filesystem issues.
[Translation] [Config] Clear libxml errors after parsing XML file
Conflicts:
src/Symfony/Component/Config/Util/XmlUtils.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Finder][Urgent] Remove asterisk and question mark from folder name in test to prevent windows file system issues.
Bugfix: Yes
Fixed tickets: #11984 , #11985
Related tickets: #11970
Commit #11970 prevented Symphony from being checked out via windows due to invalid characters in a folder name within the tests.
The issue was reported in #11984 and was attempted to be fixed in #11985 but wasn't due to still including the question mark.
Please accept this ASAP as it entirely breaks any composer that relies on it.
Commits
-------
5fbb278 Avoid question mark and asterisk in folder names to prevent windows filesystem issues.
This PR was merged into the 2.3 branch.
Discussion
----------
[Translation] [Config] Clear libxml errors after parsing xliff file
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
If libxml_use_internal_errors is set to `true` before parsing xliff file, the libxml errors are not cleared correctly. An error `Validation failed: no DTD found !` occurs in libxml errors after parsing and it's available outside the xliff parser (can break other functionality that use `libxml_get_errors` function).
Commits
-------
fab61ef [Translation] [Config] Clear libxml errors after parsing XML file
A previous commit introduced a folder with a question mark and an asterisk which are invalid NTFS folder name characters and prevented checkout on those systems.
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] check if the Validator component is present when forms are enabled
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The `Symfony\Component\Validator\Validation` class is used in the
`FrameworkExtension` class. Therefore, it is required to have the
Validator component installed in production as well but not only when
being in a development environment.
Commits
-------
ed41da1 check for the Validator if forms are enabled
When the Form component is enabled, the container extension class
automatically enables the Validator component which therefore has to
be enabled. The container extension now throws an exception when forms
are enabled, but the Validator component is not present.
This PR was squashed before being merged into the 2.6-dev branch (closes#11078).
Discussion
----------
[WIP] [TwigBundle] [Exception] Make return value similar to error.json.twig
| Q | A
| ------------- | ---
| Bug fix? | I guess this is a bug
| New feature? | The exception structure changes for the default
| BC breaks? | The exception structure changes for the default
| Deprecations? | [yes|no]
| Tests pass? | [yes|no]
| Fixed tickets |
| License | MIT
| Doc PR |
The result for `error.json.twig` and `exception.json.twig` differ making the client forced to check for it's result.
We think the structure should be the same to make the ie a javascript client try to respond similar for --env=dev|prod
Commits
-------
4a59f98 [WIP] [TwigBundle] [Exception] Make return value similar to error.json.twig
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Filesystem] Check number of bytes copied.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10838
| License | MIT
| Doc PR | n/a
This only test local files (because of `filesize`), wonder if we should include the remote files using `get_headers` in order to get the Content-length for example. However, it will perform an additional request...
Here's a little benchmark for 500 copy from a remote origin file :
- Standard without check -> Time: 47.34 seconds, Memory: 3.75Mb
- Check with `get_headers` ->Time: 1.32 minutes, Memory: 3.75Mb
Commits
-------
81eca38 [Filesystem] Check number of bytes copied.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DependencyInjection] Added exception to avoid fatal during compile in a frozen dumped container
Q | A
------------- | ------------- | -----
Bug fix? | yes
New feature? | no
BC breaks? | no
Deprecations? | no
Tests pass? | yes
Fixed tickets | #10428
License | MIT
Doc PR | N/A
Commits
-------
2356eaa [DependencyInjection] Added exception to avoid fatal during compile in a frozen dumped container
* 2.5:
[2.3] Add missing development dependencies
Fix @return docs on HttpCache::restoreResponseBody()
[Finder] Escape location for regex searches
Make sure HttpCache is a trusted proxy
Conflicts:
src/Symfony/Component/Form/composer.json
* 2.4:
[2.3] Add missing development dependencies
Fix @return docs on HttpCache::restoreResponseBody()
[Finder] Escape location for regex searches
Make sure HttpCache is a trusted proxy
* 2.3:
[2.3] Add missing development dependencies
Fix @return docs on HttpCache::restoreResponseBody()
[Finder] Escape location for regex searches
Make sure HttpCache is a trusted proxy
Conflicts:
src/Symfony/Bridge/Doctrine/composer.json
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Bundle/SecurityBundle/composer.json
src/Symfony/Component/Form/composer.json
This PR was squashed before being merged into the 2.3 branch (closes#11340).
Discussion
----------
[2.3] Add missing development dependencies
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
I've also added a run of the test suite in every component scope.
Commits
-------
3b02af9 [2.3] Add missing development dependencies
This PR was squashed before being merged into the 2.6-dev branch (closes#11312).
Discussion
----------
Make assets:install smarter with symlinks
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | -
| Fixed tickets | #11297
| License | MIT
| Doc PR | -
Commits
-------
6537333 Make assets:install smarter with symlinks
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] add overwrite flag to ProgressBar helper to allow non-decorated output
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes, but not critical
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11542, #10011
| License | MIT
| Doc PR | symfony/symfony-docs#4206
By default, the `ProgressBar` helper overwrites the output to give the nice progress bar look. To prevent the output from blowing up in non-decorated environments, the output was hidden in these environments (see #9846).
This PR enables using the `ProgressBar` in non-decorated environments by adding an `overwrite` flag. When `false`, instead of overwriting the bar, it is rendered on a new line. To prevent flooding the output, you can adjust the `redrawFrequency`.
By default, when using the `ProgressBar` in a non-decorated environment, the `overwrite` flag is set to false. If a `max` is set, the `redrawFrequency` is set to a sensible default (10% of the max). If a `max` isn't set, the bar is output for every advance so to prevent flooding, a sensible `redrawFrequency` should be manually set.
The only BC break is that output will now display where it didn't before.
Commits
-------
cdee6f6 add overwrite flag to allow non-decorated output
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpKernel] Make sure HttpCache is a trusted proxy
| Q | A
| ------------- | ---
| Bug fix? | yes (of sorts)
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9292
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/4239Fixes#9292 by adding `127.0.0.1` as a trusted proxy when using `HttpCache` (assuming it hasn't been already).
Commits
-------
ca65362 Make sure HttpCache is a trusted proxy
This PR was squashed before being merged into the 2.3 branch (closes#11970).
Discussion
----------
[Finder] Escape location for regex searches
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
If the location to start searching in contains a regex special char
like + or ? and the path restriction is a regular expresion with a start
limitation. No results will be found wtih at least GnuFindAdapter - e.g.:
```
use Symfony\Component\Finder\Finder;
use Symfony\Component\Finder\Adapter;
mkdir('/tmp/reg+ex/dir/subdir', 0777, true);
$finder = Finder::create()
->removeAdapters()
->addAdapter(new Adapter\GnuFindAdapter());
$finder->in('/tmp/reg+ex')->path('/^dir/');
print count($finder)."\n";
```
Expected result: 2
Actual result is: 0
This pull request consists of:
* a new test checking for this bug (0e81086a49425d0e12cff4f479fabeb97e9ed757)
* the actual fix (6595b6b2b71afc57ef08686b4584713c0e4e48ed)
* changes to comply with the coding standard (7f199c5b53b3c1f38b36dcc286d3b20ae877425b)
## How to reproduce
### Fastest way
1. Move or copy your local symfony clone into a location containing special regex chars:
* `mv symfony symfony+regex`
2. Run tests in there
* `cd symfony+regex && phpunit`
> Result: Some tests in the finder component will fail.
### Alternative: A new clone
1. Clone symfony in a directory containing at least one regex special char
* `git clone https://github.com/symfony/symfony.git /tmp/symfony+regexchar`
2. As usual get composer, install dependencies and get phpunit
* You might simply want to follow [this guide](http://symfony.com/doc/current/contributing/code/tests.html)
3. Run tests in there
* `cd /tmp/symfony+regexchar && phpunit`
> Result: Some tests in the finder component will fail.
### Alternative: Apply the new test
1. Apply commit a29d1207ced2949c918357cf271200523960caef to your symfony clone
2. Run tests
> Result: The new test will fail.
Commits
-------
b63926b [Finder] Escape location for regex searches
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Determine templating.engine.php scope as late as possible
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11653
| License | MIT
| Doc PR | -
Commits
-------
169dadd [FrameworkBundle] Determine templating.engine.php scope as late as possible
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Additional helper commands to control PHP's built-in web server
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10827
| License | MIT
| Doc PR | symfony/symfony-docs#4005
Basically, both the ``server:status`` and ``server:stop`` wouldn't be really reliable if you had stopped the web server by, for example, killing the process. But honestly I don't know how to platform-independently determine if a process is still running given its PID. Maybe such a way could be a good improvement for the Process component.
Commits
-------
b601454 new helper commands for PHP's built-in server
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] fixed some volatile tests
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | see #11588
| License | MIT
| Doc PR | n/a
Commits
-------
00c1b75 [Process] fixed some volatile tests
974bf01 [HttpKernel] fixed a volatile test
6020c43 [HttpFoundation] fixed some volatile tests
* 2.5:
[Debug] Restoring error handler before assertions
Unit test fixes
Fixed merge conflict in .travis.yml introduced in 687703a75e
Conflicts:
src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
Fixing unit tests
[Validator] Fixing how default time zone is backed up during testing to not interfere with other tests
[HttpKernel] Fixing merge issue since 4677e92ffe
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
5b3193a minor #11963 Unit test fixes [HttpKernel] Fixing unit test broken since merge 4677e92ffe [Validator] Fixing the way the default time zone is backed up
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Add shortcut methods to controllers
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11166
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/4109
To-do list :
- [x] submit changes to the documentation
Added redirectToRoute, addFlash, isGranted and checkGranted to controllers. The code seems so simple I didn't feel like adding controller tests was needed since we're just shortcuting other services calls.
Commits
-------
74d8c9a Add redirectToRoute, addFlash, isGranted and denyAccessUnlessGranted shortcuts to controllers.
* 2.5: (43 commits)
[Form] Fix PHPDoc for builder setData methods The underlying data variable is typed as mixed whereas the methods paramers where typed as array.
fixed CS
[Intl] Improved bundle reader implementations
[Console] guarded against invalid aliases
switch before_script to before_install and script to install
fixed typo
[HttpFoundation] Request - URI - comment improvements
[Validator] The ratio of the ImageValidator is rounded to two decimals now
[Security] Added more tests
remove `service` parameter type from XSD
[Intl] Added exception handler to command line scripts
[Intl] Fixed a few bugs in TextBundleWriter
[Intl] Updated icu.ini up to ICU 53
[Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle
Use separated function to resolve command and related arguments
[SwiftmailerBridge] Bump allowed versions of swiftmailer
[FrameworkBundle] Remove invalid markup
[Intl] Added "internal" tag to all classes under Symfony\Component\Intl\ResourceBundle
Remove routes for removed WebProfiler actions
[Security] Fix usage of unexistent method in DoctrineAclCache.
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/HttpKernel/HttpCache/Esi.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Translation/Tests/Dumper/XliffFileDumperTest.php
src/Symfony/Component/Yaml/Parser.php
src/Symfony/Component/Yaml/Tests/InlineTest.php
* 2.4: (39 commits)
[Form] Fix PHPDoc for builder setData methods The underlying data variable is typed as mixed whereas the methods paramers where typed as array.
fixed CS
[Intl] Improved bundle reader implementations
[Console] guarded against invalid aliases
switch before_script to before_install and script to install
fixed typo
[HttpFoundation] Request - URI - comment improvements
[Validator] The ratio of the ImageValidator is rounded to two decimals now
[Security] Added more tests
remove `service` parameter type from XSD
[Intl] Added exception handler to command line scripts
[Intl] Fixed a few bugs in TextBundleWriter
[Intl] Updated icu.ini up to ICU 53
[Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle
Use separated function to resolve command and related arguments
[SwiftmailerBridge] Bump allowed versions of swiftmailer
[FrameworkBundle] Remove invalid markup
[Intl] Added "internal" tag to all classes under Symfony\Component\Intl\ResourceBundle
Remove routes for removed WebProfiler actions
[Security] Fix usage of unexistent method in DoctrineAclCache.
...
Conflicts:
.travis.yml
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Process/PhpExecutableFinder.php
* 2.3: (35 commits)
[Form] Fix PHPDoc for builder setData methods The underlying data variable is typed as mixed whereas the methods paramers where typed as array.
fixed CS
[Intl] Improved bundle reader implementations
[Console] guarded against invalid aliases
switch before_script to before_install and script to install
fixed typo
[HttpFoundation] Request - URI - comment improvements
[Security] Added more tests
remove `service` parameter type from XSD
[Intl] Added exception handler to command line scripts
[Intl] Fixed a few bugs in TextBundleWriter
[Intl] Updated icu.ini up to ICU 53
[Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle
Use separated function to resolve command and related arguments
[SwiftmailerBridge] Bump allowed versions of swiftmailer
[FrameworkBundle] Remove invalid markup
[Intl] Added "internal" tag to all classes under Symfony\Component\Intl\ResourceBundle
Remove routes for removed WebProfiler actions
[Security] Fix usage of unexistent method in DoctrineAclCache.
backport more error information from 2.6 to 2.3
...
Conflicts:
.travis.yml
src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php
src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Process/PhpExecutableFinder.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Uniform AccessDecisionManager decide behaviour
| Q | A
| --------------------|---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10170
| License | MIT
| Doc PR | none
This PR uniforms the way the 3 decision policies (affirmative, consensus, unanimous) are handled in the Security\Core\Authoritzation\AccessDecisionManager.php
See #10170
Commits
-------
938ae4b [Security] Added more tests
This PR was merged into the 2.3 branch.
Discussion
----------
[Translation] made XliffFileDumper support CDATA sections.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | maybe
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11256
| License | MIT
Commits
-------
9926845 [Translation] made XliffFileDumper support CDATA sections.
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Improved bundle reader implementations
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR extracts bundle reader improvements from #9206.
The code is internal and used for resource bundle generation only, so I did not care about BC too much.
Commits
-------
c3cce5c [Intl] Improved bundle reader implementations
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] [Command] Event Dispatcher Debug - Display registered listeners
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
------------------------------------------
[Update] The PR has been updated in order to comply with @stof comments.
Current status :
- [x] New event dispatcher Descriptor
- [x] Manage all callables
- [x] Unit tests
- [x] Text description
- [x] XML description
- [x] Json description
- [x] Markdown description
-----------------------------------------
Hi. In some big applications with lots of events, it's often hard to debug which classes listen to which events, and what is the order of theses listeners. This PR allows to run
- *event-dispatcher:debug* which displays all configured listeners + the events they listen to
![capture d cran de 2014-03-07 20 13 56](https://f.cloud.github.com/assets/1172099/2361104/40a86a62-a62d-11e3-9ccd-360a8d75b2a4.png)
- *event-dispatcher:debug* **event** which displays configured listeners for this specific event (order by priority desc)
![capture d cran de 2014-03-07 20 14 31](https://f.cloud.github.com/assets/1172099/2361100/31e0d12c-a62d-11e3-963b-87623d05642c.png)
The output is similar to *container:debug* command and is available in all supported formats (txt, xml, json and markdown).
I found another PR with same goal (#8234), but the approach looks too complicated to me plus I think we should fetch the listeners directly with the event_dispatcher.
Commits
-------
ce53c8a [FrameworkBundle] Add Event Dispatcher debug command
This PR was merged into the 2.3 branch.
Discussion
----------
[YAML] fix handling of empty sequence items
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11798
| License | MIT
| Doc PR |
When a line contains only a dash it cannot safely be assumed that it contains a nested list or an embedded mapping. If the next line starts with a dash at the same indentation, the current line's item is to be treated as `null`.
Commits
-------
fc85435 fix handling of empty sequence items
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Fixed a few bugs in TextBundleWriter
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
See the included test cases for more information. This code was extracted from #9206.
Commits
-------
7b4a35a [Intl] Fixed a few bugs in TextBundleWriter
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Twig][Form] Moved twig.form.resources to a higher level
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #11296
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/4003
Commits
-------
ab0b5e6 [Twig][Form] Moved configuration key twig.form.resources to twig.form_themes
This PR was merged into the 2.3 branch.
Discussion
----------
[Form][Validator] All index items after children are to be considered grand-children when resolving ViolationPath
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | unsure, see note below
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11458
| License | MIT
| Doc PR | -
#### Possible BC Break
The old behavior had unit test cases specifically testing the case of a grand-children form. However, this behavior is not documented anywhere and the fix seems to have no adverse effects on form validation. `Symfony\Component\Form\FormInterface` implements `ArrayAccess`, therefore, semantically speaking, `children[direct_child].children[grand_children]` and `children[direct_child][grand_children]` are equivalent. `offsetGet` is expected to fetch an element from `children`. I do not see why both were not considered equivalent when resolving the ViolationPath.
This commit will indeed change how some errors are mapped. However since the old mapping is (in my opinion) a bug...
Commits
-------
c64a75f [Form][Validator] All index items after children are to be considered grand-children when resolving ViolationPath (fixes#11458)
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] FormBuilder::getIterator() now deals with resolved children
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I think FormBuilder::getIterator() should resolve children before makes an iterator because it seems to be used in same purpose with FormBuilder::all().
What do you think?
Commits
-------
0deb505 [Form] FormBuilder::getIterator() now deals with resolved children
This PR was squashed before being merged into the 2.6-dev branch (closes#11917).
Discussion
----------
[Validator] Add ClassMetadata plural methods for convinience
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #4143
| License | MIT
| Doc PR | -
I realised there's no specific place to document this methods, as the code examples always include all the formats. I think it's enough if IDE autocompletes these methods.
Commits
-------
0fd6769 [Validator] Add ClassMetadata plural methods for convinience
This PR was merged into the 2.3 branch.
Discussion
----------
[SwiftmailerBridge] Bump allowed versions of swiftmailer
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes (but SwiftmailerBridge itself does not contain any tests)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Current version of Swiftmailer is 5.2.1, while (previously to this commit)
the version installed by composer was 5.0.3.
This is rather important, since 5.2.1 closes a security issue that 5.0.3 is
vulnarable to (https://github.com/swiftmailer/swiftmailer/issues/494).
Commits
-------
a5e3fc9 [SwiftmailerBridge] Bump allowed versions of swiftmailer
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection] remove `service` parameter type from XSD
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | symfony/symfony-docs#4222
Referencing a service in a parameter doesn't work and will lead to an error when the configuration is loaded (see symfony/symfony-docs#4211).
Commits
-------
7333c2d remove `service` parameter type from XSD
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Updated icu.ini up to ICU 53
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Extracted from #9206.
Commits
-------
260e2fe [Intl] Updated icu.ini up to ICU 53
This PR was merged into the 2.3 branch.
Discussion
----------
[Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
The code in question didn't actually work. This was extracted from #9206.
Commits
-------
5feda5e [Intl] Removed non-working $fallback argument from ArrayAccessibleResourceBundle
Current version of Swiftmailer is 5.2.1, while (previously to this commit)
the version installed by composer was 5.0.3.
This is rather important, since 5.2.1 closes a security issue that 5.0.3 is
vulnarable to (https://github.com/swiftmailer/swiftmailer/issues/494).
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Use hash_equals for constant-time string comparison (again)
| 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
Use the `hash_equals` function (introduced in PHP 5.6) for timing attack safe string comparison when available.
Add in the DocBlock that length will leak (https://github.com/symfony/symfony/pull/11797#issuecomment-53990712).
Commits
-------
3071557 [Security] Add more tests for StringUtils::equals
03bd74b [Security] Use hash_equals for constant-time string comparison
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Bundle][FrameworkBundle] make the stopwatch service always available
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11347
| License | MIT
| Doc PR |
Previously, one had to be careful to check if the ``debug.stopwatch`` service was available before using it. Otherwise, the application would break in the prod environment.
Commits
-------
ffc4090 make the stopwatch service always available
This PR was merged into the 2.3 branch.
Discussion
----------
[DI] Added safeguards against invalid config in the YamlFileLoader
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11333
| License | MIT
| Doc PR | n/a
Exceptions explaining the mistake are better than fatal errors or weird notices appearing when trying to deal with such invalid data.
The XML file loader is not affected by this because the data are validated with the XSD before being processed
Commits
-------
5183501 [DI] Added safeguards against invalid config in the YamlFileLoader
We didn't have this tag yet when this component was first written. The code in that
namespace is only used for resource bundle generation and was never meant for public
use.
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] improve handling router script paths
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The `server:run` command switches the working directory before starting the built-in web server. Therefore, the path to a custom router script had to be specified based on the document root path and not based on the user's working directory.
Another option is to update the documentation (as started in symfony/symfony-docs#4194). Though I think the current behaviour is a bug. The intended behaviour can be derived from the command's help message:
> ```
If you have custom docroot directory layout, you can specify your own
router script using --router option:
> ./app/console server:run --router=app/config/router.php
```
As you can see, the path is specified based on the current working directory.
Commits
-------
0a16cf2 improve handling router script paths
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Monolog] added NotFoundActivationStrategy from MonologBundle
| 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
The NotFoundActivationStrategy class from MonologBundle is totally independent of the framework and should be part of the bridge instead. That would allow people to use it easily with Silex for instance.
ping @Seldaek
Commits
-------
b064d2f [Monolog] changed the not found activation strategy to use the request stack
1a239af [Monolog] added NotFoundActivationStrategy from MonologBundle
Fixed phpdoc
Aligned variables and description
Removed enableCache and added cache setup in constructor
Added tests for locales with . and @ with caching
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] backport more error information from 2.6 to 2.3
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11724
| License | MIT
| Doc PR |
Commits
-------
87449e0 backport more error information from 2.6 to 2.3
The commit on master was:
server:run command: provide more error information
The server:run command didn't provide many information when the executed
command exited unexpectedly. Now, the process' exit code is passed through
and an error message is displayed.
This PR was merged into the 2.5 branch.
Discussion
----------
[Process] add missing exceptions to docblock
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
Commits
-------
1be80c6 add missing exceptions to docblock
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel] Escape SSI virtual in generated response
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | NA
If a template with an `<!--#inlude -->` tag is configured with an "virtual" containing a `'` ; the HttpCache will generate invalide php code.
See #11845 for the same issue on `<esi>` tags
Commits
-------
b50a434 Fix CS
1862427 Escape SSI virtual in generated response
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpKernel] Escape ESI url in generated response
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | NA
If a template with an `<esi>` tag is configured with an URL containing a `'` (in `src` or `alt`) ; the HttpCache will generate invalide php code.
It's not a security issue, given the template and the `<esi>` tag is written by the developper, but, as the character quote is allowed in URL (https://tools.ietf.org/html/rfc3986) it coud be a potential bug.
Commits
-------
b044c45 Escape parameter on generated response
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] improve error message when detecting unquoted asterisks
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11835
| License | MIT
| Doc PR |
Asterisks in unquoted strings are used in YAML to reference variables. Before Symfony 2.3.19, Symfony 2.4.9 and Symfony 2.5.4, unquoted asterisks in inlined YAML code were treated as regular strings. This was fixed for the inline parser in #11677. However, an unquoted * character now led to an error message like this:
```
PHP Warning: array_key_exists(): The first argument should be either a string or an integer in vendor/symfony/symfony/src/Symfony/Component/Yaml/Inline.php on line 409
[Symfony\Component\Yaml\Exception\ParseException]
Reference "" does not exist at line 171 (near "- { foo: * }").
```
Commits
-------
854e07b improve error when detecting unquoted asterisks
The `server:run` command switches the working directory before
starting the built-in web server. Therefore, the path to a custom
router script had to be specified based on the document root path
and not based on the user's working directory.
Asterisks in unquoted strings are used in YAML to reference
variables. Before Symfony 2.3.19, Symfony 2.4.9 and Symfony 2.5.4,
unquoted asterisks in inlined YAML code were treated as regular
strings. This was fixed for the inline parser in #11677. However, an
unquoted * character now led to an error message like this:
```
PHP Warning: array_key_exists(): The first argument should be either a string or an integer in vendor/symfony/symfony/src/Symfony/Component/Yaml/Inline.php on line 409
[Symfony\Component\Yaml\Exception\ParseException]
Reference "" does not exist at line 171 (near "- { foo: * }").
```
* 2.5: (23 commits)
[HttpKernel] fixed some unit tests for 2.4 (signature now uses SHA256 instead of MD5)
[HttpKernel] simplified code
[HttpKernel] fixed internal fragment handling
fixing yaml indentation
Unexpexted ));"
[WebProfiler] replaced the import/export feature from the web interface to a CLI tool
Forced all fragment uris to be signed, even for ESI
Add tests and more assertions
[FrameworkBundle][Translator] Validate locales.
[HttpFoundation] added some missing tests
[HttpFoundation] Improve string values in test codes
[Security] Add more tests for StringUtils::equals
fix comment: not fourth but sixth argument
fixing typo in a comment
[FrameworkBundle] fixed CS
[FrameworkBundle] PhpExtractor bugfix and improvements
[Finder] Fix findertest readability
[Filesystem] Add FTP stream wrapper context option to enable overwrite (override)
fix parsing of Authorization header
Test examples from Drupal SA-CORE-2014-003
...
Conflicts:
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/admin.html.twig
src/Symfony/Component/Filesystem/Filesystem.php
src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
* 2.4: (21 commits)
[HttpKernel] fixed some unit tests for 2.4 (signature now uses SHA256 instead of MD5)
[HttpKernel] simplified code
[HttpKernel] fixed internal fragment handling
fixing yaml indentation
[WebProfiler] replaced the import/export feature from the web interface to a CLI tool
Forced all fragment uris to be signed, even for ESI
Add tests and more assertions
[FrameworkBundle][Translator] Validate locales.
[HttpFoundation] added some missing tests
[HttpFoundation] Improve string values in test codes
[Security] Add more tests for StringUtils::equals
fix comment: not fourth but sixth argument
fixing typo in a comment
[FrameworkBundle] fixed CS
[FrameworkBundle] PhpExtractor bugfix and improvements
[Finder] Fix findertest readability
[Filesystem] Add FTP stream wrapper context option to enable overwrite (override)
fix parsing of Authorization header
Test examples from Drupal SA-CORE-2014-003
Fix potential DoS when parsing HOST
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Tests/Translation/TranslatorTest.php
src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
* 2.3:
[HttpKernel] fixed internal fragment handling
fixing yaml indentation
[WebProfiler] replaced the import/export feature from the web interface to a CLI tool
Forced all fragment uris to be signed, even for ESI
Add tests and more assertions
[FrameworkBundle][Translator] Validate locales.
[HttpFoundation] added some missing tests
[HttpFoundation] Improve string values in test codes
fix comment: not fourth but sixth argument
fixing typo in a comment
[FrameworkBundle] fixed CS
[FrameworkBundle] PhpExtractor bugfix and improvements
[Finder] Fix findertest readability
[Filesystem] Add FTP stream wrapper context option to enable overwrite (override)
fix parsing of Authorization header
Test examples from Drupal SA-CORE-2014-003
Fix potential DoS when parsing HOST
Made optimization deprecating modulus operator
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
This PR was merged into the 2.3 branch.
Discussion
----------
n/a
n/a
Commits
-------
f38536a [WebProfiler] replaced the import/export feature from the web interface to a CLI tool
This PR was merged into the 2.3 branch.
Discussion
----------
n/a
n/a
Commits
-------
9e1bc22 Add tests and more assertions
101a3b7 [FrameworkBundle][Translator] Validate locales.
This PR was merged into the 2.3 branch.
Discussion
----------
n/a
n/a
Commits
-------
3b4046e [HttpFoundation] added some missing tests
cefe237 fix parsing of Authorization header
This PR was merged into the 2.3 branch.
Discussion
----------
n/a
n/a
Commits
-------
1ee96a8 Test examples from Drupal SA-CORE-2014-003
5506ee8 Fix potential DoS when parsing HOST
This PR was merged into the 2.4 branch.
Discussion
----------
[Security] Add more tests for StringUtils::equals
| 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
More tests for `StringUtils::equals`.
Commits
-------
a676863 [Security] Add more tests for StringUtils::equals
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] fixing typo in a comment
| Q | A
| ------------- | ---
| Fixed tickets |
| License | MIT
As reported [here](https://github.com/symfony/symfony/pull/11574/files#r16934052).
Commits
-------
faefd66 fixing typo in a comment
Previously, one had to be careful to check if the debug.stopwatch
service was available before using it. Otherwise, the application
would break in the prod environment.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] Skip commands from ConsoleCommandEvent
Use case: We have different variations of the same application, for which
only certain commands are allowed. Right now this is done in a custom
Application class, but it would be much easier to just be able to skip
commands from a listener, where you can disable commands via the Event
object.
This patch provides this feature and corresponding test cases.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes - for Console tests
| Fixed tickets | None
| License | MIT
| Doc PR | symfony/symfony-docs#4058
Commits
-------
acb1ae6 [Console] Skip commands from ConsoleCommandEvent
This PR was merged into the 2.6-dev branch.
Discussion
----------
[OptionsResolver] Changed order of validation
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no (I don't think it causes breaks)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | -
It's both a new feature and bug fix actually... I let @fabpot decide on this one.
<s>@sstok can you please confirm if this fixes#4500 ? I couldn't fully follow
that ticket and then I discovered this error. If not, can you please add more
information to your ticket about the problems?</s>
Commits
-------
a4f208b Changed order of validation
This PR was merged into the 2.3 branch.
Discussion
----------
[Security] Made optimization on constant-time algorithm removing modulus operator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This fix improves the constant-time algorithm used to compare strings, as it removes the `%` operator inside the loop.
Commits
-------
000bd0d Made optimization deprecating modulus operator
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] deprecate member metadata accessors
| Q | A
| ------------- | ---
| Bug fix? | sort of
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/11614/files#r16385109
| License | MIT
| Doc PR |
deprecate member metadata accessors in favor of existing property metadata accessors
Commits
-------
14d3f97 [Validator] add getConstraints to MetadataInterface
04eb61b [Validator] deprecate member metadata accessors in favor of existing property metadata accessors
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Expression validator now processes null values
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes(minor)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The ExpressionValidator was incorrectly skipping validation of null or empty string values.
For example the following was (incorrectly) considered valid if hairColour is null because the validator was skipped
```php
<?php
namespace Acme\DemoBundle\Model\Person;
use Symfony\Component\Validator\Constraints as Assert;
class Person
{
private $hasHair;
/**
* @Assert\Expression(
* "!(this.hasHair() and value == null)",
* message="If you have hair you must pick its colour!"
* )
*/
private $hairColour;
}
```
This is a follow on from #11590 but is targeted against master as the BC break introduced was considered undesirable for currently released versions of symfony.
I will squash and create a documentation PR once there is consensus that this is ready to be merged.
Commits
-------
580e1a7 [Validator] fixed: Expressions always valid for null values
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Test that validateProperty() works if no constraint is defined
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes (2.3 has to be merged into 2.5 first)
| Fixed tickets | #11604, #11614
| License | MIT
| Doc PR |
Adds a test case for #11604 to avoid regressions. The actual issue has been fixed in Symfony 2.3 with the merge of #11615.
Commits
-------
a47a884 add test for #11604
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DX] Removed strict alias name check
Symfony allows to change the DI alias by overriding `Extension#getAlias()`, but it does throw an exception when it is anything else than the default. That doesn't sound nice and it makes it harder to change the alias. This can result in problems when the bundle is called WouterJEloquentBundle for instance (which has a default alias of `wouter_j_eloquent_bundle`, where I want it to be `wouterj_eloquent_bundle`).
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
69d71c1 Made the exception message nicer
* 2.5:
fix typos
[HttpKernel] add use statement for phpdoc
fixed DateComparator if file does not exist
Disabled the PHPUnit self-update on Travis
fix mustRun() in sigchild environments
[ClassLoader] simplified phpdoc
[ClassLoader] Add a __call() method to XcacheClassLoader
fix some minor typos in tests
[Yaml] fixed mapping keys containing a quoted #
Added fixture to test parsing of hash keys ending with a space and #
[Validator] Pass strict argument into the strict email validator
[Filesystem Component] mkdir race condition fix#11626
[Validator] reverted permissions change on translation files
Fixed Factory services not within the ServiceReferenceGraph.
[CssSelector] Fix URL to SimonSapin/cssselect repo
[Validator] Fixed wrong translation keys/messages for Collection constraint. The error messages for a missing field and an unexpected field did not match the Contraint class
Remove hard dependency of RequestContext in AssetsExtension
added useful reminder about form.vars.errors into UPGRADE-2.5 notes
[YAML] resolve variables in inlined YAML
Disallow abstract definitions from doctrine event listener registration
Conflicts:
src/Symfony/Component/Yaml/Inline.php
src/Symfony/Component/Yaml/Parser.php
src/Symfony/Component/Yaml/Tests/InlineTest.php
* 2.4:
fix typos
[HttpKernel] add use statement for phpdoc
Disabled the PHPUnit self-update on Travis
[ClassLoader] simplified phpdoc
[ClassLoader] Add a __call() method to XcacheClassLoader
fix some minor typos in tests
[Yaml] fixed mapping keys containing a quoted #
Added fixture to test parsing of hash keys ending with a space and #
[Filesystem Component] mkdir race condition fix#11626
[Validator] reverted permissions change on translation files
Fixed Factory services not within the ServiceReferenceGraph.
[CssSelector] Fix URL to SimonSapin/cssselect repo
[Validator] Fixed wrong translation keys/messages for Collection constraint. The error messages for a missing field and an unexpected field did not match the Contraint class
[YAML] resolve variables in inlined YAML
Disallow abstract definitions from doctrine event listener registration
Conflicts:
src/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
src/Symfony/Component/Yaml/Inline.php
* 2.3:
[HttpKernel] add use statement for phpdoc
Disabled the PHPUnit self-update on Travis
[ClassLoader] simplified phpdoc
[ClassLoader] Add a __call() method to XcacheClassLoader
fix some minor typos in tests
[Yaml] fixed mapping keys containing a quoted #
Added fixture to test parsing of hash keys ending with a space and #
[Filesystem Component] mkdir race condition fix#11626
[Validator] reverted permissions change on translation files
Fixed Factory services not within the ServiceReferenceGraph.
[CssSelector] Fix URL to SimonSapin/cssselect repo
[Validator] Fixed wrong translation keys/messages for Collection constraint. The error messages for a missing field and an unexpected field did not match the Contraint class
[YAML] resolve variables in inlined YAML
Disallow abstract definitions from doctrine event listener registration
Conflicts:
src/Symfony/Bridge/Doctrine/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPass.php
src/Symfony/Bridge/Doctrine/Tests/DependencyInjection/CompilerPass/RegisterEventListenersAndSubscribersPassTest.php
src/Symfony/Bundle/FrameworkBundle/EventListener/SessionListener.php
src/Symfony/Component/Filesystem/Filesystem.php
This PR was merged into the 2.5 branch.
Discussion
----------
[Process] fix mustRun() in sigchild environments
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
When being run in sigchild environments, the sigchild compatibility mode needs to be enabled to be able to call `getExitCode()`. Since `mustRun()` uses `getExitCode()` to determine whether or not a process terminated successfully, it cannot be used in sigchild environments when the sigchild compatibility mode is disabled.
Commits
-------
b764f6c fix mustRun() in sigchild environments
This PR was squashed before being merged into the 2.6-dev branch (closes#11769).
Discussion
----------
[HttpKernel] Change exception message in case no controller found
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11754
| License | MIT
| Doc PR | n/a
Change the NotFoundHttpException message.
Commits
-------
b0a839c [HttpKernel] Change exception message in case no controller found
When a line contains only a dash it cannot safely be assumed that
it contains a nested list or an embedded mapping. If the next line
starts with a dash at the same indentation, the current line's item
is to be treated as `null`.
This PR was merged into the 2.3 branch.
Discussion
----------
[Yaml] fixed mapping keys containing a quoted #
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11700, #11723
| License | MIT
| Doc PR | n/a
Commits
-------
110f999 [Yaml] fixed mapping keys containing a quoted #
8ba3b28 Added fixture to test parsing of hash keys ending with a space and #
This PR was squashed before being merged into the 2.5 branch (closes#11787).
Discussion
----------
fixed DateComparator if file does not exist
Description:
When a file is deleted after the iterator is created, the accept function throws the following exception: SplFileInfo::getMTime(): stat failed. This is because the function doesn't check first for the existence of the file. In theory, a deletion between existence being checked and getMTime getting called would still result in this error, but the risk area for this race condition is much smaller than the current risk area.
| Q | A
| ------------ | ----
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11785
| License | MIT
| Doc PR |
Commits
-------
c6e9e06 fixed DateComparator if file does not exist
This PR was squashed before being merged into the 2.6-dev branch (closes#11762).
Discussion
----------
[DependencyInjection] Enhance tests for class Container
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
Added missing tests/assertions:
- Assertions that ->compile() resolves parameter bag.
- Asserton that ->getServiceIds() shows ids defined by set() after ids defined by get*Service() methods.
- Test that ->set() automatically calls synchronize*Service if defined. Updated associated fixtures in the ProjectServiceContainer class definition.
- Assertion that ->get() is case insensitive.
- Assertion that leaving an inner scope with active child scope, to an outer scope, deactivates/resets the child scope(s).
- Test that entering a child scope recursively resets the inner scope.
- Test that a scope can not be entered before it's added first.
- Test that a scope can not be entered before adding and entering the parent scope first (for non container scopes).
- Test for underscore().
Other changes:
- Added missing messages in some assertions.
- Moved testGetThrowsException*() methods close to testGet*() tests.
- Renamed variable(s) '$services' (referencing the $sc->scopedServices field) to $scoped, so as not to confuse it with the global scope map.
- Minor refactoring in class Container for code consistency and reducing redundancy.
Commits
-------
6211205 [DependencyInjection] Enhance tests for class Container
This PR was merged into the 2.3 branch.
Discussion
----------
[DoctrineBridge] Abstract Doctrine Subscribers with tags
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | this one
| License | MIT
| Doc PR | N/A
I've hit a problem with some doctrine listeners, built by decorating an abstract definition.
I want the abstract definition to hold the tag, however because the RegisterEventListenersAndSubscribersPass runs before abstract definitions are removed, they get added as method calls to the EventManager definition, which once the abstract service is removed, we end up with a method call that breaks the container.
I don't know if this is the best approach, it might be better not to return abstract services when calling `findTaggedServiceIds` instead?
Commits
-------
cbcf513 Disallow abstract definitions from doctrine event listener registration
When being run in sigchild environments, the sigchild compatibility
mode needs to be enabled to be able to call `getExitCode()`. Since
`mustRun()` uses `getExitCode()` to determine whether or not a process
terminated successfully, it cannot be used in sigchild environments
when the sigchild compatibility mode is disabled.
This PR was squashed before being merged into the 2.3 branch (closes#11768).
Discussion
----------
[ClassLoader] Add a __call() method to XcacheClassLoader
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11733
| License | MIT
| Doc PR |
Commits
-------
dd0d6af [ClassLoader] Add a __call() method to XcacheClassLoader
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Config][Exception] Improve Routing Syntax Import Error
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11300
| License | MIT
| Doc PR | n/a
Commits
-------
fec9a4a removed some more spaces
16134d9 Merge remote-tracking branch 'upstream/master'
b099936 - Removed spaces around the concation dots to be more consitent - adjusted some formatting
0459d89 Addition of the symfony license text
de43182 Add test and small code fix
8ac5275 ISSUE #11300: Improve Routing Syntax Import Error
This PR was merged into the 2.5 branch.
Discussion
----------
[TwigBundle] Remove hard dependency of RequestContext in AssetsExtension
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11466
| License | MIT
| Doc PR | -
symfony/symfony#10451 introduced the requirement of RequestContext in AssetsExtension. This is only needed when generating absolute URLs for assets. When sending emails with Twig from the CLI, the router may not be present and most times is not required.
This PR attempts to remove the hard dependency and set RequestContext if the router is present according to issue #11466.
Commits
-------
5ad4d8a Remove hard dependency of RequestContext in AssetsExtension
This PR was squashed before being merged into the 2.6-dev branch (closes#11777).
Discussion
----------
[HttpFoundation] added class constants in Request for HTTP request methods
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | none
Also added constants for methods OPTIONS, TRACE and CONNECT according to [rfc2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html).
Commits
-------
635e880 [HttpFoundation] added class constants in Request for HTTP request methods
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] ProgressBar developer experience
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #11184
| License | MIT
| Doc PR | WIP
## TODO
- [x] Create `getProgress/setProgress` methods to replace `getStep/setCurrent`
- [x] `ProgressBar::setCurrent` should auto-start the ProgressBar.
- [x] You should be able to pass `max` to `start`
- [x] `barCharOriginal` not needed. Logic can simply be part of `getBarChar`
- [x] `getStepWidth` is internal information that should not be public
- [x] when verbosity set to quiet, the progress bar does not even need to execute all the logic to generate output that is then thrown away
- [x] Allow to advance past max.
- [x] negative max needs to be validated
- [x] `getProgressPercent` should return float instead of int.
Commits
-------
42b95df [Console][ProgressBar] Developer experience: - Removed barCharOriginal - getProgressPercent should return float instead of int. - Minor refactoring
3011685 [Console][ProgressBar] Allow to advance past max.
73ca340 [Console][ProgressBar] Developer experience - Create getProgress/setProgress methods to replace getStep/setCurrent - ProgressBar::setCurrent should auto-start the ProgressBar. - You should be able to pass max to start - getStepWidth is internal information that should not be public - when verbosity set to quiet, the progress bar does not even need to execute all the logic to generate output that is then thrown away
Changed the Bundle requirement to allow the command to also be executed for the app/Resources
folder of the application, which currently cannot be achieved.
This PR was merged into the 2.3 branch.
Discussion
----------
[YAML] resolve variables in inlined YAML
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11665
| License | MIT
| Doc PR |
#11569 does not resolve variables in inline YAML.
Commits
-------
45a5863 [YAML] resolve variables in inlined YAML
This PR was merged into the 2.6-dev branch.
Discussion
----------
Improve the exception message of UrlMatcher
The current exception message is not optimal, some more context always helps.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
ee1197d Improve the exception message in the UrlMatcher.
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed wrong translations for Collection constraints
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11630
| License | MIT
| Doc PR |
The error messages for a missing field and an unexpected field did not match the Constraint class.
Commits
-------
808de2b [Validator] Fixed wrong translation keys/messages for Collection constraint. The error messages for a missing field and an unexpected field did not match the Contraint class
* 2.5:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
[Validator] remove duplicate interface implementations
[Validator] fix return doc of ClassMetadata::getCascadingStrategy
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
* 2.4:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
Conflicts:
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
* 2.3:
[DependencyInjection] fix @return anno created by PhpDumper
Fixed the phpdoc of the VoterInterface
[DoctrineBridge] Fix empty parameter logging in the dbal logger
Fixed#11675 ValueToDuplicatesTransformer accept "0" value
check for the correct field type
fix handling of nullable XML attributes
[DomCrawler] fix the axes handling in a bc way
Conflicts:
src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Validator] Added date support to comparison constraints and Range
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #3640, #7766, #9164, #9390, #8300
| License | MIT
| Doc PR | symfony/symfony-docs#4143
This commit adds frequently requested functionality to compare dates. Since the `DateTime` constructor is very flexible, you can do many fancy things now such as:
```php
/**
* Only accept requests that start in at least an hour.
* @Assert\GreaterThanOrEqual("+1 hours")
*/
private $date;
/**
* Same as before.
* @Assert\Range(min = "+1 hours")
*/
private $date;
/**
* Only accept dates in the current year.
* @Assert\Range(min = "first day of January", max = "first day of January next year")
*/
private $date;
/**
* Timezones are supported.
* @Assert\Range(min = "first day of January UTC", max = "first day of January next year UTC")
*/
private $date;
```
Commits
-------
60a5863 [Validator] Added date support to comparison constraints and Range
This PR was squashed before being merged into the 2.3 branch (closes#11711).
Discussion
----------
[DoctrineBridge] Fix empty parameter logging in the dbal logger
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11710
| License | MIT
| Doc PR | -
Commits
-------
ef23f02 [DoctrineBridge] Fix empty parameter logging in the dbal logger
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] check for the correct field type
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11689
| License | MIT
| Doc PR |
HTML allow to define different form fields with the same name. Imagine the following form:
```html
<html>
<body>
<form action="/">
<input type="hidden" name="option" value="default">
<input type="radio" name="option" value="A">
<input type="radio" name="option" value="B">
<input type="hidden" name="settings[1]" value="0">
<input type="checkbox" name="settings[1]" value="1" id="setting-1">
<button>klickme</button>
</form>
</body>
</html>
```
Since the `FormFieldRegistry` can only handle one field per name, the hidden field option is registered first before the radio field with the same name is evaluated. Thus, the `FormFieldRegistry` returns an `InputFormField` instance on which the `addChoices()` method can not be called.
Commits
-------
169b397 check for the correct field type
This PR was merged into the 2.3 branch.
Discussion
----------
[Routing] fix handling of nullable XML attributes
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
As @Tobion pointed out in #11394, ``true`` and ``1`` are valid values in boolean XML attributes. The XmlFileLoader didn't handle ``1`` values properly.
Commits
-------
7b4d4b6 fix handling of nullable XML attributes
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] fix the axes handling in a bc way
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11503
| License | MIT
| Doc PR |
The previous fix in #11548 for handling XPath axes was not backward compatible. In previous Symfony versions the Crawler handled nodes by holding a "fake root node". This must be taken into account when evaluating (relativizing) XPath expressions.
Commits
-------
d26040f [DomCrawler] fix the axes handling in a bc way
* 2.5:
[Validator] Fixed missing use statements
[Validators] Fixed failing tests requiring ICU 52.1 which are skipped otherwise
[FrameworkBundle] Fixed validator factory definition when the Validator API is "auto" for PHP < 5.3.9
return empty metadata collection if none do exist
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] return empty metadata collection if none do exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | [The reference to the documentation PR if any]
Backport of #11614 for Symfony 2.3 and 2.4.
Commits
-------
f5bc18d return empty metadata collection if none do exist
HTML allow to define different form fields with the same name.
Imagine the following form:
<html>
<body>
<form action="/">
<input type="hidden" name="option" value="default">
<input type="radio" name="option" value="A">
<input type="radio" name="option" value="B">
<input type="hidden" name="settings[1]" value="0">
<input type="checkbox" name="settings[1]" value="1" id="setting-1">
<button>klickme</button>
</form>
</body>
</html>
Since the `FormFieldRegistry` can only handle one field per name, the
hidden field option is registered first before the radio field with
the same name is evaluated. Thus, the `FormFieldRegistry` returns an
`InputFormField` instance on which the `addChoices()` method can not
be called.
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] Fixed validator factory definition when the Validator API is "auto" for PHP < 5.3.9
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11580
| License | MIT
| Doc PR | -
Commits
-------
a74b758 [FrameworkBundle] Fixed validator factory definition when the Validator API is "auto" for PHP < 5.3.9
* 2.5:
add missing options
[Form] Fixed ValidatorExtension to work with the 2.5 Validation API
revert #11510, moved to 2.6
[WebProfilerBundle] Fixed double height of canvas
* 2.5: (37 commits)
[Validator] Backported constraint validator tests from 2.5
[Validator] Backported constraint validator tests from 2.5
[DIC] Fixed: anonymous services are always private
Fix toolbar vertical alignment.
[HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field
[Validator] Fix little typo in ExecutionContextInterface::buildViolation() method comments
fix dependencies on HttpFoundation component
[FrameworkBundle] add missing attribute to XSD
Allow basic auth in url. Improve regex. Add tests.
fix typos and syntax in Profiler controller method comments
resolve parameters before the configs are processed
add symfony/yaml suggestion to composer.json
[HttpKernel] added an analyze of environment parameters for built-in server.
remove volatile tests
[Console] fixed style creation when providing an unknown tag option
change command to which available under most unix systems
add way to test command under windows
fix shell command injection
[Form] allowed CallbackTransformer to use callable
[Process] Added process synchronization to the incremental output tests
...
Conflicts:
src/Symfony/Component/Form/Extension/Validator/Constraints/FormValidator.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/HttpKernel/composer.json
src/Symfony/Component/Validator/Constraints/AllValidator.php
src/Symfony/Component/Validator/Constraints/CollectionValidator.php
src/Symfony/Component/Validator/Constraints/LegacyAllValidator.php
src/Symfony/Component/Validator/Constraints/LegacyCollectionValidator.php
src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] revert #11510, moved to 2.6
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
This reverts PR #11510 from 2.3.
Commits
-------
fb120c7 revert #11510, moved to 2.6
- Create getProgress/setProgress methods to replace getStep/setCurrent
- ProgressBar::setCurrent should auto-start the ProgressBar.
- You should be able to pass max to start
- getStepWidth is internal information that should not be public
- when verbosity set to quiet, the progress bar does not even need to
execute all the logic to generate output that is then thrown away
This PR was merged into the 2.5 branch.
Discussion
----------
fix dependencies on HttpFoundation component
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11636
| License | MIT
| Doc PR |
The ``closeOutputBuffers()`` method was added to the ``Response`` class of the HttpFoundation in Symfony 2.5. Therefore, parts that are calling this method must depend on ``symfony/http-foundation`` 2.5 or higher.
Commits
-------
fe2f007 fix dependencies on HttpFoundation component
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Convert objects to string in comparison validators
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
In the [latest merge from 2.3 into 2.4](/symfony/symfony/commit/3bed1b7988e94a897a64c6a2ad3bf70bde9005c1), the changes from 6cf5e0812e in 2.4 got lost. This PR brings back these changes and backports them to 2.3.
The change is BC, because the former value `true` of the `$prettyDateTime` will be cast to `1`, which corresponds to the `PRETTY_DATE` format constant.
Commits
-------
273671e [Validator] Convert objects to string in comparison validators. Reapplies 6cf5e0812e
This PR was squashed before being merged into the 2.3 branch (closes#11510).
Discussion
----------
[HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11508
| License | MIT
| Doc PR | no
ToDo
* [x] Fix Tests
Looking for feedback on this early PR.
This adds a config option that disables the PHP GC method call from doing anything,
It also means that the write method sets up the auto expiring index.
Ref: #11508
Commits
-------
b56b740 [HttpFoundation] MongoDbSessionHandler supports auto expiry via configurable expiry_field
This PR was merged into the 2.5 branch.
Discussion
----------
[FrameworkBundle] resolve parameters before the configs are processed in the config:debug command
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11622
| License | MIT
| Doc PR |
If the raw values are passed to the processor, config values don't necessarily have the expected data type. For example, the value of the kernel.debug parameter is a boolean type. But when passed as the raw parameter name, it is a string.
@lyrixx Do you have any objections?
Commits
-------
19f3b47 resolve parameters before the configs are processed
The closeOutputBuffers() method was added to the Response class of
the HttpFoundation in Symfony 2.5. Therefore, parts that are calling
this method must depend on symfony/http-foundation 2.5 or higher.
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] fixed style creation when providing an unknown tag option
| 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
When formatting a string, the console ignore style it cannot parse. But if a string looks like an option (`<setting=value>`) for instance, instead of displaying the text as is, it currently throws an exception.
Commits
-------
8814920 [Console] fixed style creation when providing an unknown tag option
If the raw values are passed to the processor, config values don't
necessarily have the expected data type. For example, the value of
the kernel.debug parameter is a boolean type. But when passed as the
raw parameter name, it is a string.
The previous fix in #11548 for handling XPath axes was not backward
compatible. In previous Symfony versions the Crawler handled nodes
by holding a "fake root node". This must be taken into account when
evaluating (relativizing) XPath expressions.
The config:debug and yaml:lint commands use classes from the Yaml
component. Therefore, the installation of these packages should be
suggested to the user.
* 2.4:
[HttpKernel] added an analyze of environment parameters for built-in server.
change command to which available under most unix systems
add way to test command under windows
fix shell command injection
[Form] allowed CallbackTransformer to use callable
[Process] Added process synchronization to the incremental output tests
* 2.3:
[HttpKernel] added an analyze of environment parameters for built-in server.
change command to which available under most unix systems
add way to test command under windows
fix shell command injection
[Form] allowed CallbackTransformer to use callable
[Process] Added process synchronization to the incremental output tests
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] fixed output escaping when using the process helper
| 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
When displaying the output of a process run, we must escape the `<` to avoid any formatting.
Commits
-------
bf7a90e [Console] fixed output escaping when using the process helper
This PR was merged into the 2.6-dev branch.
Discussion
----------
provide a compiler pass for doctrine to register namespace aliases
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/4069
I realized that the compiler pass only allows bundles to register folders to load entities / documents but not namespace alias to make things like `CmfRoutingBundle:Route` work. This is an attempt to provide a separate compiler pass for this. Maybe we should instead provide a new combined compiler pass and have users switch to the new pass if available.
* [x] [Doctrine ORM](https://github.com/doctrine/DoctrineBundle/pull/316)
* [x] [DoctrinePHPCRBundle](https://github.com/doctrine/DoctrinePHPCRBundle/pull/158)
* [ ] Doctrine CouchDB
* [ ] Doctrine MongoDB
Commits
-------
9a62ab3 provide a compiler pass for doctrine to register namespace aliases and not only mapping drivers
The PropertyMetadataContainerInterface defines that the method
getPropertyMetadata() has to return an empty collection if no
metadata have been configured for the given property. Though, its
implementation in the ClassMetadata class didn't check for
existence of such metadata. This behavior led to unexpected PHP
notices when validating a property or a property value of a property
without any configured constraints (only affects the new 2.5 API).
Additionally, the getMemberMetadatas() didn't check for existing
array keys as well which has also been fixed.
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Removed legacy validator classes
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR removes the legacy validator classes again and adds the API checks inside the constraint validators instead.
Commits
-------
e844ed0 [Validator] Removed legacy validator classes
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Added process synchronization to the incremental output tests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
The tests currently fail from time to time if the executing machine is under
heavy load. This leads to false negatives on Travis CI.
A side effect of the change is that the tests are much faster now.
Commits
-------
6dd3946 [Process] Added process synchronization to the incremental output tests
This PR was merged into the 2.5 branch.
Discussion
----------
[DoctrineBridge] Changed UniqueEntityValidator to use the 2.5 Validation API
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11578
| License | MIT
| Doc PR | -
Commits
-------
f45f1ab [DoctrineBridge] Changed UniqueEntityValidator to use the 2.5 Validation API
The tests currently fail from time to time if the executing machine is under
heavy load. This leads to false negatives on Travis CI.
A side effect of the change is that the tests are much faster now.
* 2.4:
Fixed relative redirects for ambiguous paths
[BrowserKit] Fix browser kit redirect with ports
[TwigBridge] [Form] Fixed some extra empty spaces
Plural fix
removed some .gitattributes that should have been removed a lot time ago
[DependencyInjection] fixed missing 'factory-class' attribute in XmlDumper output
fixed whitespace in Twig form template
built-in server: exit when docroot does not exist
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml
* 2.3:
Fixed relative redirects for ambiguous paths
[BrowserKit] Fix browser kit redirect with ports
[TwigBridge] [Form] Fixed some extra empty spaces
Plural fix
removed some .gitattributes that should have been removed a lot time ago
[DependencyInjection] fixed missing 'factory-class' attribute in XmlDumper output
fixed whitespace in Twig form template
built-in server: exit when docroot does not exist
Conflicts:
src/Symfony/Bridge/Twig/Resources/views/Form/form_div_layout.html.twig
This PR was merged into the 2.6-dev branch.
Discussion
----------
[TwigBridge] [Form] Fixed some extra empty spaces
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The extra spaces were introduced by commit 8f9ed3ebb9 by @chrisguitarguy
Commits
-------
5f06d96 Fixed some extra empty spaces
* 2.5: (33 commits)
[Validator] Added Swedish translations
[Validator] Fixed ExpressionValidator when the validation root is not an object
[Validator] Fixed: Made it possible (again) to pass a class name to Validator::validatePropertyValue()
Fix incorrect romanian plural translations
fix axes handling in Crawler::filterXPath()
fix some docblocks
Fixed self-reference in 'service_container' service breaks garbage collection (and clone).
[Process] Fix tests when pcntl is not available.
[DependencyInjection] Roll back changes made to generated files.
[Console] Roll back changes made to fixture files.
Issue #11489 Added some CA and ES translations
[Validator] Added more detailed inline documentation
[Validator] Removed information from the violation output if the value is an array, object or resource
partially reverted previous commit
fixed CS
Add point about ConsoleLogger to Console 2.5 changelog
[Validator] Fixed failing tests
[Validator] CS fixes
[FrameworkBundle] Made ConstraintValidatorFactory aware of the legacy validators
[Validator] Added extensive test coverage for the constraint validators for the different APIs
...
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.ca.xlf
* 2.4: (24 commits)
[Validator] Added Swedish translations
Fix incorrect romanian plural translations
fix axes handling in Crawler::filterXPath()
fix some docblocks
Fixed self-reference in 'service_container' service breaks garbage collection (and clone).
[Process] Fix tests when pcntl is not available.
[DependencyInjection] Roll back changes made to generated files.
[Console] Roll back changes made to fixture files.
Issue #11489 Added some CA and ES translations
[Validator] Added more detailed inline documentation
[Validator] Removed information from the violation output if the value is an array, object or resource
partially reverted previous commit
fixed CS
properly handle null data when denormalizing
[Validator] Renamed valueToString() to formatValue(); added missing formatValue() calls
[Validator] Fixed CS
[Validator] Fixed date-to-string conversion tests to match ICU 51
[Validator] Added "{{ value }}" parameters where they were missing
[Validator] Simplified and explained the LuhnValidator
[Validator] Simplified IssnValidator
...
Conflicts:
src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
src/Symfony/Component/Security/Core/Encoder/BasePasswordEncoder.php
src/Symfony/Component/Validator/Constraints/ChoiceValidator.php
src/Symfony/Component/Validator/Constraints/CollectionValidator.php
src/Symfony/Component/Validator/Constraints/FileValidator.php
src/Symfony/Component/Validator/Constraints/Isbn.php
src/Symfony/Component/Validator/Constraints/IsbnValidator.php
src/Symfony/Component/Validator/Constraints/LengthValidator.php
src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
src/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php
src/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Bundle][FrameworkBundle] built-in server: exit when docroot does not exist
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6496
| License | MIT
| Doc PR |
When the server:run command is run with an invalid document root
directory (for example, when being in the app directory and not
changing the document root to ../web/), the command crashes on Windows
with a 267 exit code. On Linux, the server starts but just publishes
internal server errors.
Commits
-------
f143254 built-in server: exit when docroot does not exist
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] fix whitespace in Twig form template
| Q | A
| ------------- | ---
| Bug fix? | kind of (after updating from 2.3.17 to 2.3.18, some of my tests were broken because of this)
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | they should, let's see what Travis has to say...
| Fixed tickets | --
| License | MIT
| Doc PR | --
This fixes some whitespace rendering.
after merging #11386:
```html
<input type="text" id="myfield" name="myfield" value="blah" />
```
before merging #11386 and with this PR again:
```html
<input type="text" id="myfield" name="myfield" value="blah" />
```
Commits
-------
8504d02 fixed whitespace in Twig form template
This PR was merged into the 2.3 branch.
Discussion
----------
[DependencyInjection] Fixed missing 'factory-class' attribute in XmlDumper output
| 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
Problem: XmlDumper doesn't write 'factory-class' XML attribute for definitions on which setFactoryClass() was called.
Impact: Container[Builder] to throws an exception when the relevant service is being requested/initiated after loading the dumped XML.
`Uncaught Exception Symfony\Component\DependencyInjection\Exception\RuntimeException: "Cannot create service "xxx" from factory method without a factory service or factory class." at /<path>/<to>//DependencyInjection/ContainerBuilder.php`
Solution: Made XmlDumper write the 'factory-class' attribute, and updated the relevant test fixture.
Another related problem, is that XMLFileLoader doesn't complain if the 'factory-class' attribute is missing for a 'service' elements that include 'factory-method' attribute, resulting in an ill-configured Definition object in the ContainerBuilder. I'll post an issue/ticket, and probably send another PR for that.
Commits
-------
18e3e6f [DependencyInjection] fixed missing 'factory-class' attribute in XmlDumper output
This PR was squashed before being merged into the 2.5 branch (closes#11485).
Discussion
----------
[Validator] Constraint validators now use the 2.5 API
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
See the comments in #11049 for the origin of this PR.
Currently, the 2.5 API needs to use `LegacyExecutionContextFactory` because the constraint validators rely on methods from the old `ExecutionContext` class (like `validate()`, `validateValue()`). Consequently it is impossible to switch to the pure 2.5 API and check whether all calls to deprecated methods were removed from application code. This is fixed now.
This PR also introduces a complete test suite to test each constraint validator against all three APIs: 2.4, 2.5-BC and 2.5. Currently, some tests are not executed yet when running the complete test suite is run. I expect this to be fixed soon (ticket: sebastianbergmann/phpunit#529, pr: sebastianbergmann/phpunit#1327).
Commits
-------
295e5bb [Validator] Fixed failing tests
3bd6d80 [Validator] CS fixes
870a41a [FrameworkBundle] Made ConstraintValidatorFactory aware of the legacy validators
7504448 [Validator] Added extensive test coverage for the constraint validators for the different APIs
8e461af [Validator] Constraint validators now use the 2.5 API. For incompatible validators, legacy validators were created
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Made it possible (again) to pass a class name to validatePropertyValue()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11139
| License | MIT
| Doc PR | -
In the 2.4 API it was possible to do both:
```php
$validator->validatePropertyValue($object, 'propertyName', $myValue);
$validator->validatePropertyValue('\Vendor\Namespace\ClassName', 'propertyName', $myValue);
```
In the 2.5 API, the second case was not supported anymore. This is fixed now.
Together with the fix comes also a small change (also in the 2.4 API) which I'll demonstrate with a code snippet:
```php
$metadata->addPropertyConstraint('ClassName', 'propertyName', new Callback(
function ($value, $context) {
var_dump($context->getRoot());
var_dump($context->getPropertyPath());
}
));
$validator->validatePropertyValue('ClassName', 'propertyName', 'foobar');
```
Before this PR, the output would be:
```
string(9) "ClassName"
string(12) "propertyName"
```
This doesn't make a lot of sense, because usually the following condition holds during validation:
```php
'' === $context->getPropertyPath() || $value === $propertyAccessor->getValue($context->getRoot(), $context->getPropertyPath())
```
which obviously cannot work if root is a class name. Thus I changed the root and property path to become:
```
string(6) "foobar"
string(0) ""
```
With this change, the condition holds also in this case.
Commits
-------
2bf1b37 [Validator] Fixed ExpressionValidator when the validation root is not an object
ef6f5f5 [Validator] Fixed: Made it possible (again) to pass a class name to Validator::validatePropertyValue()
* 2.3: (22 commits)
Fix incorrect romanian plural translations
fix axes handling in Crawler::filterXPath()
fix some docblocks
Fixed self-reference in 'service_container' service breaks garbage collection (and clone).
[Process] Fix tests when pcntl is not available.
[DependencyInjection] Roll back changes made to generated files.
[Console] Roll back changes made to fixture files.
[Validator] Added more detailed inline documentation
[Validator] Removed information from the violation output if the value is an array, object or resource
partially reverted previous commit
fixed CS
properly handle null data when denormalizing
[Validator] Renamed valueToString() to formatValue(); added missing formatValue() calls
[Validator] Fixed CS
[Validator] Fixed date-to-string conversion tests to match ICU 51
[Validator] Added "{{ value }}" parameters where they were missing
[Validator] Simplified and explained the LuhnValidator
[Validator] Simplified IssnValidator
[Validator] Fixed and simplified IsbnValidator
[Validator] Simplified IBAN validation algorithm
...
Conflicts:
src/Symfony/Component/Console/Helper/DescriptorHelper.php
src/Symfony/Component/DependencyInjection/Container.php
src/Symfony/Component/DomCrawler/Tests/CrawlerTest.php
src/Symfony/Component/HttpFoundation/File/UploadedFile.php
src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
src/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php
src/Symfony/Component/Validator/Constraints/CollectionValidator.php
src/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php
src/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php
Symfony\Component\DependencyInjection\Dumper\XmlDumper didn't write 'factory-class' XML attribute for definitions on which setFactoryClass() was called.
This caused the Container[Builder] to throw an exception when the relevant service is being requested/initiated after loading the dumped XML:
`Uncaught Exception Symfony\Component\DependencyInjection\Exception\RuntimeException: "Cannot create service "xxx" from factory method without a factory service or factory class." at /<path>/<to>/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php`
Fixed the problem, and updated the relevant test fixture.
This PR was merged into the 2.3 branch.
Discussion
----------
[Component][DomCrawler] fix axes handling in Crawler::filterXPath()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11503
| License | MIT
| Doc PR |
Due to some limitations in the ``relativize()`` method, it was not possible to use XPath axes other than ``descendant`` or ``descendant-or-self`` in the ``filterXPath()`` method of the ``Crawler`` class. This commit adds support for the ``ancestor``, ``ancestor-or-self``, ``attribute``, ``child``, ``following``, ``following-sibling``, ``parent``, ``preceding``, ``preceding-sibling`` and ``self`` axes.
The only axis missing after this is the ``namespace`` axis. Filtering for namespace nodes returns ``DOMNameSpaceNode`` instances which can't be passed to the ``add()`` method.
Commits
-------
8dc322b fix axes handling in Crawler::filterXPath()
Due to some limitations in the relativize() method, it was not
possible to use XPath axes other than descendant or descendant-or-self
in the filterXPath() method of the Crawler class. This commit adds
support for the ancestor, ancestor-or-self, attribute, child,
following, following-sibling, parent, preceding, preceding-sibling and
self axes.
This PR was merged into the 2.3 branch.
Discussion
----------
fix some docblocks
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
1775da5 fix some docblocks
When the server:run command is run with an invalid document root
directory (for example, when being in the app directory and not
changing the document root to ../web/), the command crashes on Windows
with a 267 exit code. On Linux, the server starts but just publishes
internal server errors.
This PR was merged into the 2.6-dev branch.
Discussion
----------
Issue #11489 Translated 78 in Català
Just 78 is created because 73 to 77 are in another PR to branch 2.4.
Commits
-------
88eac04 Issue #11532 Translated 78 in Català
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel][FrameworkBundle] Replaced ESI mentions with SSI when appropriate
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
7ee23c1 Replaced ESI mentions with SSI when appropriate
This PR was merged into the 2.3 branch.
Discussion
----------
Make builds green again
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR rolls back changes made to the fixture and generated files in e9022adaef (#11512).
Commits
-------
88b4e70 [DependencyInjection] Roll back changes made to generated files.
f89811d [Console] Roll back changes made to fixture files.
This PR was merged into the 2.3 branch.
Discussion
----------
[Serializer] properly handle null data when denormalizing
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10794
| License | MIT
| Doc PR |
Commits
-------
123fc62 properly handle null data when denormalizing
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed string conversion in constraint violations
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10675
| License | MIT
| Doc PR | -
Commits
-------
32ae95b [Validator] Added more detailed inline documentation
08ea6d3 [Validator] Removed information from the violation output if the value is an array, object or resource
d6a783f [Validator] Renamed valueToString() to formatValue(); added missing formatValue() calls
71897d7 [Validator] Fixed CS
cea4155 [Validator] Fixed date-to-string conversion tests to match ICU 51
5aa7e6d [Validator] Added "{{ value }}" parameters where they were missing
f329552 [Validator] Simplified and explained the LuhnValidator
bff09f2 [Validator] Simplified IssnValidator
224e70f [Validator] Fixed and simplified IsbnValidator
fd58870 [Validator] Simplified IBAN validation algorithm
97243bc [Validator] Fixed value-to-string conversion in constraint violations
75e8815 [Validator] Fix constraint violation message parameterization
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] prevent unnecessary calls inside ExecutionContext
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
Small performance improvement by preventing calls to `PropertyPath::append($this->propertyPath, $subPath)` when not needed.
Commits
-------
d6d462a [Validator] do not call getter inside ExecutionContext to prevent unnecessary calls
* 2.5:
Update validators.eu.xlf
fixed CS
remove unused imports
[Validator] Added markObjectAsInitialized() and isObjectInitialized() to ExecutionContextInterface
[Validator] Fixed doc block
[Routing] simplify the XML schema file
Unify null comparisons
[EventDispatcher] don't count empty listeners
[Process] Fix unit tests in sigchild environment
[Process] fix signal handling in wait()
[BrowserKit] refactor code and fix unquoted regex
Fixed server HTTP_HOST port uri conversion
[HttpFoundation] moved test file to the right directory
[Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface
[MonologBridge] fixed Console handler priorities
Bring code into standard
[Process] Add test to verify fix for issue #11421
[Process] Fixes issue #11421
[DependencyInjection] Pass a Scope instance instead of a scope name.
* 2.4:
Update validators.eu.xlf
fixed CS
remove unused imports
[Routing] simplify the XML schema file
Unify null comparisons
[EventDispatcher] don't count empty listeners
[Process] Fix unit tests in sigchild environment
[Process] fix signal handling in wait()
[BrowserKit] refactor code and fix unquoted regex
Fixed server HTTP_HOST port uri conversion
[MonologBridge] fixed Console handler priorities
Bring code into standard
[Process] Add test to verify fix for issue #11421
[Process] Fixes issue #11421
[DependencyInjection] Pass a Scope instance instead of a scope name.
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php
src/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorCollectionTest.php
* 2.3:
Update validators.eu.xlf
fixed CS
remove unused imports
Unify null comparisons
[EventDispatcher] don't count empty listeners
[Process] Fix unit tests in sigchild environment
[Process] fix signal handling in wait()
[BrowserKit] refactor code and fix unquoted regex
Fixed server HTTP_HOST port uri conversion
Bring code into standard
[Process] Add test to verify fix for issue #11421
[Process] Fixes issue #11421
[DependencyInjection] Pass a Scope instance instead of a scope name.
Conflicts:
src/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11046
| License | MIT
| Doc PR | -
Commits
-------
ff48939 [Validator] Added markObjectAsInitialized() and isObjectInitialized() to ExecutionContextInterface
14b60c8 [Validator] Fixed doc block
91bf277 [Validator] Made sure that context changes don't leak out of (Contextual)ValidatorInterface
This PR was merged into the 2.3 branch.
Discussion
----------
[EventDispatcher] don't count empty listeners
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11444
| License | MIT
| Doc PR |
When event listeners for certain events are removed from the event
dispatcher, empty arrays are not being removed. Therefore, counting
on empty arrays leads to wrong results of the hasListeners() method.
Thanks to @mlindenb for discovering this an proposing a solution.
Commits
-------
fdbb04a [EventDispatcher] don't count empty listeners
Conditions that are defined for certain routes are just simple strings.
Thus, there is no need to use a dedicated element when xsd:string does
the same.
When event listeners for certain events are removed from the event
dispatcher, empty arrays are not being removed. Therefore, counting
on empty arrays leads to wrong results of the hasListeners() method.
Use case: We have different variations of the same application, for which
only certain commands are allowed. Right now this is done in a custom
Application class, but it would be much easier to just be able to skip
commands from a listener, where you can disable commands via the Event
object.
This patch provides this feature and corresponding test cases.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes - for Console tests
| Fixed tickets | None
| License | MIT
| Doc PR | None
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Security] Add missing dot at the end of an exception message
| Q | A
| ------------- | ---
| Fixed tickets | -
| License | MIT
Commits
-------
8e1f978 Add missing dot at the end of an exception message
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DX] Added line feed to container alias description (text descriptor)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | N/A
This PR just adds a line feed at the end of the alias service description delivered by the ContainerDebugCommand. Tests are passing because expected outputs are trimmed before comparison (which IMO is not a really good thing, but hey...)
Commits
-------
13c011c Added line feed to container alias description (text descriptor)
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DX] New service to simplify password encoding
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11299
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/3995
This new service siplifies the way to encode a password. Just get the `security.password_encoder` service and encode the `User` password.
```php
$encoded = $this->container->get('security.password_encoder')
->encodePassword($user, $plainPassword);
$user->setPassword($encoded);
```
Commits
-------
7bc190a New service to simplify password encoding
wait() throws an exception when the process was terminated by a signal.
This should not happen when the termination was requested by calling
either the stop() or the signal() method (for example, inside a callback
which is passed to wait()).
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel][FrameworkBundle] SSI support
| Q | A
| ------------- | ---
| Bug fix? | No
| New feature? | Yes
| BC breaks? | No
| Deprecations? | No
| Tests pass? | Yes
| Fixed tickets | #9419 (, #10684)
| License | MIT
It does not support comments, or alternative URIs, or "continue" in case of errors. Maybe I can workaround that, but I've decided to left it out for this PR. Especially as far as I can see a "alternative URIs"-hack would _always_ lead to two requests, even if it's not needed.
Commits
-------
06cea08 SSI support
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Security] Allow exception bubbling in RememberMeListener
- Allow optional exception bubbling so that the exception listener has a chance to handle those exceptions
#### While at it
- Test for dispatching the InteractiveLogin event
- Smaller cleanups in the test
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | ye
| Fixed tickets | n.A.
| License | MIT
| Doc PR | n.A.
Commits
-------
fcb7f74 Allow exception bubbling in RememberMeListener
This PR was merged into the 2.3 branch.
Discussion
----------
[BrowserKit] Fixed server HTTP_HOST port uri conversion
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11356
| License | MIT
| Doc PR | n/a
See #11356
Commits
-------
103fd88 [BrowserKit] refactor code and fix unquoted regex
f401ab9 Fixed server HTTP_HOST port uri conversion
This PR was merged into the 2.3 branch.
Discussion
----------
Fix issue described in #11421
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11421
| License | MIT
| Doc PR | NA
This pull request fixes the issue described in #11421. It also adds a test for the issue. The issue is present in 2.0 forward, but I decided to fix it on the 2.3 branch so that I could also write a test for it (2.0 had no tests for the Process component, and 2.1 and 2.2 didn't have tests for the `ExecutableFinder` class).
Commits
-------
4cf50e8 Bring code into standard
9f4313c [Process] Add test to verify fix for issue #1142102eb765 [Process] Fixes issue #11421
This PR was merged into the 2.6-dev branch.
Discussion
----------
Added support for encoding and decoding namespaced xml (xmlns)
Q | A
------------ | -------------
Bug fix? | no
New feature? | yes
BC breaks? | no
Deprecations? | no
Tests pass? | yes
Fixed tickets | #10625
License | MIT
Complete this PR : https://github.com/symfony/symfony/pull/9156
Commits
-------
9d6b20c Added support for encoding and decoding namespaced xml (xmlns)
This PR was merged into the 2.6-dev branch.
Discussion
----------
[DomCrawler] Added node name getter
[DomCrawler] Added node name getter
Based on the use case came up in a SO question (http://stackoverflow.com/questions/22564465/getting-the-tag-name-of-a-element-crawled-with-domcrawler-in-php) I propose a new helper function to get the name of the active node
| 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#4039
(Follow up of symfony/symfony#11351)
Commits
-------
2fee576 [DomCrawler] Added node name getter
This PR was merged into the 2.3 branch.
Discussion
----------
Pass a Scope instance instead of a scope name when cloning a container in the GrahpvizDumper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11055
| License | MIT
| Doc PR | -
Commits
-------
6787669 [DependencyInjection] Pass a Scope instance instead of a scope name.
This PR was merged into the 2.6-dev branch.
Discussion
----------
server:run command: provide more error information
The server:run command didn't provide many information when the executed command exited unexpectedly. Now, the process' exit code is passed through and an error message is displayed.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This is, for example, useful, if you provide an invalid ip address/hostname on which the server couldn't listen.
Commits
-------
5ba40bf server:run command: provide more error information
This PR was merged into the 2.5 branch.
Discussion
----------
[HttpFoundation] moved test file to the right directory
| 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
-------
a260623 [HttpFoundation] moved test file to the right directory
If null is passed to denormalize(), no property values can be set on
the denormalized object. Additionally, this fixes passing values to
the denormalized object's constructor if the incoming data is an object.
* 2.5:
[Translator] Use quote to surround invalid locale
[Validator] Fixed memory leak in ValidatorBuilder
[FrameworkBundle] changed KernelTestCase::getKernelClass() to check $_SERVER['KERNEL_DIR'] before invoking getPhpUnitXmlDir()
Optimize assertLocale regexp
[ExpressionLanguage] Fixed an issue with # characters in double quoted string literals
[Validator] Fixed object initializers in 2.5 version of the Validator
Add some tweaks to the pt_BR translations
[Validator] Backported #11410 to 2.3: Object initializers are called only once per object
[Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator
[Process] Reduce I/O load on Windows platform
[Form] Check if IntlDateFormatter constructor returned a valid object before using it
Conflicts:
src/Symfony/Component/Process/ProcessPipes.php
* 2.4:
[Translator] Use quote to surround invalid locale
Optimize assertLocale regexp
[ExpressionLanguage] Fixed an issue with # characters in double quoted string literals
Add some tweaks to the pt_BR translations
[Validator] Backported #11410 to 2.3: Object initializers are called only once per object
[Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator
[Process] Reduce I/O load on Windows platform
[Form] Check if IntlDateFormatter constructor returned a valid object before using it
Conflicts:
src/Symfony/Component/Validator/Tests/ValidationVisitorTest.php
* 2.3:
[Translator] Use quote to surround invalid locale
Optimize assertLocale regexp
[Validator] Backported #11410 to 2.3: Object initializers are called only once per object
[Translator][FrameworkBundle] Added @ to the list of allowed chars in Translator
[Process] Reduce I/O load on Windows platform
[Form] Check if IntlDateFormatter constructor returned a valid object before using it
This PR was merged into the 2.5 branch.
Discussion
----------
[Validator] Fixed memory leak in ValidatorBuilder
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11236
| License | MIT
| Doc PR | -
In 23534ca6ab, the following code was introduced in `ValidatorBuilder::getValidator()`:
```php
AnnotationRegistry::registerLoader(function ($class) {
if (0 === strpos($class, __NAMESPACE__.'\\Constraints\\')) {
$file = str_replace(__NAMESPACE__.'\\Constraints\\', __DIR__.'/Constraints/', $class).'.php';
if (is_file($file)) {
require_once $file;
return true;
}
}
return false;
});
```
`AnnotationRegistry::registerLoader()` stores all loaders in a global array. Every time that `getValidator()` is called, a new closure is put onto the loader stack, referencing `$this` (i.e. the ValidatorBuilder) and consequently preventing the ValidatorBuilder (and its references) from being garbage-collected.
The call to `registerLoader()` did not exist in 2.4 and I can't find a reason why it should be there. All tests are green without that code. I suppose I used it for debugging and then forgot to remove it again, so I'm removing it here.
Commits
-------
283387a [Validator] Fixed memory leak in ValidatorBuilder
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Reduce I/O load on Windows platform
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
When using file handles, no `stream_select` call is done.
On linux platforms, `stream_select` introduce a sleep as it has 0.2s timeout, there is no such pause on Windows, producing lot's of disk I/Os when reading file handles
Commits
-------
ff0bb01 [Process] Reduce I/O load on Windows platform
This PR was merged into the 2.6-dev branch.
Discussion
----------
remove the scope from the output of the container:debug command
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11302
| License | MIT
| Doc PR |
Commits
-------
f56b731 remove the scope from the output of the container:debug command
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Form] Check if IntlDateFormatter constructor returned a valid object before using it
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
`IntlDateFormatter` constructor [may return false](http://www.php.net/manual/en/intldateformatter.create.php#refsect1-intldateformatter.create-returnvalues). This patches avoids fatal errors in these cases
This PR replaces #11334
Commits
-------
ebf967d [Form] Check if IntlDateFormatter constructor returned a valid object before using it
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Console] Fix test on windows
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
8be4c92 [Console] Fix test on windows
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Backported #11410 to 2.3: Object initializers are called only once per object
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Before, object initializers were called multiple times if an object was validated in different groups in the same validation run. The initializers, however, are not aware of the current validation group, so calling them more than once does not make sense.
Now, object initializers are called exactly once per validated object.
See #11410
Commits
-------
291cbf9 [Validator] Backported #11410 to 2.3: Object initializers are called only once per object
So we can compare the specificity without using the value, so it doesn't matter if the base isn't high enough (for example, 1,0,0 should be higher then 0,11,0. Currently with using values, this wouldn't be possible (100 vs 110).
* 2.5:
[Process] Adjust PR #11264, make it Windows compatible and fix CS
[Process] Fix unit tests on Windows platform
bumped Symfony version to 2.5.3
bumped Symfony version to 2.4.9
bumped Symfony version to 2.3.19
updated VERSION for 2.5.2
updated CHANGELOG for 2.5.2
updated VERSION for 2.4.8
updated CHANGELOG for 2.4.8
[2.5][Form] solved dependency to ValidatorInterface, fix#11036
updated VERSION for 2.3.18
update CONTRIBUTORS for 2.3.18
updated CHANGELOG for 2.3.18
[Process] Use correct test for empty string in UnixPipes
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Process/ProcessPipes.php
* 2.4:
[Process] Adjust PR #11264, make it Windows compatible and fix CS
[Process] Fix unit tests on Windows platform
bumped Symfony version to 2.4.9
bumped Symfony version to 2.3.19
updated VERSION for 2.4.8
updated CHANGELOG for 2.4.8
updated VERSION for 2.3.18
update CONTRIBUTORS for 2.3.18
updated CHANGELOG for 2.3.18
[Process] Use correct test for empty string in UnixPipes
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
[Process] Adjust PR #11264, make it Windows compatible and fix CS
[Process] Fix unit tests on Windows platform
bumped Symfony version to 2.3.19
updated VERSION for 2.3.18
update CONTRIBUTORS for 2.3.18
updated CHANGELOG for 2.3.18
[Process] Use correct test for empty string in UnixPipes
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [Process] Use correct test for empty string in UnixPipes
| 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
This PR supersedes #11264 : 2.3 compatibility + Windows compatibility + CS fix
Commits
-------
cec0a45 [Process] Adjust PR #11264, make it Windows compatible and fix CS
9e1ea4a [Process] Use correct test for empty string in UnixPipes
This PR was squashed before being merged into the 2.6-dev branch (closes#11350).
Discussion
----------
[2.5][Form] solved dependency to ValidatorInterface, fix#11036
| Q | A
| ------------- | ---
| Bug fix? | [yes]
| New feature? | [no]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets | #11036, #11345
| License | MIT
| Doc PR |
Since Symfony 2.5
The problem was that the form component has a hardcoded depencency to the deprecated validator component (api Version 2.4)
The pull request fixes the dependency to the validator component and supports now both implementations, apiVersion 2.5 and apiVersion 2.4 of the validator component.
@Symfony Core Members
please review the changes 0a1e9c208f/src/Symfony/Component/Form/Extension/Validator/ValidatorExtension.php
I'm not sure if it was the right solution
Commits
-------
ab765c9 [2.5][Form] solved dependency to ValidatorInterface, fix#11036
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] Fix to prevent magic bytes injection in JSONP responses... (CVE-2014-4671)
| 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
| CVE Ticket | [CVE-2014-4671](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-4671)
| See Also | [Rosetta Flash](http://miki.it/blog/2014/7/8/abusing-jsonp-with-rosetta-flash/)
\* Unless you are parsing the response string manually, which you really shouldn't do anyway
**THIS IS A SECURITY FIX AND SHOULD BE MERGED SHORTLY**
This fix prevents attacks vectors where third-party browser plugins depends on ASCII magic bytes in order to execute a plugin. This is currently exploited with Flash using a carefully crafted JSONP response, allowing the execution of random SWF data from a domain with a vulnerable JSONP endpoint.
This security issue is mitigated by adding an empty comment right before the callback parameter. This does not affect the execution of the JSONP callback.
Commits
-------
6af3d05 [HttpFoundation] Fix to prevent magic bytes injection in JSONP responses (Prevents CVE-2014-4671)
This PR was squashed before being merged into the 2.5 branch (closes#11284).
Discussion
----------
[Console] Remove estimated field from debug_nomax
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11281
| License | MIT
| Doc PR |
Commits
-------
2ac1bb4 [Console] Remove estimated field from debug_nomax
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] [Validator] Fix UserPassword validator translation
| Q | A
| ------------- | ---
| Fixed tickets | None
| License | MIT
Fixes the UserPassword translation message only for 2.3 as discussed in symfony/symfony#11383.
Commits
-------
73d50ed Fix UserPassword validator translation
The server:run command didn't provide many information when the executed
command exited unexpectedly. Now, the process' exit code is passed through
and an error message is displayed.
This PR was merged into the 2.6-dev branch.
Discussion
----------
Allow xdebug.file_link_format from php ini to work when xdebug extension is not loaded
Q | A
----------------- | ---------------
Bug fix? | yes
New feature? | no
BC breaks? | no
Deprecations? | no
Tests pass? | yes
Fixed tickets | #11081
License | MIT
Doc PR | N/A
Complete the PR https://github.com/symfony/symfony/pull/11081
Commits
-------
8b2397c Applyied code review
97e07d5 Check for xdebug link format via both ini_get and get_cfg_var
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][HttpFoundation] Fix wrong assertion in Response test
| Q | A
| ------------- | ---
| Bug fix? | kinda
| New feature? | no
| BC breaks? | no
| Tests pass? | yes
| License | MIT
Commits
-------
3d63f80 [HttpFoundation] Fix wrong assertion in Response test
This PR was squashed before being merged into the 2.6-dev branch (closes#10960).
Discussion
----------
[Filesystem] Throw Exception on copying from an unreadable file or to an unwritable file
| Q | A |
| ------------- | ------------- |
| Bug fix? | No |
| New feature? | No |
| BC breaks? | No |
| Deprecations? | No |
| Tests pass? | Yes |
| Fixed tickets | |
| License | MIT |
In certain circumstances (overwrite set to true, target file not writable), Filesystem->copy() would return success even though the file was not successfully copied. Unit tests included.
Commits
-------
cd5da9b [Filesystem] Throw Exception on copying from an unreadable file or to an unwritable file
This PR was merged into the 2.4 branch.
Discussion
----------
Added verbosity methods to NullOutput
These 4 methods were not added to the OutputInterface because of BC, but they should still be implemented in all classes which implement that interface. Otherwise we have to do nasty tricks...
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
0459249 Added verbosity methods
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpFoundation] Added a switch to delete file after the response is send
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
| Doc PR | symfony/symfony-docs#3975
I have not done any Unit Tests for this code as I suspect there may already be a way to solve my problem of deleting a file after the request was sent. Is it possible to use `sendContent` and delete the file after that? My attempts were unsuccessful.
If this code is desirable, please assist me in how I would write an unit test for this. Thanks.
TODO:
- [x] Add unit tests
- [x] Update documentation
- [x] Mention that using `X-Sendfile` will overwrite deleteFileAfterSend
Commits
-------
1fff158 [HttpFoundation] Added a switch to delete file after the response is send
* 2.5:
added missing test
fixed CS
[HttpFoundation] Remove content-related headers if content is empty
bumped Symfony version to 2.5.2
bumped Symfony version to 2.4.8
updated VERSION for 2.5.1
updated CHANGELOG for 2.5.1
removed defaults from PHPUnit configuration
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.4:
added missing test
fixed CS
[HttpFoundation] Remove content-related headers if content is empty
bumped Symfony version to 2.4.8
removed defaults from PHPUnit configuration
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Improving bad bundle exception in _controller
...ntroller in a routeHi guys!
This improves the exception message when you use a bad bundle name in the `_controller` syntax in a routing file. Here is the before and after of the message with this mistake (real bundle is `KnpUniversityBundle`):
```yaml
some_route:
pattern: /
defaults: { _controller: "Knp2UniversityBundle:Course:index" }
```
![screen shot 2014-06-23 at 9 27 55 pm](https://cloud.githubusercontent.com/assets/121003/3367065/448e8298-fb54-11e3-92ea-9bf04510cb6d.png)
![screen shot 2014-06-23 at 9 48 14 pm](https://cloud.githubusercontent.com/assets/121003/3367063/3c79cf36-fb54-11e3-87c4-29428248ee47.png)
Notice the before and after behavior is the same `InvalidArgumentException` (just a different message).
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Catching the plain `InvalidArgumentException` from `Kernel::getBundles()` seems a bit "loose". Should we consider creating a new exception (e.g. `BundleDoesNotExistException`) that extends `InvalidArgumentException` and throw it from inside `Kernel::getBundles`? This would allow us to catch more precisely, and it seems like it would be BC.
Suggestions and thoughts warmly welcome!
Thanks!
Commits
-------
f9b88c6 Improving the exception message when the bundle name is wrong for the controller in a route
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] Use ProcessHelper for server:run command
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
Let's use our new process helper :)
Commits
-------
6ca1c90 [FrameworkBundle] Use ProcessHelper for server:run command
a5f36a8 [Console] Add threshold for ProcessHelper verbosity
This PR was merged into the 2.3 branch.
Discussion
----------
remove defaults from PHPUnit configuration
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | --
Follow-up to #11329.
Commits
-------
afc4930 removed defaults from PHPUnit configuration
* 2.5:
updated VERSION for 2.4.7
updated CHANGELOG for 2.4.7
bumped Symfony version to 2.3.18
updated VERSION for 2.3.17
update CONTRIBUTORS for 2.3.17
updated CHANGELOG for 2.3.17
added XSD to PHPUnit configuration
fix the return types
add missing docblock for ProcessBuilder::addEnvironmentVariables()
bug #11319 [HttpKernel] Ensure the storage exists before purging it in ProfilerTest
[Translation] Added unescaping of ids in PoFileLoader
updated italian translation for validation messages
[DomCrawler] Fix docblocks and formatting.
[DomCrawler] Remove the query string and the anchor of the uri of a link
Simplified the Travis test command
Remove Expression Language services when the component is unavailable
Added SK translations
[Console] Make sure formatter is the same
* 2.4:
updated VERSION for 2.4.7
updated CHANGELOG for 2.4.7
bumped Symfony version to 2.3.18
updated VERSION for 2.3.17
update CONTRIBUTORS for 2.3.17
updated CHANGELOG for 2.3.17
added XSD to PHPUnit configuration
add missing docblock for ProcessBuilder::addEnvironmentVariables()
bug #11319 [HttpKernel] Ensure the storage exists before purging it in ProfilerTest
[Translation] Added unescaping of ids in PoFileLoader
updated italian translation for validation messages
[DomCrawler] Fix docblocks and formatting.
[DomCrawler] Remove the query string and the anchor of the uri of a link
Simplified the Travis test command
Remove Expression Language services when the component is unavailable
[Console] Make sure formatter is the same
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
bumped Symfony version to 2.3.18
updated VERSION for 2.3.17
update CONTRIBUTORS for 2.3.17
updated CHANGELOG for 2.3.17
added XSD to PHPUnit configuration
bug #11319 [HttpKernel] Ensure the storage exists before purging it in ProfilerTest
[Translation] Added unescaping of ids in PoFileLoader
updated italian translation for validation messages
[DomCrawler] Fix docblocks and formatting.
[DomCrawler] Remove the query string and the anchor of the uri of a link
Simplified the Travis test command
[Console] Make sure formatter is the same
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
Make @inheritdoc consistent (lowercase)
See symfony/symfony#10713
| Q | A
| ------------- | ---
| License | MIT
Commits
-------
aae45ad Make @inheritdoc consistent (lowercase)
Usually, it is wrong because you've chosen the wrong bundle name in your _controller syntax.
But this also tries to imply that you *might* be missing your bundle initialization in AppKernel
(though I think this is much much less common).
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Serializer] Added a test for decoding xml with whitespaces
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The PR 466a3d70b7 introduced a BC break because white spaces were previously decoded as text nodes.
So this PR reverts it and adds a context option to configure it.
Commits
-------
f5bf45e [Serializer] Added a test for decoding xml with whitespaces
This PR was squashed before being merged into the 2.3 branch (closes#11194).
Discussion
----------
[DomCrawler] Remove the query string and the anchor of the uri of a link
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
Commits
-------
fe5d2d1 [DomCrawler] Remove the query string and the anchor of the uri of a link
The parent constructor will create a new formatter if the $formatter parameter is null
This fix avoids that the formatter becomes 2 different instances in $this and $this->stderr
* 2.5:
Fixed failed config schema loads due to libxml_disable_entity_loader usage.
enabled PHP 5.6 for tests
[Process] Fix ExecutableFinder with open basedir
Refactored the CssSelector to remove the circular object graph
Fix mocks to support >=5.5.14 and >=5.4.30
[ClassLoader] fixed PHP warning on PHP 5.3
[Validator] added Lithuanian translation for empty file
Added missing dutch translations
[Components][Serializer] optional constructor arguments can be omitted during the denormalization process
[DomCrawler] properly handle buttons with single and double quotes inside the name attribute
Added missing pt and pt_BR translations
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.nl.xlf
* 2.4:
Fixed failed config schema loads due to libxml_disable_entity_loader usage.
enabled PHP 5.6 for tests
[Process] Fix ExecutableFinder with open basedir
Refactored the CssSelector to remove the circular object graph
Fix mocks to support >=5.5.14 and >=5.4.30
[ClassLoader] fixed PHP warning on PHP 5.3
[Validator] added Lithuanian translation for empty file
Added missing dutch translations
[Components][Serializer] optional constructor arguments can be omitted during the denormalization process
[DomCrawler] properly handle buttons with single and double quotes inside the name attribute
Added missing pt and pt_BR translations
* 2.3:
Fixed failed config schema loads due to libxml_disable_entity_loader usage.
enabled PHP 5.6 for tests
[Process] Fix ExecutableFinder with open basedir
Refactored the CssSelector to remove the circular object graph
Fix mocks to support >=5.5.14 and >=5.4.30
[ClassLoader] fixed PHP warning on PHP 5.3
[Components][Serializer] optional constructor arguments can be omitted during the denormalization process
[DomCrawler] properly handle buttons with single and double quotes inside the name attribute
Conflicts:
src/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
This PR was squashed before being merged into the 2.3 branch (closes#11179).
Discussion
----------
[Process] Fix ExecutableFinder with open basedir
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This fixes the `ExecutableFinder` object to properly fetch the `open_basedir` setting, also added a bunch of tests for the `find()` method.
Commits
-------
b8f8c0e [Process] Fix ExecutableFinder with open basedir
This PR was merged into the 2.3 branch.
Discussion
----------
[CssSelector] Refactored the CssSelector to remove the circular object graph
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10879, replaces #11221
| License | MIT
| Doc PR | n/a
This allows the translator and its extensions to be garbage collected based on the refcount rather than requiring the garbage collector run, making it much more likely to happen at the end of the ``CssSelector::toXPath`` call.
Node translators now receive the Translator as second argument, instead of requiring to inject it in the extension to keep a reference to it. This way, the Translator is referenced nowhere inside it, only by the caller, and so will be destructed at the end of the usage (and extensions will then be destructed after it when not used anymore).
Commits
-------
994f81f Refactored the CssSelector to remove the circular object graph
This allows the translator and its extensions to be garbage collected
based on the refcount rather than requiring the garbage collector run,
making it much more likely to happen at the end of the
CssSelector::toXPath call.
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] properly handle buttons with single and double quotes insid...
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11151
| License | MIT
| Doc PR |
Commits
-------
cbbdbe4 [DomCrawler] properly handle buttons with single and double quotes inside the name attribute
This PR was merged into the 2.3-dev branch.
Discussion
----------
[Validator] added Japanese translation for empty file (id: 78)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
ff13184 [Validator] added Japanese translation for empty file (id: 78)
This PR was squashed before being merged into the 2.4 branch (closes#11203).
Discussion
----------
Added missing dutch translations
Commits
-------
bd9283e Added missing dutch translations
* 2.5:
[Validator] Add missing ru translations
don't disable constructor calls to mockups of classes that extend internal PHP classes
special handling for the JsonDescriptor to work around changes in PHP's JSON pretty printer
* 2.4:
[Validator] Add missing ru translations
don't disable constructor calls to mockups of classes that extend internal PHP classes
special handling for the JsonDescriptor to work around changes in PHP's JSON pretty printer
Conflicts:
src/Symfony/Component/Security/Core/Tests/Authentication/AuthenticationProviderManagerTest.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/DaoAuthenticationProviderTest.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/PreAuthenticatedAuthenticationProviderTest.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/RememberMeAuthenticationProviderTest.php
src/Symfony/Component/Security/Core/Tests/Authentication/Provider/UserAuthenticationProviderTest.php
* 2.5:
fixed previous merge
Added missing `break` statement
don't disable constructor calls to mockups of classes that extend internal PHP classes
Small comment update according to PSR-2
[Yaml] fix overwriting of keys after merged map
[Yaml] fix priority of sequence merges according to spec
[Console] Fixed notice in QuestionHelper
[Console] Fixed notice in DialogHelper
[Yaml] refactoring of merges for performance
[Console] remove weird use statement
[HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
[Filesystem] Fix test suite on OSX
[FrameworkBundle] Redirect server output to /dev/null in case no verbosity is needed
Add framework-bundle
Conflicts:
src/Symfony/Component/Yaml/Parser.php
* 2.4:
fixed previous merge
Added missing `break` statement
don't disable constructor calls to mockups of classes that extend internal PHP classes
Small comment update according to PSR-2
[Console] Fixed notice in DialogHelper
[HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
[Filesystem] Fix test suite on OSX
Add framework-bundle
Conflicts:
src/Symfony/Bundle/TwigBundle/composer.json
* 2.3:
Added missing `break` statement
don't disable constructor calls to mockups of classes that extend internal PHP classes
Small comment update according to PSR-2
[Console] Fixed notice in DialogHelper
[HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
[Filesystem] Fix test suite on OSX
Add framework-bundle
Conflicts:
src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Tests] don't disable constructor calls to mockups of classes that extend intern...
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Fixes the tests for the 2.3 branch as reported by @stof in #11176.
Commits
-------
2c726b8 don't disable constructor calls to mockups of classes that extend internal PHP classes
See [PSR-2](http://www.php-fig.org/psr/psr-2/) paragraph 5.2
> There MUST be a comment such as `// no break` when fall-through is intentional in a non-empty case body.
Related to #11181
This PR was merged into the 2.5 branch.
Discussion
----------
[YAML] fix merge node (<<)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes but according to spec
| Deprecations? | no
| Tests pass? | yes
| Needs merge to | 2.5
| Fixed tickets | #11142 and #11154
| License | MIT
| Doc PR | —
First commit small refactoring.
Second fixes#11154 (causing a BC break for a less common feature)
Third fixes#11142
Commits
-------
dee1562 [Yaml] fix overwriting of keys after merged map
8c621ab [Yaml] fix priority of sequence merges according to spec
02614e0 [Yaml] refactoring of merges for performance
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
2a0e8e3 [HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
This PR was merged into the 2.3 branch.
Discussion
----------
[Filesystem] Fix test suite on OSX
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
Reviewing PR's, I realized the filesystem test suite fails on my setup (OSX, PHP 5.5.13 with posix ext). `posix_getgrgid` returns false, so some tests are failing.
This solves this issue.
Be aware that the patched method has been moved in FilesystemTestCase in recent branches
Commits
-------
e26f08e [Filesystem] Fix test suite on OSX
This PR was squashed before being merged into the 2.6-dev branch (closes#10934).
Discussion
----------
[Process] Add support for streams as input
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8161
| License | MIT
`Process::setStdin` now accepts a stream as input.
I've also split windows and unix pipes management.
Commits
-------
b57024e [Process] Add support for streams as input
This PR was squashed before being merged into the 2.6-dev branch (closes#10939).
Discussion
----------
[Translation] [Xliff] Support for <note>
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10550
| License | MIT
| Doc PR | n/a
The purpose of this PR, is to avoid that the automated translation update (`app/console translation:update`) remove the `note` tags from XLIFF files.
Not sure if using the metadata bag is a good thing or if I should have add a "note" property in MessageCatalogue. What do you think ?
Commits
-------
d18e758 [Translation] [Xliff] Support for <note>
This PR was squashed before being merged into the 2.6-dev branch (closes#11027).
Discussion
----------
[Validator] Support "maxSize" given in KiB
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10962
| License | MIT
| Doc PR | symfony/symfony-docs#3895
To display the constraint validation message with an expected suffix, this PR add a new option in File constraint.
Commits
-------
48ed754 [Validator] Support "maxSize" given in KiB
This PR was merged into the 2.6-dev branch.
Discussion
----------
[HttpKernel] added value of DateTime object to ValueExporter
| 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
This will output the actual value of a DateTime object in the form panel of the web debug toolbar.
- [x] gather feedback for my change (thank you stof, its my first contribution to oss)
- [x] finish the code
Commits
-------
a1762fb [HttpKernel] added value of DateTime object and objects implementing DateTimeInterface to ValueExporter
* 2.5:
PHP Fatal error when getContainer method of ContainerAwareCommand has be...
[HttpFoundation] Fixed isSecure() check to be compliant with the docs
Update MimeTypeExtensionGuesser.php
fix test src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
[Process] Do not redirect output to file handles when output is disabled
[Validator] Fix array notation in the PropertyPath::append()
Fixed undefined ImageValidator:: property when uploading an image during functional tests
[HttpKernel] Fix event dispatcher dependency
Fixed the Travis build on PHP 5.3.3
* 2.4:
PHP Fatal error when getContainer method of ContainerAwareCommand has be...
[HttpFoundation] Fixed isSecure() check to be compliant with the docs
Update MimeTypeExtensionGuesser.php
fix test src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
Fixed the Travis build on PHP 5.3.3
* 2.3:
PHP Fatal error when getContainer method of ContainerAwareCommand has be...
[HttpFoundation] Fixed isSecure() check to be compliant with the docs
Update MimeTypeExtensionGuesser.php
fix test src/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
Fixed the Travis build on PHP 5.3.3
This PR was squashed before being merged into the 2.3 branch (closes#10966).
Discussion
----------
PHP Fatal error when getContainer method of ContainerAwareCommand has be...
PHP Fatal error when getContainer method of ContainerAwareCommand has been called within the configure method of a Command (application property is not been set yet at that time)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
8ea5c4c PHP Fatal error when getContainer method of ContainerAwareCommand has be...
This PR was merged into the 2.3-dev branch.
Discussion
----------
[HttpFoundation] Added ParameterBag::getBoolean
| 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
At the moment to pull a boolean value from a request the user has to use `ParameterBag::filter` or use `filter_var` directly
```php
// GET /products?hide_archived=true
$request->query->filter('hide_archived', false, false, FILTER_VALIDATE_BOOLEAN);
// or
filter_var($request->query->get('hide_archived'), FILTER_VALIDATE_BOOLEAN);
```
This is a pure convenience addition, adding a nice way of pulling a boolean value from a query string or request body (especially if http form/url encoded).
Example usage:
```php
// GET /products?hide_archived=true
$request->query->getBoolean('hide_archived'); // (boolean) true
$request->query->get('hide_archived'); // (string) "true"
// GET /products?hide_archived=1
$request->query->getBoolean('hide_archived'); // (boolean) true
// GET /products?hide_archived=false
$request->query->getBoolean('hide_archived'); // (boolean) false
// GET /products?hide_archived=banana
$request->query->getBoolean('hide_archived'); // (boolean) false
```
Commits
-------
36c58f8 [HttpFoundation] Added ParameterBag::getBoolean
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Form] Add allow_extra_fields option on forms
This is specially useful when creating different *nameless* GET forms on the same page (ex: pagination and search).
Commits
-------
c6f3dd6 add allow_extra_fields option
* 2.5:
Minor doc fix.
Simplified the way to update PHPUnit to the latest version
[Debug] work-around https://bugs.php.net/61272
[Debug] simplify code path to remove potential blank pages
[Process] Minor README update
[HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Fixed a html error "Element ul is not closed" in logger.html.twig
[HttpFoundation] Officialize the 308 redirect RFC
Officialize the 308 redirect RFC
issue #10808 crawler test
Empty select with attribute name="foo[]" bug fix
Fixed contextually wrong translation
* 2.4:
Minor doc fix.
Simplified the way to update PHPUnit to the latest version
[Process] Minor README update
[HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Fixed a html error "Element ul is not closed" in logger.html.twig
[HttpFoundation] Officialize the 308 redirect RFC
Officialize the 308 redirect RFC
issue #10808 crawler test
Empty select with attribute name="foo[]" bug fix
Fixed contextually wrong translation
* 2.3:
Minor doc fix.
Simplified the way to update PHPUnit to the latest version
[Process] Minor README update
[HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Fixed a html error "Element ul is not closed" in logger.html.twig
[HttpFoundation] Officialize the 308 redirect RFC
issue #10808 crawler test
Empty select with attribute name="foo[]" bug fix
Fixed contextually wrong translation
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] Fix basic authentication in url with PHP-FPM
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | dispute
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
`getUser()` and `getPassword()` from `Request` are broken when using PHP-FPM because of the lack of `$_SERVER['PHP_AUTH_USER']` and `$_SERVER['PHP_AUTH_PW']`. This PR fixes the issue.
However, now an empty password will return an empty string (which is the expected behavior of `ServerBag`) instead of `NULL`. The test is updated accordingly, but should we consider this as a breakage?
This issue was spotted by using basic auth via the Illuminate component of Laravel and is present from v2.1.0 to master.
Commits
-------
7a75adf [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Request#getUser() and Request#getPassword() introduced in
aecfd0a891 do not handle the lack of
PHP_AUTH_USER and PHP_AUTH_PW in $this->server when using PHP-FPM. Use
$this->headers instead.
Furthermore, the test of empty password now expects an empty string
instead of NULL according to a450d002f2.
* 2.5: (25 commits)
[Bridge][Twig] Replace deprecated features
Yaml component change in 2.5
[HttpFoundation] fix switch statement
[serializer] fixed whitespace issue when decoding xml
[Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
#10862 loadClassMetadata vs loadValidatorMetadata: revert default config
fixed previous merge
Added phpdoc for Cache-Control directives methods
[Console] OutputFormatter Unset Bold has wrong id
[Debug] fix debug handlers config
[Serializer] fixed bc-break with cdata-section nodes
Remove undefined variable $e
[Debug] fix wrong case mismatch exception
bumped Symfony version to 2.5.1
bumped Symfony version to 2.4.7
bumped Symfony version to 2.3.17
Fix a parameter name in a test
updated VERSION for 2.5.0
updated CHANGELOG for 2.5.0
updated VERSION for 2.4.6
...
Conflicts:
src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
src/Symfony/Component/HttpKernel/Kernel.php
If you have a select with attribute name="foo[]", and you submit your form, http_build_query returns empty string as a result. In this case you get a form extra field validation error, because your field "foo" converts to
'' => bool(false)
* 2.4:
[Bridge][Twig] Replace deprecated features
[HttpFoundation] fix switch statement
[Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
fixed previous merge
Added phpdoc for Cache-Control directives methods
Remove undefined variable $e
bumped Symfony version to 2.4.7
bumped Symfony version to 2.3.17
Fix a parameter name in a test
updated VERSION for 2.4.6
updated CHANGELOG for 2.4.6
updated VERSION for 2.3.16
update CONTRIBUTORS for 2.3.16
updated CHANGELOG for 2.3.16
[HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
[Bridge][Twig] Replace deprecated features
[HttpFoundation] fix switch statement
[Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
fixed previous merge
Added phpdoc for Cache-Control directives methods
Remove undefined variable $e
bumped Symfony version to 2.3.17
Fix a parameter name in a test
updated VERSION for 2.3.16
update CONTRIBUTORS for 2.3.16
updated CHANGELOG for 2.3.16
[HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle
Conflicts:
src/Symfony/Component/DependencyInjection/ContainerBuilder.php
src/Symfony/Component/HttpKernel/Kernel.php
This PR was squashed before being merged into the 2.6-dev branch (closes#10427).
Discussion
----------
Username in UsernameNotFoundException message data
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Added username in UsernameNotFoundException message data
Commits
-------
3dfaa19 Username in UsernameNotFoundException message data
This PR was merged into the 2.6-dev branch.
Discussion
----------
[RFC][WebProfilerBundle] Add simple placeholders into search form
This is an RFC mostly, it's not a real feature, it's more like little helper for the profiler form, I guess that would mostly useful for _newcomers_, but sometimes even _old dogs_ could find it useful sometimes =)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | kinda
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
![form](https://cloud.githubusercontent.com/assets/67402/2655386/4637aa0c-bfe5-11e3-958e-84308217b52e.png)
Commits
-------
be65226 [WebProfilerBundle] Add simple placeholders into search form
This PR was squashed before being merged into the 2.3-dev branch (closes#10851).
Discussion
----------
Added retrieval of sections
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10145
| License | MIT
Commits
-------
7928767 Added retrieval of sections
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] smaller fixes for PdoSessionHandler
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10652
| License | MIT
For both the PdoSessionHandler and DbalSessionHandler
- https://github.com/symfony/symfony/pull/10652#issuecomment-42370425: Transactional DELETE + INSERT does not work as expected
- https://github.com/symfony/symfony/pull/10652#issuecomment-44359784: sqlsrv 2005 does not support the MERGE SQL, and if used it requires an HOLDLOCK
- missing time update for sqlsrv and oracle
Commits
-------
a0e1d4d [Doctrine Bridge] fix DBAL session handler according to PdoSessionHandler
00d707f [HttpFoundation] use different approach for duplicate keys in postgres, fix merge for sqlsrv and oracle
Previously, the parser treated maps ( {} ) the same as sets ( [] ).
Both were returned as PHP associative arrays. Since
these are distinct entities, this can cause considerably problems for
the users, especially when YAML is being serialized into another
format such as JSON.
This commit allows the user to enable object-map support via a third
parameter on the Parse method. It defaults to `false`, which means
that this commit does not break backwards compatibility.
If the user enables object-map support, maps are represented
by stdClass() objects. Sets remain as arrays.
This PR was squashed before being merged into the 2.5 branch (closes#11047).
Discussion
----------
#10862 loadClassMetadata vs loadValidatorMetadata: revert default config
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10862
| License | MIT
| Doc PR |
Commits
-------
3bde718#10862 loadClassMetadata vs loadValidatorMetadata: revert default config
This PR was merged into the 2.6-dev branch.
Discussion
----------
[SecurityBundle] added acl:set command
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | no
| License | MIT
| Doc PR | n/a
This new command allows to set ACL directly from the command line. This useful to quickly set up an environment and for debugging / maintenance purpose.
This PR also includes a functional test system for the ACL component. As an example, it is used to test the `acl:set` command.
The provided entity class is not mandatory (tests will still be green without it) but can be useful to test other ACL related things. I can remove it if necessary.
The instantiation of the `MaskBuilder` object is done in a separate method to be easily overridable to use a custom one (e.g. the SonataAdmin one).
Commits
-------
a702124 [SecurityBundle] added acl:set command
This PR was squashed before being merged into the 2.6-dev branch (closes#10667).
Discussion
----------
[HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10556
| License | MIT
| Doc PR | no
Commits
-------
787ae07 [HttpFoundation] Add a way to match a specific scheme in RequestMatcher #10556
This PR was squashed before being merged into the 2.6-dev branch (closes#10699).
Discussion
----------
[DomCrawler] Added support for slicing nodes
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
There are no easy way to slice nodes in specific range. I created a method using \LimitIterator. Works fine for me.
An example using is:
```php
$crawler->filter('h1')->slice(5, 10)->each(function ($node, $i) {
return $node->text();
});
Commits
-------
1181bdc [DomCrawler] Added support for slicing nodes
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Security] Allow overloading ContextListener::refreshUser()
Allow overloading refreshUser() for the use case of doing something special with user providers.
| 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
-------
b67ed43 Allow overloading ContextListener::refreshUser()
This PR was squashed before being merged into the 2.3-dev branch (closes#10980).
Discussion
----------
error.html.twig should contain a email value
When getting an exception on env PROD it would be nice to have an email to report to.
Current code has [email] instead of a value.
I'm not sure how to fix this as the email value should come from exception.html.twig
```html
<div id="logs">
{% include 'TwigBundle:Exception:logs.html.twig' with { 'logs': logger.logs } only %}
</div>
```
Some hints are welcome.
Commits
-------
030b8c0 error.html.twig should contain a email value
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fix a parameter name in a test
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | not required
Commits
-------
069e925 Fix a parameter name in a test
* 2.5:
[Validator] Remove property and method targets from the optional and required constraints.
fixed CHANGELOG for 2.5
bumped Symfony version to 2.5.0
updated VERSION for 2.5.0-RC1
updated CHANGELOG for 2.5.0-RC1
[DomCrawler] Fixed charset detection in html5 meta charset tag
* 2.4:
[Validator] Remove property and method targets from the optional and required constraints.
[DomCrawler] Fixed charset detection in html5 meta charset tag
* 2.3:
[Validator] Remove property and method targets from the optional and required constraints.
[DomCrawler] Fixed charset detection in html5 meta charset tag
At the moment both constraints can only be defined on other annotations (specifically, the Collection annotation). Defining the required or optional annotation directly on a field or method throws a ClassNotFoundException, since the constraint validator factory tries to load the validator (which does not exist).
This PR was squashed before being merged into the 2.3 branch (closes#10983).
Discussion
----------
[DomCrawler] Fixed charset detection in html5 meta charset tag
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | N/A
| License | MIT
It may be minor to folks with ascii-charactered language, but is critical for us Japanese.
Many Japanese websites with SJIS encoding have "Shift_JIS" as their encoding declaration.
Commits
-------
172e752 [DomCrawler] Fixed charset detection in html5 meta charset tag
* 2.5:
Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)"
Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)"
Revert "fixed CS"
Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)"
Revert "[HttpKernel] simplified some tests"
[HttpKernel] simplified some tests
Make rootPath part of regex greedy
* 2.4:
Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)"
Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)"
Revert "fixed CS"
Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)"
Revert "[HttpKernel] simplified some tests"
[HttpKernel] simplified some tests
Make rootPath part of regex greedy
* 2.3:
Revert "bug #10894 [HttpKernel] removed absolute paths from the generated container (fabpot)"
Revert "bug #10937 [HttpKernel] Fix "absolute path" when we look to the cache directory (BenoitLeveque)"
Revert "fixed CS"
Revert "bug #10979 Make rootPath part of regex greedy (artursvonda)"
Revert "[HttpKernel] simplified some tests"
[HttpKernel] simplified some tests
Make rootPath part of regex greedy
Conflicts:
src/Symfony/Component/HttpKernel/Tests/KernelTest.php
* 2.5:
[TwigBridge][Trans]set %count% only on transChoice
[Debug] throw even in stacking mode to preserve code paths
[Debug] preserve modified error level
[DomCrawler] Fixed a forgotten case of complex XPath queries
bumped Symfony version to 2.4.6
updated VERSION for 2.4.5
updated CHANGELOG for 2.4.5
bumped Symfony version to 2.3.16
updated VERSION for 2.3.15
updated CHANGELOG for 2.3.15
* 2.4:
[TwigBridge][Trans]set %count% only on transChoice
[DomCrawler] Fixed a forgotten case of complex XPath queries
bumped Symfony version to 2.4.6
updated VERSION for 2.4.5
updated CHANGELOG for 2.4.5
bumped Symfony version to 2.3.16
updated VERSION for 2.3.15
updated CHANGELOG for 2.3.15
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
[TwigBridge][Trans]set %count% only on transChoice
[DomCrawler] Fixed a forgotten case of complex XPath queries
bumped Symfony version to 2.3.16
updated VERSION for 2.3.15
updated CHANGELOG for 2.3.15
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.4:
Revert "bug #10908 [HttpFoundation] implement session locking for PDO (Tobion)"
bumped Symfony version to 2.3.15
updated VERSION for 2.3.14
update CONTRIBUTORS for 2.3.14
updated CHANGELOG for 2.3.14
* 2.3:
Revert "bug #10908 [HttpFoundation] implement session locking for PDO (Tobion)"
bumped Symfony version to 2.3.15
updated VERSION for 2.3.14
update CONTRIBUTORS for 2.3.14
updated CHANGELOG for 2.3.14
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.4:
[WIP][Finder] Fix wrong implementation on sortable callback comparator
ommited space
[Validator] Fixed StaticMethodLoader on systems that don't have E_STRICT enabled by default
Include file path in exception
[Process] Add validation on Process input
Conflicts:
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Process/ProcessBuilder.php
src/Symfony/Component/Process/Tests/ProcessBuilderTest.php
* 2.3:
[WIP][Finder] Fix wrong implementation on sortable callback comparator
ommited space
[Validator] Fixed StaticMethodLoader on systems that don't have E_STRICT enabled by default
Include file path in exception
[Process] Add validation on Process input
This PR was merged into the 2.3-dev branch.
Discussion
----------
[Process] Deprecate Process::setStdin in favor of Process::setInput
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
From the `Process` point of view, what we pass is an *input*, as well as we retrieve *output* and *error output*.
As we use `getOutput` and `getErrorOutput` we should use `setInput` and let the underlying `ProcessPipes` deal with the actual `STDIN`.
By the way, `ProcessBuilder` already has `setInput` method and no `setStdin` method
Commits
-------
53b9d73 [Process] Deprecate Process::setStdin in favor of Process::setInput
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Add validation on Process input
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
This adds validation on Process input. For the moment, passing a stream would result in a PHP error.
I propose to deprecate values that are not strictly string in 2.6 (see upcoming PR)
Commits
-------
583092b [Process] Add validation on Process input
This PR was merged into the 2.5-dev branch.
Discussion
----------
Made use of "kB" vs. "KiB" consistent
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Continuation of #10661.
This PR makes the usage of "kB" and "KiB" consistent across the project. The notations equal the internationally recognized ones:
Short form | Long form | Value in Bytes
--- | --- | ---
B | bytes | 1
kB | kilobytes | 1000
KiB | kibibytes | 1024
MB | megabytes | 1000000
MiB | mebibytes | 1048576
GB | gigabytes | 1000000000
GiB | gibibytes | 1073741824
The reason for differentiating between the two is that several users got confused with the current mix (see #10648, #10917, #10661).
FileValidator, UploadedFile and the ProgressBar helper were changed accordingly.
Follow-up feature request: #10962
Commits
-------
e4c6da5 [Validator] Improved to-string conversion of the file size/size limit
bbe1045 [Validator][Console][HttpFoundation] Use "KiB" everywhere (instead of "kB")
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed StaticMethodLoaderTest on systems that don't have E_STRICT enabled by default
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
a470ae2 [Validator] Fixed StaticMethodLoader on systems that don't have E_STRICT enabled by default
* 2.4:
Fixed the XPath filtering to have the same behavior than Symfony 2.4
[DomCrawler] Fixed filterXPath() chaining
[DomCrawler] Added more tests for the XPath filtering
[PropertyAccess] Fixed inverted logic
[HttpKernel] fixed file uploads in functional tests when no file was selected
[PropertyAccess] fixed CS
Fixed test cases failing when the Intl extension is not installed
Fixed the Travis build to avoid exiting too early
[PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations
[PropertyAccess] Refactored PropertyAccessorCollectionTest
[PropertyAccess] Refactored PropertyAccessorTest
This PR was merged into the 2.5-dev branch.
Discussion
----------
[2.5][PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Previously, when the following code was executed:
```php
$object = new ImplOfArrayAccess();
$propertyAccessor->setValue($object, '[index]', 'Value');
```
and that index did not exist, a fatal error would be generated because `array_keys()` was executed on `$object`. This error is fixed now.
Commits
-------
fef698e [PropertyAccess] Fixed getValue() when accessing non-existing indices of ArrayAccess implementations
* 2.3:
Fixed the XPath filtering to have the same behavior than Symfony 2.4
[DomCrawler] Fixed filterXPath() chaining
[DomCrawler] Added more tests for the XPath filtering
[HttpKernel] fixed file uploads in functional tests when no file was selected
Fixed test cases failing when the Intl extension is not installed
Fixed the Travis build to avoid exiting too early
Conflicts:
src/Symfony/Component/DomCrawler/Crawler.php
src/Symfony/Component/Translation/Tests/IdentityTranslatorTest.php
This PR was merged into the 2.5-dev branch.
Discussion
----------
Changed the default value of checkbox and radio to match the HTML spec
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | n/a
When the checkbox or radio input does not have a value attribute, the [HTML spec](http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#checkbox-state-%28type=checkbox%29) defines that the value [should be ``on``](http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#dom-input-value-default-on), not ``1``.
This change is a small BC break as a testsuite with an assertion on the ``1`` value would fail after the change. However, this means that such testsuite would assert a different behavior than the real usage of the application.
Note that people using the DomCrawler component on pages using the Symfony Form component are not affected by the change as the Form component always set an explicit value on checkboxes and radio buttons
Commits
-------
186b65e Changed the default value of checkbox and radio to match the HTML spec
* 2.4:
[HttpFoundation] implement session locking for PDO
[DomCrawler] Fixed the coding standards to use strict comparisons
[HttpKernel] removed absolute paths from the generated container
[DomCrawler] Fixed the initial state for options without value attribute
Fixed the handling of boolean attributes in ChoiceFormField
Fixed FormDataExtractorTest_SimpleValueExporter::exportValue not implementing the interface correctly
Updated form dev dependencies
* 2.3:
[HttpFoundation] implement session locking for PDO
[DomCrawler] Fixed the coding standards to use strict comparisons
[HttpKernel] removed absolute paths from the generated container
[DomCrawler] Fixed the initial state for options without value attribute
Fixed the handling of boolean attributes in ChoiceFormField
Conflicts:
src/Symfony/Component/DomCrawler/Tests/Field/ChoiceFormFieldTest.php
src/Symfony/Component/HttpKernel/Tests/KernelTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] Fixed the coding standards to use strict comparisons
| 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
Many places in DomCrawler are using loose comparison instead of strict comparison. I saw them while checking the whole component for DOMNode vs DOMElement usage whe working on #10927. However, I submitted this change to 2.3 instead, to ease merging between branches (applying the change only in master would likely create conflicts regularly when merging changes in DomCrawler between branches later)
Commits
-------
77b446c [DomCrawler] Fixed the coding standards to use strict comparisons
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] implement session locking for PDO
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #4976 for PDO
| License | MIT
This is probably the first Session Handler for databases that actually works with locking. I've seen many implementations of session handlers (mostly only for one database vendor) while researching and none used locking. Not even the [PHPs SQLite session handler](https://github.com/php/php-src/blob/PHP-5.3/ext/sqlite/sess_sqlite.c) or [PECL Postgres Handler](http://svn.php.net/viewvc/pecl/session_pgsql/trunk/session_pgsql.c?revision=326806&view=markup) implemented locking correctly which is probably the reason why they have been discontinued. [Zend Session](https://github.com/zendframework/zf2/blob/master/library/Zend/Session/SaveHandler/DbTableGateway.php) seems not to use locking either. But it saves the lifetime together with the session which seems like a good idea because you could have different lifetimes for different sessions.
- Implements session locking for MySQL, Postgres, Oracle, SQL Server and SQLite.
Only tested it for MySQL. So would be good if someone can confirm it works as intended on the other databases as well.
- Also removed the custom RuntimeException which is not useful and a PDOException extends RuntimeException anyway, so no BC break.
- I added a default for the table name to be in line with the DoctrineSessionHandler.
- Check session.gc_maxlifetime in read(). Imagine we have only ever one user on an app. If maxlifetime is not checked in read, his session would never expire! What I don't get is why PHP calls gc() after read() instead of calling it before... Strange decision. For this reason I also had to do the following to improve performance.
- I delay gc() to close() so that it is executed outside the transactional and blocking read-write process. This way, pruning expired sessions does not block them from being started while the current session is used.
- Fixed time update for Oracle and SQL Server.
Commits
-------
50ec828 [HttpFoundation] implement session locking for PDO
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpKernel] removed absolute paths from the generated container
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | first step to resolve#6484, #3079, and #9238
| License | MIT
| Doc PR | n/a
This PR converts absolute paths to relative ones in the dumped container. The code is a bit "ugly", but it gets the job done and I'm not sure that there is a more elegant way without breaking everything.
Commits
-------
c1450b4 [HttpKernel] removed absolute paths from the generated container
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] Fixed the initial state for options without value attribute
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | n/a
Commits
-------
78cff96 [DomCrawler] Fixed the initial state for options without value attribute
An option is marked as selected by the presence of the selected attribute,
not by the presence of a non-empty selected attribute. The same is true
for checked radio buttons or checkboxes.
This PR was merged into the 2.5-dev branch.
Discussion
----------
Update MessageSelector.php to show which value was passed
When the translator can't find a correct match using transChoice() a string is logged today with the following text:
<em>Unable to choose a translation for "[string]" with locale "[locale]". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").</em>
This change introduces the value that was passed to transChoice() so the developer will have more information as to what value did not match any of the translation options:
<em>Unable to choose a translation for "[string]" with locale "[locale]" for value "[value]". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").</em>
Commits
-------
af99997 Update MessageSelector.php to show which value was passed
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Yaml] Fixed YAML Parser does not ignore duplicate keys, violating YAML spec.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | **mayhaps**
| Deprecations? | no
| Tests pass? | yes
| Needs merge to | 2.4
| Fixed tickets | —
| License | MIT
| Doc PR | —
The current [YAML 1.2] specification clearly states:
> JSON's RFC4627 requires that mappings keys merely “SHOULD” be unique, while YAML insists they “MUST” be.
The outdated [YAML 1.1] spec contained a crystal clear note on how the error of duplicate keys is to be handled by parsers, which is (sadly) no longer contained in the latest 1.2 spec (only leaving the requirement):
> It is an error for two equal keys to appear in the same mapping node. In such a case the YAML processor may continue, ignoring the second `key: value` pair and issuing an appropriate warning. This strategy preserves a consistent information model for one-pass and random access applications.
[YAML 1.2]: http://yaml.org/spec/1.2/spec.html#id2759572
[YAML 1.1]: http://yaml.org/spec/1.1/#id932806
Commits
-------
951acca Fixed YAML Parser does not ignore duplicate keys, violating YAML spec.
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Validator] Updated outdated dependencies.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Fixes tests for the ```Validator``` component when using it as a standalone library (when running ```phpunit``` from the ```src/Symfony/Component/Form``` directory.
Commits
-------
1984a36 [Validator] Updated outdated dependencies.
The current [YAML 1.2] specification clearly states:
> JSON's RFC4627 requires that mappings keys merely “SHOULD” be unique, while YAML insists they “MUST” be.
The outdated [YAML 1.1] spec contained a crystal clear note on how the error of duplicate keys is to be handled by parsers, which is (sadly) no longer contained in the latest 1.2 spec (only leaving the requirement):
> It is an error for two equal keys to appear in the same mapping node. In such a case the YAML processor may continue, ignoring the second `key: value` pair and issuing an appropriate warning. This strategy preserves a consistent information model for one-pass and random access applications.
[YAML 1.2]: http://yaml.org/spec/1.2/spec.html#id2759572
[YAML 1.1]: http://yaml.org/spec/1.1/#id932806
This PR was merged into the 2.4 branch.
Discussion
----------
[Form] Composer dependencies
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Right now, launching tests from the Form component's directory doesn't work, due to missing dev dependencies. This should be merged back into master afterwards.
Also fixed a problem related to a bad method signature in ```Symfony\Component\Form\Tests\Extension\DataCollector\FormDataExtractorTest_SimpleValueExporter```
Commits
-------
7b5857c Fixed FormDataExtractorTest_SimpleValueExporter::exportValue not implementing the interface correctly
e4fa5d8 Updated form dev dependencies
* 2.4:
[Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed
Fixed incorrect regular plural for -ves words
[HttpKernel] Replace sha1 with sha256 in recently added tests.
This PR was squashed before being merged into the 2.3 branch (closes#10777).
Discussion
----------
[Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9976, #10203
| License | MIT
| Doc PR | none
Same issue as #9976 and #10203: when you add a `time` field to a form with options `single_text` (so HTML5) and `with_seconds`, the generated input does not contain the `step` attribute, therefore the browser does not show them, leading to an error at the submit because of an invalid format.
Compared to #9976/#10203:
* Unit testable
* Available directly in the component
* Available in other templating format than twig
* Still able to customise the step attribute by hand
Commits
-------
a379298 [Form] Automatically add step attribute to HTML5 time widgets to display seconds if needed
When the translator can't find a correct match using transChoice() a string is logged today with the following text:
<code>Unable to choose a translation for "<string>" with locale "<locale>". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").</code>
This change introduces the value that was passed to transChoice() to the developer will have more information as to what value did not match any of the translation options:
<code>Unable to choose a translation for "<string>" with locale "<locale>" for value "<value>". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").</code>
* 2.4:
Disable 5.6 until it is stable again.
Update the fixtures.
fixed CS
[HttpKernel] fixed default TTL not applied under certain conditions
Added test when TTL has expired
[DomCrawler] Fixed image input case sensitive
* 2.3:
Disable 5.6 until it is stable again.
Update the fixtures.
[HttpKernel] fixed default TTL not applied under certain conditions
Added test when TTL has expired
This PR was merged into the 2.3 branch.
Discussion
----------
[Console] Fix a console test
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
re #10714
Every wide character in the fixture file is actually 3 ansi-characters long.
Commits
-------
61108b9 Disable 5.6 until it is stable again.
8cadb49 Update the fixtures.
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpKernel] Fixed cache behavior when TTL has expired and a default "global" TTL is defined
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | #8232, #10822, #9919
| License | MIT
From #9919:
"When the cache is stale the `validate` method `forward` the request to the backend. A new response will be created with or without TTL configuration. If the TTL was not set then the default one should be set like in the `fetch` method."
This PR fixes this issue, the tests provided in #9919 pass, and I've tweaked them to avoid the costly sleep calls.
Commits
-------
e3983e8 [HttpKernel] fixed default TTL not applied under certain conditions
bc42dae Added test when TTL has expired
* 2.4:
Lower mbstring dependency
[Console]Improve formatter for double-width character
Lower mbstring dep, remove it for Yaml and CssSelector components
[Security] Add check for supported attributes in AclVoter
[Form] Fixed TrimListenerTest as of PHP 5.5
Added more IDE links
[DependencyInjection] Fix parameter description in ConfigurationExtensionInterface
[Security] fixed wrong PHPDoc of the TokenGeneratorInterface
[Finder] fixed typehint of the Finder::addAdapter() method
[TwigBridge][Transchoice] set %count% from the current context.
[DependencyInjection] Fix travis unit tests
Update PHPUnit before run
[Validator] fixed wrong test
[WebProfilerBundle] added test case for #10773
[WebProfilerBundle] fixed profiler homepage, fixed#10806
[WebProfilerBundle] Added test case for #10806
changed travis to run on the nightly builds of HHVM until everything gets stable
Fixed issue #5427
Allow URLs that don't contain a path
Conflicts:
.travis.yml
src/Symfony/Component/Console/Application.php
* 2.3:
[Console]Improve formatter for double-width character
Lower mbstring dep, remove it for Yaml and CssSelector components
[Security] Add check for supported attributes in AclVoter
[Form] Fixed TrimListenerTest as of PHP 5.5
Added more IDE links
[DependencyInjection] Fix parameter description in ConfigurationExtensionInterface
[Finder] fixed typehint of the Finder::addAdapter() method
[TwigBridge][Transchoice] set %count% from the current context.
[DependencyInjection] Fix travis unit tests
Update PHPUnit before run
[Validator] fixed wrong test
[WebProfilerBundle] added test case for #10773
[WebProfilerBundle] fixed profiler homepage, fixed#10806
[WebProfilerBundle] Added test case for #10806
changed travis to run on the nightly builds of HHVM until everything gets stable
Fixed issue #5427
Allow URLs that don't contain a path
Conflicts:
.travis.yml
This PR was merged into the 2.3 branch.
Discussion
----------
Lower mbstring dep, remove it for Yaml and CssSelector components
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Commits
-------
a4b805d Lower mbstring dep, remove it for Yaml and CssSelector components
This PR was squashed before being merged into the 2.3 branch (closes#10714).
Discussion
----------
[Console]Improve formatter for double-width character
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes for one that expecting current broken output
| Deprecations? | no
| Fixed tickets |
| Tests pass? | yes
| License | MIT
| Doc PR |
EDIT: fixed the table above not to remove irrelevant line
As mb_strlen just returns "how many chars in the string",
formatting with double-width character is bit broken.
The test I add is skipped when mbstring extension is not loaded.
I'm afraid if some of you cannot properly display japanese string.
(表示するテキスト just means "Some text to display")
Commits
-------
a52f41d [Console]Improve formatter for double-width character
This PR was merged into the 2.3 branch.
Discussion
----------
[Form] Fixed TrimListenerTest as of PHP 5.5
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
b0bc83d [Form] Fixed TrimListenerTest as of PHP 5.5
This PR was merged into the 2.5-dev branch.
Discussion
----------
[DependencyInjection] GraphvizDumper now displays unresolved parameters
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Previously, the graphviz dumper would throw an exception if given a container with an unresolved parameter. This change allows it to render the parameter name instead of the class name if the class can not be resolved. This is also closer to the other DI dumpers which do not error out in these circumstances but simply carry the parameter name over.
For a practical use case, see: https://github.com/rosstuck/TuckConverterBundle/issues/1
Commits
-------
f800e15 GraphizDumper now displays unresolved parameters
This PR was merged into the 2.3 branch.
Discussion
----------
[BrowserKit] Allow URLs that don't contain a path when creating a cookie from a string
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
The Cookie class doesn't require a path, but the `fromString()` static method does, so when URL given is something like http://www.example.com (ie no trailing slash) it currently throws an exception. This PR removes the requirement.
Commits
-------
fc1223f Allow URLs that don't contain a path
Previously it would crash when given a container with an unresolved
parameter. This change will instead show the parameter name on the
final diagram, instead of the class name.
| Q | A
| ------------- | ---
| Fixed tickets | #10845
| License | MIT
This fixes the description of parameter `array $config` in file ConfigurationExtensionInterface.php by removing the extra `$config`.
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBridge][Transchoice] set %count% from the current context.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | [no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8408
| License | MIT
Commits
-------
8f7b2cc [TwigBridge][Transchoice] set %count% from the current context.
This PR was merged into the 2.3 branch.
Discussion
----------
Fix a test that was ambiguous
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | see #9634 for a discussion of this and #9383 for the report
| License | MIT
| Doc PR | n/a
This PR fixes a test that was always passing as the exception catch was catching the PHP notice but also the exception sent by `fail`, so it was useless. That said, I'm not even convinced that this test is useful at all.
Commits
-------
a94b4e0 [Validator] fixed wrong test
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] Fix phpunit test suite on travis #2
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10821
| License | MIT
This is a second approach to solve #10821.
Something is weird: `Symfony\Component\Form\Tests\Extension\Core\EventListener\TrimListenerTest` passes when using PHPUnit as phar and fails when using a composer global install
Commits
-------
32e5f67 [DependencyInjection] Fix travis unit tests
c7befd5 Update PHPUnit before run
This PR was merged into the 2.5-dev branch.
Discussion
----------
Use absolute URLs to assets on Symfony its internal pages.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7524
| License | MIT
| Doc PR |
Commits
-------
e401533 Use absolute URLs to assets on Symfony its internal pages.
This PR was merged into the 2.5-dev branch.
Discussion
----------
Fixed composer to include config component for mocks in phpunit
Commits
-------
939e92d Fixed composer to include config component for mocks in phpunit
* 2.4:
[Debug] ErrorHandler: remove $GLOBALS from context in PHP5.3 fix#10292
Allow File instance to be passed to BinaryFileResponse
Add upgrade instructions for the LoggerInterface
fixed CS
Removed strict check when found variables inside a translation
[ExpressionLanguage] Test for the non-strict in_array check in parsePrimaryExpression in Parser.php
Strict in_array check in Parser.php
Updated Serbian latin validation translation
Conflicts:
src/Symfony/Component/Debug/ErrorHandler.php
* 2.3:
[Debug] ErrorHandler: remove $GLOBALS from context in PHP5.3 fix#10292
Allow File instance to be passed to BinaryFileResponse
Add upgrade instructions for the LoggerInterface
fixed CS
Removed strict check when found variables inside a translation
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Console] Fix#10795: Allow instancing Console Application when STDIN is not declared
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10795
| License | MIT
Commits
-------
3a5a525 [Console] Fix#10795: Allow instancing Console Application when STDIN is not declared
* 2.4:
bumped Symfony version to 2.4.5
updated VERSION for 2.4.4
updated CHANGELOG for 2.4.4
bumped Symfony version to 2.3.14
updated VERSION for 2.3.13
update CONTRIBUTORS for 2.3.13
updated CHANGELOG for 2.3.13
Updated Serbian validation translation
[Console] Fixed the rendering of exceptions on HHVM with a terminal width
[WebProfilerBundle ] Fixed an edge case on WDT loading
[Security] removed $csrfTokenManager type hint from SimpleFormAuthenticationListener constructor argument
fixed typo
[Process] Disable TTY mode on Windows platform
[Validator] added missing ANNOTATION config to @Target annotation
[Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator.
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
bumped Symfony version to 2.3.14
updated VERSION for 2.3.13
update CONTRIBUTORS for 2.3.13
updated CHANGELOG for 2.3.13
[Console] Fixed the rendering of exceptions on HHVM with a terminal width
[WebProfilerBundle ] Fixed an edge case on WDT loading
fixed typo
[Process] Disable TTY mode on Windows platform
[Validator] added missing ANNOTATION config to @Target annotation
[Finder] Fix ignoring of unreadable dirs in the RecursiveDirectoryIterator.
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Validator/Constraints/Callback.php
This PR was squashed before being merged into the 2.3 branch (closes#10773).
Discussion
----------
[WebProfilerBundle ] Fixed an edge case on WDT loading
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6824 ?
| License | MIT
| Doc PR | none
In some case you can notice the WDT just disappears.
By tracking it down, I noticed that the XHR call returns an empty response with 200 as status code, but if you go directly on the _wdt/my_token URL it works correctly.
What's happening is that when you have a slow listener on `kernel.terminate` (for example the SwiftMailer one with a slow connection), you response (and therefore the WDT javascript) is sent and processed by the browser, the XHR call is done, but the Profiler storage didn't happened yet so no profiling data is available and the `ProfilerController` just sends an empty response with 200 as status code.
Here we change to instead send a specific status code, and treat it in javascript by retrying several times before failing.
The question are:
* Is 204 the most appropriate response code?
* Are 500 ms and 5 max retries good values?
Commits
-------
9d885ed [WebProfilerBundle ] Fixed an edge case on WDT loading
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Disable TTY mode on Windows platform
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
7942c2a [Process] Disable TTY mode on Windows platform
* 2.4:
fix docblock
Fixed incompatibility of x509 auth with nginx
[Process] Setting STDIN while running should not be possible
[Validator] slovenian translation updated
[FrameworkBundle] improve English in RouterMatchCommand
[Validator] Updated Hungarian translations
[Doctrine Bridge] simplify session handler by using main connection
[Validator] Fixed typos in German translation
[Validator] Completed French translations
[Validator] Completed German translations
[Validator] Completed Luxembourgish translations
* 2.3:
fix docblock
Fixed incompatibility of x509 auth with nginx
[Process] Setting STDIN while running should not be possible
[FrameworkBundle] improve English in RouterMatchCommand
[Doctrine Bridge] simplify session handler by using main connection
Conflicts:
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] improve English in RouterMatchCommand
Improve English in command output.
| 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
-------
dd26d1e [FrameworkBundle] improve English in RouterMatchCommand
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Setting STDIN while running should not be possible
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
Commits
-------
3e3517a [Process] Setting STDIN while running should not be possible
This PR was squashed before being merged into the 2.3 branch (closes#10749).
Discussion
----------
Fixed incompatibility of x509 auth with nginx
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This commit fixes x509 authentication when using nginx as web server.
X509AuthenticationListener depends on the SSL_CLIENT_S_DN_Email field being set.
As is, this field is specific to Apache and cannot be provided by nginx. nginx
can provide the DN of the certificate in SSL_CLIENT_S_DN. If the email field is
not set, the listener tries to extract the email address from the DN.
Commits
-------
ba8fc16 Fixed incompatibility of x509 auth with nginx
This PR was merged into the 2.4 branch.
Discussion
----------
[Validator] Completed German translations
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | n/a
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
47e5a4b [Validator] Completed German translations
* 2.4:
Little correction for case 'ar'
No need to use mb functions here
Fix doc-blocks
Fix doc blocks
[HttpFoundation] update phpdoc of SessionHandlerInterface and unify parameters of all handlers according to interface
[Doctrine Bridge] fix DbalSessionHandler for high concurrency, interface compliance, compatibility with all drivers (oci8, mysqli, pdo with mysql, sqlsrv, sqlite)
[Finder] Marked test skipped when ftp stream wrapper is not available
Conflicts:
src/Symfony/Component/Security/Core/Authorization/Voter/ExpressionVoter.php
* 2.3:
Little correction for case 'ar'
No need to use mb functions here
[HttpFoundation] update phpdoc of SessionHandlerInterface and unify parameters of all handlers according to interface
[Doctrine Bridge] fix DbalSessionHandler for high concurrency, interface compliance, compatibility with all drivers (oci8, mysqli, pdo with mysql, sqlsrv, sqlite)
[Finder] Marked test skipped when ftp stream wrapper is not available
This PR was merged into the 2.3 branch.
Discussion
----------
[Finder] Marked test skipped when ftp stream wrapper is not available
| Q | A
| ---------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This should prevent test from failing on hhvm as ftp stream wrapper is not currently implemented.
See https://github.com/facebook/hhvm/issues/2108 for more details.
Commits
-------
f35fc81 [Finder] Marked test skipped when ftp stream wrapper is not available
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] Fix DbalSessionHandler
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
This is basically the same as #10652 for the DbalSessionHandler.
- First commit fixes fix DbalSessionHandler for high concurrency, interface compliance, compatibility with all drivers (oci8, mysqli, pdo with mysql, sqlsrv, sqlite).
- Second commit updates phpdoc of SessionHandlerInterface and unifies parameters of all handlers according to interface (so inheritdoc actually makes sense).
Commits
-------
524bf84 [HttpFoundation] update phpdoc of SessionHandlerInterface and unify parameters of all handlers according to interface
ccdfbe6 [Doctrine Bridge] fix DbalSessionHandler for high concurrency, interface compliance, compatibility with all drivers (oci8, mysqli, pdo with mysql, sqlsrv, sqlite)
This PR was merged into the 2.4 branch.
Discussion
----------
[2.4] Fix doc blocks
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
this follows #10737
Commits
-------
c01915d Fix doc blocks
* 2.4:
unified return null usages
[Validator] added Japanese translation
Textarea value should default to empty string instead of null.
Fix doc blocks
[Process] Fix#10681, process are failing on Windows Server 2003
updated doc
[Security] fix DBAL connection typehint
[HttpFoundation] status 201 is allowed to have a body
unified return null usages
Conflicts:
src/Symfony/Component/DependencyInjection/ContainerBuilder.php
src/Symfony/Component/DomCrawler/Crawler.php
src/Symfony/Component/Security/Core/Authentication/Provider/PreAuthenticatedAuthenticationProvider.php
* 2.3:
Textarea value should default to empty string instead of null.
Fix doc blocks
[Process] Fix#10681, process are failing on Windows Server 2003
[Security] fix DBAL connection typehint
[HttpFoundation] status 201 is allowed to have a body
unified return null usages
Conflicts:
src/Symfony/Component/Console/Helper/DescriptorHelper.php
src/Symfony/Component/DependencyInjection/ContainerBuilder.php
src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php
src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php
This PR was merged into the 2.3 branch.
Discussion
----------
unified return null usages
| Q | A
| ------------- | ---
| License | MIT
This PR unifies the way we return `null` from a function or method:
* always use `return;` instead of `return null;` (the current code base uses both);
* never use `return;` at the end of a function/method.
Commits
-------
d1d569b unified return null usages
This PR was merged into the 2.5-dev branch.
Discussion
----------
[HttpFoundation] factorize out the way output buffers should be closed
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Closing output buffers was done in three different files, but not exactly the same way, with subtle differences.
This PR factorizes out the best way to do this in a new public static function of the Response class.
Commits
-------
469943c [HttpFoundation] factorize out the way output buffers should be closed
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] status 201 is allowed to have a body
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | only if someone relied on wrong behavior
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10673
| License | MIT
Status 201 is allowed to have a response body.
Commits
-------
1761f64 [HttpFoundation] status 201 is allowed to have a body
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Fix#10681, process are failing on Windows Server 2003
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10681
| License | MIT
Commits
-------
46fdfbb [Process] Fix#10681, process are failing on Windows Server 2003
* 2.4:
made types consistent with those defined in Hack
made {@inheritdoc} annotations consistent across the board
made {@inheritdoc} annotations consistent across the board
fixed types in phpdocs
[Debug] Fixed ClassNotFoundFatalErrorHandler on windows.
made phpdoc types consistent with those defined in Hack
Add support Thai translations
[Validator] Add missing czech translations
made types consistent with those defined in Hack
removed extra/unsupported arguments
[HttpKernel] fixed an error message
[TwigBundle] removed undefined argument
[Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM.
Conflicts:
src/Symfony/Component/Console/Helper/TableHelper.php
src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
src/Symfony/Component/Form/FormError.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
src/Symfony/Component/Process/ProcessPipes.php
src/Symfony/Component/PropertyAccess/PropertyAccessor.php
src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
src/Symfony/Component/Translation/Dumper/FileDumper.php
src/Symfony/Component/Validator/ConstraintViolation.php
src/Symfony/Component/Validator/Constraints/EmailValidator.php
src/Symfony/Component/Validator/ExecutionContextInterface.php
src/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php
* 2.3:
made {@inheritdoc} annotations consistent across the board
fixed types in phpdocs
made phpdoc types consistent with those defined in Hack
Add support Thai translations
made types consistent with those defined in Hack
removed extra/unsupported arguments
[HttpKernel] fixed an error message
[TwigBundle] removed undefined argument
[Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM.
Conflicts:
src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Fixtures/php/lazy_service.php
src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
src/Symfony/Bundle/WebProfilerBundle/EventListener/WebDebugToolbarListener.php
src/Symfony/Component/Config/Definition/ReferenceDumper.php
src/Symfony/Component/Console/Helper/DescriptorHelper.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php
src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php
src/Symfony/Component/HttpFoundation/Response.php
src/Symfony/Component/HttpFoundation/StreamedResponse.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php
src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
src/Symfony/Component/Stopwatch/StopwatchPeriod.php
src/Symfony/Component/Translation/TranslatorInterface.php
src/Symfony/Component/Validator/ConstraintValidatorFactory.php
This PR was merged into the 2.3 branch.
Discussion
----------
made {@inheritdoc} annotations consistent across the board
| Q | A
| ------------- | ---
| License | MIT
Commits
-------
810b9ed made {@inheritdoc} annotations consistent across the board
Because $path is realpath'ed. So we have to use DIRECTORY_SEPARATOR
instead of / because the default directory separator on windows is
\. And so the str_replace can not work and can lead to a fatal error
because class could already be loaded. For example, the Response class
in symfony full stack is in the bootstrap.php.cache.
This PR was merged into the 2.3 branch.
Discussion
----------
Made types used by Symfony compatible with the ones of Hack
| 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
PHP supports several ways to express types: like Boolean/bool or integer/int. Hack only supports one of them, so this PR proposes to use the Hack type to make Symfony a bit more "compatible" with Hack (gradual upgrade ;)).
Commits
-------
3c9c10f made phpdoc types consistent with those defined in Hack
0555b7f made types consistent with those defined in Hack
This PR was squashed before being merged into the 2.3 branch (closes#10708).
Discussion
----------
Add support Thai translations
Add [Thai](http://www.thai-language.com/) translations to:
+ Symfony/Component/Validator/Resources/translations/
+ Symfony/Component/Security/Resources/translations/
Commits
-------
4bc2951 Add support Thai translations
* 2.4:
[Validator] Fix hack for nested Collection/All losing context
[Config] Fix NodeBuilderTest::testNumericNodeCreation to use BaseNodeBuilder alias.
[Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates
[HttpKernel] Added the resource ID when printing a resource in the DataCollector
[HttpFoundation] use insert or replace for sqlite session handler
[HttpFoundation] use MERGE SQL for MS SQL Server session storage
[HttpFoundation] fix PDO session handler under high concurrency
Conflicts:
src/Symfony/Component/Validator/Tests/ExecutionContextTest.php
* 2.3:
[Config] Fix NodeBuilderTest::testNumericNodeCreation to use BaseNodeBuilder alias.
[Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates
[HttpKernel] Added the resource ID when printing a resource in the DataCollector
[HttpFoundation] use insert or replace for sqlite session handler
[HttpFoundation] use MERGE SQL for MS SQL Server session storage
[HttpFoundation] fix PDO session handler under high concurrency
Conflicts:
src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php
src/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpFoundation] fix PDO session handler under high concurrency
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8448 and http://trac.symfony-project.org/ticket/4777 (which was never really fixed as you can see here)
| License | MIT
- The first commit fixes PDO session handler under high concurrency.
- The second commit uses MERGE SQL for MS SQL Server. Tested with http://sqlfiddle.com/#!6/66b6d/14
- The third commit uses INSERT OR REPLACE for sqlite session handler http://sqlfiddle.com/#!7/e6707/3
What I find rather bad with the class design is that it depends on the table definition, but it's not part of the class. Also it doesn't make use of open() and close() which could be used to make the database connection lazy instead of having is open all the time when not needed. Doctrine also only lazy connects, but we use PDO directly here.
Furthermore, the session handlers should not throw exceptions, from what I read, but return false when an error occurs. This is not followed in this class. Maybe @drak knows how php session management behaves when the session handlers return false?
Commits
-------
5c08e29 [HttpFoundation] use insert or replace for sqlite session handler
05ea19a [HttpFoundation] use MERGE SQL for MS SQL Server session storage
e58d7cf [HttpFoundation] fix PDO session handler under high concurrency
This PR was merged into the 2.3 branch.
Discussion
----------
[Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
eea9d24 [Profiler] Prevent throwing fatal errors when searching timestamps or invalid dates
* 2.4:
Update MimeTypeExtensionGuesser.php
[Validator] Add missing polish translations
[Validator] Added missing strings from Image validator
[Templating] PhpEngine should propagate charset to its helpers
Fix ticket #10663 - Added setCharset method call to PHP templating engine.
Changed the typehint of the EsiFragmentRenderer to the interface
[Form] Improved test coverage of UrlType
[BrowserKit] Fix#10641 : BrowserKit is broken when using ip as host
* 2.3:
Update MimeTypeExtensionGuesser.php
[Templating] PhpEngine should propagate charset to its helpers
Fix ticket #10663 - Added setCharset method call to PHP templating engine.
Changed the typehint of the EsiFragmentRenderer to the interface
[Form] Improved test coverage of UrlType
[BrowserKit] Fix#10641 : BrowserKit is broken when using ip as host
Conflicts:
src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
src/Symfony/Component/Templating/PhpEngine.php
This PR was merged into the 2.5-dev branch.
Discussion
----------
[RFR] [Serializer] Refactored XmlEncoder to remove dependency to SimpleXml
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | dunno
| License | MIT
| Doc PR | -
Instead of switching between SimpleXml and DOM Xml, we only use DOM Xml, in order to parse the source XML when decoding an XML string.
Commits
-------
db44f0f [Serializer] Refactored XmlEncoder to remove dependency to SimpleXml
This PR was merged into the 2.3 branch.
Discussion
----------
[Templating] PhpEngine should propagate charset to its helpers
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10666
| License | MIT
Commits
-------
ed9e48b [Templating] PhpEngine should propagate charset to its helpers
This PR was merged into the 2.3 branch.
Discussion
----------
[BrowserKit] Fix#10641 : BrowserKit is broken when using ip as host
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10641
| License | MIT
As documented in http://php.net/manual/en/function.preg-replace.php, we have to use the `$` notation for replacing the backreference
>When working with a replacement pattern where a backreference is immediately followed by another number (i.e.: placing a literal number immediately after a matched pattern), you cannot use the familiar \\1 notation for your backreference. \\11, for example, would confuse preg_replace() since it does not know whether you want the \\1 backreference followed by a literal 1, or the \\11 backreference followed by nothing. In this case the solution is to use \${1}1. This creates an isolated $1 backreference, leaving the 1 as a literal.
Commits
-------
e946da3 [BrowserKit] Fix#10641 : BrowserKit is broken when using ip as host
* 2.4:
Revert PHPUnit version, revert APC configuration
removed APC on the CLI for Travis as it does not work well with PHPUnit and Composer anyway
[Security] Replace exception mocks with actual exception instances.
Remove an unused argument.
Use `Filesystem::chmod` instead of `chmod` when dumping file
[Form] Added test for disabling buttons
[Form] Added check for parent disabled status in Button form elements
Fixes URL validator to accept single part urls
tweaked Travis configuration to get more tests running
fixed float comparison in unit tests for HHVM
upgraded PHPUnit to version 4 for better HHVM support
[Process] fixed HHVM usage on the CLI
Fix class names in ApcUniversalClassLoader tests.
fixed the profiler when an uncalled listener throws an exception when instantiated
fixed CS
Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
Fixed bug in ChoiceType triggering a warning when not using utf-8
fixed CS
Avoid levenshtein comparison when using ContainerBuilder.
* 2.3:
Revert PHPUnit version, revert APC configuration
removed APC on the CLI for Travis as it does not work well with PHPUnit and Composer anyway
[Security] Replace exception mocks with actual exception instances.
Remove an unused argument.
Use `Filesystem::chmod` instead of `chmod` when dumping file
[Form] Added test for disabling buttons
[Form] Added check for parent disabled status in Button form elements
Fixes URL validator to accept single part urls
tweaked Travis configuration to get more tests running
fixed float comparison in unit tests for HHVM
upgraded PHPUnit to version 4 for better HHVM support
[Process] fixed HHVM usage on the CLI
Fix class names in ApcUniversalClassLoader tests.
fixed the profiler when an uncalled listener throws an exception when instantiated
fixed CS
Added test case for 4c6a2d15095c13b2a35751b2b2712b183be489c4
Fixed bug in ChoiceType triggering a warning when not using utf-8
fixed CS
Avoid levenshtein comparison when using ContainerBuilder.
Conflicts:
src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
This PR was merged into the 2.5-dev branch.
Discussion
----------
[DependencyInjection] Use DOM instead of SimpleXML for namespace support
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #9345
| License | MIT
This PR replaces #9350
Commits
-------
a3c60c8 [DependencyInjection] Deprecate SimpleXMLElement
33c91f9 [DependencyInjection] Use DOM instead of SimpleXML for namespace support
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Console] added a better way to ask questions to the user
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | not yet
This PR replaces #9811
- [x] add missing phpdocs
- [x] add unit tests
- [ ] submit doc PR
Commits
-------
336bba2 [Console] Add docblocks and unit tests to QuestionHelper
c413f89 [Console] added a better way to ask questions to the user
This PR was merged into the 2.5-dev branch.
Discussion
----------
[PropertyAccessor] Wrong number of parameters
| 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
Since [6d2af217aafd03e3f1600ce0ebc9c30cf0a7fc70#diff-3e45cf556c0330623c0167841d303dff](6d2af217aa (diff-3e45cf556c0330623c0167841d303dff)) the PropertyAccessor is failing on setters with default values because [ReflectionFunctionAbstract::getNumberOfRequiredParameters](http://www.php.net/manual/es/reflectionfunctionabstract.getnumberofparameters.php) only count the parameters without default values.
Commits
-------
6157be0 Wrong number of parameters
It is done for two reasons:
* consistency - we use real exception objects in most of the code
* latest phpunit does not like the way we were creating mocks for exceptions (it could be also fixed by letting phpunit to call the original constructor)
This PR was merged into the 2.3 branch.
Discussion
----------
Fixes URL validator to accept single part urls
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #3207#6817
| License | MIT
| Doc PR | N/A
This PR replaces #6817 and has been rebased for 2.3, making a change to the regex to be simpler for single dot matches. (changing `([\pL\pN\pS-\.])+([\.]{0,1}[\pL]+[\.]{0,1})` to `([\pL\pN\pS-\.])+(\.?[\pL]+\.?)`)
Commits
-------
91e226e Fixes URL validator to accept single part urls
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] Use `Filesystem::chmod` instead of `chmod` when dumping file
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This adds consistency as discussed in ca5eea5c19 (commitcomment-5804089)
Commits
-------
c2ffefd Use `Filesystem::chmod` instead of `chmod` when dumping file
This PR was merged into the 2.5-dev branch.
Discussion
----------
[WIP][Validator] New NodeTraverser implementation
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | TODO
| License | MIT
| Doc PR | TODO
This PR is ready for review.
#### Todo
- [x] Test extensively to avoid regressions
- [x] Test more extensively
- [x] Finish inline documentation
- [x] Provide a layer to choose the desired API through ValidatorBuilder
- [x] Provide a layer to choose the desired API through FrameworkBundle
- [x] Update UPGRADE file
- [x] Update CHANGELOG
- [ ] Update user documentation
#### Goal
The goal of this PR is to be able to fix the following tickets:
- [x] #6138 Simplify adding of constraint violations
- [x] #7146 Support group sequences in Validator API
- [x] #7432 Poorly implemented Visitor Pattern
- [x] #8617 Control traversal on class level
- [x] #9888 Improve support for collection validation (PR: #9988)
The following tickets are probably fixed, but require testing first:
- [ ] #8376 Using validation_group causes error message to display multiple times
- [ ] #9939 GroupSequences still execute next group if first fail
Of course, full backwards compatibility **must** be guaranteed.
Other tickets I want to fix in follow-up PRs:
* #3622 Constraints\Valid does not respect "groups" option
* #4453 walk constraints by groups
* #7700 Propagate implicit group names in constraints
* #9051 Always ask value event if field isn't in the validating group
* #10163 poor collection validation test coverage
* #10221 TypeValidator does not enforce desired type when value is NULL
* #10495 Class Valid Constraint can't be used on a Form Type
#### In a nutshell
The implementation removes the Visitor pattern, which was implemented badly. I tried fixing it via a NodeTraverser/NodeVisitor implementation, but performance degraded too much so I decided to remove the pattern altogether.
A couple of new features and bug fixes are possible thanks to the new implementation. See below for details.
#### PHP Versions
PHP 5.3.8 and older does not allow to implement two different interfaces which both contain a method with the same name. This is used in the compatibility layer that supports both the old and the new API.
For this reason, the compatibility layer is disabled on PHP < 5.3.9. Older PHP versions need to decide on the old API or the new API (without compatibility layer).
#### Choosing the API Version
The API version can be specified by one of `Validation::API_VERSION_2_4`, `Validation::API_VERSION_2_5` and `Validation::API_VERSION_2_5_BC` to `setApiVersion()` when building the validator:
```php
// Old implementation
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_4)
->getValidator();
// New implementation with BC API
// Does not work on PHP < 5.3.9
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_5)
->getValidator();
// New implementation without BC API
$validator = Validation::createValidatorBuilder()
->setApiVersion(Validation::API_VERSION_2_5_BC)
->getValidator();
```
#### Features
##### Constraint validation as first-class citizen
The new API merges `validateValue()` and `validate()`. The idea is that the validation of values against constraints should be as simple as possible. Object validation is a special case where an object is tested against the `Valid` constraint. A backwards compatibility layer is provided to use both `validate()` and `validateValue()` with the old signature.
```php
// Validate against explicit constraints
$violations = $validator->validate($firstName, array(
new NotNull(),
new Length(array('min' => 3)),
));
// Validate against metadata
$violations = $validator->validate($object);
// Same, more expressive notation
$violations = $validator->validate($object, new Valid());
// Validate each entry against its metadata
$violations = $validator->validate($array);
```
##### Aggregate violations
It is now possible to call the methods of the validator multiple times and aggregate the violations to a common violation list. To do so, call `startContext()`, execute the calls and call `getViolations()` in the end to retrieve the violations:
```php
$violations = $validator->startContext()
->validate($title, new NotNull())
->validate($text, new NotNull())
->validate($author->getName(), new NotNull())
->getViolations()
```
Most of the time, you will want to specify a property path for each validation. Use the method `atPath()` for that:
```php
$violations = $validator->startContext()
->atPath('title')->validate($title, new NotNull())
->atPath('text')->validate($text, new NotNull())
->atPath('author.name')->validate($author->getName(), new NotNull())
->getViolations()
```
##### Control the context of nested validations
In Symfony <= 2.4, you can validate objects or constraints from within a constraint validator like this:
```php
$this->context->validate($object);
$this->context->validateValue($value, new Length(array('min' => 3)));
```
The validations will run and all violations will be added to the current context.
This way, it is impossible though to validate something, inspect the result and then decide what kind of violations to add to the context. This is needed, for example, for the `Some` constraint (proposed in #9888), which should succeed if any of the validated values did *not* generate violations.
For this reason, the new context API features a method `getValidator()`. This method returns the validator instance, you can use it to validate anything in a new context (as the validator always does):
```php
$validator = $this->context->getValidator();
$violations = $validator->validate($object);
if (count($violations) > 0) {
$this->context->addViolation('The validation did not pass');
}
```
You can also explicitly start a new context:
```php
$validator = $this->context->getValidator();
$violations = $validator->startContext()
->atPath('title')->validate($title, new NotNull())
->atPath('text')->validate($text, new NotNull())
->getViolations()
```
If you want to execute the validation in the current context, use the `inContext()` method of the validator instead:
```php
// violations are added to $this->context
$validator->inContext($this->context)
->atPath('title')->validate($title, new NotNull())
->atPath('text')->validate($text, new NotNull())
;
```
With this feature, #9888 (especially the PR for it: #9988) can be finished.
##### Custom group sequences (#7146)
It is now possible to pass `GroupSequence` instances whenever you can pass a group to the validator. For example:
```php
$violations = $validator->validate($object, new Valid(), new GroupSequence('Basic', 'Strict'));
```
Or in the context of the Form component:
```php
$form = $this->createForm(new BlogType(), new Blog(), array(
'validation_groups' => new GroupSequence('Basic', 'Strict'),
));
```
##### Constraint violation builders (#6138)
The API for adding constraint violations was simplified:
```php
$this->context->addViolation('message', array('param' => 'value'));
// or
$this->context->buildViolation('message')
->atPath('property')
->setParameter('param', 'value')
->setTranslationDomain('validation_strict')
->addViolation();
```
##### Control traversal at class level (#8617)
Currently, it is possible whether to traverse a `Traversable` object or not in the `Valid` constraint:
```php
/**
* @Assert\Valid(traverse=true)
*/
private $tags = new TagList();
```
(actually, `true` is the default)
In this way, the validator will iterate the `TagList` instance and validate each of the contained objects. You can also set "traverse" to `false` to disable iteration.
What if you want to specify, that `TagList` instances should always (or never) be traversed? That's currently not possible.
With this PR, you can do the following:
```php
/**
* @Assert\Traverse(false)
*/
class TagList implements \IteratorAggregate
{
// ...
}
```
#### Follow-up features
Features of the follow-up PRs will be described directly there.
#### Backwards compatibility
I implemented a new `AbstractValidatorTest` which tests both the old and the new implementation for compatibility. I still want to extend this test to make sure we don't introduce any regressions.
Almost none of the existing classes were modified (or only slightly). If users depend on the current (now "legacy") implementation, they will have the choice to continue using it until 3.0 (of course, without the new features).
#### Your task
Congrats, you made it till here :) If you have time, please skim over the code and give me feedback on the overall implementation and the class/method names. Again, no feedback on details yet, there are quite a few areas in the code that are still work in progress.
Thanks,
Bernhard
[1] That means that only the nodes from the root of the graph until the currently validated node are held in memory.
Commits
-------
ca6a722 [Validator] Converted `@deprecate` doc comment into regular doc comment
68d8018 [Validator] Documented changes in the UPGRADE files
b1badea [Validator] Fixed failing CsrfFormLoginTest
0bfde4a [Validator] Fixed misnamed method calls in FrameworkExtension
3dc2b4d [Validator] Made "symfony/property-access" an optional dependency
c5629bb [Validator] Added getObject() to ExecutionContextInterface
9b204c9 [FrameworkBundle] Implemented configuration to select the desired Validator API
0946dbe [Validator] Adapted CHANGELOG
1b111d0 [Validator] Fixed typos pointed out by @cordoval
7bc952d [Validator] Improved inline documentation of RecursiveContextualValidator
166d71a [Validator] Removed unused property
90c27bb [Validator] Removed traverser implementation
3183aed [Validator] Improved performance of cache key generation
029a716 [Validator] Moved logic of replaceDefaultGroup() to validateNode()
2f23d97 [Validator] Reduced number of method calls on the execution context
73c9cc5 [Validator] Optimized performance by calling spl_object_hash() only once per object
94ef21e [Validator] Optimized use statements
1622eb3 [Validator] Fixed reference to removed class in ValidatorBuilder
be508e0 [Validator] Merged DefaultGroupReplacingVisitor and ContextUpdateVisitor into NodeValidationVisitor
50bb84d [Validator] Optimized RecursiveContextualValidator
eed29d8 [Validator] Improved performance of *ContextualValidator::validate()
5c479d8 [Validator] Simplified validateNodeForGroup
eeed509 [Validator] Improved phpdoc of RecursiveValidator
274d4e6 [Validator] Changed ValidatorBuilder to always use LegacyExecutionContext
38e26fb [Validator] Decoupled RecursiveContextualValidator from Node
23534ca [Validator] Added a recursive clone of the new implementation for speed comparison
f61d31e [Validator] Fixed grammar
886e05e [Validator] Removed unused use statement
93fdff7 [Validator] The supported API versions can now be passed to the ValidatorBuilder
987313d [Validator] Improved inline documentation of the violation builder
79387a7 [Validator] Improved inline documentation of the metadata classes
01ceeda [Validator] Improved test coverage of the Traverse constraint
9ca61df [Validator] Improved inline documentation of CascadingStrategy and TraversalStrategy
524a953 [Validator] Improved inline documentation of the validators
9986f03 [Validator] Added inline documentation for the PropertyPath utility class
be7f055 [Validator] Visitors may now abort the traversal by returning false from beforeTraversal()
299c2dc [Validator] Improved test coverage and prevented duplicate validation of constraints
186c115 [Validator] Improved test coverage of NonRecursiveNodeTraverser
822fe47 [Validator] Completed inline documentation of the Node classes and the NodeTraverser
dbce5a2 [Validator] Updated outdated doc blocks
8558377 [Validator] Added deprecation notes
e8fa15b [Validator] Fixed the new validator API under PHP < 5.3.9
2936d10 [Validator] Removed unused use statement
6fc6ecd [Validator] Fixed tests under PHP<5.3.9
778ec24 [Validator] Removed helper class Traversal
76d8c9a [Validator] Fixed typos
4161371 [Validator] Removed unused use statements
aeb6822 [Validator] Improved visitor names
08172bf [Validator] Merged validate(), validateObject() and validateObjects() to simplify usage
51197f6 [Validator] Made traversal of Traversables consistent
117b1b9 [Validator] Wrapped collections into CollectionNode instances
94583a9 [Validator] Changed NodeTraverser to traverse nodes iteratively, not recursively
cf1281f [Validator] Added "Visitor" suffix to all node visitors
230f2a7 [Validator] Fixed exception message
e057b19 [Validator] Decoupled ContextRefresher from ExecutionContext
e440690 [Validator] Renamed validateCollection() to validateObjects()
df41974 [Validator] Changed context manager to context factory
26eafa4 [Validator] Removed unused use statements
bc29591 [Validator] Clearly separated classes supporting the API <2.5/2.5+
a3555fb [Validator] Fixed: Objects are not traversed unless they are instances of Traversable
2c65a28 [Validator] Completed test coverage and documentation of the Node classes
9c9e715 [Validator] Completed documentation of GroupManagerInterface
1e81f3b [Validator] Finished test coverage and documentation of ExecutionContextManager
feb3d6f [Validator] Tested the validation in a separate context
718601c [Validator] Changed validateValue() to validate() in the new API
ee1adad [Validator] Implemented handling of arrays and Traversables in LegacyExecutionContext::validate()
09f744b [Validator] Implemented BC traversal of traversables through validate()
297ba4f [Validator] Added a note why scalars are passed to cascadeObject() in NodeTraverser
9b07b0c [Validator] Implemented BC validation of arrays through validate()
405a03b [Validator] Updated deprecation notes in GroupSequence
499b2bb [Validator] Completed test coverage of ExecutionContext
adc1437 [Validator] Fixed failing tests
4ea3ff6 [Validator] Finished inline documentation of ExecutionContext[Interface]
f6b7288 [Validator] Removed unused use statement
8318286 [Validator] Completed GroupSequence implementation
5fbf848 [Validator] Added note about Callback constraint to CHANGELOG
c1b1e03 [Validator] Added TODO reminder
8ae68c9 [Validator] Made tests green (yay!)
680f1ee [Validator] Renamed $params to $parameters
321d5bb [Validator] Throw exception if ObjectInitializer is constructed without visitors
1156bde [Validator] Extracted code for group sequence resolving into GroupSequenceResolver
b1a9477 [Validator] Added ObjectInitializer visitor
7e3a41d [Validator] Moved visitors to NodeVisitor namespace
a40189c [Validator] Decoupled the new classes a bit
a6ed4ca [Validator] Prototype of the traverser implementation
25cdc68 [Validator] Refactored ValidatorTest and ValidationVisitorTest into an abstract validator test class
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Form] Accept interfaces to be passed to "data_class"
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8669
| License | MIT
| Doc PR | -
Commits
-------
b44e07b [Form] Added test case for 4759e062ed004749dbdc2ba31aef0f8ac2601895
7bc7a8a [Form] Accept interfaces to be passed to "data_class"
This PR was merged into the 2.5-dev branch.
Discussion
----------
[PropertyAccess] Added isReadable() and isWritable()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8659
| License | MIT
| Doc PR | symfony/symfony-docs#3729
This PR introduces BC breaks that are described in detail in the UPGRADE file. The BC breaks conform to our policy. They shouldn't affect many people, so I think we can safely do them.
Commits
-------
f7fb855 [PropertyAccess] Added missing exceptions to phpdoc
9aee2ad [PropertyAccess] Removed the argument $value from isWritable()
4262707 [PropertyAccess] Fixed CS and added missing documentation
6d2af21 [PropertyAccess] Added isReadable() and isWritable()
20e6bf8 [PropertyAccess] Refactored PropertyAccessorCollectionTest
0488389 [PropertyAccess] Refactored PropertyAccessorTest
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Form] ObjectChoiceList now compares choices by their value, if a value path is given
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8825
| License | MIT
| Doc PR | -
Commits
-------
ce0efb1 [Form] ObjectChoiceList now compares choices by their value, if a value path is given
The traverser is too slow compared to the current, recursive approach.
Testing showed a performance decrease of about 70% without a lot of
optimization potential.
This is necessary because, until Symfony 3.0, constraint validators will continue
to rely on the old context methods in order to be backwards compatible.
In this way, the deep method call chains are avoided. Also, it is possible to
avoid the many calls to leaveNode(), which are currently not really needed.
The current context is not stored anymore. Instead, it is passed around the traverser
and the visitors. For this reason, validation can occur in multiple contexts at the
same time.
The validation of values against constraints should be a first-class citizen
in the API. For this reason, validate() now takes a value and a constraint or
a list of constraints. This method should be used for the most basic use
cases.
If users want to annotate objects with constraints (this is optional,
advanced functionality), they can use the more expressive validateObject()
method now. For traversing arrays or Traversables, a new method
validateCollection() is now available in the API.
* 2.4:
added missing unit test
fixed too greedy replacements
fixed protocol-relative URLs
added override power to server parameters provided on request method
made parsing controllers more robust
Fixed YamlFileLoader imports path
* 2.3:
added missing unit test
fixed too greedy replacements
fixed protocol-relative URLs
added override power to server parameters provided on request method
made parsing controllers more robust
Fixed YamlFileLoader imports path
Conflicts:
src/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
YamlFileLoader used the resource name as the current directory during import, which can cause a failed import when using a relative path. Using the $path variable output from the locator is consistent with other loaders and fixes the bug.
* 2.4:
Check headers sent before sending PHP response
Fix issue symfony/symfony#10345 '[FrameworkBundle][Console] container:debug --parameter="" not working anymore'
Fixed ACE domain checks on UrlValidator (#10031)
handle array root element
If the response contents has been sent before an error occurs, PHP
triggers the warning "Cannot modify header information - headers already sent"
This change ensure that the error message is echoed, while it's impossible
to change the HTTP status code and headers.
* 2.4: (52 commits)
Fix#8205 : Deprecate file mode update when calling dumpFile
Fix#10437: Catch exceptions when reloading a no-cache request
Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
removed ini check to make uploadedfile work on gae
Update OptionsResolver.php
fixed comment in forms.xml file
Clean KernelInterface docblocks
Cast the group name as a string
Fixed doc of InitAclCommand
[Form] Fix "Array was modified outside object" in ResizeFormListener.
Fix IBAN validator
[Process] Remove unreachable code + avoid skipping tests in sigchild environment
Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
Added travis_retry to .travis.yml
[Process] fix some typos and refactor some code
[Process] Fix unit tests in sigchild disabled environment
[Process] Trow exceptions in case a Process method is supposed to be called after termination
fixed typo
[Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
[Process] Fix escaping on Windows
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Process/ProcessPipes.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
* 2.3: (34 commits)
Fix#8205 : Deprecate file mode update when calling dumpFile
Fix#10437: Catch exceptions when reloading a no-cache request
Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
removed ini check to make uploadedfile work on gae
Update OptionsResolver.php
fixed comment in forms.xml file
Clean KernelInterface docblocks
Cast the group name as a string
Fixed doc of InitAclCommand
[Form] Fix "Array was modified outside object" in ResizeFormListener.
Fix IBAN validator
[Process] Remove unreachable code + avoid skipping tests in sigchild environment
Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
Added travis_retry to .travis.yml
[Process] fix some typos and refactor some code
[Process] Fix unit tests in sigchild disabled environment
[Process] Trow exceptions in case a Process method is supposed to be called after termination
fixed typo
[Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
[Process] Fix escaping on Windows
...
Conflicts:
src/Symfony/Component/DomCrawler/Crawler.php
src/Symfony/Component/Filesystem/Filesystem.php
src/Symfony/Component/Process/Process.php
With the recent addition of the ability to disable the output, it was
not taken into account within the `ProcessFailedException`.
So, if the output was indeed disabled, and the process returns an
error (i.e via a `mustRun`) we could have another LogicException which
is not expected.
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Debug] sync with deprecation in DebugClassLoader
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Commits
-------
c70a468 [Debug] sync with deprecation in DebugClassLoader
This PR was squashed before being merged into the 2.3 branch (closes#10410).
Discussion
----------
[Form] Fix "Array was modified outside object" in ResizeFormListener.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10405
| License | MIT
| Doc PR |
This is the second pull request for this issue. The history of this is as follows:
Original Fix was added Feb 11th under Pull Request #10232.
Users began complaining of Doctrine ArrayCollection not being updated in forms.
Revert was added Feb 15th under Pull Request #10269.
Issue #10405 was opened on 7th Mar for the original bug.
Pull Request #10269 has a failing test that illustrates users concerns.
I have added failing tests to this pull request to illustrate the problems described in #10405.
All tests now pass, and all forms of $data are now supported, including arrays, DoctrineCollection, ArrayObject, and other IteratorAggregates.
__Details as follows:__
The onSubmit() method of the ResizeFormListener class is assuming the data is an array, and calling unset directly inside a foreach. This works fine in most scenarios, but if data is an instance of IteratorAggregate that is iterating over $data by reference, it breaks with the following error:
Symfony\Component\Form\Extension\Core\EventListener\ResizeFormListener::onSubmit(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in ./vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php line 142
This is because the foreach loop is using an Iterator in the background, but the ResizeFormListener has unset the underlying data directly, causing the value that the Iterators internal pointer is pointing to to change.
The Iterator provided by IteratorAggregate may or may not have the ability to modify it's underlying data. So it is not possible to rely on the Iterator to modify the data. Instead, it is simpler to avoid modifying $data at all while we are iterating over it. So instead, we simply iterate over $data once to determine the keys we need to delete, and store them. Then we iterate over the keys and delete them from $data.
Commits
-------
aa63fae [Form] Fix "Array was modified outside object" in ResizeFormListener.
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Validator] Minor fix in IBAN validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10481, #10489
| License | MIT
Added more values to unit tests of IBAN validator to make clear it doesn't accept lower case letters.
> Permitted IBAN characters are the digits 0 to 9 and the 26 upper-case Latin alphabetic characters A to Z.
http://en.wikipedia.org/wiki/International_Bank_Account_Number
Also made little adjustment to code which meant to validate lowercase letters but actually was useless.
Commits
-------
3eeb306 Fix IBAN validator
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Remove unreachable code + avoid skipping tests in sigchild environment
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
As mentioned by @Tobion in https://github.com/symfony/symfony/pull/10480#issuecomment-38002910, I removed the dead code. I also fixed/updated the test suite on PHP compiled with `--enable-sigchild`.
Commits
-------
d52dd32 [Process] Remove unreachable code + avoid skipping tests in sigchild environment
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Console] Added standalone PSR-3 compliant logger
This PR adds a standalone, PSR-3 compliant, logger to the Console component. It logs all messages on the console output. Messages of `DEBUG`, `INFO` and `NOTICE` levels are displayed using the `info` format (default to green). Higher levels are displayed using the `error` formatter (default to red).
This logger is similar to the [Monolog's Console Handler](http://symfony.com/doc/current/cookbook/logging/monolog_console.html) but does not have any external dependency (except `php-fig/log`). This is useful for console applications and commands needing a lightweight PSR-3 compliant logger (e.g. required by a dependency or to display basic informations to the user).
An usage example is available here: https://github.com/dunglas/php-schema.org-model/blob/master/src/SchemaOrgModel/Command/GenerateEntitiesCommand.php#L71
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#3696
Commits
-------
e40b34d [Console] Added standalone PSR-3 compliant logger
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] fix some typos and refactor some code
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
Commits
-------
b422613 [Process] fix some typos and refactor some code
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Console] Fixed unsetting of setted attributes on OutputFormatterStyle
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Unset only previous setted styles in place of all styles, before this fix,
OutputFormatterStyle reset all attributes with '\e[0m' sequence.
Now, if a foreground is setted, reset only the foreground so you can use innested attributes
Conflicts:
src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
src/Symfony/Component/Console/Tests/Output/OutputTest.php
Commits
-------
ce0c4b4 [Console] Fixed unsetting of setted attributes on OutputFormatterStyle
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Fix escaping on Windows
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Windows escaping is broken since the last merges.
After digging more on Windows escaping, I realised some things:
- We forbid environment variable expansion by escaping `%APPDATA%` to `^%"APPDATA"^%`
- We explicitly ask for variable expansion at runtime (running the command line with the [`/V:ON`](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Process/Process.php#L235) flag). Running a command containing `!APPDATA!` will be escaped and expanded (our previous rule is easily overriden)
- On platform that are not windows, we use strong escaping that prevents any variable expansion (`$PATH` will be escaped to `'$PATH'` that is not interpreted as the current PATH)
We have three possibilities:
- Keep this behavior as this.
- Prefer a consistent API and use a strong escaping strategy everywhere, but it would result in a BC break (see #8975).
- Allow environment variable expansion and escape `%APPDATA%` to `"%APPDATA%"`
Any thoughts about this ?
Commits
-------
0f65f90 [Process] Fix escaping on Windows
Unset only previous setted styles in place of all styles, before this fix,
OutputFormatterStyle reset all attributes with '\e[0m' sequence.
Now, if a foreground is setted, reset only the foreground so you can use innested attributes
Conflicts:
src/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php
src/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php
src/Symfony/Component/Console/Tests/Output/OutputTest.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Fixed fatal errors in getOutput and getErrorOutput when process was not started
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10022
| License | MIT
This PR replaces #9452 and address the latest changes.
Side note : I've not updated `getExitCode`, `getExitCodeText` and `isSuccessful` as they were explicitly tested to return null in case the process is not started or terminated. I think it would be a BC break to do that.
Commits
-------
449fe01 [Process] Trow exceptions in case a Process method is supposed to be called after termination
0ae6858 [Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Debug] add a screaming mode to ErrorHandler
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Collect and display silenced PHP errors in the debug toolbar.
Commits
-------
5cc817d [Debug] add a screaming mode to ErrorHandler
This PR was merged into the 2.5-dev branch.
Discussion
----------
[TwigBundle] Add possibility to generate absolute assets urls
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/3683
This is another approach of #7722
- [x] Add unit tests
- [x] Update doc
Commits
-------
76b8851 [TwigBundle] Add possibility to generate absolute assets urls
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Process] Handle idle timeout and disabled output conflict
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10453
| License | MIT
| Doc PR | WIP (a note should be added in the doc)
Commits
-------
ae84810 [Process] Increase tests speed
40c08c6 [Process] Handle idle timeout and disable output conflict
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3][Process] Fix quoted arguments escaping
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This PR replaces #8972
Commits
-------
de681cb [Process] Add tests on ProcessUtils::escapeArgument
85fb495 [Process] Fix: Arguments including space and quote are not correctly escaped (win)
This PR was merged into the 2.3 branch.
Discussion
----------
[DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6908
| License | MIT
This PR replaces #10193
Commits
-------
89c599e [DomCrawler] Add tests for recursive cases of getPhpValues() and getPhpFiles()
e961f57 [DomCrawler] Fixed incorrect value name conversion in getPhpValues() and getPhpFiles()
* 2.3:
[Config] made a condition more explicit
convertDomElementToArray should handle zero values
prefixed http:// to url output on server:run command in order to make it clickable
Fixed data in pipe being truncated if not read before process termination
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Security] Add constants for access decision strategies
I suggest adding constants for the three access decision strategies (affirmative, consensus, unanimous).
They are difficult to spell, and without constants they are difficult to identify when reading the code.
| 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
-------
5d6ef00 Add class constants for access decision strategies.