{"action":"created","issue":{"url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/52","labels_url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/52/comments","events_url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/52/events","html_url":"https://github.com/armetiz/LeezyPheanstalkBundle/pull/52","id":69555382,"number":52,"title":"Version 3","user":{"login":"pkruithof","id":330828,"avatar_url":"https://avatars.githubusercontent.com/u/330828?v=3","gravatar_id":"","url":"https://api.github.com/users/pkruithof","html_url":"https://github.com/pkruithof","followers_url":"https://api.github.com/users/pkruithof/followers","following_url":"https://api.github.com/users/pkruithof/following{/other_user}","gists_url":"https://api.github.com/users/pkruithof/gists{/gist_id}","starred_url":"https://api.github.com/users/pkruithof/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkruithof/subscriptions","organizations_url":"https://api.github.com/users/pkruithof/orgs","repos_url":"https://api.github.com/users/pkruithof/repos","events_url":"https://api.github.com/users/pkruithof/events{/privacy}","received_events_url":"https://api.github.com/users/pkruithof/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-04-20T10:23:12Z","updated_at":"2015-04-21T13:06:09Z","closed_at":"2015-04-21T09:43:30Z","pull_request":{"url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/pulls/52","html_url":"https://github.com/armetiz/LeezyPheanstalkBundle/pull/52","diff_url":"https://github.com/armetiz/LeezyPheanstalkBundle/pull/52.diff","patch_url":"https://github.com/armetiz/LeezyPheanstalkBundle/pull/52.patch"},"body":"Sorry in advance for the long PR description :wink: \r\n\r\nThis weekend I noticed that Pheanstalk has reached version 3, but this bundle limits the dependency to `<3.0`. This was the right choice as Pheanstalk now properly uses namespaces. However with that library moving forward I think it's a good idea to upgrade this bundle as well.\r\n\r\nAs the namespaces of Pheanstalk have changed, this could cause breaking changes in projects that use this bundle, if they use any of the Pheanstalk classes directly. Granted, projects should include Pheanstalk as a dependency if they do this, but I think practically it would be best if this bundle's new version is also a major one. \r\n\r\nHence I've been working on what I think should be v3 of this bundle. I left the code mostly unchanged, except for some minor details. However I did make some decisions which I feel I should explain here, so here goes:\r\n\r\n* I've upped the required PHP version to 5.5.9. This is in line with [Symfony's requirement][1] when it reaches version 3.0 in a couple of months. Now it is not necessary for this bundle, but I feel that supporting old versions of PHP (5.3 has reached EOL 8 months ago, 5.4 will be in 4 months) does not help anyone really. Besides, when Symfony 3.0 is released, you'll want to be able to use this bundle with it I imagine, which requires this PHP version anyway.\r\n* In the same light I've updated the minimum supported Symfony version to 2.3 (which is LTS). I've added all these versions in the test matrix for Travis so all combinations are properly tested.\r\n* The project layout has been restructured: all code is in `/src`, all tests in `/tests`, like many projects/libraries do these days. It looks much more clean and organised now in my opinion.\r\n* All code has been run against the [CS-Fixer][2] to be PSR-2 compliant and more in line with Symfony's code standards. I also added/fixed a lot of PhpDoc when I encountered it.\r\n* The Monolog dependency has been replaced with the PSR-3 LoggerInterface\r\n* The commands have been refactored a bit: all commands used to start with the same block of code that selects a pheanstalk service, and checks if the service is running. That code has been moved to an abstract command, making it more DRY.\r\n* `PheanstalkLogListenerTest` was not really testing anything before, it is now.\r\n* Tests for all commands were added, as well as some other minor tests.\r\n* `PheanstalkTest` has been removed, as it tested Pheanstalk classes, which is outside of the scope of this bundle.\r\n\r\nThat's it, hope you like it ;)\r\n\r\n[1]: https://github.com/symfony/symfony/pull/12522\r\n[2]: https://github.com/FriendsOfPHP/PHP-CS-Fixer"},"comment":{"url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/comments/94786678","html_url":"https://github.com/armetiz/LeezyPheanstalkBundle/pull/52#issuecomment-94786678","issue_url":"https://api.github.com/repos/armetiz/LeezyPheanstalkBundle/issues/52","id":94786678,"user":{"login":"pkruithof","id":330828,"avatar_url":"https://avatars.githubusercontent.com/u/330828?v=3","gravatar_id":"","url":"https://api.github.com/users/pkruithof","html_url":"https://github.com/pkruithof","followers_url":"https://api.github.com/users/pkruithof/followers","following_url":"https://api.github.com/users/pkruithof/following{/other_user}","gists_url":"https://api.github.com/users/pkruithof/gists{/gist_id}","starred_url":"https://api.github.com/users/pkruithof/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pkruithof/subscriptions","organizations_url":"https://api.github.com/users/pkruithof/orgs","repos_url":"https://api.github.com/users/pkruithof/repos","events_url":"https://api.github.com/users/pkruithof/events{/privacy}","received_events_url":"https://api.github.com/users/pkruithof/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T13:06:09Z","updated_at":"2015-04-21T13:06:09Z","body":"Nice! :shipit: \r\n\r\nWe're using a lot of worker functionality in our projects, I'll upgrade one of them soon to this new version, that way it's tested in real life :smiley: "}}