Commit Graph

250 Commits

Author SHA1 Message Date
Fabien Potencier
4bf9ebc9a0 Revert "updated CHANGELOG for 2.1"
This reverts commit 61ab4dcbf2.
2012-01-22 17:21:38 +01:00
Fabien Potencier
fce2a67f91 updated CHANGELOG for 2.1 2012-01-22 10:45:06 +01:00
Fabien Potencier
61ab4dcbf2 updated CHANGELOG for 2.1 2012-01-22 10:27:24 +01:00
Tobias Schultze
5de5382666 improved formatting of changelog-2.1 2012-01-17 10:59:45 +01:00
Fabien Potencier
172300e0de updated CHANGELOG for 2.1 2012-01-16 21:55:17 +01:00
Dariusz Górecki
e23d4520b1 Add info about BC Break to CHANGELOG-2.1 2012-01-12 19:15:35 +01:00
Eric Clemmons
707bcc3be2 Updated CHANGELOG with GetSetNormalizer BC change 2012-01-08 14:01:05 -08:00
Dariusz Górecki
a5efe6acda Add info to CHANGELOG-2.1 2012-01-07 15:13:48 +01:00
Fabien Potencier
42fe9fc35f updated CHANGELOG for 2.1 2012-01-03 11:18:20 +01:00
Fabien Potencier
ce6399e254 [TwigBridge] added a way to specify a default domain for a Twig template (via the 'trans_default_domain' tag)
Note that the tag only influences the current templates. It has no effect on included files to avoid unwanted side-effects.
2012-01-02 17:48:19 +01:00
Fabien Potencier
254e49b47c [FrameworkBundle] removed the possibility to pass a non-scalar attributes when calling render() to make the call works with or without a reverse proxy (closes #2941) 2012-01-02 11:47:41 +01:00
Fabien Potencier
66a18f3239 [BrowserKit] first attempt at fixing CookieJar (closes #2209) 2011-12-31 16:32:51 +01:00
Fabien Potencier
899e252032 merged branch symfony/streaming (PR #2935)
Commits
-------

887c0e9 moved EngineInterface::stream() to a new StreamingEngineInterface to keep BC with 2.0
473741b added the possibility to change a StreamedResponse callback after its creation
8717d44 moved a test in the constructor
e44b8ba made some cosmetic changes
0038d1b [HttpFoundation] added support for streamed responses

Discussion
----------

[HttpFoundation] added support for streamed responses

To stream a Response, use the StreamedResponse class instead of the
standard Response class:

    $response = new StreamedResponse(function () {
        echo 'FOO';
    });

    $response = new StreamedResponse(function () {
        echo 'FOO';
    }, 200, array('Content-Type' => 'text/plain'));

As you can see, a StreamedResponse instance takes a PHP callback instead of
a string for the Response content. It's up to the developer to stream the
response content from the callback with standard PHP functions like echo.
You can also use flush() if needed.

From a controller, do something like this:

    $twig = $this->get('templating');

    return new StreamedResponse(function () use ($templating) {
        $templating->stream('BlogBundle:Annot:streamed.html.twig');
    }, 200, array('Content-Type' => 'text/html'));

If you are using the base controller, you can use the stream() method instead:

    return $this->stream('BlogBundle:Annot:streamed.html.twig');

You can stream an existing file by using the PHP built-in readfile() function:

    new StreamedResponse(function () use ($file) {
        readfile($file);
    }, 200, array('Content-Type' => 'image/png');

Read http://php.net/flush for more information about output buffering in PHP.

Note that you should do your best to move all expensive operations to
be "activated/evaluated/called" during template evaluation.

Templates
---------

If you are using Twig as a template engine, everything should work as
usual, even if are using template inheritance!

However, note that streaming is not supported for PHP templates. Support
is impossible by design (as the layout is rendered after the main content).

Exceptions
----------

Exceptions thrown during rendering will be rendered as usual except that
some content might have been rendered already.

Limitations
-----------

As the getContent() method always returns false for streamed Responses, some
event listeners won't work at all:

* Web debug toolbar is not available for such Responses (but the profiler works fine);
* ESI is not supported.

Also note that streamed responses cannot benefit from HTTP caching for obvious
reasons.

---------------------------------------------------------------------------

by Seldaek at 2011/12/21 06:34:13 -0800

Just an idea: what about exposing flush() to twig? Possibly in a way that it will not call it if the template is not streaming. That way you could always add a flush() after your </head> tag to make sure that goes out as fast as possible, but it wouldn't mess with non-streamed responses. Although it appears flush() doesn't affect output buffers, so I guess it doesn't need anything special.

When you say "ESI is not supported.", that means only the AppCache right? I don't see why this would affect Varnish, but then again as far as I know Varnish will buffer if ESI is used so the benefit of streaming there is non-existent.

---------------------------------------------------------------------------

by cordoval at 2011/12/21 08:04:21 -0800

wonder what the use case is for streaming a response, very interesting.

---------------------------------------------------------------------------

by johnkary at 2011/12/21 08:19:48 -0800

@cordoval Common use cases are present fairly well by this RailsCast video: http://railscasts.com/episodes/266-http-streaming

Essentially it allows faster fetching of web assets (JS, CSS, etc) located in the &lt;head>&lt;/head>, allowing those assets to be fetched as soon as possible before the remainder of the content body is computed and sent to the browser. The end goal is to improve page load speed.

There are other uses cases too like making large body content available quickly to the service consuming it. Think if you were monitoring a live feed of JSON data of newest Twitter comments.

---------------------------------------------------------------------------

by lsmith77 at 2011/12/21 08:54:35 -0800

How does this relate the limitations mentioned in:
http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/

Am I right to understand that due to how twig works we are not really streaming the content pieces when we call render(), but instead the entire template with its layout is rendered and only then will we flush? or does it mean that the render call will work its way to the top level layout template and form then on it can send the content until it hits another block, which it then first renders before it continues to send the data?

---------------------------------------------------------------------------

by stof at 2011/12/21 09:02:53 -0800

@lsmith77 this is why the ``stream`` method calls ``display`` in Twig instead of ``render``. ``display`` uses echo to print the output of the template line by line (and blocks are simply method calls in the middle). Look at your compiled templates to see it (the ``doDisplay`` method)
Rendering a template with Twig simply use an output buffer around the rendering.

---------------------------------------------------------------------------

by fabpot at 2011/12/21 09:24:33 -0800

@lsmith77: We don't have the Rails problem thanks to Twig as the order of execution is the right one by default (the layout is executed first); it means that we can have the flush feature without any change to how the core works. As @stof mentioned, we are using `display`, not `render`, so we are streaming your templates for byte one.

---------------------------------------------------------------------------

by fabpot at 2011/12/21 09:36:41 -0800

@Seldaek: yes, I meant ESI with the PHP reverse proxy.

---------------------------------------------------------------------------

by fabpot at 2011/12/21 09:37:34 -0800

@Seldaek: I have `flush()` support for Twig on my todo-list. As you mentioned, It should be trivial to implement.

---------------------------------------------------------------------------

by fzaninotto at 2011/12/21 09:48:18 -0800

How do streaming responses deal with assets that must be called in the head, but are declared in the body?

---------------------------------------------------------------------------

by fabpot at 2011/12/21 09:52:12 -0800

@fzaninotto: What do you mean?

With Twig, your layout is defined with blocks ("holes"). These blocks are overridden by child templates, but evaluated as they are encountered in the layout. So, everything works as expected.

As noted in the commit message, this does not work with PHP templates for the problems mentioned in the Rails post (as the order of execution is not the right one -- the child template is first evaluated and then the layout).

---------------------------------------------------------------------------

by fzaninotto at 2011/12/21 10:07:35 -0800

I was referring to using Assetic. Not sure if this compiles to Twig the same way as javascript and stylesheet blocks placed in the head - and therefore executed in the right way.

---------------------------------------------------------------------------

by fabpot at 2011/12/21 10:34:59 -0800

@Seldaek: I've just added a `flush` tag in Twig 1.5: 1d6dfad4f5

---------------------------------------------------------------------------

by catchamonkey at 2011/12/21 13:29:22 -0800

I'm really happy you've got this into the core, it's a great feature to have! Good work.
2011-12-31 08:12:02 +01:00
Matt Robinson
7e48f97a89 Fix speling misteak :) 2011-12-29 17:29:56 +01:00
William DURAND
4afc6acc9e Updated CHANGELOG-2.1 2011-12-22 20:04:58 +01:00
Fabien Potencier
0038d1bac4 [HttpFoundation] added support for streamed responses
To stream a Response, use the StreamedResponse class instead of the
standard Response class:

    $response = new StreamedResponse(function () {
        echo 'FOO';
    });

    $response = new StreamedResponse(function () {
        echo 'FOO';
    }, 200, array('Content-Type' => 'text/plain'));

As you can see, a StreamedResponse instance takes a PHP callback instead of
a string for the Response content. It's up to the developer to stream the
response content from the callback with standard PHP functions like echo.
You can also use flush() if needed.

From a controller, do something like this:

    $twig = $this->get('templating');

    return new StreamedResponse(function () use ($templating) {
        $templating->stream('BlogBundle:Annot:streamed.html.twig');
    }, 200, array('Content-Type' => 'text/html'));

If you are using the base controller, you can use the stream() method instead:

    return $this->stream('BlogBundle:Annot:streamed.html.twig');

You can stream an existing file by using the PHP built-in readfile() function:

    new StreamedResponse(function () use ($file) {
        readfile($file);
    }, 200, array('Content-Type' => 'image/png');

Read http://php.net/flush for more information about output buffering in PHP.

Note that you should do your best to move all expensive operations to
be "activated/evaluated/called" during template evaluation.

Templates
---------

If you are using Twig as a template engine, everything should work as
usual, even if are using template inheritance!

However, note that streaming is not supported for PHP templates. Support
is impossible by design (as the layout is rendered after the main content).

Exceptions
----------

Exceptions thrown during rendering will be rendered as usual except that
some content might have been rendered already.

Limitations
-----------

As the getContent() method always returns false for streamed Responses, some
event listeners won't work at all:

* Web debug toolbar is not available for such Responses (but the profiler works fine);
* ESI is not supported.

Also note that streamed responses cannot benefit from HTTP caching for obvious
reasons.
2011-12-21 14:34:26 +01:00
Fabien Potencier
a4edc1b724 updated CHANGELOG for 2.1 2011-12-19 19:52:36 +01:00
Fabien Potencier
73fc8f6ec5 updated CHANGELOG for 2.1 2011-12-18 14:36:25 +01:00
Fabien Potencier
d82e673505 updated CHANGELOG for 2.1 2011-12-18 12:39:06 +01:00
Kris Wallsmith
d7712a3e2a [Process] added ProcessBuilder
This class was copied from Assetic.
2011-12-16 11:17:43 -08:00
Fabien Potencier
1bcdb33453 updated CHANGELOG for 2.1 2011-12-15 17:54:17 +01:00
Fabien Potencier
2973d160a2 updated CHANGELOG for 2.1 2011-12-13 14:18:21 +01:00
Fabien Potencier
13f51d5183 updated CHANGELOG for 2.1 2011-12-13 12:23:37 +01:00
Fabien Potencier
2cb6260d07 changed the default XLIFF extension to .xlf instead of .xliff (this is BC and .xliff files are still valid) 2011-12-07 22:39:27 +01:00
Jeremy Mikola
ea2b0e5454 Note LoaderResolverInterface type hinting in the 2.1 changelog 2011-12-06 11:55:17 -08:00
Jeremy Mikola
da0773ceb1 Note DependencyInjection exception changes in the 2.1 changelog 2011-12-05 10:39:21 -08:00
excelwebzone
672635021e Formatted xml string in CHANGELOG 2011-12-01 06:59:21 -08:00
Fabien Potencier
d6f01df790 merged branch excelwebzone/dev (PR #2706)
Commits
-------

8710a13  Added example to the change log file
c9a2b49  Fixed xml encoder test script, and group `item` tags into an array
a0561e5  Replaced `item` with `*item` when parsing XML string

Discussion
----------

Replaced `item` with `*item` when parsing XML string

---------------------------------------------------------------------------

by fabpot at 2011/11/23 22:14:12 -0800

Tests do not pass:

1) Symfony\Tests\Component\Serializer\Encoder\XmlEncoderTest::testDecode
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
         'key2' => 'val'
-        'A B' => 'bar'
         'Barry' => Array (...)
+        'item' => Array (...)
     )
     'qux' => '1'
 )

.../tests/Symfony/Tests/Component/Serializer/Encoder/XmlEncoderTest.php:173

---------------------------------------------------------------------------

by fabpot at 2011/11/24 22:57:37 -0800

I don't understand the patch anymore. I don't see any use of `*item` in the code.

---------------------------------------------------------------------------

by excelwebzone at 2011/11/24 23:04:07 -0800

I run some testing and you can't use '*item' XML parser reject it. So I modified it to convert it to an array.. Look at the test script change

---------------------------------------------------------------------------

by fabpot at 2011/11/24 23:13:30 -0800

So, you probably need to change the CHANGELOG as well? You should add an example which shows a before/after example.

---------------------------------------------------------------------------

by excelwebzone at 2011/11/24 23:15:51 -0800

Yes, forgot to change that..

---------------------------------------------------------------------------

by fabpot at 2011/11/25 01:27:42 -0800

ping @Seldaek, @lsmith77

---------------------------------------------------------------------------

by Seldaek at 2011/11/25 04:16:43 -0800

There are other meta-names available in the XmlEncoder, @-something for attributes, then there is something happening with a # but I'm not quite sure what. I'm just saying, maybe *item isn't the best name, if it introduces a third metacharacter. Apart from that I'm fine with it.

---------------------------------------------------------------------------

by excelwebzone at 2011/11/25 08:45:31 -0800

Maybe we can rename it to `wildcard` instead

---------------------------------------------------------------------------

by excelwebzone at 2011/11/25 15:12:09 -0800

Any chance we can push this throw?

---------------------------------------------------------------------------

by lsmith77 at 2011/11/27 04:06:25 -0800

here is the old PR #2682
@Seldaek: i think your comment was made for an older version of the patch.

overall I am fine with the change, the Serializer component takes a fairly simple approach. it is also not designed to really produce XML or JSON cleanly from the same data. it will really only be able to output a clean API for one or the other with the same data structure.

---------------------------------------------------------------------------

by excelwebzone at 2011/12/01 06:25:24 -0800

@fabpot can we merge this change
2011-12-01 15:44:03 +01:00
excelwebzone
8710a132ea Added example to the change log file 2011-11-25 00:46:40 -08:00
excelwebzone
a0561e5dde Replaced item with *item when parsing XML string 2011-11-23 17:40:26 -08:00
Dariusz Górecki
09562dfee9 Update CHANGELOG for 2.1, describe new auth events 2011-11-22 14:49:42 +01:00
Fabien Potencier
9879c11629 updated CHANGELOG for 2.1 2011-11-22 09:52:31 +01:00
Fabien Potencier
b063d923bf updated CHANGELOG for 2.1 2011-11-22 09:42:16 +01:00
Fabien Potencier
574e3955b3 updated CHANGELOG for 2.1 2011-11-22 09:26:42 +01:00
Fabien Potencier
c73476929b merged branch stof/security_factories (PR #2668)
Commits
-------

413756c [BC break][SecurityBundle] Changed the way to register factories

Discussion
----------

[BC break][SecurityBundle] Changed the way to register factories

As discussed in #2454, this changes the way to register the factories to let each bundles register the factories it provides.
2011-11-22 09:24:57 +01:00
Fabien Potencier
0e8249c406 updated CHANGELOG for 2.1 2011-11-22 09:23:52 +01:00
Christophe Coevoet
413756c103 [BC break][SecurityBundle] Changed the way to register factories 2011-11-17 20:16:17 +01:00
Fabien Potencier
ec2c81bc84 merged branch stof/security_providers (PR #2454)
Commits
-------

d2195cc Fixed phpdoc and updated the changelog
9e41ff4 [SecurityBundle] Added a validation rule
b107a3f [SecurityBundle] Refactored the configuration
633f0e9 [DoctrineBundle] Moved the entity provider service to DoctrineBundle
74732dc [SecurityBundle] Added a way to extend the providers section of the config

Discussion
----------

[WIP][SecurityBundle] Added a way to extend the providers section of the config

Bug fix: no
Feature addition: yes
BC break: <del>no (for now)</del> yes
Tests pass: yes

This adds a way to extend the ``providers`` section of the security config so that other bundles can hook their stuff into it. An example is available in DoctrineBundle which is now responsible to handle the entity provider (<del>needs some cleanup as the service definition is still in SecurityBundle currently</del>). This will allow PropelBundle to provide a ``propel:`` provider for instance.

In order to keep BC with the existing configuration for the in-memory and the chain providers, I had to allow using a prototyped node instead of forcing using an array node with childrens. This introduces some issues:

- impossible to validate easily that a provider uses only one setup as prototyped node always have a default value (the empty array)
- the ``getFixableKey`` method is needed in the interface to support the XML format by pluralizing the name.

Here is my non-BC proposal for the configuration to clean this:

```yaml
security:
    providers:
        first:
            memory: # BC break here by adding a level before the users
                users:
                     joe: { password: foobar, roles: ROLE_USER }
                     john: { password: foobarbaz, roles: ROLE_USER }
        second:
            entity: # this one is BC
                class: Acme\DemoBundle\Entity\User
        third:
            id: my_custom_provider # also BC
        fourth:
            chain: # BC break by adding a level before the providers
                 providers: [first, second, third]
```

What do you think about it ? Do we need to keep the BC in the config of the bundle or no ?

Btw note that the way to register the factories used by the firewall section should be refactored using the new way to provide extension points in the extensions (as done here) instead of relying on the end user to register factories, which would probably mean a BC break anyway.

---------------------------------------------------------------------------

by lsmith77 at 2011/10/23 09:19:23 -0700

i don't think we should keep BC. the security config is complex as is .. having BC stuff in there will just make it even harder and confusing.

---------------------------------------------------------------------------

by willdurand at 2011/10/23 09:41:25 -0700

Is the security component tagged with `@api` ?

So basically, we just have to create a factory (`ModelFactory` for instance) and to register it in the `security` extension, right ? Seems quite simple to extend and much better than the hardcoded version…

Why did you call the method to pluralize a key `getFixableKey` ?

---------------------------------------------------------------------------

by beberlei at 2011/10/23 14:48:26 -0700

Changing security config will introduce risk for users. We should avoid that

---------------------------------------------------------------------------

by stof at 2011/10/23 15:34:47 -0700

@beberlei as the config is validated, it will simply give them an exception during the loading of the config if they don't update their config.

---------------------------------------------------------------------------

by stof at 2011/10/24 01:01:42 -0700

@schmittjoh @fabpot Could you give your mind about it ?

---------------------------------------------------------------------------

by stof at 2011/10/31 17:08:12 -0700

@fabpot @schmittjoh ping

---------------------------------------------------------------------------

by stof at 2011/11/11 14:08:18 -0800

I updated the PR by implementing my proposal as the latest IRC meeting agreed that we don't need to keep the BC for this change. This allows to add the validation rule now.

---------------------------------------------------------------------------

by stof at 2011/11/16 11:16:06 -0800

@fabpot ping

---------------------------------------------------------------------------

by fabpot at 2011/11/16 22:29:05 -0800

@stof: Before merging, you must also add information about how to upgrade in the CHANGELOG-2.1.md file.

---------------------------------------------------------------------------

by stof at 2011/11/17 00:01:23 -0800

@fabpot done
2011-11-17 16:00:33 +01:00
Fabien Potencier
e3655f3a5c changed priorities for kernel.request listeners
The Firewall is now executed after the Router. This was needed to have access
to the locale and other request attributes that are set by the Router. This
change implies that all Firewall specific URLs have proper (empty) routes like
`/login_check` and `/logout`.
2011-11-17 14:22:53 +01:00
Christophe Coevoet
d2195cc3d1 Fixed phpdoc and updated the changelog 2011-11-17 08:59:41 +01:00
Fabien Potencier
be193cceec updated CHANGELOG for 2.1 2011-11-17 07:47:06 +01:00
Fabien Potencier
56f7626632 updated CHANGELOG for 2.1 2011-11-09 22:02:31 +01:00
Fabien Potencier
ad6ffea225 updated CHANGELOG for 2.1 2011-11-09 21:55:11 +01:00
Miquel Rodríguez Telep
0e7540b080 Fix typo in changelog 2011-11-08 18:00:05 +00:00
Fabien Potencier
679bf5320a updated CHANGELOG for 2.1 2011-11-08 09:06:23 +01:00
Fabien Potencier
a594840c47 updated CHANGELOG for 2.1 2011-11-07 23:28:28 +01:00
Fabien Potencier
47b888a957 added the real template name when an error occurs in a Twig template 2011-11-07 20:48:18 +01:00
Fabien Potencier
6d324a6ba0 [Yaml] Yaml::parse() does not evaluate loaded files as PHP files by default anymore
This has been done to avoid security issues.

To get back the old behavior, call Yaml::enablePhpParsing() first.
2011-11-07 16:43:15 +01:00
Fabien Potencier
04a1deace0 updated CHANGELOG for 2.1 2011-11-01 15:30:43 +01:00
Fabien Potencier
448b0de9d9 updated CHANGELOG for 2.1 2011-11-01 15:25:47 +01:00
Fabien Potencier
95ec41b075 [Console] made the defaults in Application more easily customizable 2011-10-25 17:12:17 +02:00
Fabien Potencier
9077f6a971 [SwiftmailerBundle] replaced MessageLogger class with the one from Swiftmailer 4.1.3 2011-10-24 17:13:15 +02:00
Fabien Potencier
08b5d73c37 updated CHANGELOG for 2.1 2011-10-24 09:11:18 +02:00
Fabien Potencier
b876412d3b updated CHANGELOG for 2.1 2011-10-23 12:00:47 +02:00
Fabien Potencier
2e1344eb7e [Routing] added the possibility to define default values and requirements for placeholders in prefix 2011-10-23 11:57:55 +02:00
Fabien Potencier
347053c363 Moved most of the logic from ResponseListener to the Response::prepare() method
That allows projects that only use HttpFoundation and not HttpKernel to be able to
enforce the HTTP specification "rules".

$request = Request::createFromGlobals();
$response = new Response();

// do whatever you want with the Respons

// enforce HTTP spec
$response->prepare($request);

$response->send();

Within Symfony2, the prepare method is automatically called by the ResponseListener.
2011-10-18 09:04:20 +02:00
Fabien Potencier
79877ab3dd updated CHANGELOG for 2.1 2011-10-15 03:39:16 +02:00
Fabien Potencier
278e187974 updated CHANGELOG for 2.1 2011-10-15 03:38:40 +02:00
Fabien Potencier
d407be068d updated CHANGELOG for 2.1 2011-10-10 19:47:28 +02:00
Fabien Potencier
74bc699b27 moved management of the locale from the Session class to the Request class
The locale management does not require sessions anymore.

In the Symfony2 spirit, the locale should be part of your URLs. If this is the case
(via the special _locale request attribute), Symfony will store it in the request
(getLocale()).

This feature is now also configurable/replaceable at will as everything is now managed
by the new LocaleListener event listener.

How to upgrade:

The default locale configuration has been moved from session to the main configuration:

Before:

framework:
    session:
        default_locale: en

After:

framework:
    default_locale: en

Whenever you want to get the current locale, call getLocale() on the request (was on the
session before).
2011-10-08 18:34:49 +02:00
Fabien Potencier
3d64d8e70f fixed typo 2011-10-07 16:14:09 +02:00
Fabien Potencier
f6e4c2a428 updated CHANGELOG for 2.1 2011-10-07 14:12:01 +02:00
Fabien Potencier
1467bdb868 added RouterInterface::getRouteCollection() 2011-09-30 07:48:34 +02:00
Fabien Potencier
1c23ce992d updated CHANGELOG for 2.1 2011-09-30 06:58:54 +02:00
Fabien Potencier
d6c4bfb001 added a Size validator 2011-09-29 15:56:37 +02:00
Fabien Potencier
b9ba117208 [Validator] added a SizeLength validator 2011-09-29 15:45:52 +02:00
Fabien Potencier
5306ca88fb updated CHANGELOG for 2.1 2011-09-29 14:52:52 +02:00
Fabien Potencier
ac31286ab9 updated CHANGELOG for 2.1 2011-09-28 17:40:20 +02:00
Fabien Potencier
a57a4aff55 [DomCrawler] added a way to get parsing errors for Crawler::addHtmlContent() and Crawler::addXmlContent() via libxml functions 2011-09-28 10:00:18 +02:00
Fabien Potencier
382a421d5d updated CHANGELOG for 2.1 2011-09-28 09:17:08 +02:00
Fabien Potencier
eaf8ea3225 updated CHANGELOG for 2.1 2011-09-28 08:18:50 +02:00
Fabien Potencier
9b37637184 [Form] added tests for previous merge 2011-09-27 10:12:54 +02:00
Fabien Potencier
e4c743f5c2 updated CHANGELOG for 2.1 2011-09-24 15:29:19 +02:00
Fabien Potencier
645bd8215e [DomCrawler] added unit tests for previous merge 2011-09-23 08:10:01 +02:00
Fabien Potencier
f611b3ee18 updated CHANGELOG for 2.1 2011-09-22 09:44:58 +02:00
Fabien Potencier
8b511c0682 updated CHANGELOG for 2.1 2011-09-22 08:28:07 +02:00
Fabien Potencier
e503bc4e1b updated CHANGELOG for 2.1 2011-09-22 08:04:24 +02:00
Fabien Potencier
1ec6c8ddde updated CHANGELOG for 2.1 2011-09-19 18:03:40 +02:00
Fabien Potencier
bc8ed44945 updated CHANGELOG for 2.1 2011-09-16 18:49:11 +02:00
Fabien Potencier
5526072dba [Translation] added support for more than one fallback locale 2011-09-15 08:19:52 +02:00
Fabien Potencier
c5e0c80a76 [HttpFoundation] made FileBinaryMimeTypeGuesser command configurable 2011-09-14 09:45:15 +02:00
Fabien Potencier
f9ecdfeb05 [FrameworkBundle] added sc parameters replacement in route requirements 2011-09-14 09:19:55 +02:00
Fabien Potencier
b5783dffe1 updated CHANGELOG for 2.1 2011-09-14 09:06:29 +02:00
Fabien Potencier
b016b04967 updated CHANGELOG for 2.1 2011-09-13 08:49:25 +02:00
Fabien Potencier
26a65d61b1 updated CHANGELOG for 2.1 2011-09-13 08:48:32 +02:00
Fabien Potencier
47b7860450 updated CHANGELOG for 2.1 2011-09-13 08:46:58 +02:00
Fabien Potencier
100c644a05 [FrameworkBundle] fixed typo 2011-09-06 08:59:53 +02:00
Fabien Potencier
769b71f02a updated CHANGELOG for 2.1 2011-09-06 08:19:05 +02:00
Fabien Potencier
d84aecfea4 updated CHANGELOG for 2.1 2011-09-06 08:02:25 +02:00
Fabien Potencier
1d74073b6a updated CHANGELOG for 2.1 2011-09-06 07:54:13 +02:00
Fabien Potencier
748cb842cc updated CHANGELOG for 2.1 2011-09-06 07:47:18 +02:00
Fabien Potencier
dccd2d560f [HttpFoundation] implemented RFC6266 (Content-Disposition header)
references:

 * http://trac.tools.ietf.org/wg/httpbis/trac/wiki/ContentDispositionProducerAdvice
 * https://github.com/mnot/sweet/blob/master/lib/index.js
 * http://www.mnot.net/blog/2011/09/02/rfc6266_and_content-disposition
2011-09-04 09:35:13 +02:00
Fabien Potencier
bf1281aebd updated CHANGELOG for 2.1 2011-09-02 09:25:13 +02:00
Fabien Potencier
5bbc67bb53 updated CHANGELOG for 2.1 2011-08-29 15:38:12 +02:00
Fabien Potencier
7b4bf37088 changed format of the 2.1 CHANGELOG for better rendering on Github 2011-08-29 15:31:57 +02:00
Fabien Potencier
4e70b1aed4 fixed tab problem 2011-08-29 15:04:45 +02:00
Fabien Potencier
230be6815c updated CHANGELOG for 2.1 2011-08-29 14:45:37 +02:00
Fabien Potencier
07a56edc5e updated CHANGELOG 2011-08-27 08:03:17 +02:00
Fabien Potencier
8d6c7d830e udpated CHANGELOG 2011-08-26 17:50:21 +02:00
Fabien Potencier
fc793e668b added a CHANGELOG for 2.1 2011-08-26 17:45:40 +02:00