This PR was squashed before being merged into the 2.5-dev branch (closes#9140).
Discussion
----------
[Validator][Email] - Strict validation and soft dependency
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #1581, #4930
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/3469
TODO
---------
- [x] submit changes to the documentation
- [x] document the BC breaks
- [x] finish the code
- [x] gather feedback for my changes
In #1581 @bschussek suggested to pass the strict_email config to `Validator\EmailValidator::__construct($strict)`, I did not put it there yet since the constraint can receive that configuration each time the constraint is used despite the fact of the global configuration. This could lead to some logic in the constructor and I wanted first to integrate the strict validator.
BC Break
--------------
I'm not sure of this, but as a soft dependency is added and now some emails that where valid before no longer are I thought it is.
Commits
-------
3368630#1581 - Strict in Email constraint and use of Egulias\EmailValidator
* 2.4:
Check headers sent before sending PHP response
Fix issue symfony/symfony#10345 '[FrameworkBundle][Console] container:debug --parameter="" not working anymore'
Fixed ACE domain checks on UrlValidator (#10031)
handle array root element
This PR was merged into the 2.3 branch.
Discussion
----------
[Debug] Check headers sent before sending PHP response
If the response contents has been sent before an error occurs, PHP triggers the warning "Cannot modify header information - headers already sent".
This change ensure that the useful error message is echoed, while it's impossible to change the HTTP status code and headers.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Commits
-------
97591c1 Check headers sent before sending PHP response
If the response contents has been sent before an error occurs, PHP
triggers the warning "Cannot modify header information - headers already sent"
This change ensure that the error message is echoed, while it's impossible
to change the HTTP status code and headers.
This PR was merged into the 2.5-dev branch.
Discussion
----------
[HttpKernel] [Exception] Add UnprocessableEntityHttpException to HttpKernel Exceptions
Add UnprocessableEntityHttpException, as this would have been useful as few times now.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
304cbe9 Add UnprocessableEntityHttpException to HttpKernel Exceptions
This PR was merged into the 2.4 branch.
Discussion
----------
[FrameworkBundle][Console] Fix issue #10345 container:debug --parameter="" not working anymore
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes*
| Fixed tickets | #10345
| License | MIT
| Doc PR | N/A
## TODO
- [x] Fix issue #10345
- [ ] Create unit test for `describeContainerParameter`
Commits
-------
b278aa4 Fix issue symfony/symfony#10345 '[FrameworkBundle][Console] container:debug --parameter="" not working anymore'
This PR was submitted for the 2.3 branch but it was merged into the 2.5-dev branch instead (closes#10291).
Discussion
----------
[Validator] New validator for UUIDs
This PR adds a new validator for [RFC 4122](http://tools.ietf.org/html/rfc4122)-compliant [universally unique identifiers (UUIDs)](https://en.wikipedia.org/wiki/Universally_unique_identifier). This implementation validates both the format and (optionally) the UUID version.
The RFC is very specific on how UUIDs should be formatted. However, some systems/platforms like PostgreSQL produce or allow similar but non-compliant UUIDs which some developers may need to allow. (Their dashes are in different spots, or they might be wrapped in curly braces, but still contain the same number of hexadecimal characters). To accommodate both parties, I've added a `strict` option to the constraint. When enabled (default), the validator only allows UUIDs conforming to the exact RFC specs.
Comments and feedback would be greatly appreciated :)
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | symfony/symfony-docs#3619
**TODOs:**
- [x] Gather feedback; make changes
- [x] Ensure all tests pass
- [ ] Get approval; have this added to the 2.5 milestone
- [x] Submit PR for the documentation
Commits
-------
19931c9 Added new validator for UUIDs
This PR was merged into the 2.3 branch.
Discussion
----------
[Validator] Fixed ACE domain checks on UrlValidator (#10031)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10031
| License | MIT
| Doc PR |
I added some checks to allow internationalised domain names as per reported on #10031 and some extra testcases to cover ACE domain names.
Commits
-------
7a2f154 Fixed ACE domain checks on UrlValidator (#10031)
This PR was submitted for the 2.4 branch but it was merged into the 2.3 branch instead (closes#10123).
Discussion
----------
handle array root element
An array to string conversion notice was thrown when the root element of the thing being validated is an array.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
Commits
-------
17ed8bf handle array root element
This PR was merged into the 2.5-dev branch.
Discussion
----------
[SwiftMailer] [MonologBundle] send error log mails from CLI
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Given I have symfony2 application with Monolog configured to send mail on error logs.
When I have exception thrown from CLI task
Then I should receive error mail
However this is not true because `Monolog/SwiftMailerHandler` is doing force flush only on `kernel.terminate`, but not on `console.terminate`
This PR fixes issue together with https://github.com/symfony/MonologBundle/pull/73
Commits
-------
9bb602f added explicit swiftmailer flush after ConsoleEvents::TERMINATE
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Bridge][Propel1][Form] Model choice accept custom unique column
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
This PR permit to do :
```` php
<?php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('my_field', 'model', array(
'class' => 'MyClassWithSlug',
'index_property' => 'slug'
));
}
````
With this option you can hide internal ids to expose an unique column eg slug and render
```` html
<select name="my_field">
<option value="{THE_SLUG}">{THE_VALUE}</option>
</select>
````
Commits
-------
81e94d0 Model choice accept custom unique column
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Form] Fixed tests after merging pattern deprecation
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
Tests were not run on #10001.
Here are some fixes.
Commits
-------
e2d8944 Fixed tests after merging pattern deprecation
* 2.4: (52 commits)
Fix#8205 : Deprecate file mode update when calling dumpFile
Fix#10437: Catch exceptions when reloading a no-cache request
Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
removed ini check to make uploadedfile work on gae
Update OptionsResolver.php
fixed comment in forms.xml file
Clean KernelInterface docblocks
Cast the group name as a string
Fixed doc of InitAclCommand
[Form] Fix "Array was modified outside object" in ResizeFormListener.
Fix IBAN validator
[Process] Remove unreachable code + avoid skipping tests in sigchild environment
Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
Added travis_retry to .travis.yml
[Process] fix some typos and refactor some code
[Process] Fix unit tests in sigchild disabled environment
[Process] Trow exceptions in case a Process method is supposed to be called after termination
fixed typo
[Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
[Process] Fix escaping on Windows
...
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Process/ProcessPipes.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
* 2.3: (34 commits)
Fix#8205 : Deprecate file mode update when calling dumpFile
Fix#10437: Catch exceptions when reloading a no-cache request
Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
removed ini check to make uploadedfile work on gae
Update OptionsResolver.php
fixed comment in forms.xml file
Clean KernelInterface docblocks
Cast the group name as a string
Fixed doc of InitAclCommand
[Form] Fix "Array was modified outside object" in ResizeFormListener.
Fix IBAN validator
[Process] Remove unreachable code + avoid skipping tests in sigchild environment
Fixed bug that incorrectly causes the "required" attribute to be omitted from select even though it contains the "multiple" attribute
Added travis_retry to .travis.yml
[Process] fix some typos and refactor some code
[Process] Fix unit tests in sigchild disabled environment
[Process] Trow exceptions in case a Process method is supposed to be called after termination
fixed typo
[Process] fixed fatal errors in getOutput and getErrorOutput when process was not started
[Process] Fix escaping on Windows
...
Conflicts:
src/Symfony/Component/DomCrawler/Crawler.php
src/Symfony/Component/Filesystem/Filesystem.php
src/Symfony/Component/Process/Process.php
This PR was squashed before being merged into the 2.5-dev branch (closes#9178).
Discussion
----------
made HttpFoundationRequestHandler a service
defines HttpFoundationRequestHandler as a service
Commits
-------
43451e9 made HttpFoundationRequestHandler a service
This PR was squashed before being merged into the 2.5-dev branch (closes#10001).
Discussion
----------
[Form] Deprecated max_length and pattern options
Split of issue #9759
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | `max_length` and `pattern` in form options
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/3461
Commits
-------
52c07c7 Deprecated max_length and pattern options
This PR was merged into the 2.3 branch.
Discussion
----------
Fixed regression when using Symfony on filesystems without chmod support
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #8205
| License | MIT
| Doc PR | n/a
Commits
-------
cefb67aFix#8205 : Deprecate file mode update when calling dumpFile
This PR was merged into the 2.3 branch.
Discussion
----------
[HttpKernel] Fix#10437: Catch exceptions when reloading a no-cache request
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #10437
| License | MIT
Commits
-------
8e3a395Fix#10437: Catch exceptions when reloading a no-cache request
This PR was merged into the 2.3 branch.
Discussion
----------
[2.3] Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #9731, #9483
| License | MIT
This should fix#9731 and #9483 that seems to be triggered when `libxml_disable_entity_loader` has been called with `true` (see https://bugs.php.net/bug.php?id=62577)
As `libxml_disable_entity_loader` is non thread safe (see https://bugs.php.net/bug.php?id=64938) and as we have some calls that might leave the setting to `true`, I think the bug should be fixed.
I've checked the use of both `libxml_use_internal_errors` and `libxml_disable_entity_loader` among symfony code.
You can see I prefered to skip DomDocument::loadXML warnings using the `@` instead of using `LIBXML_NOERROR | LIBXML_NO_WARNING` because we can log these errors whereas libxml errors would be furtives.
- [x] Check calls to DOMDocument::load
- [x] Check calls to DOMDocument::loadXML
- [x] Check calls to DOMDocument::loadHTML
- [x] Check calls to DOMDocument::loadHTMLFile
- [x] Add more tests
Commits
-------
489b8ae Fix libxml_use_internal_errors and libxml_disable_entity_loader usage
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Process] Do not show output in FailedException if it was disabled
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ~
| License | MIT
| Doc PR | ~
With the recent addition of the ability to disable the output, it was not taken into account within the `ProcessFailedException`.
So, if the output was indeed disabled, and the process returns an error and triggers a `ProcessFailedException` exception (i.e via a mustRun), we could have another LogicException which is not expected.
Commits
-------
849703a When a process fails, check if the output is enabled
With the recent addition of the ability to disable the output, it was
not taken into account within the `ProcessFailedException`.
So, if the output was indeed disabled, and the process returns an
error (i.e via a `mustRun`) we could have another LogicException which
is not expected.
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes#9784).
Discussion
----------
[HttpFoundation] Removed ini check to make Uploadedfile work on Google App Engine
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
related to #9238
Commits
-------
ecb6481 removed ini check to make uploadedfile work on gae
This PR was squashed before being merged into the 2.5-dev branch (closes#9690).
Discussion
----------
Using Oracle Database as ACL storage
Hi,
I have faced few errors when tried to use Oracle Database:
1. Oracle return result as an array where all column names are in uppercase, so some code, where column names was in lowercase stop working
2. Oracle gives me an error 'ORA-00933: SQL command not properly ended' for queries where 'AS' was used in FROM and JOIN instructions
3. Oracle require strict type match in queries, so I have added string converting for object_identity_id.
Commits
-------
5f3be0e Fix Exception messages for ObjectIdentity ObjectIdentityInterface doesn't require implementing __toString method, so we need to make sure that object can be converted to string.
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes#10528).
Discussion
----------
Update OptionsResolver.php
Deleting an extra space in the exception.
Commits
-------
7507fbb Update OptionsResolver.php
This PR was merged into the 2.5-dev branch.
Discussion
----------
[Debug] sync with deprecation in DebugClassLoader
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none
| License | MIT
| Doc PR | none
Commits
-------
c70a468 [Debug] sync with deprecation in DebugClassLoader
This PR was merged into the 2.5-dev branch.
Discussion
----------
[FrameworkBundle] add scheme option to router:match command
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Continuation of #10439
Commits
-------
e3f17f9 add scheme option to router:match command
This PR was submitted for the 2.3-dev branch but it was merged into the 2.3 branch instead (closes#10525).
Discussion
----------
[HttpKernel] Clean KernelInterface docblocks
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
- Fixed questionable grammar
- Added missing periods to make it consistent
Commits
-------
4b1f050 Clean KernelInterface docblocks