* 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.3 branch.
Discussion
----------
enforce memcached version to be 2.1.0
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9797
| License | MIT
| Doc PR |
The signature of the `Memcached::get()` method changed with 2.2.0.
Therefore, tests fail in Symfony when mocking `Memcached` in the
`MemcachedSessionHandlerTest` of the HttpFoundation component (see
also php-memcached-dev/php-memcached#126 and
https://bugs.php.net/bug.php?id=66331).
Commits
-------
2ac5c86 enforce memcached version to be 2.1.0
This PR was merged into the 2.5 branch.
Discussion
----------
[PropertyAccess] Simplified code
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12275
| License | MIT
| Doc PR | -
Makes implementation of #10882 more readable.
Simplifies `camelize()` as pointed out in #12275.
Commits
-------
b712ac1 [PropertyAccess] Simplified code
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
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] improve server:run feedback
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
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.
Commits
-------
264c37a [FrameworkBundle] improve server:run feedback
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.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] improve server commands feedback
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | kind of
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12153
| License | MIT
| Doc PR |
* 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
Commits
-------
bf174cf [FrameworkBundle] improve server commands feedback
* 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 merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] enhance dumping refs
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | nicolas-grekas/Patchwork-Dumper#39
| License | MIT
| Doc PR | -
This makes dumps prettier:
- VarCloner now exposes the "isref" state of a PHP variable
- on hard refs, `#n` suffix is replaced by `&n` prefix
- `#n`/`@n` (object/resource refs) are moved inside the `{ }`
- all repetitive dumps of the same object are toggle-able
- all repetitive dumps of the same object / hard ref are *visually* identical
- dumps expose local ref counts and object's handle
I also simplified the `Cloner\DumperInterface`.
For the same (circumvoluted) variable:
Before:
![before](https://cloud.githubusercontent.com/assets/243674/4595026/f6b2a98c-5094-11e4-9fe0-dc6d24da3f14.png)
After:
![after](https://cloud.githubusercontent.com/assets/243674/4595035/07e04980-5095-11e4-9e45-54a1e7453547.png)
Commits
-------
3c401af [VarDumper] enhance dumping refs
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#11696).
Discussion
----------
[Form] Fix#11694 - Enforce options value type check in some form types
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #11694
| License | MIT
| Doc PR | none
`Symfony\Component\Form\Extension\Core\Type\RepeatedType` allowed passing strings as options, which caused problems as in #11694.
Commits
-------
0af6467 [Form] Fix#11694 - Enforce options value type check in some form types
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#12183).
Discussion
----------
[Router] Cleanup
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Removed unused imports, variables, arguments.
Commits
-------
5a6677d [Router] Cleanup
This PR was merged into the 2.3 branch.
Discussion
----------
Add missing argument
`->dump` has 5 arguments (the 3th argument, the indent, was not provided in the twig extension).
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | let's see
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
ac696b8 Add missing argument