Commits
-------
6d27aec [SecurityBundle] Improve the init:acl command
e809458 [Security]replaced acl:init command with postGenerateSchema listener
Discussion
----------
[WIP][Security]replaced acl:init command with postGenerateSchema listener
Attempt to fix#2091.
The code is from @schmittjoh (see #1313) but was never merged.
The difference is that the `init:acl` command has not been dropped in order to overcome [the limitations](https://github.com/symfony/symfony/pull/1313#issuecomment-1387091) described by @stof. @stof do you think this is ok ?
Left to fix:
* Using the code from this PR, the generated migration does not drop the tables but still alter them,
@stof you know this part of the code far better than me. I would appreacite your feedback on this PR and any hint on solving the remaining item. Thanks.
Commits
-------
1ec075d [ClassLoader] Fixed version compare
8fb529c [ClassLoader] Fixed ClassMapGenerator and added suport for traits
Discussion
----------
[ClassLoader] Fixed ClassMapGenerator and added suport for traits
---------------------------------------------------------------------------
by hason at 2012-03-08T10:49:53Z
@fabpot, @Seldaek ``PHP_VERSION_ID`` or ``version_compare``?
---------------------------------------------------------------------------
by Seldaek at 2012-03-08T11:42:20Z
Ultimately @fabpot can call it, but I'm pro version_compare because it's just typically used for those checks, which may not make it more readable but makes it less WTF since it's a common pattern.
---------------------------------------------------------------------------
by drak at 2012-03-08T13:43:18Z
I prefer `version_compare()` with `phpversion()` as it's way more readable and obvious what it is.
---------------------------------------------------------------------------
by fabpot at 2012-03-08T17:06:25Z
+1 for `version_compare()`
---------------------------------------------------------------------------
by hason at 2012-03-09T07:19:10Z
@fabpot done
Commits
-------
99079ba Very small semantic changes improving understanding and readability.
Discussion
----------
Very small semantic changes improving understanding and readability.
The "may or may not" change may seem pedantic but it quantifies the use of the field; obviously a boolean is true or not but "may not be empty" made me wonder about it's intent so clarification seemed appropriate.
Change "return" to "returns" as the rest of the code in the class uses this syntax.
Change "contains" to "contain" in an exception message.
Commits
-------
919eee4 [Security] Regenerated the ACL SQL schema with the latest Doctrine version
Discussion
----------
[Security] Regenerated the ACL SQL schema with the latest Doctrine version
This regenerates the SQL schemas for all platforms supported by Doctrine as some changes were made in the DBAL code since the previous run of the script and a new platform has been added.
Commits
-------
f26c1ce Fixed constraint requirements for Doctrine Common
011791d [Form] Moved the Validator component to the suggest section
Discussion
----------
Composer deps
There is no hard dependency to the Validator component in the Form, as said on Twitter when @harikt tried to use it. I kept the Locale component as a requirement as it is used by the LanguageTyep, CountryType and LocaleType which will be registered when using the CoreExtension.
The constraints for Doctrine deps are fixed too: adding an upper bound everywhere as we don't know the future to guarantee the compatibility (and for instance, 2.0.9 and lower were not compatible with ORM 2.2 as we had to fix the bundle), and the bridge is compatible with Common 2.2 too, not only with 2.1.
I found 2 other places where the dependencies should be discussed:
- the Validator component marks a hard dependency to Doctrine Common for its annotation reader. There is a dependency only when using annotation so it should not be a hard requirement IMO but a suggestion. the issue is that the [ValidatorFactory](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Validator/ValidatorFactory.php) (not used by the framework itself) will add an annotation loader when relying on the default value of the arguments, which means that people that don't take care will need Common. Would it make sense to change the default so that Common is needed only when the user explicitly asks to use annotations ? Moving Common from require to suggest would make it easier for people using the Validator component standalone if they don't use annotations
- the Security component suggests the Finder and ClassLoader components. But these ones are only used by the [dev script](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Security/Acl/Resources/bin/generateSql.php) used to generate the SQL schema shipped in the component. Does it really make sense to list them as people cloning the component should probably never use this script (which alters the files in the component) ?
---------------------------------------------------------------------------
by fabpot at 2012-03-11T08:14:46Z
+1 for removing Doctrine Common as a required dependency for the Validator component.
+1 for removing ClassLoader and Finder from the Security suggestions.
Commits
-------
afd708e Add missing backtick to CHANGELOG-2.1
Discussion
----------
Fix a typo in CHANGELOG-2.1
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: -
Fixes the following tickets: -
Todo: -
Commits
-------
ad07a95 [BrowserKit] Fixed Client->back/forward/reload() not keeping all request attributes
Discussion
----------
[BrowserKit] Client->back/forward/reload() is not keeping all request attributes
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: ![Travis CI icon](https://secure.travis-ci.org/clemherreman/symfony.png?branch=fix-browserkit_client-history)
Fixes the following tickets: This one
Todo: -
<hr>
Hello
While using the BrowserKit component with Behat, I noticed that some request attributes, such as files or body, disappeared when using `Symfony\Component\BrowserKit\Client->back/forward/reload()`.
The method used internally in these methods, Client->#requestFromRequest was badly passing the old request parameters to the new request. See the diff.
Commits
-------
ca70a35 [FrameworkBundle] Return Event
876cf96 [EventDispatcher] Add fluid interface on dispatch()
Discussion
----------
[2.1][EventDispatcher] Add fluid interface on dispatch()
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
This patch allows for code like the following:-
$response = $dispatcher->dispatch('foo', new FooEvent())->getResponse();
and
if ($dispatcher->dispatch('foo')->isStoppedPropagation()) {
// ...
}
Commits
-------
c8e74da [DoctrineBridge] Iterator->current() is not the same as current(Iterator)
Discussion
----------
[DoctrineBridge] Iterator->current() is not the same as current(Iterator)
More lively discussion from: doctrine/DoctrineMongoDBBundle#84.
Commits
-------
bc62eff [HttpFoundation] Complete HTTP status code translation table (fix#2552)
Discussion
----------
[HttpFoundation] Complete HTTP status code translation table (fix#2552)
The HTTP status code translation table was updated to include all HTTP status codes as defined by the IANA Hypertext Transfer Protocol (HTTP) Status Code Registry (http://www.iana.org/assignments/http-status-codes/). This fixes#2552.
---------------------------------------------------------------------------
by lsmith77 at 2012-03-10T13:21:51Z
can you also send a PR for https://github.com/FriendsOfSymfony/FOSRest/blob/master/Util/Codes.php ?
---------------------------------------------------------------------------
by lanthaler at 2012-03-10T14:18:40Z
Sure.. You can find it here: https://github.com/FriendsOfSymfony/FOSRest/pull/5
The HTTP status code translation table was updated to include all HTTP status codes as defined by the IANA Hypertext Transfer Protocol (HTTP) Status Code Registry (http://www.iana.org/assignments/http-status-codes/).
Commits
-------
dee47b1 [DoctrineBridge] Add minimal tests for DBAL session storage driver
Discussion
----------
[2.1][DoctrineBridge] Add minimal tests for DBAL session storage driver
Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
This is intentionally only for the `master` branch because the class is different between 2.0 and master. This test is the minimal but at least will mean any refactoring changes in dependencies get caught.
Commits
-------
a5ed6ab [DoctrineBridge] Rewind MongoCursor before use in unique validator
Discussion
----------
[DoctrineBridge] Rewind MongoCursor before use in unique validator
Fixes a regression I introduced in: 265360d142
---------------------------------------------------------------------------
by jmikola at 2012-03-08T22:11:32Z
This was also reported in doctrine/DoctrineMongoDBBundle#84.
Let it be stated that we should create some functional tests for this validator :)
Commits
-------
bfb5547 fixed docblock
bf75212 use SecurityContextInterface instead of SecurityContext
498b4b6 use SecurityContextInterface instead of SecurityContext
Discussion
----------
use SecurityContextInterface instead of SecurityContext
Bug fix: no
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: /
Todo: /
Abstract: it's not possible to exchange the `security.context` with another implementation without this change. You may not be able to extend the `SecurityContext` because `isGranted` is final, so you may implement your own context.
---------------------------------------------------------------------------
by pminnieur at 2012-03-06T17:37:27Z
PS: could you merge this back to 2.0 branch, too?
---------------------------------------------------------------------------
by stof at 2012-03-06T17:42:03Z
@pminnieur send a pull request to the 2.0 branch then
---------------------------------------------------------------------------
by lsmith77 at 2012-03-06T18:42:41Z
i guess this doesn't break BC as SecurityContext always implemented the SecurityContextInterface .. no?
---------------------------------------------------------------------------
by pminnieur at 2012-03-06T19:11:00Z
this would not break BC, correct. I may identify additonal places where its not typed against the Interface but the implementation, which is really annoying. I will update the PR tomorrow morning and also do a PR for the 2.0 branch.
---------------------------------------------------------------------------
by stof at 2012-03-06T22:04:09Z
As it is in the constructor, it is not a BC break indeed as overwritten constructors can have a different signature anyway. For other places, take care that it could be a BC issue for people extending the class
---------------------------------------------------------------------------
by pminnieur at 2012-03-06T22:11:28Z
as the `isGranted ` method in the `SecurityContext ` implementation provided by Symfony is declared `final`, it's not really extendable at all - which ultimately leads to the problem: its indirectly hard coupled ;-)
---------------------------------------------------------------------------
by stof at 2012-03-06T22:38:08Z
@pminnieur the BC break is not for people extending the SecurityContext but for people extending classes that typehint it
---------------------------------------------------------------------------
by pminnieur at 2012-03-07T10:45:55Z
JFYI: the `RememberMeListener ` also does not type hint the interface but the implementation itself (it's always a constructor argument). All the other `Security\Http\Firewall` listeners type hint against the interface. I will update the PR accordingly today and also create a second PR against the 2.0 branch.
---------------------------------------------------------------------------
by pminnieur at 2012-03-07T11:55:52Z
JFYI: same issue w/ JMSSecurityExtraBundle https://github.com/schmittjoh/JMSSecurityExtraBundle/pull/44
Commits
-------
dd192a1 Add PHPUnit annotation.
Discussion
----------
Add PHPUnit annotation
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
This test performs an action which affects the global space of the test process, therefor, these
tests must run in separate PHP processes.
Usage would be to extend the Kernel, and set the errorReportingLevel prior to calling parent::__construct(). Not ideal, but this doesn't break BC and allows the user to defer the decision as late as possible. This can/should be handled better in 2.1.x
Commits
-------
afbb8f2 Fixed misleading help for "name" argument as search for services with wildcards is not implemented
Discussion
----------
[FrameworkBundle, Console] Changed help text for container:debug command
Fixed help for "name" argument as search for services with wildcards is not implemented in ContainerDebugCommand
Commits
-------
f718859 [HttpFoundation] Removes use of parameter in Request::getClientIp function.
Discussion
----------
[HttpFoundation] Removes use of parameter in Request::getClientIp function
made in reference to this : https://groups.google.com/forum/#!topic/symfony-devs/cnSLwdAQiSk