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
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] register `TranslatorListener` service
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12167
| License | MIT
| Doc PR |
Since the `TranslatorListener` was not registered as a service, the
proper locale would never have been passed from the current request
to the translator.
Commits
-------
3b578a6 register `TranslatorListener` service
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.
This PR was submitted for the 2.5 branch but it was merged into the 2.6-dev branch instead (closes#12108).
Discussion
----------
[Routing] Moving include instruction to separate method
| Q | A
| ------------- | ---
| Bug fix? | [yes]
| New feature? | [no]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| Fixed tickets | #12106
| License | MIT
Commits
-------
60ce31d [Routing] Moving include instruction to separate method
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 merged into the 2.6-dev branch.
Discussion
----------
[Framework+SecurityBundle] remove recently introduced *.class parameters
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This is just a cleanup that removes `*.class` parameters introduced in the master branch (and not in the 2.5 one).
#12145 also removes the remaining params for the Debug/TwigBundle
Commits
-------
56ae544 [Framework+SecurityBundle] remove recently introduced *.class parameters
This PR was squashed before being merged into the 2.6-dev branch (closes#12142).
Discussion
----------
[TwigBridge] fix `DumpExtension` tests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Make test compatible with the changes from #12125.
Commits
-------
e3332ad [TwigBridge] fix tests
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
This PR was merged into the 2.5 branch.
Discussion
----------
[Console] clean handling of :: passed to find()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12104
| License | MIT
| Doc PR |
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.
In a "real" Symfony application, calling `php ./app/console cache::clear` now results in the following error message:
```
[InvalidArgumentException]
There are no commands defined in the "cache:" namespace.
Did you mean this?
cache
```
Commits
-------
baab4ed clean handling of :: passed to find()
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#12130).
Discussion
----------
[FrameworkBundle] minor fix
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? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
Commits
-------
cd966c6 [FrameworkBundle] minor fix
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 submitted for the 2.5 branch but it was merged into the 2.3 branch instead (closes#12135).
Discussion
----------
[Console] add a dot
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Added a "." at the end of an InputOption description, as the rest of the InputOption descriptions have it.
Commits
-------
fb0e685 [Console] add a dot
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