Commit Graph

155 Commits

Author SHA1 Message Date
Fabien Potencier
87e84ac40e Merge branch '4.4'
* 4.4:
  Extract Abstract Doctrine Middleware
  [Translation] refactor ArrayLoader::flatten
  [TwigBundle] mark TemplateIterator as internal
  Improved error message on create a form builder with invalid options
  [Security] add PasswordEncoderInterface::needsRehash()
  [HttpClient] add $response->cancel()
  Add clear Entity Manager middleware (closes #29662)
  [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections
  [Validator] Improve TypeValidator to handle array of types
  Add exception as HTML comment to beginning and end of `exception_full.html.twig`
  [Validator] Add compared value path to violation parameters
2019-06-04 09:20:45 +02:00
Fabien Potencier
a2b79e15e1 feature #31739 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections

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

Allows removing the `ControllerNameParser` class and corresponding `controller_name_converter` service in 5.0.
Should have been done in 4.1, better late than never.

Commits
-------

1f37275a72 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections
2019-06-04 07:54:11 +02:00
Fabien Potencier
852fb36101 feature #31831 [HttpClient] add $response->cancel() (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] add $response->cancel()

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

(BC break allowed by the `@experimental` annotation)

Canceling a response is already possible but requires registering a progress function and throwing an exception from it. This new method aims at making this much simpler.

/cc @jderusse as we discussed this on Slack.

Commits
-------

549930e820 [HttpClient] add $response->cancel()
2019-06-04 07:48:40 +02:00
Nicolas Grekas
5e293d9e58 Merge branch '4.4'
* 4.4:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Add missing deprecations for PHP templating layer
  Simplify code - catch \Throwable capture all exceptions
  Collect locale details earlier in the process in TranslationDataCollector
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
  [Messenger] Deprecate passing a bus locator to ConsumeMessagesCommand constructor
  [SecurityBundled] Forbid security-http >= 5.0
  [Security][Guard] Forbid security-http >= 5.0
  [TwigBridge] suggest Translation Component when TranslationExtension is used
  [Monolog] Setup the LoggerProcessor after all other processor
2019-06-03 22:32:35 +02:00
Nicolas Grekas
50590dce81 [Security] add PasswordEncoderInterface::needsRehash() 2019-06-03 20:14:30 +02:00
Nicolas Grekas
549930e820 [HttpClient] add $response->cancel() 2019-06-03 20:11:29 +02:00
Yonel Ceruto
61613d0bf0 Add missing deprecations for PHP templating layer 2019-06-03 12:49:37 -04:00
Robin Chalas
1f37275a72 [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections 2019-06-03 15:37:01 +02:00
Robin Chalas
14093386e6 [Messenger] Deprecate passing a bus locator to ConsumeMessagesCommand constructor 2019-06-01 15:06:38 +02:00
Robin Chalas
e5aaa8cd57 Merge branch '4.4'
* 4.4:
  [SecurityBundle][Workflow] Forbid security-core 5.x
  [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords
  [MonologBridge] RouteProcessor class is now final to ease the the removal of deprecated event
  [Validator] Fix TimezoneValidator default option
  [Messenger] Inject RoutableMessageBus instead of bus locator
  [DomCrawler] Fix type error with null Form::$currentUri
  [Contracts] Fixed typos
  [Security][Http] Forbid security-core 5.x
  do not enable validator auto mapping by default
  [HttpClient] remove unused argument
2019-05-31 20:58:54 +02:00
Amrouche Hamza
9646364476
[MonologBridge] RouteProcessor class is now final to ease the the removal of deprecated event 2019-05-31 10:47:09 +02:00
Nicolas Grekas
3fadcc6a96 Merge branch '4.4'
* 4.4:
  [HttpKernel] Make DebugHandlersListener internal
  HttpKernel 4.4 is incompatible with Console 5 because of the EventDispatcher changes.
  Add missed use class for Symfony\Bundle\FrameworkBundle\Test\WebTestCase::$client
  bump Twig bridge dependency
  [HttpClient] Minor fix in an error message
  Fix parameter documentation for Inflector::pluralize() method
  Use a more appropriate group when deprecating mode
  Marked several components as incompatible with EventDispatcher 5.
  bumped Symfony version to 4.3.1
  updated VERSION for 4.3.0
  updated CHANGELOG for 4.3.0
  [FrameworkBundle] fix test fixture using deprecated controller and add missing deprecation
  exchanged $rootDir and $fileLinkFormatter arguments in DebugCommand
  [FrameworkBundle] Add a validation on the messenger section
2019-05-30 15:57:29 +02:00
Maxime Steinhausser
914577eaa9 [Serializer] Unified normalizers/encoders config through default context solely 2019-05-30 15:48:21 +02:00
Robin Chalas
1a8db293c6 [HttpKernel] Make DebugHandlersListener internal 2019-05-30 15:23:23 +02:00
Maxime Steinhausser
22dd071b03 [Serializer] Remove CsvEncoder "as_collection" deprecation & change default value 2019-05-29 18:52:06 +02:00
Yonel Ceruto
beca8642ca exchanged $rootDir and $fileLinkFormatter arguments in DebugCommand 2019-05-29 12:21:24 -04:00
Nicolas Grekas
f8a04fdda6 [DI] deprecate short callables in yaml 2019-05-22 14:49:44 +02:00
Fabien Potencier
b1872616d0 feature #31350 [Intl] Rename Regions to Countries (ro0NL)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Intl] Rename Regions to Countries

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes  (including intl-data group)
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Because that's what the current region data is about; country codes.

This makes things consistent across the board; i.e. CountryType, CountryValidator

This allows a possible other region subset (e.g "continents") to distinct. Thus having `Countries::class` + `Continents::class` both reading from the `region` data. By then data should be compiled under different keys.

Current class is master only, so now or never :)

The alternative approach would be `Regions::getCountryNames [,getContinentNames, etc.]`, which is harder to scale, and should also be decided for 4.3 ideally.

Commits
-------

49aee67f46 [Intl] Rename Regions to Countries
2019-05-06 11:35:15 +02:00
Jan Schädlich
826237aa4b Merges second DI section into first one 2019-05-03 11:45:06 +02:00
Roland Franssen
49aee67f46 [Intl] Rename Regions to Countries 2019-05-01 22:02:47 +02:00
Nicolas Grekas
e197398d2f [Security] deprecate BCryptPasswordEncoder in favor of NativePasswordEncoder 2019-04-18 18:59:05 +02:00
Fabien Potencier
5d3d1a014c feature #28846 [Intl] Simplify API (ro0NL)
This PR was squashed before being merged into the 4.3-dev branch (closes #28846).

Discussion
----------

[Intl] Simplify API

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

Simplifies the Intl API. It greatly reduces the no. of boilerplate classes in this component. Very over complicated, much wow :)

Solving (IMHO):

```php
class LanguageBundle extends LanguageDataProvider implements LanguageBundleInterface
```

Which seems very over complicated just to provide static data.

```php
// before
Intl::getLanguageBundle()->getLanguageName() // string | null

// after
Languages::getName() // string
Languages::exists() // bool
```

I left out Canonicalization on puropose, that's a new topic to me.

- [x] Languages
- [x] Locales
- [x] Currencies
- [x] Regions
- [x] Scripts
- [ ] Timezones (#28831)
- [x] Update constraints
- [x] Update form types

Thoughts?

Commits
-------

d6b67d469a [Intl] Simplify API
2019-04-15 13:51:58 +02:00
Roland Franssen
d6b67d469a [Intl] Simplify API 2019-04-15 13:51:51 +02:00
Nicolas Grekas
e0c4528237 [Dotenv] fix typos 2019-04-10 22:28:30 +02:00
Thomas Calvet
e6455ea2d8 [Security][TokenInterface] Prepare for the new serialization mechanism 2019-04-10 18:01:24 +02:00
Gregor Harlan
ff6bc79eba
Deprecate TreeBuilder::root 2019-04-09 12:34:11 +02:00
Robin Chalas
529211d7ed [Security] Replace Argon2*PasswordEncoder by SodiumPasswordEncoder
This reverts commit dc95a6fec6.
2019-04-08 22:34:55 +02:00
Fabien Potencier
f539932899 fixed CS 2019-04-08 08:16:24 +02:00
Fabien Potencier
fa7df09dbb feature #30968 [Security] Add Argon2idPasswordEncoder (chalasr)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] Add Argon2idPasswordEncoder

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

Currently we have a `Argon2iPasswordEncoder` that may hash passwords using `argon2id` instead of `argon2i` (platform-dependent) which is not good.
This deprecates producing/validating `argon2id` hashed passwords using the `Argon2iPasswordEncoder`, and adds a `Argon2idPasswordEncoder` able to produce/validate `argon2id` hashed passwords only.

#EUFOSSA

Commits
-------

0c82173b24 [Security] Add Argon2idPasswordEncoder
2019-04-08 08:14:55 +02:00
Fabien Potencier
5638d6adcc minor #30965 Prepare for the new serialization mechanism (fancyweb)
This PR was merged into the 4.3-dev branch.

Discussion
----------

Prepare for the new serialization mechanism

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

#eufossa

Should I maybe split this component by component ?

https://wiki.php.net/rfc/custom_object_serialization has been accepted.

Best viewed in "split" mode.

This work is kind of required for https://github.com/symfony/symfony/issues/30304 so we don't trigger 30 deprecations from our own code base.

Commits
-------

d412e77a9c Prepare for the new serialization mechanism
2019-04-08 08:01:37 +02:00
Robin Chalas
0c82173b24 [Security] Add Argon2idPasswordEncoder 2019-04-07 21:35:55 +02:00
Thomas Calvet
d412e77a9c Prepare for the new serialization mechanism 2019-04-07 20:20:37 +02:00
Jules Pietri
a234c8913e [DoctrineBridge] Deprecated using IdReader when optimization is not possible 2019-04-07 15:30:06 +02:00
Valentin
388d8f548c [Routing] UrlHelper to get absolute URL for a path 2019-04-07 11:24:57 +02:00
Grégoire Pineau
039353546f [Workflow] Deprecate worflow and single state marking 2019-04-06 15:38:51 +02:00
Jules Pietri
73708a61b6 [Workflow] Changed initial_places to initial_marking, added property instead of type 2019-04-06 15:38:51 +02:00
neghmurken
b9ac645d8b Locale aware service registration 2019-04-03 15:10:14 +02:00
Nicolas Grekas
a4ce08ec30 [Contracts][EventDispatcher] move the Event class to symfony/contracts 2019-03-29 19:47:03 +01:00
Roland Franssen
2311437c9f [DI] Deprecate non-string default envs 2019-03-26 18:14:00 +01:00
Fabien Potencier
22bd2504dc feature #30388 [Security] undeprecate the RoleHierarchyInterface (xabbuh)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] undeprecate the RoleHierarchyInterface

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

Instead of deprecating the interface it is sufficient to deprecate its
getReachableRoles() method and add a new getReachableRoleNames() method
in Symfony 5.

Commits
-------

2d3f2b7a74 undeprecate the RoleHierarchyInterface
2019-03-23 15:37:30 +01:00
Christian Flothmann
2d3f2b7a74 undeprecate the RoleHierarchyInterface
Instead of deprecating the interface it is sufficient to deprecate its
getReachableRoles() method and add a new getReachableRoleNames() method
in Symfony 5.
2019-03-22 16:40:58 +01:00
Grégoire Pineau
4d58beb7c8 [Workflow] Deprecate MultipleStateMarkingStore and SingleStateMarkingStore in favor of MethodMarkingStore 2019-03-22 15:53:11 +01:00
Grégoire Pineau
1af1bf29ef Added support for many inital places 2019-03-20 20:27:53 +01:00
Fabien Potencier
1479a26a0b feature #28920 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN (nicolas-grekas)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN

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

PR green and ready. From UPGRADE files:

 EventDispatcher
---------------

 * The signature of the `EventDispatcherInterface::dispatch()` method should be updated to `dispatch($event, string $eventName = null)`, not doing so is deprecated

HttpKernel
----------

 * Renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent`
 * Renamed `FilterControllerEvent` to `ControllerEvent`
 * Renamed `FilterResponseEvent` to `ResponseEvent`
 * Renamed `GetResponseEvent` to `RequestEvent`
 * Renamed `GetResponseForControllerResultEvent` to `ViewEvent`
 * Renamed `GetResponseForExceptionEvent` to `ExceptionEvent`
 * Renamed `PostResponseEvent` to `TerminateEvent`

Security
---------

 * The `ListenerInterface` is deprecated, turn your listeners into callables instead.
 * The `Firewall::handleRequest()` method is deprecated, use `Firewall::callListeners()` instead.

Commits
-------

75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN
2019-03-20 13:34:13 +01:00
Nicolas Grekas
2bff625abe [Messenger] deprecate LoggingMiddleware in favor of providing a logger to SendMessageMiddleware 2019-03-14 08:52:20 +01:00
Nicolas Grekas
75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN 2019-03-14 08:32:46 +01:00
Grégoire Pineau
82bb4aea41 Fixed typo 2019-03-13 17:06:02 +01:00
Grégoire Pineau
7a94e5eaba [Workflow] Fixed BC break with MarkingStoreInterface::setMarking() 2019-03-13 10:27:38 +01:00
Fabien Potencier
dbe4f8605b renamed Client to Browser 2019-03-12 21:40:15 +01:00
Nicolas Grekas
05d6475c5e Drop more usages of Serializable 2019-03-04 09:45:35 +01:00