This PR was squashed before being merged into the master branch (closes#7454).
Discussion
----------
[Console] application/command as text/xml/whatever decoupling
This PR removes description generation from `Command`, `Application` and `InputDefinition` classes and delegate it to specialized descriptor classes, making it dead simple to add new output formats.
**Maybe this could include other commands, like `router:debug` or `container:debug` (see #5740)?**
- [x] Add a `DescriptorProvider` which uses `DescriptorInterface` objects to describe things.
- [x] Add `txt` descriptors.
- [x] Add `xml` descriptors.
- [x] Add `json` descriptors.
- [x] Add `md` descriptors.
- [x] Remove obsolete methods.
- [x] Repair tests.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6339
Commits
-------
51512e6 [Console] application/command as text/xml/whatever decoupling
This PR was merged into the master branch.
Discussion
----------
[Validator] Added missing Italian translation
Commits
-------
a2e1e25 updated it translation for validators
This PR was merged into the master branch.
Discussion
----------
[Form] Deprecated bind() and isBound() in favor of submit() and isSubmitted()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes (*)
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #5493
| License | MIT
| Doc PR | TODO
This change was discussed for a while in #5493. **(*)** It breaks BC *only for people who implemented* `FormInterface` *manually* (not a lot, so I hope). These can fix the problem by simply renaming `bind()` and `isBound()` in their implementation to `submit()` and `isSubmitted()`.
The main rationale is that with the request handlers introduced in #6522, people won't be confronted with the term "binding" anymore. As such, `isBound()` will be a very strange name to new users that have never used `bind()` manually.
See this code sample as example:
```php
$form = $this->createForm(...);
$form->handleRequest($request);
// Imagine you have never heard about bind() or binding. What does this mean?
if ($form->isBound()) {
// ...
}
```
In reality, `bind()` submits a form. Where-ever I renamed "bind" to "submit" in the comments, "submit" made actually much more sense. So it does in the code sample above:
```php
$form = $this->createForm(...);
$form->handleRequest($request);
// Aha!
if ($form->isSubmitted()) {
// ...
}
```
Also when using `submit()` directly, the code makes much more sense now:
```php
$text = $this->createForm('text');
$text->submit('New Value');
```
For current users, the current naming will be supported until 3.0.
Commits
-------
41b0127 [Form] Deprecated bind() and isBound() in favor of submit() and isSubmitted()
This PR was merged into the master branch.
Discussion
----------
[WIP][HttpFoundation] File mime types and extensions
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #5039, #6963, #5258, #7415, #5615
| License | MIT
| Doc PR | n/a
This pull request addresses most of the issues regarding mime types and extension on File instances.
I've also created an issue on the docs to add more documentation about how things work (see symfony/symfony-docs#2542).
Commits
-------
acc2b6a [HttpFoundation] updated the list of known mime types (sync from Apache)
f85cdd2 [HttpFoundation] fixed phpdoc
1aa68da [HttpFoundation] added a way to inject a custom magic file into FileinfoMimeTypeGuesser (closes#6963)
29b5413 [HttpFoundation] added some more phpdocs to clarify usage
ee784fb clarified how/when to use client or guessed mime-types and extensions on a File instance (closes#5039)
This PR was merged into the master branch.
Discussion
----------
[Validator] Rename requireHyphens to requireHyphen for Issn constraint
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
While writing the documentation for the new Issn validator submitted yesterday at https://github.com/symfony/symfony/pull/7756, I've realized that the option ```requireHyphens``` should be renamed to ```requireHyphen``` because only one hyphen is allowed in the ISSN value.
Commits
-------
94173ec Rename requireHyphens to requireHyphen for Issn constraint
This PR was merged into the master branch.
Discussion
----------
[Filesystem] Added a missing test case for Filesystem::dumpFile()
This PR adds a test case for the ``Filesystem::dumpFile()`` method (introduced in #7753).
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | [![Build Status](https://travis-ci.org/jakzal/symfony.png?branch=dumpfile-tests)](https://travis-ci.org/jakzal/symfony)
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
8fcf4c2 [Filesystem] Added a missing test case for Filesystem::dumpFile().
This PR was merged into the master branch.
Discussion
----------
[Form] Allowed binding false to a checkbox
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | [![Build Status](https://travis-ci.org/jakzal/symfony.png?branch=checkbox-type-false)](https://travis-ci.org/jakzal/symfony)
| Fixed tickets | #7139
| License | MIT
| Doc PR | -
Commits
-------
24ef8d2 [Form] Added a SimpleFormTest test case.
e493984 [Form] Allowed binding false to a checkbox.
This PR was merged into the master branch.
Discussion
----------
[Finder] adds a way to ignore AccessDeniedException
This PR adds a `Finder::ignoreUnreadableDirs()` method which tells `Finder` to ignore unreadable directories instead of throwing an `AccessDeniedException`.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6981
Commits
-------
a63b30b [Finder] added Finder::ignoreUnreadableDirs() method
This PR was squashed before being merged into the master branch (closes#7787).
Discussion
----------
[Validator] added Arabic translation for ISSN message
Commits
-------
4ae9b52 [Validator] added Arabic translation for ISSN message
This PR was merged into the master branch.
Discussion
----------
[Validator] added french translation for ISSN message
Commits
-------
06e7d17 [Validator] added french trans for ISSN message
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Basque translations of IBAN and ISBN
Commits
-------
cd0ade3 Added some basque translations
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Catalan translations for IBAN, ISBN and ISSN messages.
Commits
-------
5114233 add new validation messages for catalan
This PR was merged into the 2.1 branch.
Discussion
----------
Add This field is missing RU translation
This PR was submitted on the symfony/Validator read-only repository and moved automatically to the main Symfony repository (closessymfony/Validator#4).
<source>This field is missing.</source>
Have no translation. Not exists in EN version too. Just forgot?
Symfony\Component\Validator\Constraints\Collection()
public $missingFieldsMessage = 'This field is missing.';
Commits
-------
97c4291 Add This field is missing RU translation
<source>This field is missing.</source>
Have no translation. Not exists in EN version too. Just forgotten?
Symfony\Component\Validator\Constraints\Collection()
public $missingFieldsMessage = 'This field is missing.';
This PR was merged into the master branch.
Discussion
----------
Added html method into Crawler class
This PR was submitted on the symfony/DomCrawler read-only repository and moved automatically to the main Symfony repository (closessymfony/DomCrawler#11).
A pull request is waiting for aproval, but is not tested
* This method allow to get html inside desired element
* New method is tested
Commits
-------
a8d2e06 Added html method into Crawler class
This PR was squashed before being merged into the master branch (closes#7751).
Discussion
----------
Method each return an instance of Crawler instead DOMElement
This PR was submitted on the symfony/DomCrawler read-only repository and moved automatically to the main Symfony repository (closessymfony/DomCrawler#9).
Method each return an instance of Crawler instead DOMElement
Commits
-------
14eed63 Method each return an instance of Crawler instead DOMElement
This PR was merged into the master branch.
Discussion
----------
Add Brazilian Portuguese translations for IBAN, ISBN, and ISSN messages
Commits
-------
7d6d891 Add Brazilian Portuguese translations for IBAN, ISBN, and ISSN messages
* 2.2:
[Validator] added missing estonian translation of messages
Removed trailing whitespace
[Validator] added missing estonian translation of messages
Filesystem::touch() not working with different owners (utime/atime issue)
* 2.1:
Removed trailing whitespace
[Validator] added missing estonian translation of messages
Filesystem::touch() not working with different owners (utime/atime issue)
Conflicts:
src/Symfony/Component/Validator/Resources/translations/validators.et.xlf
This PR was merged into the master branch.
Discussion
----------
fix DateTimeToLocalizedStringTransformer issue #7561
this PR fix#7561 issue:
This fix possible issue with new `\DateTime` throwing `Exception` not handled by the transformer.
Commits
-------
6ccbbe9 fix DateTimeToLocalizedStringTransformer issue #7561, add tests
This PR was squashed before being merged into the master branch (closes#7753).
Discussion
----------
Mitigate dependency upon ConfigCache
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes (refactoring)
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | todo, issue is symfony/symfony-docs#2531
Some clients use ConfigCache only for its ability to atomically write into a file.
The PR moves that code into the Filesystem component.
It's a pick off #7230.
__To-Do:__
- [ ] Update docs for the Filesystem component
Commits
-------
3158c41 Mitigate dependency upon ConfigCache
This PR was merged into the master branch.
Discussion
----------
[VALIDATOR] Dutch translation of ISSN message
Added dutch translation of the ISSN message (added in #7756 )
Commits
-------
d336979 [VALIDATOR] Dutch translation of ISSN message
This PR was squashed before being merged into the master branch (closes#7756).
Discussion
----------
[Validator] Added ISSN Validator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This PR complements the ISBN validator added some months ago to allow validation of relevant library systems data.
Commits
-------
77f62ec [Validator] Added ISSN Validator
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Arabic translations for IBAN & ISBN messages
Commits
-------
fd9eaae [Validator] Added Arabic trans of ISBN validator
This PR was merged into the master branch.
Discussion
----------
[Process] Added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
a557b89 [Process] Added ProcessUtils::escapeArgument() to fix the bug in escapeshellarg() function on Windows
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] made the classmap lazy-loaded
| Q | A
| ------------- | ---
| Bug fix? | [no]
| New feature? | [yes]
| BC breaks? | [no]
| Deprecations? | [no]
| Tests pass? | [yes]
| License | MIT
see https://github.com/symfony/symfony-standard/pull/437#issuecomment-14667140
Instead of managing this from HttpCache, I suggest to handle it at Kernel's level, what do you think?
Commits
-------
2aefe21 [HttpKernel] made the classmap lazy-loaded
This PR was squashed before being merged into the master branch (closes#7494).
Discussion
----------
[master] Better documentation for
Fixes#7492
Commits
-------
b1e14b2 [master] Better documentation for
This PR was squashed before being merged into the master branch (closes#7602).
Discussion
----------
[DialogHelper] Multiselect : added an option to the "select" function that makes the possibility of multiselect options.
When the option list appears, you can select more than one value separated by comma.
Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
c8a5e02 [DialogHelper] Multiselect : added an option to the "select" function that makes the possibility of multiselect options.
This PR was squashed before being merged into the master branch (closes#7559).
Discussion
----------
[HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP
This is a better alternative to fix issue highlighted in #7554 and #7557.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7554, #7557
| License | MIT
When dealing with inline fragment renderer, it emulates an internal request by overriding the REMOTE_ADDR on Request. This is true, since conceptually request came from local server.
The problem that this introduces is that overriding the server value, it turns into an impossible state to retrieve the real client ip, only returning the local server IP (which is hardcoded to 127.0.0.1).
This patch takes the same approach as a Varnish call (it behaves the exact same way, reusing all code built for handling client ip handling on sub-requests), populating the X-Forwarded-For header and also making getClientIp smarter by removing possible local IP addresses from being considered as the client IP address.
Commits
-------
773e109 [HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP
This PR was merged into the master branch.
Discussion
----------
[Validator] added Japanese translation for IBAN & ISBN messages
| Q | A
| ------------- | ---
| Fixed tickets | N/A
| License | MIT
Commits
-------
3719cd5 [Validator] added Japanese translation for IBAN & ISBN messages
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Polish translations for IBAN and ISBN messages.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | ~
Commits
-------
811fc30 [Validator] Added Polish translations for IBAN and ISBN messages.
This PR was merged into the master branch.
Discussion
----------
[Validator] Added Slovak translations for IBAN and ISBN messages.
Commits
-------
2890a3f [Validator] Added Slovak translations of IBAN and ISBN
This PR was merged into the master branch.
Discussion
----------
Classes should be removed only when adaptive is specified
This fixes a regression introduced in refactoring done on July 3rd.
Commits
-------
92fbb0b Classes should be removed only when adaptive is specified
This PR was merged into the master branch.
Discussion
----------
[Validator] Dutch translation of IBAN and ISBN messages
Added Dutch translations for the IBAN and ISBN validators
Commits
-------
298d5fd [Validator] Dutch translation of IBAN and ISBN messages
This PR was squashed before being merged into the master branch (closes#7634).
Discussion
----------
[2.3][HttpFoundation] PDO Session handling enhancements
| 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
`PdoSessionHandler` class assumes that the PDO object is set to throw exceptions, not errors. I added a line in the constructor to set that attribute, so configuration/query errors are able to be seen and caught a lot easier.
Commits
-------
ce8a441 [2.3][HttpFoundation] PDO Session handling enhancements
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] allowed any callable to be returned by ControllerResolver::createController
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
Commits
-------
8c44768 [HttpKernel] allowed any callable to be returned by ControllerResolver::createController
* 2.2:
[Config] #7644 add tests for passing number looking attributes as strings
[HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
[BrowserKit] removed dead code
[HttpFoundation] fixed empty domain= in Cookie::__toString()
fixed detection of secure cookies received over https
[2.2] Pass ESI header to subrequests
[Translation] removed an uneeded class property
[Translation] removed unneeded getter/setter
[Translator] added additional conversion for encodings other than utf-8
fixed source messages to accept pluralized messages [Validator][translation][japanese] add messages for new validator
fix a DI circular reference recognition bug
[HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
Conflicts:
src/Symfony/Component/HttpFoundation/Tests/CookieTest.php
* 2.1:
[HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
[BrowserKit] removed dead code
[HttpFoundation] fixed empty domain= in Cookie::__toString()
fixed detection of secure cookies received over https
[Translation] removed an uneeded class property
[Translation] removed unneeded getter/setter
[Translator] added additional conversion for encodings other than utf-8
fix a DI circular reference recognition bug
[HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
This PR was squashed before being merged into the 2.2 branch (closes#7655).
Discussion
----------
[Config] #7644 add tests for passing number looking attributes as strings
| Q | A |
| ----------------- |:-------------:|
| Bug fix? | yes |
| New feature | no |
| BC breaks? | no |
| Deprecations?| no |
| Tests pass? | yes |
| Fixed tickets | #7644 |
| License | MIT |
Commits
-------
d98118a [Config] #7644 add tests for passing number looking attributes as strings
BrowserKit's cookie handling only recognises a secure cookie if the
cookie option is set and the cookie was set over an https request.
The client was not passing the url into the cookiejar update code,
causing Cookie::isSecure() to always return false for every cookie.
Fixessymfony/symfony#7666
This PR was merged into the master branch.
Discussion
----------
[Process] Add ProcessBuilder::setPrefix method
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
This introduce a new feature for the `ProcessBuilder` that allows to prefix all generated `Process` commands with a custom value.
This is mostly useful when dealing with binary drivers.
Use case :
```php
use Symfony\Component\Process\ExecutableFinder;
use Symfony\Component\Process\ProcessBuilder;
class PhpDriver
{
private $pb;
public function __construct(ProcessBuilder $pb)
{
$this->pb = $pb;
}
public function getInfos()
{
return $this->execute('-i');
}
public function getVersion()
{
return $this->execute('-v');
}
private function execute(array $arguments)
{
return $this
->pb
->setArguments($arguments)
->createProcess()
->run()
->getOutput();
}
}
$finder = new ExecutableFinder();
$pb = new ProcessBuilder();
$pb->setPrefix($finder->find('php'));
$driver = new PhpDriver($pb);
$driver->getVersion();
$driver->getInfos();
```
Commits
-------
cab53ee Add ProcessBuilder::setPrefix method
This PR was merged into the master branch.
Discussion
----------
Refactored tests of Request::getTrustedProxies()
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
This PR reorganizes the tests for the request trusted proxies as they were unreadable. In the process, I've also removed obsolete stuff and changed the order returned by `Request::getClientIps()` (not a BC break as this method was added in 2.3 -- see #7612).
Commits
-------
75db8eb [HttpFoundation] changed the order of IP addresses returned by Request::getClientIps()
deccb76 [HttpFoundation] refactored trusted proxies tests to make them easier to understand and change
1af9e5e [Request] removed obsolete proxy setting in tests
168b8cb [HttpFoundation] removed obsolete request property
This PR was merged into the master branch.
Discussion
----------
[Form] Renamed form processors to request handlers
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | https://github.com/symfony/symfony-docs/pull/2092
Commits
-------
ae7c378 [Form] Renamed form processors to request handlers
This PR was squashed before being merged into the 2.2 branch (closes#7253).
Discussion
----------
[2.2] Pass ESI header to subrequests
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7252
| License | MIT
Commits
-------
af819a7 [2.2] Pass ESI header to subrequests
This PR was squashed before being merged into the master branch (closes#7251).
Discussion
----------
[SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules
Fixes#7249.
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes (small)
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7249
| License | MIT
| Doc PR | n/a
Commits
-------
650352d [SecurityBundle] [HttpFoundation] Allow for multiple IP address in security access_control rules
This PR was squashed before being merged into the master branch (closes#6718).
Discussion
----------
[Validator] Added ISBN validator
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
License of the code: MIT
For information about ISBN-10 and ISBN13: https://en.wikipedia.org/wiki/Isbn
This constraint permits to valid a ISBN-10 code, a ISBN-13 code or both on a value
Commits
-------
4582261 [Validator] Added ISBN validator
This PR was merged into the master branch.
Discussion
----------
[DomCrawler] Allow schema-less url in the base tag
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7421
| License | MIT
| Doc PR | -
Commits
-------
6bf9c68 [DomCrawler] allowed schema-less url in the base tag
This PR was merged into the master branch.
Discussion
----------
[Form] [Validator] Added IBAN validator
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
License of the code: MIT
Validation for International Bank Account Numbers
http://en.wikipedia.org/wiki/International_Bank_Account_Number
I don't know if the community likes new validators. I have been using this in many projects and would love to see it integrated directly with Symfony.
Commits
-------
c8906f4 [Validator] Added IBAN validator
This PR was merged into the 2.1 branch.
Discussion
----------
[HttpFoundation] fixes creation of sub requests under IIS & Rewite Module
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #6936, #6923
| License | MIT
| Doc PR | N/A
There are a few bugs to address.
1. `HTTP_X_ORIGINAL_URL` wasn't removed from the server parameters, so is picked back up [here](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/ServerBag.php#L33) upon recreation of a sub request.
2. When `X_ORIGINAL_URL` is passed in the headers by IIS, `IIS_WasUrlRewritten` and `UNENCODED_URL` can also be passed as server vars, so they must also be removed for sub request URI's to be resolved correctly.
Additionally, I have removed the OS check for windows, because it was only done for 2 out of 4 of the IIS specific checks, and it made the code untestable.
Also added tests for all scenarios as there were none.
Commits
-------
9fcd2f6 [HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
This PR was merged into the master branch.
Discussion
----------
[Process] Added support for processes that need a TTY to run.
Added support for processes that need a TTY to run. This can be useful in scenarios where we need to open an editor and wait for the user (like "crontab -e" or "git commit"). The new methos "setTTY" can be used to control this.
Regards
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
2d30fb3 [Process] Added support for processes that need a TTY to run.
This PR was squashed before being merged into the master branch (closes#7399).
Discussion
----------
[Config] Add possibility to get "parent bundle resource file" in import file loading process
FileLoader doesn't throw FileLoaderImportCircularReferenceException anymore if another file matchs import request.
Currently if a Bundle is defined as child of another Bundle and if we try to import a Resource from parent Bundle into the same "overrided" Resource, we get a FileLoaderImportCircularReferenceException.
Now, FileLoader locates "available files" and try to import one of them (rule is "the first that is not currently loading").
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes?
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Commits
-------
b20386e [Config] Add possibility to get "parent bundle resource file" in import file loading process
This PR was squashed before being merged into the 2.1 branch (closes#7698).
Discussion
----------
[Translator] added additional conversion for encodings other than utf-8
Added an additional conversion if there is another encoding in the
xlf file present. Values from simple_xml are always utf-8 encoded.
Also added some tests to verify this new behaviour.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
54bcf5c [Translator] added additional conversion for encodings other than utf-8
This PR was merged into the master branch.
Discussion
----------
[2.3] [Form] Renamed option "virtual" to "inherit_data" and improved handling of such forms
Bug fix: yes
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #5899, #5720, #5578
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#2107
This PR renames the option "virtual" to "inherit_data" for more clarity (the old option is deprecated and usable until 2.3). It also fixes the behavior of forms having that option set.
Forms with that option set will now correctly return their parents' data from `getData()`, `getNormData()` and `getViewData()`. Furthermore, `getPropertyPath()` was fixed for forms that inherit their parent data.
Commits
-------
1290b80 [Form] Fixed the deprecation notes for the "virtual" option
ac2ca44 [Form] Moved parent data inheritance from data mappers to Form
8ea5e1a [Form] Renamed option "virtual" to "inherit_data"
This PR was merged into the master branch.
Discussion
----------
[Validator] Moved constraints Optional and Required to the Constraints\ namespace
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | symfony/symfony-docs#2512
Commits
-------
a868048 [Validator] Moved constraints Optional and Required to the Constraints\ namespace
This PR was merged into the 2.1 branch.
Discussion
----------
[DependencyInjection] Fix a DI circular reference recognition bug
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets |
| License | MIT
| Doc PR |
plus add ability to detect deeper circular references eg: A -> B -> C -> B
Commits
-------
8a434ed fix a DI circular reference recognition bug
This PR was merged into the master branch.
Discussion
----------
[PropertyAccess] Changed PropertyAccessor to continue searching when a non-public method/property are found
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | yes
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | not necessary
Commits
-------
2a666cb [PropertyAccess] Changed PropertyAccessor to continue searching when a non-public method/property are found
This PR was merged into the master branch.
Discussion
----------
[Form] Remove "value" attribute on empty_value option
Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and won't submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.
Although I know this must be an issue with the WebKit version the BB10 has, it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set
Commits
-------
9e849eb [Form] Remove "value" attribute on empty_value option
This PR was merged into the master branch.
Discussion
----------
[Intl] Refactored Locale component into two new components Icu and Intl
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | yes
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #5279
| License | MIT
| Doc PR | symfony/symfony-docs#2312
The Intl component is now a simple drop-in replacement layer for the C intl extension. Install it via Composer and have it available automatically if the intl extension is not available.
Additionally, the component ships data from the ICU library which can be accessed through the methods:
```php
use Symfony\Component\Intl\Intl;
Intl::getCurrencyBundle()->...
Intl::getLanguageBundle()->...
Intl::getLocaleBundle()->...
Intl::getRegionBundle()->...
```
If the intl extension is installed, Composer will install the ICU data for the ICU version in the intl extension. If the intl extension is not installed, Composer will use stub ICU data for the latest ICU version (see `Intl::getStubIcuVersion()`).
See the [README](/bschussek/symfony/blob/intl/src/Symfony/Component/Intl/README.md) for more information.
Todo:
- [x] finish the Intl README file
- [x] update the Icu README file
- [x] update the documentation
- [x] make parameter `$locale` optional (default to `\Locale::getDefault()`) in resource bundle methods
- [x] remove `(Icu)?Version::compare` calls in the tests
- [x] solve deployment problem when trying to install incompatible symfony/icu version listed in composer.lock
Create the following branches in the [Icu component](https://github.com/symfony/Icu):
- [x] 1.0.x
- [x] 1.1.x
- [x] 1.2.x
Commits
-------
9118b4a [Locale] Removed "Stub" prefixes in Intl component
b4cccfd [Intl] Removed "Stub" prefix from stub classes
60f31d1 [Intl] Improved inline documentation
c2d37e6 [Intl] Improved error messages in the build scripts
1249f01 [Intl] Added scripts to test the compatibility of various versions of symfony/icu with the ICU version installed on the system
9dbafd7 [Intl] Split update-stubs.php script into two scripts to function with the changed Icu component versioning
e2c11cb [Intl] Added a check for the ICU data version to IntlTestHelper to prevent the stub class tests from failing
427d24a [Intl] Outsourced bundle reader creation to Icu component
0160fd5 [Intl] Moved stub data to Icu component 1.0.x
dbca3b7 [Intl] Added empty directory needed for the tests
a717ce9 [Intl] Removed ICU version comparisons from the tests
5d17de5 [Intl] Fixed version comparisons in the transformation rules
470927d [Intl] Improved build scripts
aceb20d [Form] Improved tests to use the IntlTestHelper class
3dd75ff [Locale] Improved tests to use the IntlTestHelper class
03b78b0 [Validator] Improved tests to use the IntlTestHelper class
9d9c389 [Intl] Simplified tests
c55c4a2 [Intl] Only the StubNumberFormatterTest requires stub data
17a480b [Intl] Added IntlTestHelper class for convenience
1dcdcd3 [Locale] Fixed failing tests
f6b75b9 [Intl] Changed composer.json to disallow future versions of the Icu component
080c880 [Intl] Bumped the stub version to 50.1.2
dd2d013 [Intl] Improved the bundle compilation process
f47e60a [Intl] Fixed small bugs in the resource bundle transformation
467cc93 [Intl] Fixed various problems in the resource compilation process
4a5c453 [Intl] Moved the content of the README file to symfony/symfony-docs
9899de7 [Intl] Updated the README
bfec58a [Intl] Fixed flawed PHPDoc
21323ba [Intl] Updated the README file
209a9cb [Validator] Adapted to latest Intl changes
f2a0aec [Form] Adapted to latest Intl changes
0f6277f [Locale] Adapted to latest Intl changes
2cd1be8 [Intl] Made the $locale parameter optional in the bundle interfaces
b9e9cb2 [Intl] Added autoload.php which was ignored by .gitignore
838798f [Intl] Removed method IntlTestCase::skipIfInsufficientIcuVersion()
dde1d34 [Intl] Changed Intl::getIcuVersion() to return the stub version if the intl extension is not loaded
99f6f8a [Form] Fixed failing tests
5d0b849 Fixed PHPDoc
b60866c [Intl] Changed Intl::getStubIcuVersion() to Intl::getIcuStubVersion()
b902b6b [Locale] Added default locale
01d0ee8 [Validator] Changed component to use the Intl component
0c1fe39 [Form] Changed component to use the Intl component
5917a2e [Intl] Refactored Locale component into two new components Icu and Intl
This PR was merged into the master branch.
Discussion
----------
[2.3][Session] Give greater control over how and when session starts
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | na
| License | MIT
| Doc PR | symfony/symfony-docs#2475
Refs #6036
Gives control over how start on demand works: allowing to turn it on or off and to allow bag access when session is off.
Commits
-------
f431cb0 Fix tests
1f521d8 Coding standards
2583c26 [HttpFoundation][FrameworkBundle] Keep save auto_start behaviour as in 2.2 and make component values consistent with FrameworkBundle's configuration options.
ceaf69b [FrameworkBundle] Use more sophisticated validation and configuration.
af0a140 [FrameworkBundle] Add configuration to allow control over session start on demand.
8fc2397 [HttpFoundation] Give control over how session start on demand.
This PR was squashed before being merged into the master branch (closes#7571).
Discussion
----------
[2.3] Handle PHP sessions started outside of Symfony
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR | symfony/symfony-docs#2474
This PR brings a way to allow Symfony2 to manage a session started outside of Symfony in such a way that quite explicit. It also introduces more robust detection of previously started sessions under PHP 5.3 and supports real session status detection under PHP 5.4
Commits
-------
df99902 [2.3] Handle PHP sessions started outside of Symfony
This PR was merged into the master branch.
Discussion
----------
[DependencyInjection] fixed management of scoped services with an invalid behavior set to null
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7636
| License | MIT
| Doc PR | n/a
Commits
-------
edd7649 [DependencyInjection] fixed management of scoped services with an invalid behavior set to null (closes#7636)
This PR was merged into the master branch.
Discussion
----------
[2.3] [Form] Support buttons in forms
Bug fix: no
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #5383
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#2489
The general idea of this PR is to be able to add buttons to forms like so:
```php
$builder->add('clickme', 'submit');
```
You can then check in the controller whether the button was clicked:
```php
if ($form->get('clickme')->isClicked()) {
// do stuff
}
```
Button-specific validation groups are also supported:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => 'OnlyClickMe',
));
```
The validation group will then override the one defined in the form if that button is clicked.
This PR also introduces the disabling of form validation by passing the value `false` in the option `validation_groups`:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => false,
));
```
The same can be achieved (already before this PR) by passing an empty array:
```php
$builder->add('clickme', 'submit', array(
'validation_groups' => array(),
));
```
See the linked documentation for more information.
Commits
-------
faf8d7a [Form] Added upgrade information about setting "validation_groups" => false
d504732 [Form] Added leading backslashes to @exceptionMessage doc blocks
c8afa88 [Form] Removed deprecated code scheduled for removal in 2.3
36ca056 [Form] Simplified Twig code
ce29c70 [Form] Fixed incorrect doc comment
0bc7129 [Form] Fixed invalid use of FormException
600007b [Form] The option "validation_groups" can now be set to false to disable validation. This is identical to setting it to an empty array.
277d6df [Form] Fixed concatenation operator CS (see 7c47e34928)
7b07925 [Form] Changed isset() to array_key_exists() to be consistent with ParameterBag
7b438a8 [Form] Made submit buttons able to convey validation groups
cc2118d [Form] Implemented support for buttons
Today we faced a very strange issue with the newest Blackberry 10 browser, it was not submitting our forms. Finally we found that in a ```select``` element, if you have a disabled option, it can't have a value or the HTML5 validator will crash and not submit the form. Of course, setting the ```novalidate``` option for the whole form also solved the issue.
Although I know this must be an issue with the WebKit version the BB10 has it can easily be solved in symfony with this change. In fact, it does make sense since we already have a disabled option with no value if the ```preferred_choices``` are not empty and a ```separator``` is set
This PR was merged into the master branch.
Discussion
----------
[HttpKernel] ConfigDataCollector: Add support for new Zend OPcache accelerator
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
Related: https://github.com/symfony/symfony/pull/7670
**From original pull request:**
More information: https://github.com/zend-dev/ZendOptimizerPlus
This extension is compatible with PHP 5.2-5.5. I'm using it with 5.5 and 5.4. The PHP developers plan to include this as opposed to APC in PHP 5.5 core. http://php.net/archive/2013.php#id2013-03-21-1
This does not really have to do with Zend Optimiser+. It has to do with the newly open sourced version, Zend OPcache.
I noticed a *similar* PR here https://github.com/symfony/symfony/pull/7087 but did not like that the unit test check for accelerators was completely removed. I also do not consider it necessary to add more code just for an extension check (I would consider that 'unnecessary re-factoring'). And finally, I have no idea what the final purpose of it is. Based on its title, it seemed like at first that it was for Zend Optimizer+ (the proprietary extension: http://files.zend.com/help/Zend-Server-6/zend-server.htm#zendoptimizerplus.html) but then it sort of changed to adding support for Zend OPcache (the recently open sourced version).
This does only Zend OPcache. Tested on PHP 5.5 and PHP 5.4, including unit tests.
Based on naming scheme, I decided to name the function `hasZendOpcache` (ignoring the abbreviation as with `hasApc`) as opposed to `hasZendOpCache` or other names. Not sure if this is the 'perfect name' (it gets called in all lower-case in the twig file anyway).
Commits
-------
8e9cb3b Add support for detection of Zend OPcache as an accelerator
This PR was squashed before being merged into the master branch (closes#7691).
Discussion
----------
[Stopwatch] Fix checking started events
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7639, #7653
| License | MIT
Stopwatch component return true from isStarted method, when StopwatchEvent was added but not started.
Commits
-------
b626542 [Stopwatch] Fix checking started events
* 2.2:
Fix default value handling for multi-value options
[HttpKernel] truncate profiler token to 6 chars (see #7665)
Disabled APC on Travis for PHP 5.5+ as it is not available
[HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
Fix download over SSL using IE < 8 and binary file response
[Console] Fix merging of application definition, fixes#7068, replaces #7158
[HttpKernel] fixed the Kernel when the ClassLoader component is not available (closes#7406)
fixed output of bag values
[Yaml] improved boolean naming ($notEOF -> !$EOF)
[Yaml] fixed handling an empty value
[Routing][XML Loader] Add a possibility to set a default value to null
[Console] fixed handling of "0" input on ask
The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
fixed handling of "0" input on ask
[HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
[Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
Update PhpEngine.php
[PropertyAccess] Add objectives to pluralMap
[Security] Removed unused var
[HttpFoundation] getClientIp is fixed.
Conflicts:
src/Symfony/Component/Console/Tests/Command/CommandTest.php
src/Symfony/Component/Console/Tests/Input/ArgvInputTest.php
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpKernel/Kernel.php
* 2.1:
Fix default value handling for multi-value options
[HttpKernel] truncate profiler token to 6 chars (see #7665)
Disabled APC on Travis for PHP 5.5+ as it is not available
[HttpFoundation] do not use server variable PATH_INFO because it is already decoded and thus symfony is fragile to double encoding of the path
[Yaml] improved boolean naming ($notEOF -> !$EOF)
[Yaml] fixed handling an empty value
[Routing][XML Loader] Add a possibility to set a default value to null
The /e modifier for preg_replace() is deprecated in PHP 5.5; replace with preg_replace_callback()
[HttpFoundation] Fixed bug in key searching for NamespacedAttributeBag
[Form] DateTimeToRfc3339Transformer use proper transformation exteption in reverse transformation
Update PhpEngine.php
[HttpFoundation] getClientIp is fixed.
Conflicts:
.travis.yml
src/Symfony/Component/Routing/Loader/XmlFileLoader.php
src/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd
src/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
src/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
The default value for array options will be an array, so it is not suitable to use as the default when processing one of many values for a multi-value option. Using null seems appropriate here, as it indicates the absence of a value and also converts nicely to an empty string (as opposed to an empty array).
Fixes#7689
This PR was squashed before being merged into the master branch (closes#5476).
Discussion
----------
[Process] Add signal and getPid methods
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
This PR replaces #5391 ; it adds :
- sigchild compatibility mode. This means that if you activate it you have access to this exitcode of the process in case your php has been compiled with --enable-sigchild. This can happen when you deal with Oracle databases.
```php
$process->setEnhanceSigchildCompatibility(true);
```
- `getPid` method to get the actual process identifier of the process
```php
$process->getPid();
```
- `signal` method to send Posix signal to the process
```php
$process->signal(SIGHUP);
```
- Add optionnal `$signal` as second argument to `stop`method. If provided, the signal is sent at timeout to the process. Example of use :
```php
$process->stop(5, SIGKILL);
```
Tests have been enhanced and now run both sigchild / non-sigchild mode.
By the way, tests are successful with a PHP compiled with the --enable-sigchild option ;)
Commits
-------
5ed2737 [Process] Add signal and getPid methods
This PR was squashed before being merged into the master branch (closes#7653).
Discussion
----------
[HttpKernel] Improve TraceableEventDispatcher to not call Stopwatch::stop() when not started
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7639
| License | MIT
Commits
-------
e638e01 [HttpKernel] Improve TraceableEventDispatcher to not call Stopwatch::stop() when not started
This PR was merged into the master branch.
Discussion
----------
[HttpFoundation] Split getClientIp into two methods for better flexibility
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | Locally: NO (HttpFoundation tests passes, but all Symfony tests fails because of my local setup). Travis : YES
| Fixed tickets | #7349
| License | MIT
| Doc PR | none (yet?)
Split the ``Request::getClientIp`` method in two to allow better overriding flexibility. See #7349 for more information.
Commits
-------
2678dd5 [HttpFoundation] Move comments from one method to the other [ci skip].
7529664 [HttpFoundation] Removed the @api annotation on getClientIps method.
f0c4ab6 [HttpFoundation] Split the tests into two methods / data providers.
80030fb [HttpFoundation] Use @see annotation for better documentation generation.
3e703a2 [HttpFoundation] Fixing tests.
63cbbb5 [HttpFoundation] Add tests for the newly created Request::getClientIps() method.
58347fb [HttpFoundation] Split getClientIp into two methods for better flexibility.
This PR was merged into the 2.2 branch.
Discussion
----------
[HTTPFoundation] Fix download over SSL using IE < 8 and binary file response
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
related to #7153
Commits
-------
4c51ec7 Fix download over SSL using IE < 8 and binary file response
This PR was merged into the 2.2 branch.
Discussion
----------
[Console] Fix merging of application definition
Fixes#7068, replaces #7158 - the fix there introduces a regression and always shows the application arguments in the commands help (i.e. it lists "command" as an argument to every command, except list because it overrides getNativeDefinition).
Commits
-------
46909fa [Console] Fix merging of application definition, fixes#7068, replaces #7158