* 2.3:
Configure firewall's kernel exception listener with configured entry point or a default entry point
PSR-2 fixes
[DependencyInjection] make paths relative to __DIR__ in the generated container
Fixed the syntax of a composer.json file
Fixed the symfony/config version constraint
Tweaked the password-compat version constraint
Docblock fixes
define constant only if it wasn't defined before
Fix incorrect spanish translation
Fixed typos
Conflicts:
composer.json
src/Symfony/Bridge/Twig/TwigEngine.php
src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
src/Symfony/Bundle/FrameworkBundle/composer.json
src/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php
src/Symfony/Component/Console/Helper/TableHelper.php
src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php
src/Symfony/Component/HttpFoundation/Response.php
src/Symfony/Component/HttpFoundation/StreamedResponse.php
src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
src/Symfony/Component/Process/Process.php
src/Symfony/Component/Process/Tests/AbstractProcessTest.php
src/Symfony/Component/PropertyAccess/PropertyAccessorBuilder.php
src/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
src/Symfony/Component/Security/composer.json
src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
src/Symfony/Component/Stopwatch/StopwatchEvent.php
src/Symfony/Component/Stopwatch/StopwatchPeriod.php
src/Symfony/Component/Templating/PhpEngine.php
src/Symfony/Component/Templating/TemplateReference.php
src/Symfony/Component/Templating/TemplateReferenceInterface.php
src/Symfony/Component/Translation/TranslatorInterface.php
src/Symfony/Component/Validator/ConstraintViolation.php
src/Symfony/Component/Validator/ExecutionContextInterface.php
src/Symfony/Component/Validator/Mapping/ClassMetadata.php
src/Symfony/Component/Validator/MetadataFactoryInterface.php
This PR was merged into the 2.3 branch.
Discussion
----------
PSR-2 Fixes
| 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 pull request brings symfony 2.3 back inline with PSR-2.
Commits
-------
eda746b PSR-2 fixes
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle][Router Cmd] Use debug namespace.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
408df7c [FrameworkBundle][Router Cmd] use debug namespace.
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] Update deprecated service call
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | none, but related to #11593 and #11690
| License | MIT
| Doc PR | none
Service `security.context` is now deprecated due to PR #11690. This commit updates PR #11593 replacing `security.context` with `security.authorization_checker` in the `isGranted()` controller shortcut introduced in Symfony 2.6.
Commits
-------
2625193 [FrameworkBundle] Update deprecated service call
The service `security.context` is now deprecated due to PR #11690.
This commit updates PR #11593 replacing `security.context` with
`security.authorization_checker` in the `isGranted()` controller
shortcut.
This PR was merged into the 2.3 branch.
Discussion
----------
Docblock Fixes
| 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 pull request fixes the docblock alignment as requested in #12760.
It was also necessary for me to ensure the `@return` annotations were correctly separated in order to accurately align the `@param` annotations.
Commits
-------
443307e Docblock fixes
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] removed unneeded check
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
It is already checked in the `isEnabled()` method of the parent
`ServerCommand` class if the current PHP build is HHVM and the
`server:start` command is never enabled then. Thus, it's not needed
to check for HHVM on every command execution.
This was pointed out by @stof in #12489 for the `server:run` command.
Commits
-------
ce2adfa removed unneeded check
* 2.5:
[Debug] fix error message on double exception
Fix initialized() with aliased services
Rename Symfony2 to Symfony
compare version using PHP_VERSION_ID
backport #12489
remove an unneeded check
This PR was merged into the 2.5 branch.
Discussion
----------
compare version using PHP_VERSION_ID
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
This continues the work started in #12497 on the `2.3` branch.
Commits
-------
d2f846b compare version using PHP_VERSION_ID
It is already checked in the `isEnabled()` method of the parent
`ServerCommand` class if the current PHP build is HHVM and the
`server:start` command is never enabled then. Thus, it's not needed
to check for HHVM on every command execution.
This was pointed out by @stof in #12489 for the `server:run` command.
It is already checked in the `isEnabled()` method if the current PHP
build is HHVM and the `server:run` command is never enabled then.
Thus, it's not needed to check for HHVM on every command execution.
* 2.5:
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
[Form][WebProfiler] Empty form names fix
[FrameworkBundle] cache:clear command fills *.php.meta files with wrong data
bumped Symfony version to 2.5.8
updated VERSION for 2.5.7
update CONTRIBUTORS for 2.5.7
updated CHANGELOG for 2.5.7
bumped Symfony version to 2.3.23
fixed typo
updated VERSION for 2.3.22
update CONTRIBUTORS for 2.3.22
updated CHANGELOG for 2.3.22
Conflicts:
src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/form.html.twig
src/Symfony/Component/HttpKernel/Kernel.php
* 2.3:
reformat code as suggested by @fabpot
Fix typo
Make `\Request::get` more performant.
[FrameworkBundle] cache:clear command fills *.php.meta files with wrong data
bumped Symfony version to 2.3.23
fixed typo
updated VERSION for 2.3.22
update CONTRIBUTORS for 2.3.22
updated CHANGELOG for 2.3.22
Conflicts:
src/Symfony/Component/HttpKernel/Kernel.php
This PR was merged into the 2.6 branch.
Discussion
----------
[FrameworkBundle] be smarter when guessing the document root
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12524
| License | MIT
| Doc PR |
Commits
-------
83d768d be smarter when guessing the document root
* 2.5:
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
don't override internal PHP constants
[Session] Fix parameter names in WriteCheckSessionHandler
Add consistency with request type checking
[FrameworkBundle] Fix server run in case the router script does not exist
Conflicts:
composer.json
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/Debug/ExceptionHandler.php
* 2.3:
[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
be smarter when guessing the document root
Azerbaijani locale
Fixed grammar error in docblock
Adjust upgrade file rendering
[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
compare version using PHP_VERSION_ID
[Form] Add doc for FormEvents
don't override internal PHP constants
Conflicts:
UPGRADE-3.0.md
src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/HttpFoundation/Response.php
This PR was merged into the 2.3 branch.
Discussion
----------
[Bundle][FrameworkBundle] be smarter when guessing the document root
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12524
| License | MIT
| Doc PR |
Commits
-------
e28f5b8 be smarter when guessing the document root
To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Use Unicode Control Pictures
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
I wasn't satisfied with how control chars where dumped, until I found the [Unicode Control Pictures](http://www.unicode.org/charts/PDF/U2400.pdf).
This PR takes advantage of them:
![capture du 2014-11-04 10 52 15](https://cloud.githubusercontent.com/assets/243674/4897678/752fac20-6408-11e4-9186-7b788c9a88bb.png)
Commits
-------
6258ae8 [DebugBundle] remove README.md
50021bd [Debug] No gc_collect_cycles(), it's costly and can segfault
b592e90 [VarDumper] inline dump() function loading
cd076e4 [VarDumper] Use Unicode Control Pictures
* 2.5:
added missing files
[TwigBundle] added a test
Indicate which file was being parsed if an exception is thrown while running translation:debug
[ClassLoader] Cast $useIncludePath property to boolean
[HttpFoundation] Minor spelling fix in PHPDocs
improve error message for multiple documents
Remove aligned '=>' and '='
[Session] remove invalid workaround in session regenerate
[Kernel] ensure session is saved before sending response
[Routing] serialize the compiled route to speed things up
[Form] Fixed usage of "name" variable in form_start block
[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
[DependencyInjection] use inheritdoc for loaders
[Config] fix filelocator with empty name
[Form] fix form handling with unconventional request methods like OPTIONS
CSRF warning docs on Request::enableHttpMethodParameterOverride()
Conflicts:
src/Symfony/Component/Console/Helper/ProgressBar.php
* 2.3:
added missing files
[TwigBundle] added a test
Indicate which file was being parsed if an exception is thrown while running translation:debug
[ClassLoader] Cast $useIncludePath property to boolean
[HttpFoundation] Minor spelling fix in PHPDocs
improve error message for multiple documents
[Session] remove invalid workaround in session regenerate
[Kernel] ensure session is saved before sending response
[Routing] serialize the compiled route to speed things up
[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
[DependencyInjection] use inheritdoc for loaders
[Config] fix filelocator with empty name
[Form] fix form handling with unconventional request methods like OPTIONS
CSRF warning docs on Request::enableHttpMethodParameterOverride()
Conflicts:
src/Symfony/Component/Routing/Route.php
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Profiler] Flexible height for resume box (to accommodate long urls)
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets |
| License | MIT
| Doc PR |
There is an issue when the request url contains many parameters (eg. filter form values) - the url overflows the container.
My proposed solution would be to use ellipsis on it, and on mouseover display the complete url.
Tested it on IE9, Chromium 37 and Firefox 32.
Here is a preview of how it looks:
![profiler-url](https://cloud.githubusercontent.com/assets/886304/4548542/e985b718-4e55-11e4-9963-b97b59279a26.png)
Commits
-------
e7ad172 Removed fixed height from profiler resume box.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[Debug] DI controllable ErrorHandler::register()
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | yes
| Tests pass? | yes
| Fixed tickets | #12327
| License | MIT
| Doc PR | -
This enhances the `ErrorHandler::register()` signature in a BC way, allowing greater control.
See https://github.com/symfony/symfony/pull/12330/files?w=1
Commits
-------
417f021 [Debug] DI controllable ErrorHandler::register()
* 2.5:
Remove aligned '=>' and '='
Break infinite loop while resolving aliases
[Security][listener] change priority of switchuser
Improved the phpdoc for security token classes
bumped Symfony version to 2.5.7
updated VERSION for 2.5.6
updated CHANGELOG for 2.5.6
bumped Symfony version to 2.3.22
updated VERSION for 2.3.21
update CONTRIBUTORS for 2.3.21
updated CHANGELOG for 2.3.21
Conflicts:
src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/AbstractFactory.php
src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
src/Symfony/Component/Debug/ErrorHandler.php
src/Symfony/Component/Debug/ExceptionHandler.php
src/Symfony/Component/Form/Extension/Core/Type/BaseType.php
src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
src/Symfony/Component/Form/Extension/Core/Type/DateType.php
src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php
src/Symfony/Component/HttpFoundation/Request.php
src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
src/Symfony/Component/HttpKernel/Kernel.php
src/Symfony/Component/Security/Core/SecurityContextInterface.php
src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php
src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php
src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
src/Symfony/Component/Serializer/Serializer.php
src/Symfony/Component/Validator/Constraints/File.php
This PR was squashed before being merged into the 2.3 branch (closes#12293).
Discussion
----------
Remove aligned '=>' and '='
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | [https://github.com/symfony/symfony/issues/12284]
| License | MIT
Could you said to me if i should make an other PR for 2.5 branch.
Commits
-------
51312d3 Remove aligned '=>' and '='
* 2.5:
enforce memcached version to be 2.1.0
[PropertyAccess] Simplified code
[FrameworkBundle] improve server:run feedback
[Form] no need to add the url listener when it does not do anything
[Form] Fix#11694 - Enforce options value type check in some form types
Lithuanian security translations
[SecurityBundle] Add trust_resolver variable into expression | Q | A | ------------- | --- | Bug fix? | [yes] | New feature? | [no] | BC breaks? | [no] | Deprecations? | [no] | Tests pass? | [yes] | Fixed tickets | [#12224] | License | MIT | Doc PR | [-]
[Router] Cleanup
Fixed UPGRADE-3.0.md markup
[FrameworkBundle] Fixed ide links
Add missing argument
[TwigBundle] do not pass a template reference to twig
[TwigBundle] show correct fallback exception template in debug mode
[TwigBundle] remove unused email placeholder from error page
use meta charset in layouts without legacy http-equiv
Conflicts:
src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
* 2.3:
enforce memcached version to be 2.1.0
[FrameworkBundle] improve server:run feedback
[Form] no need to add the url listener when it does not do anything
[Form] Fix#11694 - Enforce options value type check in some form types
Lithuanian security translations
[Router] Cleanup
[FrameworkBundle] Fixed ide links
Add missing argument
[TwigBundle] do not pass a template reference to twig
[TwigBundle] show correct fallback exception template in debug mode
[TwigBundle] remove unused email placeholder from error page
use meta charset in layouts without legacy http-equiv
Conflicts:
src/Symfony/Bundle/TwigBundle/Loader/FilesystemLoader.php
src/Symfony/Bundle/TwigBundle/Resources/views/layout.html.twig
In #12253, improved feedback was added to the `server:run` command
instructing the user how to terminate the built-in web server. This
is hereby backported to the `2.3` branch.
* display a message when `server:start` is executed and the PCNTL
extension is not loaded
* print instructions about how to terminate the `server:run` command
This PR was merged into the 2.3 branch.
Discussion
----------
[TwigBundle] do not pass a template reference to twig
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | -
| License | MIT
| Doc PR | -
twig does not know about template references and only expects a string.
this commit also fixes that name parsing and locating was called twice for nonexistent templates.
Commits
-------
7fe33e3 [TwigBundle] do not pass a template reference to twig
twig does not know about template references and only expects a string.
this commit also fixes that name parsing and locating was called twice for nonexistent templates
* 2.5:
[Routing] add tests for RequestContext
[Routing] fix inconsistencies in RequestContext
don't raise warnings when exception is thrown
[Framework][DX] Set the proper validator class according to the configured api version
This PR was squashed before being merged into the 2.6-dev branch (closes#12180).
Discussion
----------
Prevent an empty choice list being passed in debug:container
Hi guys!
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | --
| License | MIT
| Doc PR | n/a
Currently, there is a "bug" where if you pass an empty array to ChoiceList, then you get this following warning from `QuestionHelper::doAsk()`:
>
Warning: max(): Array must contain at least one element
That should probably be fixed too, but it would go on an earlier version, so I didn't want to mix fixes for different branches.
Thanks!
Commits
-------
ef23b63 Prevent an empty choice list being passed in debug:container
Since the `TranslatorListener` was not registered as a service, the
proper locale would never have been passed from the current request
to the translator.
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Sfdump JS ns and VarCloner replacing Ext+PhpCloner
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12140
| License | MIT
| Doc PR | -
As VarDumper is independant of the WDT, this patch creates a new JavaScript namespace used for HTML dumps.
Commits
-------
da96ad8 [VarDumper] Sfdump JS ns and VarCloner replacing Ext+PhpCloner
This PR was merged into the 2.6-dev branch.
Discussion
----------
[VarDumper] Dynamic HTML dumper
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #12109
| License | MIT
| Doc PR | -
This PR partially reverts #12109 because it didn't take into account that many dumps can share a single style tag.
More importantly, this PR enhance dump rendering with some cute JS navigation effects:
- references highlighting on hovering
- moving references toggling
Here is a screenshot (note the yellow background and the fact that `#2` appears after the first `@2`):
![capture du 2014-10-04 09 45 44](https://cloud.githubusercontent.com/assets/243674/4514936/4431c67e-4b9b-11e4-9809-8d06836be824.png)
Commits
-------
b799844 [VarDumper] Dynamic HTML dumper
A small fix in the "parse" function of the "ControllerNameParser" Controller.
We should use "!==" instead of "!=" since it's better and faster in this case.
| Q | A
| ------------- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | NA
| License | MIT
| Doc PR | NA
This PR was squashed before being merged into the 2.6-dev branch (closes#12096).
Discussion
----------
Add an action to show *error* pages in kernel.debug mode
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7446, #1486, #11327
| License | MIT
| Doc PR | symfony/symfony-docs#4293
See #7446 for the initial reasoning. In short, add to your `routing_development.yml` file the following
```yaml
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
```
Then you can use `http://localhost/app_dev.php/_error/xxx` to preview the HTML *error* page that the default `ExceptionController` (from `TwigBundle`) would pick for the XXX status code.
You can also use `http://localhost/app_dev.php/_error/xxx.{some_format}` to show error pages for other formats than HTML, most notably `txt`.
Note that the status code will be 500 for all exceptions [that do not implement `HttpExceptionInterface`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Debug/Exception/FlattenException.php#L47).
##### Want to test with a custom exception?
~~Folks might want to display (part of) the exception even on error pages and thus need to work with generic (own) exceptions.~~
~~They could write an arbitrary controller and throw their exception there. By default, the `ExceptionController` would be used to handle this, only that it would not show *error* pages in `kernel.debug` mode.~~
~~Thus, a simple public setter to change the `debug` flag after construction could help. Do we want to add that as well?~~
If you want to test error pages with your own exceptions,
* create a subclass of `ExceptionController`
* set the protected `debug` flag to false
* register it as twig.exception_controller in the config
* throw your custom exception from any controller.
That should give you the error page also in `kernel.debug` mode.
##### To-Do
- [x] Update docs
- [x] Add route in symfony/symfony-default
Commits
-------
66ed177 Add an action to show *error* pages in kernel.debug mode
This PR was merged into the 2.6-dev branch.
Discussion
----------
[FrameworkBundle] make assets-install --relative equivalent to --symlink --relative
| Q | A
| ------------- | ---
| Bug fix? | kinda
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | n/a
| License | MIT
| Doc PR | n/a
The `--relative` option of `assets:install` only makes sense when asking for symlinks. Before this change, you were forced to pass the two options: `--symlink --relative`. This PR lets you just use `--relative` and the `--symlink` option will be set for you.
This PR also fallbacks to absolute symlinks when relative ones do not work.
Commits
-------
87d4039 [FrameworkBundle] make assets-install --relative equivalent to --symlink --relative