This PR was merged into the 2.1 branch.
Commits
-------
8f21f89 [2.1] [Console] Added getTerminalDimensions() with fix for osx/freebsd
Discussion
----------
[2.1] [Console] Added getTerminalDimensions() with fix for osx/freebsd
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
For non-windows systems, the Console component makes use of `stty -a` to grab the dimensions of the terminal when formatting exception output. The regex pattern assumes a string like the following:
`speed 38400 baud; rows 25; columns 80; line = 0;`
However on OSX (and FreeBSD) the pattern is different:
`speed 38400 baud; 25 rows; 80 columns;`
This patch adds a fix to match the correct pattern on darwin/freebsd systems, and consolidates the code in `getTerminalWidth()` and `getTerminalHeight()` into a general `getTerminalDimensions()` function. I've also taken the liberty of changing the curly brace regex delimiters to forward slashes for consistency with the rest of the codebase.
This PR was merged into the 2.1 branch.
Commits
-------
4abd5bf Restrict Monolog version to be in version `<1.3`. Because of conflict between `HttpKernel/Log/LoggerInterface` and `Psr\Log\LoggerInterface` (PSR-3)
Discussion
----------
[2.1] Restrict Monolog to be in version `<1.3`.
Because of conflict between `HttpKernel\Log\LoggerInterface` and `Psr\Log\LoggerInterface` (PSR-3).
---------------------------------------------------------------------------
by stof at 2013-01-05T13:09:29Z
This should even be done in the 2.0 branch
---------------------------------------------------------------------------
by stloyd at 2013-01-05T14:00:35Z
@stof See #6572.
---------------------------------------------------------------------------
by stloyd at 2013-01-05T14:05:39Z
@fabpot This is still valid PR (even when `2.0` will be merged to `2.1`) as main `composer.json` is pointing to invalid version.
* 2.0:
Restrict Monolog version to be in version <1.3
[Console] Make getTerminalWith & getTerminalHeight public
[DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly
[DependencyInjection] fixed PhpDumper when an inlined service definition has some properties
[DependencyInjection] added some tests for PhpDumper when the container is compiled
[DependencyInjection] fixed CS
[Locale] Adjust `StubIntlDateFormatter` to have new methods added in PHP 5.5
[Locale] Fix failing `StubIntlDateFormatter` tests in PHP 5.5
[Locale] Fix failing `StubIntlDateFormatter` in PHP 5.5
[Form] Fix failing `MonthChoiceList` in PHP 5.5
Update .travis.yml
Conflicts:
src/Symfony/Bridge/Monolog/composer.json
src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
src/Symfony/Component/Form/Extension/Core/ChoiceList/MonthChoiceList.php
tests/Symfony/Tests/Component/DependencyInjection/Fixtures/yaml/services9.yml
This PR was merged into the 2.0 branch.
Commits
-------
e0923ae [DependencyInjection] fixed PhpDumper optimizations when an inlined service depends on the current one indirectly
cd15390 [DependencyInjection] fixed PhpDumper when an inlined service definition has some properties
e939a42 [DependencyInjection] added some tests for PhpDumper when the container is compiled
3827e3e [DependencyInjection] fixed CS
Discussion
----------
[DependencyInjection] Fixed PhpDumper when compiling inlined services
This PR was merged into the 2.0 branch.
Commits
-------
ba2d035 Restrict Monolog version to be in version <1.3
Discussion
----------
[2.0] Restrict Monolog version to be in version <1.3
Because of conflict between `HttpKernel\Log\LoggerInterface` and `Psr\Log\LoggerInterface` (PSR-3).
Main `composer.json` already restricts to proper version, but bridge allows also conflicting version.
---------------------------------------------------------------------------
by Seldaek at 2013-01-05T14:58:18Z
Looks fine, I will try to wrap up the 1.3.0 soon so you can migrate the code to use it (well it can already be done I guess in the master branch).
This PR was merged into the 2.0 branch.
Commits
-------
f299bd0 [Console] Make getTerminalWith & getTerminalHeight public
Discussion
----------
[Console] Make getTerminalWith & getTerminalHeight public
Bug fix: yes
Feature addition: yes
Backwards compatibility break: no
Fixes the following tickets: ~
Todo: -
License of the code: MIT
Documentation PR: ~
After demand in #6567, I open an other one on the 2.0 branch.
This PR was merged into the 2.1 branch.
Commits
-------
fa6fb6f [Process] Do not reset stdout/stderr pipes on Interrupted system call
Discussion
----------
[Process][2.1] Do not reset stdout/stderr pipes on stream_select failure
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
When `stream_select` is called and failed, pipes are currently reset to an empty array. As a result, both error-output and output are empty whereas the exitcode is 0 (successful process).
There is no reason (at least I don't see it) to reset pipes when an error occurs.
---------------------------------------------------------------------------
by fabpot at 2013-01-04T08:18:03Z
This behavior was introduced by @Seldaek in bcf8cf91. Any reason?
---------------------------------------------------------------------------
by Seldaek at 2013-01-04T17:22:33Z
The rationale was that if stream_select failed, it will fail every time (maybe this is an incorrect assumption and I introduced a bug there). Since the while loop checks for $this->pipes being not empty, if the process dies off and stream_select() starts failing, it will be stuck in the while loop forever. That's what I was fixing there. As far as I can tell, your fix reintroduces that problem. Can you explain a bit more what you mean by "error-output and output are empty"? Maybe adding a test for the case you are seeing would help too?
---------------------------------------------------------------------------
by romainneutron at 2013-01-04T17:47:00Z
Hi !
I'm actually using `Process` in a amqp client using PhpAmqpLib. Sometimes both output and error-output of a process are empty whereas the process returned with an exitcode equal to 0.
By *empty*, I mean that the output of both `$process->getOuptut()` and `$process->getErrorOuptut()` are equal to `''`.
I removed the `@` before the `stream_select` and realized that some calls where failing :
```
stream_select(): unable to select [4]: Interrupted system call (max_fd=13) in .../vendor/symfony/process/Symfony/Component/Process/Process.php on line 341
```
With my patch, it appears that if a `stream_select` call fails one time, it can be called with success a second time.
Adding a test case that triggers this error does not seem easy as it seems system related.
What do you think about it ?
---------------------------------------------------------------------------
by Seldaek at 2013-01-04T17:52:04Z
Ok I see. So I guess your fix makes sense since stream_select can fail legitimately, but it's not the whole story. If it fails because the process died off (or whatever the cause was on windows) we shouldn't keep trying forever. Maybe just adding a limit of N retries that is reset whenever a call succeeds would be enough to go over the odd system call being interrupted without allowing infinite loops. Not sure what N makes sense.
---------------------------------------------------------------------------
by igorw at 2013-01-04T17:53:45Z
As per the `stream_select` manpage it can return false when interrupted by a system call. That does not indicate that something is broken. However, I'm not sure if it is possible to distinguish between actual errors and interrupts without capturing and parsing the error message.
---------------------------------------------------------------------------
by romainneutron at 2013-01-04T18:50:56Z
I've updated the PR to consider the error message as it's currently the only solution to find out why `stream_select` failed
---------------------------------------------------------------------------
by romainneutron at 2013-01-04T18:59:15Z
Merged fixes suggested by @stloyd and @Seldaek
When `stream_select` is called and return false because of an `Interrupted
system call`, pipes are currently reset to an empty array.
As a result, both error-output and output are empty whereas the
exitcode is 0 (successful process).
This PR was merged into the 2.0 branch.
Commits
-------
73d9cef [Locale] Adjust `StubIntlDateFormatter` to have new methods added in PHP 5.5
b2ce983 [Locale] Fix failing `StubIntlDateFormatter` tests in PHP 5.5
913b564 [Locale] Fix failing `StubIntlDateFormatter` in PHP 5.5
8ae773b [Form] Fix failing `MonthChoiceList` in PHP 5.5
f4ce2f1 Update .travis.yml
Discussion
----------
[2.0] Add testing of PHP 5.5 on Travis-CI & fix failing code
This PR was merged into the 2.1 branch.
Commits
-------
d601b13 use the right RequestMatcherInterface
Discussion
----------
use the right RequestMatcherInterface
this fixes#6470 by using the right interface
* 2.0:
updated license year
Update src/Symfony/Component/HttpFoundation/Response.php
[Console] fixed unitialized properties (closes#5935)
[Bundle] [FrameworkBundle] fixed typo in phpdoc of the SessionListener.
bumped Symfony version to 2.0.21-DEV
updated VERSION for 2.0.21
updated CHANGELOG for 2.0.21
Conflicts:
src/Symfony/Bundle/SwiftmailerBundle/LICENSE
src/Symfony/Component/Filesystem/LICENSE
src/Symfony/Component/HttpFoundation/Response.php
src/Symfony/Component/HttpKernel/Kernel.php
This PR was submitted for the master branch but it was merged into the 2.0 branch instead (closes#6525).
Commits
-------
0b5f1e3 Update src/Symfony/Component/HttpFoundation/Response.php
Discussion
----------
Update src/Symfony/Component/HttpFoundation/Response.php
Fix phpdoc typo
This PR was merged into the 2.1 branch.
Commits
-------
6c5e615 [Form] Fixed DateType when used with the intl extension disabled.
Discussion
----------
[Form] Fixed DateType when used with the intl extension disabled
DateType's month select box returns timestamps when used with intl extension disabled (see #6485).
The reason for this is that stubbed formats use *L* instead of *M* for month representation. My fix is simply taking this into account when building array for the select box.
I didn't provide unit tests since they're disabled when intl extension is not enabled. I've only manually verified if the months array contains correct data.
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #6485
Todo: -
License of the code: MIT
Documentation PR: -
---------------------------------------------------------------------------
by bschussek at 2013-01-03T17:41:47Z
Doesn't this call for fixing the stub instead of changing the Form component?
---------------------------------------------------------------------------
by stof at 2013-01-03T17:50:49Z
@bschussek L and M are both valid for the month in Intl
---------------------------------------------------------------------------
by jakzal at 2013-01-03T17:52:41Z
[StubIntlDateFormatter uses FullTransformer](https://github.com/symfony/symfony/blob/2.1/src/Symfony/Component/Locale/Stub/StubIntlDateFormatter.php#L206) to format the date. [FullTransformer supports both *L* and *M*](https://github.com/symfony/symfony/blob/2.1/src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php#L50) formats. Both formats are treated interchangeably.
This PR was merged into the 2.1 branch.
Commits
-------
c526ad9 [Form] Fixed inheritance of "error_bubbling" in RepeatedType
Discussion
----------
[Form] Fixed inheritance of "error_bubbling" in RepeatedType
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
This PR was merged into the 2.1 branch.
Commits
-------
10b01c9 [HttpFoundation] fix return types and handling of zero in Response
75952af [HttpFoundation] better fix for non-parseable Expires header date
Discussion
----------
[HttpFoundation] Response fixes
First commit is a better solution for #6471 and also fixes several phpdocs.
The second commit fixes the return types and handling of zero.
---------------------------------------------------------------------------
by Tobion at 2013-01-02T21:16:25Z
@dlsniper cc
This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes#6534).
Commits
-------
a5e7fdf Fixed missing plural message in portuguese validator
Discussion
----------
[Validator] Fixed missing plural message
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Fixes the following tickets: #6151
Todo: -
License of the code: -
Documentation PR: -
This PR was squashed before being merged into the 2.1 branch (closes#6471).
Commits
-------
87b6cc2 Fix Expires when the header is -1
Discussion
----------
Fix Expires when the header is -1
This fixes the issue described in #6469.
Let me know if I've missed something.
Thanks.
---------------------------------------------------------------------------
by blaugueux at 2012-12-27T20:22:23Z
@dlsniper how can i help here, i really need to fix this issue
---------------------------------------------------------------------------
by dlsniper at 2012-12-27T20:28:53Z
I think @fabpot needs to get me some feedback on this but meanwhile you should try the proposed patch and let me know if it fixes the problem for you or I should add more tests to this.
Thanks!
---------------------------------------------------------------------------
by blaugueux at 2012-12-30T14:37:58Z
@dlsniper your patch is working great for me but it breaks tests. I agree that @fabpot point of view is required.
---------------------------------------------------------------------------
by dlsniper at 2012-12-30T18:38:38Z
@blaugueux Can you let me know what tests are failing? the one included in this PR or some custom ones from you? If it's the later, can you share some so that I can add them?
Thanks!
---------------------------------------------------------------------------
by arendjantetteroo at 2013-01-02T12:45:48Z
The headerbag fix works here. I'm not sure if the extra check in Response is really necessary, it works here without it.
This PR was merged into the 2.1 branch.
Commits
-------
c282a2b [DoctrineBridge] Allowing memcache port to be 0 to support memcache unix domain sockets.
Discussion
----------
[DoctrineBridge] Allowing memcache port to be 0 to support memcache unix domain sockets.
[DoctrineBridge] Allowing memcache port to be 0 to support memcache unix domain sockets.
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Fixes the following tickets: #6527
Todo: -
License of the code: MIT
Documentation PR: ~
This PR was merged into the 2.1 branch.
Commits
-------
bfccd28 HttpUtils must handle RequestMatcher too
Discussion
----------
HttpUtils must handle RequestMatcher too
2.1 introduced the RequestMatcher as alternative to UrlMatcher. but HttpUtils was not adjusted.
---------------------------------------------------------------------------
by lsmith77 at 2013-01-01T18:15:13Z
@fabpot could you have a look at this PR? would like to know if this will be addressed in core or if we need to find another solution inside the CMF routing.
This PR was merged into the 2.1 branch.
Commits
-------
a5aeb21 [Process] Prevented test from failing when pcntl extension is not enabled.
Discussion
----------
[Process] Prevented test from failing when pcntl extension is not enabled
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
*SIGTERM* constant is only defined if pcntl extension is present. Extension is not needed to use the Process component though.