This PR was squashed before being merged into the 5.2-dev branch.
Discussion
----------
[RateLimiter] Moved classes implementing LimiterInterface to a new namespace
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no?
| Tickets |
| License | MIT
| Doc PR |
Before we release the RateLimit component.
I think it would be a good idea to put the 7 classes that belongs to a specific strategy in their own "Policy" namespace. It is very likely that it will be more strategies in the future and the `Symfony\Component\RateLimiter` namespace is crowed as it is.
I decided not to put the `CompoundLimiter` in this namespace as it is not a strategy.
Commits
-------
1e6cea56e4 [RateLimiter] Moved classes implementing LimiterInterface to a new namespace
This PR was merged into the 4.4 branch.
Discussion
----------
[Cache] Fixed broken test
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
I added this line of code in https://github.com/symfony/symfony/pull/38635
However, some time between 4.4 and 5.x the `FilesystemAdapterTest::rmdir()` was removed. This PR make sure tests does not fail on 5.x.
I target 4.4, I believe it will be simple to merge up to 5.1 and 5.x. Let me know if I should target 5.x instead.
Commits
-------
e17797c8e4 [Cache] Fixed broken test
This PR was merged into the 3.4 branch.
Discussion
----------
Put branch-version in the source for CI
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The CI must know the branch-version. We could put the version in each CI script, but that'd mean upgrading as many CI configs every 6 months. I'm trying to put the version in one file instead.
Commits
-------
008f2da031 Put branch-version in the source for CI
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] Bump default PHPUnit version for PHP 8 to 9.4
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | N/A
| License | MIT
| Doc PR | N/A
PHPUnit 9.4 is the currently maintained branch, so let's bump our default for PHP 8 before PHP 8 is released.
Commits
-------
9f322091c8 Bump default PHPUnit version for PHP 8 to 9.4.
* 5.1:
fix merge
fix merge
Remove branch-version (keep them for contracts only)
[HttpClient] relax auth bearer format requirements
[PHPUnitBridge] Silence errors from mkdir()
[DependencyInjection] Preload classes with union types correctly.
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
[TwigBridge] Remove "transchoice" from the code base
Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
Add expectDeprecation, expectNotice, expectWarning, and expectError to TestCase polyfill
[String] fix before/after[Last]() returning the empty string instead of the original one on non-match
Add missing exporter function for PHPUnit 7
[Validator] Add missing romanian translations
[String] fix slicing in UnicodeString
[Cache] Use correct expiry in ChainAdapter
do not translate null placeholders or titles
* 4.4:
fix merge
Remove branch-version (keep them for contracts only)
[HttpClient] relax auth bearer format requirements
[PHPUnitBridge] Silence errors from mkdir()
[DependencyInjection] Preload classes with union types correctly.
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
Add expectDeprecation, expectNotice, expectWarning, and expectError to TestCase polyfill
Add missing exporter function for PHPUnit 7
[Validator] Add missing romanian translations
[Cache] Use correct expiry in ChainAdapter
do not translate null placeholders or titles
* 3.4:
Remove branch-version (keep them for contracts only)
[Serializer] fix decoding float XML attributes starting with 0
add missing dutch translations
[Validator] Add missing romanian translations
do not translate null placeholders or titles
This PR was merged into the 3.4 branch.
Discussion
----------
Remove branch-version (keep them for contracts only)
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
As advised by @Seldaek
Commits
-------
f8fe4bf9f5 Remove branch-version (keep them for contracts only)
This PR was merged into the 4.4 branch.
Discussion
----------
[PHPUnitBridge] Silence warnings from mkdir()
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
When I run `./phpunit` the second time I get a warning thrown at me. I think we could silence this warning. If the directory cannot be created then we will get a similar warning from the `touch()` function.
```
./phpunit --exclude-group tty,benchmark,intl-data
#!/usr/bin/env php
PHP Warning: mkdir(): File exists in /path/to/symfony/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php on line 44
PHP Stack trace:
PHP 1. {main}() /path/to/symfony/phpunit:0
PHP 2. require() /path/to/symfony/phpunit:31
PHP 3. require() /path/to/symfony/vendor/symfony/phpunit-bridge/bin/simple-phpunit:13
PHP 4. include() /path/to/symfony/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php:411
PHP 5. PHPUnit\TextUI\Command::main($exit = *uninitialized*) /path/to/symfony/.phpunit/phpunit-9.4-0/phpunit:22
PHP 6. Symfony\Bridge\PhpUnit\Legacy\CommandForV9->run($argv = *uninitialized*, $exit = *uninitialized*) /path/to/symfony/.phpunit/phpunit-9.4-0/src/TextUI/Command.php:101
PHP 7. Symfony\Bridge\PhpUnit\Legacy\CommandForV9->handleArguments($argv = *uninitialized*) /path/to/symfony/.phpunit/phpunit-9.4-0/src/TextUI/Command.php:116
PHP 8. PHPUnit\TextUI\XmlConfiguration\TestSuiteMapper->map($configuration = *uninitialized*, $filter = *uninitialized*) /U
```
Commits
-------
f3976ee5d8 [PHPUnitBridge] Silence errors from mkdir()
This PR was merged into the 5.x branch.
Discussion
----------
[HttpClient] Adding missing dependency for dev
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets |
| License | MIT
| Doc PR |
This will make sure Travis is happy again.
Commits
-------
552e704d6c [HttpClient] Adding missing dependency for dev
This PR was squashed before being merged into the 5.x branch.
Discussion
----------
[RateLimiter] Rename RateLimiter to RateLimiterFactory
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no
| Deprecations? | No, not released yet
| Tickets |
| License | MIT
| Doc PR | should be added
Sorry for making a few BC breaks.
@wouterj [said](https://github.com/symfony/symfony/pull/38562#issue-503193238) that this class was suggested to be named `LimiterFactory` before. But that was rejected.
Just my looking at the names of the classes we currently have:
- Rate
- RateLimit
- RateLimiter
I find it hard to know what these are doing and the difference between them. Note that none of them are used as a rate limiter (ie implements `LimiterInterface`)
I would like to be clear that a `RateLimiterFactory` is used to create an object implementing `LimiterInterface`.
Commits
-------
8be261b300 [RateLimiter] Rename RateLimiter to RateLimiterFactory
This PR was merged into the 5.x branch.
Discussion
----------
[Notifier] Add missing upgrade entries and fixed changelog
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets | <!-- prefix each issue number with "Fix #", no need to create an issue if none exist, explain below instead -->
| License | MIT
| Doc PR | <!-- required for new features -->
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.
Additionally (see https://symfony.com/releases):
- Always add tests and ensure they pass.
- Never break backward compatibility (see https://symfony.com/bc).
- Bug fixes must be submitted against the lowest maintained branch where they apply
(lowest branches are regularly merged to upper ones so they get the fixes too.)
- Features and deprecations must be submitted against branch 5.x.
-->
Follow-up of https://github.com/symfony/symfony/pull/35773
Commits
-------
c6b32cdbd2 add missing upgrade entries and fixed changelog
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
[Serializer] fix decoding float XML attributes starting with 0
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix#38666
| License | MIT
| Doc PR | n/a
This is a naive approach to fix#38666, assuming it is something worth fixing.
I checked different cases and it seems to be fixing all of them, but I bet there will be some other edge cases which still won't be covered properly.
Commits
-------
97b4306c30 [Serializer] fix decoding float XML attributes starting with 0
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] Support new expect methods in test case polyfill
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | no
| New feature? | yes
| Deprecations? | no
| License | MIT
This PR adds the `expectError`, `expectWarning`, `expectNotice`, ~and `expectDeprecation`~ methods to the test case polyfill.
~Note that I saw a `expectDeprecation` message in `ExpectDeprecationTrait`, but I couldn't quite figure out what it's supposed to do. Please let me know if the `expectDeprecation` method needs to be removed from the test polyfill.~
Commits
-------
8a49a263a2 Add expectDeprecation, expectNotice, expectWarning, and expectError to TestCase polyfill
This PR was merged into the 4.4 branch.
Discussion
----------
[PHPUnitBridge] Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
| Q | A
| ------------- | ---
| Branch? | 5.x
| Bug fix? | not really
| New feature? | yes
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License | MIT
This expands the compatibility layer for PHPUnit constraints by supporting PHPUnit 8 and PHPUnit 9. Support for the latter requires also adding the `evaluate` method to the trait, as this method gets a signature change in PHPUnit 9.
Commits
-------
f79ad80009 Support PHPUnit 8 and PHPUnit 9 in constraint compatibility trait
This PR was merged into the 5.1 branch.
Discussion
----------
[TwigBridge] Remove "transchoice" from the code base
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
Commits
-------
713c2623e5 [TwigBridge] Remove "transchoice" from the code base
This PR was merged into the 3.4 branch.
Discussion
----------
[Validator] adds missing dutch translations to validator component
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| License | MIT
[Validator] This PR adds some missing dutch translations to the validator component
Commits
-------
02a8ca39f4 add missing dutch translations
This PR was merged into the 5.x branch.
Discussion
----------
[RateLimiter] Fix delete method of the cache storage
| Q | A
| ------------- | ---
| Branch? | 5.2
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | None
| License | MIT
This PR fixes a small issue with RateLimiter's cache storage and the delete method: all getItems are called with a sha1 of the id, but not the one for delete, which makes it miss the deletion.
Commits
-------
b61d9d1ea3 minor
88c1e2439e Added a test
fb540bba73 Fix delete method on RateLimiter's cache storage
This PR was merged into the 5.1 branch.
Discussion
----------
[String] fix before/after[Last]() returning the empty string instead of the original one on non-match
| Q | A
| ------------- | ---
| Branch? | 5.1
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
The current behavior is the least useful one. Returning the original string when no match is found is the most sensible behavior. It saves code instead of requiring more.
Typical example is when removing a potential suffix:
`$bar = $foo->beforeLast(['.svg', '.png']);` should remove any of these extensions if found, and return the original string otherwise.
Commits
-------
22a2740888 [String] fix before/after[Last]() returning the empty string instead of the original one on non-match
This PR was merged into the 4.4 branch.
Discussion
----------
[PhpUnitBridge] Add missing exporter function for PHPUnit 7
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | yes
| New feature? | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License | MIT
This adds a missing `exporter` function to the compatibility trait for PHPUnit constraints. This method is still required for PhpUnit 7.
Commits
-------
52e7d78dca Add missing exporter function for PHPUnit 7