Commits
-------
edfa29b session data needs to be encoded because it can contain non binary safe characters e.g null. Fixes#2067
Discussion
----------
session data needs to be encoded because it can contain non binary safe characters e.g null.
Bug fix: yes
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #2067
I'm marking this as a compatibility break because session table should be cleared and even if not cleared all currently logged in users will be logged out.
---------------------------------------------------------------------------
by mvrhov at 2011/10/11 12:52:25 -0700
P.S. I know there was a talk about doctrine based session storage but I cannot find this in core. It probably has the same problem.
---------------------------------------------------------------------------
by eventhorizonpl at 2011/10/11 14:34:08 -0700
Thanks for tracking down and fixing this issue!
Best regards,
Michal
---------------------------------------------------------------------------
by stof at 2011/10/11 16:24:18 -0700
@mvrhov The Doctrine based storage is only available in master, not in 2.0
Commits
-------
6343bef [HttpKernel] Updated mirror method to check for symlinks before dirs and files
Discussion
----------
[HttpKernel] Updated mirror method to check for symlinks before dirs and files
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #2436
Commits
-------
808088a added the ability to use dot and single quotes in the keys and values
Discussion
----------
[2.0][Bugfix][DependencyInjection] added the ability to use dot and single quotes in the keys and values
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
We can not set a specific combination of dots and single quotes in the values and keys of the arguments. I.E.
```xml
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/serviceshttp://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="key_escaper" class="MyNamespace\MyClass">
<call method="setCollection">
<argument type="collection">
<argument key="only dot">.</argument>
<argument key="concatenation as value">.''.</argument>
<argument key="concatenation from the start line">''.</argument>
<argument key=".">is the same problem for the keys?</argument>
</argument>
</call>
</service>
</services>
</container>
```
As a result we have such a dump:
```php
<?php
class appDevDev_formapro1DebugProjectContainer extends Container
{
protected function getKeyEscaperService()
{
$this->services['key_escaper'] = $instance = new \MyNamespace\MyClass();
$instance->setCollection(array('only dot' => , 'concatenation as value' => '.\'\, 'concatenation from the start line' => '\'\, => 'is the same problem for the keys?'));
return $instance;
}
}
```
Commits
-------
64e7833 [FrameworkBundle] Fix typo in FrameworkExtensionTest
Discussion
----------
[FrameworkBundle] Fix typo in FrameworkExtensionTest
Spotted this typo in the test messages from my previous asset helper scope PR.
Commits
-------
27d0809 [MonologBridge] Adjust for Monolog 1.0.2
Discussion
----------
[MonologBridge] Adjust for Monolog 1.0.2
This is BC, it just turns off headers in browsers that don't have Firebug, I have had problems in IE with more than 150 log entries just crashing the page.
Commits
-------
6b872cf Check if cache_warmer service is available before doing the actual cache warmup
Discussion
----------
fix cache warump exception when service is not available
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: N/A
fixes [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service "cache_warmer". in console when FrameworkBundle is removed from kernel.
Commits
-------
e81c710 Increased the priority of the profiler request listener
Discussion
----------
Increased the priority of the profiler request listener
If a request listener returns a response before calling the profiler
listener, the request will not be added in the stack leading to an error
during the handling of the kernel.response event. The profiler listener
should ideally be run first.
The same issue will occur if a previous listener throws an exception btw.
---------------------------------------------------------------------------
by schmittjoh at 2011/10/20 08:21:15 -0700
Can you add a test?
These interdependencies between listeners are really easy to mess up, and no-one will remember why listener X has to be run before listener Y, but after listener Z.
---------------------------------------------------------------------------
by stof at 2011/10/20 08:27:51 -0700
Well, in fact, the only rule is that the listener **must** run for the request event to avoid failing during the response event of an eventual subrequest. So if another listener triggers a subrequest before the profiler is called, it will fail because the parent request is not in the stack.
A better fix would probably make the listener work even when the propagation of the request event has been stopped (or has not reached this listener yet) to avoid issues (someone doing a subrequest in its own listener will still be able to use a higher priority for instance) but I don't have time to refactor @fabpot's refactoring now.
---------------------------------------------------------------------------
by schmittjoh at 2011/10/20 08:36:40 -0700
Another idea would be to add a ProfilerHttpKernel as it basically needs to wrap the request/response cycle, and people might have priorities beyond 1000 (see @Seldaek's SecurityBundle).
Using an extra kernel would be the only way to really guarantee that it is working. Note that I'm not implying you should do it, but as a "real" fix this would probably be better.
---------------------------------------------------------------------------
by stof at 2011/10/20 08:43:07 -0700
The issue by wrapping the HttpKernel is that the kernel passed in the event is the one dispatching the event. So we would have to implement it by using inheritance, not composition (otherwise the listener would create subrequests using the inner kernel and they would not be profiled).
But FrameworkBundle already extend the HttpKernel to handle the creation of the request scope (which must be done using inheritance for the same reason).
So it would require having a ContainerAwareHttpKernel (handling the scope), a ProfilerHttpKernel (handling the profiler) both extending the base HttpKernel (the Profiler one should be usable when using only the component, and the ContainerAware one is needed in prod when disabling the profiler) but also a ContainerAwareProfilerHttpKernel extending one of them and duplicating the logic of the other.
---------------------------------------------------------------------------
by schmittjoh at 2011/10/20 08:52:13 -0700
So maybe, we need to revisit which kernel is passed in the event as well.
But doing things more explicitly is better than making assumptions about priorities that no-one can remember in a few weeks.
---------------------------------------------------------------------------
by stof at 2011/10/20 09:53:45 -0700
@schmittjoh Issue is, using composition would require to let the inner kernel know about the wrapper to be able to pass it in the event. This looks ugly.
But I agree it would be better to do things explicitly
---------------------------------------------------------------------------
by Seldaek at 2011/10/21 07:39:23 -0700
Didn't read everything, busy, but regarding the mention of our security bundle, it is highlighting a big issue with priorities imo, in that we're missing a one-stop page that lists all the existing priorities, and possibly some more details like "if you do this, don't go above this priority or it'll blow up". Otherwise it'll just be a game of escalation :)
If a request listener returns a response before calling the profiler
listener, the request will not be added in the stack leading to an error
during the handling of the kernel.response event. The profiler listener
should ideally be run first.
Commits
-------
ae342c7 unified toolbar.css
a7e4e70 unified profiler.css
09fe09e unified and corrected exception_layout.css
3a1674b unified and corrected exception.css
Discussion
----------
Unified and corrected CSS markup
Unified (spaces, braces, quotes, indention) and corrected (missing semicolon) the CSS markup.
Did not change any semantic, only markup!
@fabpot: New pull based on symfony:2.0 and changed formatting style as agreed in #2405
Commits
-------
205f524 [Tests] Skip MimeTypeTest if running as root
d3e9104 [Tests] Skip Routing annotation tests when Doctrine is not available.
Discussion
----------
[Tests] Fix tests when some vendor is not available.
Commits
-------
a1bab83 [composer] make doctrine dbal and orm recommended by doctrine-bundle
225b512 [composer] make doctrine dbal and orm recommended by doctrine-bridge
03bdac0 [composer] make twig-bundle require twig-bridge
5757713 [composer] add doctrine and twig dependencies
Discussion
----------
Composer update
Add doctrine and twig dependencies (they are now on packagist.org), move doctrine requires to recommends, add twig-bridge require to twig-bundle.
Per @stof, symfony 2.1 (master) will need doctrine to be updated to 2.2-dev.
---------------------------------------------------------------------------
by Seldaek at 2011/10/15 09:13:35 -0700
Also @fabpot it'd be great if you would submit all the sub-tree packages to packagist.org, that way we could start using them individually.
By the way if you want the automatic versioning is now working so if you just delete the "version" from the json files, it should do the right thing. Up to you. See details on http://packagist.org/about
Commits
-------
9d8046e [Doctrine] GH-1635 - UniqueValidator now works with associations
Discussion
----------
GH 1635
Handle associations in unique validator correctly.
---------------------------------------------------------------------------
by beberlei at 2011/10/15 00:34:31 -0700
This can be merged into "master" as well. The test-code is also a little bit smelling, it includes files manually that dont follow PSR-0. I am going to fix that in another PR after this is merged.
Commits
-------
d8dfca2 [BrowserKit] Added additional unit tests for capital letters in cookies
00cbd39 [BrowserKit] Fixed cookie expiry discard when attribute contains capitals
Discussion
----------
[BrowserKit] Cookie expiry is discared if the attribute name contains a capital letter
`Cookie::fromString()` discards the expiry time of a cookie where the `expires` attribute contains a capital letter, like `foo=bar; Expires=Fri, 31 Dec 2010 23:59:59 GMT`.
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -