Commit Graph

36340 Commits

Author SHA1 Message Date
Samuel ROZE
aa04d06dc4 feature #26632 [Messenger] Add AMQP adapter (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26632).

Discussion
----------

[Messenger] Add AMQP adapter

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | ø
| License       | MIT

- [x] Depends on the Messenger component #24411
- [x] Add tests once we are all happy about the structure

---

In order to give a great DX for simple needs such as sending messages through an AMQP broker such as RabbitMq, we should ship an AMQP adapter for the Messenger component within Symfony Core. It should be as simple as this proposal. We don't need to handle more specific use-cases nor brokers as other adapters such as the [enqueue adapter](https://github.com/sroze/enqueue-bridge) can also be used.

Configuring the adapter is as simple as the following configuration:
```yaml
# config/packages/messenger_adapters.yaml
framework:
    messenger:
        adapter: "%env(MESSENGER_DSN)%"
```

With the given `.env` for example:
```
MESSENGER_DSN=amqp://guest:guest@localhost:5672/%2f/messages
```

Keep in mind that after having configured the adapter, developers have to route their messages to the given adapter.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.default_sender
```

---

Additionally, multiple adapters can be created and messages routed to these ones.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        adapters:
            commands: "amqp://guest:guest@localhost:5672/%2f/commands"
            maintenance: "amqp://guest:guest@localhost:5672/%2f/maintenance"
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.commands_sender
            'App\Message\Command\MaintenanceSpecificCommand': messenger.maintenance_sender
```

Commits
-------

798c230ad5 [Messenger] Add AMQP adapter
2018-04-12 09:16:00 +01:00
Samuel ROZE
798c230ad5 [Messenger] Add AMQP adapter 2018-04-12 09:15:52 +01:00
Nicolas Grekas
9a999553a5 bug #26874 [FrameworkBundle] Fixed configuration of php_errors.log (lyrixx)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[FrameworkBundle] Fixed configuration of php_errors.log

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #26504 and #26740 (wrong implementation)
| License       | MIT
| Doc PR        |

Commits
-------

8e0fcf9 [FrameworkBundle] Fixed configuration of php_errors.log
2018-04-09 13:39:40 -05:00
Grégoire Pineau
8e0fcf933c [FrameworkBundle] Fixed configuration of php_errors.log 2018-04-09 18:19:45 +02:00
Samuel ROZE
a726f05f81 minor #26862 [Messenger] Rename the middleware tag (sroze)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Messenger] Rename the middleware tag

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | ø
| License       | MIT
| Doc PR        | symfony/symfony-docs#9437

After a using it for a bit of time, it's weird to have the `messenger.message_handler` tag while using the `message_bus_middleware` tag for the middlewares.

I propose to rename the tag from `message_bus_middleware` to `messenger.bus_middleware` to keep some consistency.

Commits
-------

dd18445482 Rename the middleware tag from `message_bus_middleware` to `messenger.bus_middleware`
2018-04-09 09:13:48 +01:00
Robin Chalas
5736321ea7 feature #26863 [Console] Support iterable in SymfonyStyle::write/writeln (ogizanagi)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] Support iterable in SymfonyStyle::write/writeln

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Relates to https://github.com/symfony/symfony/pull/26847.

This would enable iterables benefits even when using `SymfonyStyle` output.

Commits
-------

