This PR was submitted for the 3.0 branch but it was merged into the 2.7 branch instead (closes#17011).
Discussion
----------
[CONSOLE] Remove unnecessary test
Question interface 'quarantees' that $validator is null or callable
Commits
-------
5dc9bd9 Remove unnecessary test
* Fixes edge case on windows where PHP does not generate a PHP Warning but instead returns a wrong result https://bugs.php.net/bug.php?id=71103
* Improved error reporting on `unlink` used in `remove()`
This PR was merged into the 2.7 branch.
Discussion
----------
[2.7][Console] Table: fix some PhpDoc
| Q | A
| ------------- | ---
| Fixed tickets | n/a
| License | MIT
Commits
-------
1eaef57 [2.7][Console] Table: fix some PhpDoc
This PR was merged into the 2.3 branch.
Discussion
----------
Clean useless deprecation silencing
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
We added these when we triggered unsilenced notices. But we silence them now.
Commits
-------
9953550 Clean useless deprecation silencing
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Enhance compatiblity with --enable-sigchild
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16888
| License | MIT
| Doc PR | -
This is complete rewrite of the fallback `--enable-sigchild` handling in the Process class.
It removes most of the differences between this and a non-sigchild-enabled php.
Which means the test suite doesn't need anymore to be replayed 3 times (which is how I started this PR, looking for a way to test this component in less time).
I validated this with a locally compiled php, sigchild-enabled. Green.
Changes affect only this special-mode php.
Ping @romainneutron and @Seldaek (original writer of the sigchild support)
Submitted on 2.3 as bugfix, which it is to me.
Commits
-------
e7cc4aa [Process] Enhance compatiblity with --enable-sigchild
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] prevent cache:clear creating too long paths
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15547#16783
| License | MIT
| Doc PR | -
Commits
-------
6e279c5 [FrameworkBundle] prevent cache:clear creating too long paths
This PR was merged into the 2.7 branch.
Discussion
----------
Fix short array syntax for php 5.3
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
70afcc8 fix short array syntax for php 5.3
This PR was submitted for the master branch but it was merged into the 2.7 branch instead (closes#16450).
Discussion
----------
[Serializer] Fixed `array_unique` on array of objects in `getAllowedAttributes`.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #16445
| License | MIT
| Doc PR | symfony/symfony-docs#16445
Commits
-------
6110bd9 [Serializer] Fixed on array of objects in .
This PR was merged into the 2.7 branch.
Discussion
----------
[FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Currently when you run the TranslationUpdateCommand and want to write the translation in the domain file without a `translations` directory the output is `[OK] Success` but the file is not created.
This PR fix the creation of the directory.
Commits
-------
8c45107 [FrameworkBundle] [Translation] Fixed translations not written when no translations directory in update command
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Always call proc_close
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15617
| License | MIT
| Doc PR | -
This should fix one more transient test, and a wrong behavior.
Commits
-------
ccb67d7 [Process] Always call proc_close
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.lb.xlf
This PR was merged into the 2.7 branch.
Discussion
----------
[FrameworkBundle] Disable built-in server commands when Process component is missing
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This also backports the improvement for the `suggest` section from #16650 to the `2.7` branch and improves it by also mentioning the other built-in server commands.
Commits
-------
972c4ca disable server commands without Process component
dd82b64 list all server command names in suggestion
d18fb9b Suggested Process dependency
This PR was merged into the 2.3 branch.
Discussion
----------
[FrameworkBundle] Disable the server:run command when Process component is missing
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This also backports the improvement for the `suggest` section from #16650 to the `2.3` branch.
Commits
-------
99d1741 disable server:run cmd without Process component
604174c Suggested Process dependency
This PR was merged into the 2.3 branch.
Discussion
----------
[Process] Fix stopping a process on Windows
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #15617
| License | MIT
| Doc PR | -
Commits
-------
80fb51c [Process] Fix stopping a process on Windows
This PR was merged into the 2.3 branch.
Discussion
----------
CS: general fixes
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | ?
| Fixed tickets | N/A
| License | MIT
| Doc PR | N/A
Commits
-------
d3f671e CS: general fixes
This PR was merged into the 2.3 branch.
Discussion
----------
[MonologBridge] Added a test case for the Logger class
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
So far, there is no test case that ensures that the `Symfony\Bridge\Monolog\Logger` can be instantiated. Because of this, bug #16837 was not discovered by the tests. This PR adds a simple test case that tests some basic functionality of that particular class.
Commits
-------
78c0a6e Added a test case for the Logger class.
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes#16742).
Discussion
----------
[Console][ProgressBar] redrawFrequency should never be 0
Set the redraw frequency at least to 1. Setting it to 0 would otherwise produce a "division by zero" error.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
### why?
I had a piece of code that used a ProgressBar and set the redraw frequency to a calculated value. In some cases this calculated value was 0 (or just smaller than 1, internally a cast to `int` is made). In the `setProgress` the redraw frequency is used for a calculation of the period. There the error happens (and shows that redraw frequency should never be 0).
### Ticket
There is no ticket concerning this issue. I could do one, if you want.
### Tests
This gets tested implicitly in `ProgressBarTest::testNonDecoratedOutputWithoutMax`.
Commits
-------
a1c207c Set the redraw frequency at least to 1. Setting it to 0 would otherwise produce an error.
This PR was merged into the 2.7 branch.
Discussion
----------
[TwigBridge] Clean deps now that 2.8.0 is tagged
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
e6efe7e [TwigBridge] Clean deps now that 2.8.0 is tagged
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#16798).
Discussion
----------
[Process] Unset callback after stop to free memory
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
As of yet, a `Process` instance can't free memory.
The built-in callback has a self-reference to the intance not cleared after instance destruction.
I've tried to change both `buildCallback` and https://github.com/symfony/process/blob/v2.7.6/Process.php#L1373 usage to avoid self-referencing, but it can't be done without breaking BC, and the memory issue is still there.
A simple test script (that obiously can't be embedded in unit-tests)
```php
for ($inc = 0; $inc < 10000; $inc++) {
$process = new Symfony\Component\Process\Process('echo 1');
$process->mustRun();
$process->stop();
unset($process);
echo (memory_get_usage(true) / 1000000) . ' MB ' . $inc . PHP_EOL;
}
```
Before:
```
1.572864 MB 0
5.505024 MB 9999
```
After:
```
1.572864 MB 0
1.572864 MB 9999
```
Ok, in this simple scenario 4 MB of RAM is nothing, but in our business app full of IOC where `unset`-ting is hard, our RAM explodes.
After `stop()`, the callback is no longer necessary.
To be clear, the garbage collector in the previous example was already active.
Deactivating it manually, which somewhere is needed to avoid particluar segfaults, obiously leads to worse scenarios:
Before:
```
gc_disable();
1.572864 MB 0
29.360128 MB 9999
```
After:
```
gc_disable();
1.572864 MB 0
1.572864 MB 9999
```
Commits
-------
ec93b9a [Process] Unset callback after stop to free memory
This PR was squashed before being merged into the 2.3 branch (closes#16799).
Discussion
----------
Improve error message for undefined DIC aliases
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | n/a
Additionally, I think the arguments need to be the other way round (`templating` is an alias pointing to `templating.engine.twig`).
Commits
-------
9195cd3 Improve error message for undefined DIC aliases