* 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.
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 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
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.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.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.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
----------
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.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 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
----------
[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 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