This PR was merged into the 4.2-dev branch.
Discussion
----------
[FrameworkBundle] make debug:autowiring list useful services and their description
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27207
| License | MIT
| Doc PR | -
This PR closes#27207: we don't need "semantics" anymore. 4.2 has everything already to allow us to separate useful services from the other ones: any autowireable *alias* **is** a useful service!
Add autowiring by type + parameter name (#28234) and the story is done: we can easily hint people about which features their bundles provide, without being polluted by for-wiring-only services.
Here is a screenshot running this command(before I excluded the aliases for $cacheApp and $cacheSystem):
![image 3](https://user-images.githubusercontent.com/243674/47437006-f41f4380-d7a7-11e8-9f76-7f23e9193ce8.png)
ping @weaverryan as we drafted that together.
Fixes a few issues found meanwhile.
That should definitely go in 4.2.
Commits
-------
56aab09b01 [FrameworkBundle] make debug:autowiring list useful services and their description
This PR was merged into the 4.2-dev branch.
Discussion
----------
[Translation] allow using the ICU message format using domains with the "+intl-icu" suffix
| Q | A
| ------------- | ---
| Branch? | 4.2
| Bug fix? | no
| New feature? | yes
| BC breaks? | no (unless merged after 4.2)
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
This PR replaces the `FallbackFormatter` logic by explicit opt-in.
This allows triggering accurate exceptions when one wants to use the ICU message format but the extension (or the polyfill) is missing.
The way to opt-in is to put messages in a domain with the `+intl-icu` suffix *at loading/declaration time*.
E.g. translations in `messages+intl-icu.en.yaml` will be read as part of the `messages` domain , but will be parsed by intl's `MessageFormatter` instead of the default Symfony one.
To make it seamless to adopt the ICU format, `%`s are trimmed from parameter keys (idea borrowed from https://github.com/webfactory/WebfactoryIcuTranslationBundle)
This is for 4.2 as it changes a feature that is not released yet.
ping @Nyholm - we drafted this together.
Commits
-------
d95cc4d4c6 [Translation] allow using the ICU message format using domains with the "+intl-icu" suffix
This PR was merged into the 4.2-dev branch.
Discussion
----------
[FrameworkBundle] Moving Cache-related CompilerPass to Cache component
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Hi, first PR here 🎉
This is related to #27479 and a first work to move Cache-related CompilerPass out of `FrameworkBundle`, it allows to decouple part of the FrameworkBundle configuration classes.
Since we didn't choosed a fixed directory organization to manage theses, I actually did same as in Bundles and used DependencyInjection folder. If we do choose to follow my [last comment directory organization proposal](https://github.com/symfony/symfony/issues/27479#issuecomment-401307685), I'll move theses CompilerPass to `Framework/DependencyInjection/Compiler` directory (nothing hard here).
Thanks to @DanieleGBX that helped me checking this PR and gave me some good advices !
Here is a list of all CompilerPass I moved, with related component (I also moved related tests when they were present):
- **Cache** - CacheCollectorPass
- **Cache** - CachePoolClearerPass
- **Cache** - CachePoolPass
- **Cache** - CachePoolPrunerPass
Commits
-------
53e7040829 moving Cache-related compiler pass from FrameworkBundle to Cache component
This PR was merged into the 4.2-dev branch.
Discussion
----------
[FrameworkBundle] Register an identity translator as fallback
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #27589
| License | MIT
| Doc PR | -
The same approach as https://github.com/symfony/symfony/pull/24358, suggested by @xabbuh here https://github.com/symfony/symfony/issues/27589#issuecomment-421542776
**Templating Engine Context**
The Form component can be used without the Translation component.
However, to be able to use the default form themes provided by the
`FrameworkBundle` you need to have the `translator` helper to be available.
This change ensure that there will always be a `translator` helper which
as a fallback will just return the message key if no translator is present.
Commits
-------
5330f2d017 [FrameworkBundle] Register an identity translator as fallback
The Form component can be used without the Translation component.
However, to be able to use the default form themes provided by the
FrameworkBundle you need to have the `translator` helper to be
available.
This change ensure that there will always be a `translator` helper which
as a fallback will just return the message key if no translator is
present.
This PR was merged into the 4.2-dev branch.
Discussion
----------
[FrameworkBundle] add class description to debug:container command
| Q | A
| ------------- | ---
| Branch? | master
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
| Doc PR | symfony/symfony-docs#... <!-- required for new features -->
Our developer finds it useful when the `console debug:container <service>` command print out the class description.
![bildschirmfoto vom 2018-08-02 14-22-17](https://user-images.githubusercontent.com/200904/43583449-d4bf74e4-965f-11e8-8e88-0db8017c5a90.png)
* [x] json
* [x] txt
* [x] xml
* [x] md
Commits
-------
5fc6155225 [FrameworkBundle] add class description to debug:container command
* 4.1:
Move commands-specifics to a compiler pass in FWB
bumped Symfony version to 4.1.5
updated VERSION for 4.1.4
updated CHANGELOG for 4.1.4
[travis] disable symfony/flex during phpunit install
Uses `session.cookie_samesite` for PHP >= 7.3. For PHP < 7.3 it first
does a session_start(), find the emitted header, changes it, and emits
it again with the value for SameSite added.