d66827e [Console] Support iterable in SymfonyStyle::write/writeln
2018-04-09 09:47:20 +02:00
Maxime Steinhausser
d66827eca4 [Console] Support iterable in SymfonyStyle::write/writeln 2018-04-08 12:38:20 +02:00
Samuel ROZE
dd18445482 Rename the middleware tag from message_bus_middleware to messenger.bus_middleware 2018-04-08 10:53:48 +01:00
Christian Flothmann
a59ef8f8b6 Merge branch '4.0'
* 4.0:
  [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd
  bumped Symfony version to 4.0.9
  updated VERSION for 4.0.8
  updated CHANGELOG for 4.0.8
  bumped Symfony version to 3.4.9
  updated VERSION for 3.4.8
  updated CHANGELOG for 3.4.8
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 11:02:26 +02:00
Christian Flothmann
2bec0e1400 Merge branch '3.4' into 4.0
* 3.4:
  [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd
  bumped Symfony version to 3.4.9
  updated VERSION for 3.4.8
  updated CHANGELOG for 3.4.8
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 10:49:08 +02:00
Christian Flothmann
7cd5e43141 Merge branch '2.8' into 3.4
* 2.8:
  bumped Symfony version to 2.8.39
  updated VERSION for 2.8.38
  updated CHANGELOG for 2.8.38
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 10:21:29 +02:00
Christian Flothmann
611b84606d Merge branch '2.7' into 2.8
* 2.7:
  bumped Symfony version to 2.7.46
  updated VERSION for 2.7.45
  update CONTRIBUTORS for 2.7.45
  updated CHANGELOG for 2.7.45
  [Yaml] Throw parse error on unfinished inline map
2018-04-08 09:53:13 +02:00
Christian Flothmann
16edba5d99 bug #26834 [Yaml] Throw parse error on unfinished inline map (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[Yaml] Throw parse error on unfinished inline map

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Throws a parse error instead of a PHP notice.

Commits
-------

4359936 [Yaml] Throw parse error on unfinished inline map
2018-04-08 09:51:31 +02:00
Tobias Schultze
629e82dca6 minor #26828 [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface (nicolas-grekas)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Forgotten in #26096

Commits
-------

5d7117bf0a [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface
2018-04-07 21:59:24 +02:00
Tobias Schultze
ec999c791f feature #26847 [Console] add support for iterable in output (Tobion)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Console] add support for iterable in output

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | not really
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Very useful if you just want to print something from a generator. Using array requires everything in memory. Lets make use of the new iterable type.

Commits
-------

5100071caf [Console] add support for iterable in output
2018-04-07 20:27:21 +02:00
Nicolas Grekas
5d7117bf0a [HttpFoundation] Have MigratingSessionHandler implement SessionUpdateTimestampHandlerInterface 2018-04-07 15:53:44 +02:00
Nicolas Grekas
c36f6db14b [Translation] Use unix-style EOL for xliff-core-1.2-strict.xsd 2018-04-07 15:20:24 +02:00
Fabien Potencier
02e5fbceea bumped Symfony version to 4.0.9 2018-04-06 18:49:36 +02:00
Tobias Schultze
5100071caf [Console] add support for iterable in output 2018-04-06 18:29:06 +02:00
Fabien Potencier
b0fcabb5d8
Merge pull request #26849 from fabpot/release-4.0.8
released v4.0.8
2018-04-06 18:25:21 +02:00
Fabien Potencier
cdef8e4256 updated VERSION for 4.0.8 2018-04-06 18:25:03 +02:00
Fabien Potencier
f3dd47890a updated CHANGELOG for 4.0.8 2018-04-06 18:24:58 +02:00
Fabien Potencier
4dda7abdce bumped Symfony version to 3.4.9 2018-04-06 18:24:29 +02:00
Fabien Potencier
5304a36c5e
Merge pull request #26844 from fabpot/release-3.4.8
released v3.4.8
2018-04-06 17:20:04 +02:00
Fabien Potencier
884b994be9 updated VERSION for 3.4.8 2018-04-06 17:19:48 +02:00
Fabien Potencier
0cbee5e9aa updated CHANGELOG for 3.4.8 2018-04-06 17:19:35 +02:00
Fabien Potencier
b04452a223 bumped Symfony version to 2.8.39 2018-04-06 17:19:00 +02:00
Fabien Potencier
481883d56c
Merge pull request #26841 from fabpot/release-2.8.38
released v2.8.38
2018-04-06 16:52:23 +02:00
Fabien Potencier
47b29834cb updated VERSION for 2.8.38 2018-04-06 16:52:08 +02:00
Fabien Potencier
fa3f105f61 updated CHANGELOG for 2.8.38 2018-04-06 16:51:52 +02:00
Fabien Potencier
e73aa2985b bumped Symfony version to 2.7.46 2018-04-06 16:50:48 +02:00
Fabien Potencier
42fb3a4371
Merge pull request #26835 from fabpot/release-2.7.45
released v2.7.45
2018-04-06 14:49:55 +02:00
Fabien Potencier
952879e147 updated VERSION for 2.7.45 2018-04-06 14:49:33 +02:00
Fabien Potencier
175e883e6c update CONTRIBUTORS for 2.7.45 2018-04-06 14:49:33 +02:00
Fabien Potencier
f331d964d9 updated CHANGELOG for 2.7.45 2018-04-06 14:49:17 +02:00
Nicolas Grekas
43599362a2 [Yaml] Throw parse error on unfinished inline map 2018-04-06 13:01:31 +02:00
Nicolas Grekas
368a0c34b8 [PhpUnitBridge] Fix PHP 5.3 compat 2018-04-06 09:49:42 +02:00
Fabien Potencier
f1a9d7098e Merge branch '4.0'
* 4.0:
  [Form] Fix typo in Upgrade 3.4/4.0
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:57 +02:00
Fabien Potencier
5ea5ee2079 Merge branch '3.4' into 4.0
* 3.4:
  [Form] Fix typo in Upgrade 3.4/4.0
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:43 +02:00
Fabien Potencier
ee054cd756 Merge branch '2.8' into 3.4
* 2.8:
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
  Fix Typo in Guard Factory
2018-04-06 09:35:25 +02:00
Fabien Potencier
72b238ed3a Merge branch '2.7' into 2.8
* 2.7:
  [EventDispatcher] Dispatcher in stopEventPropagation test now registers correct listener
  Update da translations
2018-04-06 09:35:03 +02:00
Fabien Potencier
dc29b27a83 feature #26660 [SecurityBundle] allow using custom function inside allow_if expressions (dmaicher)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[SecurityBundle] allow using custom function inside allow_if expressions

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | no
| Fixed tickets | https://github.com/symfony/symfony/issues/23208
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/9552

This is a follow-up for https://github.com/symfony/symfony/pull/26263

As discussed there I propose to allow using custom functions as a new feature only and thus targeting `master` here.

If we agree to move forward with this there are some todos:
- [x] fix tests
- [x] add cache warmer for allow_if expressions
- [x] update documentation to mention this new feature
- [x] update UPGRADE files

ping @nicolas-grekas @stof

Commits
-------

41552cd896 [SecurityBundle] allow using custom function inside allow_if expressions
2018-04-06 08:18:32 +02:00
Fabien Potencier
0f4c0e92b2 feature #26096 [HttpFoundation] Added a migrating session handler (rossmotley)
This PR was squashed before being merged into the 4.1-dev branch (closes #26096).

Discussion
----------

[HttpFoundation] Added a migrating session handler

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/9496

- [x] gather feedback for my changes
- [x] submit changes to the documentation
- [x] update the changelog

When migrating to a new session handler on a live system, it's useful to be able to do it with no loss of session data. This migrating handler allows the sessions to be written to an additional handler to enable a migration workflow like:

* Switch to migrating handler, with your new handler as the 'write only' one. The old handler behaves as usual and sessions get written to the new one.
* After verifying the data in the new handler (and after the session gc period), switch the migrating handler to use your old handler as the 'write only' one instead, so the sessions will now be read from the new handler. This step allows easier rollbacks.
* After verifying everything, switch from the migrating handler to the new handler

Commits
-------

3acd548349 [HttpFoundation] Added a migrating session handler
2018-04-06 07:59:02 +02:00
Ross Motley
3acd548349 [HttpFoundation] Added a migrating session handler 2018-04-06 07:58:54 +02:00
Fabien Potencier
47e2bd31da feature #26528 [Debug] Support any Throwable object in FlattenException (derrabus)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Debug] Support any Throwable object in FlattenException

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #26429
| License       | MIT
| Doc PR        | N/A

Alternative to #26447 without BC breaks, follows #26028.

This PR removes the need to convert `Throwable` objects into exceptions when working with `FlattenException`.

ping @instabledesign @ostrolucky @nicolas-grekas

Commits
-------

96c1a6fa71 Support any Throwable object in FlattenException.
2018-04-06 07:53:59 +02:00
Fabien Potencier
60e48cb0f5 fixed typo 2018-04-06 07:34:50 +02:00
Fabien Potencier
dbafc11630 bug #26799 [DI][Config] Fix empty env validation (ro0NL)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[DI][Config] Fix empty env validation

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26747
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest 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 the master branch.
-->

Commits
-------

d40a4f409d [DI][Config] Fix empty env validation
2018-04-06 07:33:43 +02:00
Fabien Potencier
3a37e41bfb bug #26816 [Messenger][FrameworkBundle] Move collector, command into the component & minor tweaks (ogizanagi)
This PR was squashed before being merged into the 4.1-dev branch (closes #26816).

Discussion
----------

[Messenger][FrameworkBundle] Move collector, command into the component & minor tweaks

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | N/A   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A

Some suggestions more aligned with most of the core practices, mainly:

- Move the command & collector to the component itself. They are not dependent of the Fwb in any way and are useful out of the fwb usage.
- Add an exception in FrameworkExtension if the `framework.messenger` key is enabled, but the component isn't installed.

Commits
-------

6aec62bad3 [FrameworkBundle] Minor messenger component tweaks
f9c9ca0514 [Messenger] Move data collector & command into the component
2018-04-06 07:28:47 +02:00
Fabien Potencier
179fe2f8c9 bug #26818 [FrameworkBundle] remove CSRF Twig extension when class is missing (xabbuh)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[FrameworkBundle] remove CSRF Twig extension when class is missing

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no>
| Tests pass?   | yes
| Fixed tickets | #26815
| License       | MIT
| Doc PR        |

Commits
-------

79e898ffe8 remove CSRF Twig extension when class is missing
2018-04-06 07:25:42 +02:00
Fabien Potencier
a8d3012845 minor #26826 [Form] Fix typo in Upgrade 3.4/4.0 (yceruto)
This PR was squashed before being merged into the 3.4 branch (closes #26826).

Discussion
----------

[Form] Fix typo in Upgrade 3.4/4.0

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

5fa9a5865a/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php (L96)

Commits
-------

97d2fbbe97 [Form] Fix typo in Upgrade 3.4/4.0
2018-04-06 07:20:56 +02:00