{"action":"created","issue":{"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/276","repository_url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle","labels_url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/276/labels{/name}","comments_url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/276/comments","events_url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/276/events","html_url":"https://github.com/sonata-project/SonataNotificationBundle/pull/276","id":272934665,"number":276,"title":"Migrate to AMQP interop.","user":{"login":"makasim","id":143206,"avatar_url":"https://avatars3.githubusercontent.com/u/143206?v=4","gravatar_id":"","url":"https://api.github.com/users/makasim","html_url":"https://github.com/makasim","followers_url":"https://api.github.com/users/makasim/followers","following_url":"https://api.github.com/users/makasim/following{/other_user}","gists_url":"https://api.github.com/users/makasim/gists{/gist_id}","starred_url":"https://api.github.com/users/makasim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/makasim/subscriptions","organizations_url":"https://api.github.com/users/makasim/orgs","repos_url":"https://api.github.com/users/makasim/repos","events_url":"https://api.github.com/users/makasim/events{/privacy}","received_events_url":"https://api.github.com/users/makasim/received_events","type":"User","site_admin":false},"labels":[{"id":369793247,"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/labels/major","name":"major","color":"e11d21","default":false},{"id":371424081,"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/labels/Needs:%20Documentation","name":"Needs: Documentation","color":"006b75","default":false},{"id":371424084,"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/labels/Needs:%20Upgrade%20note","name":"Needs: Upgrade note","color":"006b75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":23,"created_at":"2017-11-10T13:37:25Z","updated_at":"2017-11-14T13:19:21Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/pulls/276","html_url":"https://github.com/sonata-project/SonataNotificationBundle/pull/276","diff_url":"https://github.com/sonata-project/SonataNotificationBundle/pull/276.diff","patch_url":"https://github.com/sonata-project/SonataNotificationBundle/pull/276.patch"},"body":"<!-- THE PR TEMPLATE IS NOT AN OPTION. DO NOT DELETE IT, MAKE SURE YOU READ AND EDIT IT! -->\r\n\r\n<!--\r\n    Show us you choose the right branch.\r\n    Different branches are used for different things :\r\n    - 3.x is for everything backwards compatible, like patches, features and deprecation notices\r\n    - master is for deprecation removals and other changes that cannot be done without a BC-break\r\n    More details here: https://github.com/sonata-project/SonataNotificationBundle/blob/3.x/CONTRIBUTING.md#the-base-branch\r\n-->\r\nI am targeting this branch, because it contains BC breaks.\r\n\r\n<!--\r\n    Specify which issues will be fixed/closed.\r\n    Remove it if this is not related.\r\n-->\r\n\r\nCloses https://github.com/sonata-project/SonataNotificationBundle/issues/275\r\n\r\n## Changelog\r\n\r\n<!-- MANDATORY\r\n    Fill the changelog part inside the code block.\r\n    Follow this schema: http://keepachangelog.com/\r\n-->\r\n\r\n<!-- REMOVE EMPTY SECTIONS -->\r\n```markdown\r\n### Changed\r\n- The [php-amqplib](https://github.com/php-amqplib/php-amqplib) is replaced with [enqueue/amqp-lib](https://github.com/php-enqueue/enqueue-dev/blob/master/docs/transport/amqp_lib.md). This is BC change cuz it still uses php-amqplib internally. The change adopts [amqp interop](https://github.com/queue-interop/queue-interop#amqp-interop) standard which allows decouple the bundle from php-amqplib and use other its implementations in future. \r\n```\r\n\r\n## To do\r\n\r\n<!--\r\n    If this is a work in progress, COMPLETE and ADD needed tasks.\r\n    You can add as many tasks as you want.\r\n    If some are not relevant, just REMOVE them.\r\n-->\r\n\r\n- [x] Changelog\r\n- [x] Update the tests\r\n- [ ] Update the documentation\r\n- [ ] Add an upgrade note\r\n\r\n## Subject\r\n\r\nThe PR replaces [php-amqplib](https://github.com/php-amqplib/php-amqplib) usage with the solution based on [AMQP interop](https://github.com/queue-interop/queue-interop#amqp-interop). There are several reasons for that:\r\n\r\n* The code does not rely on an implementation but interoperable interfaces. \r\n* The biggest advantage among others is that it would work with not only php-amqplib but amqp-ext, and bunny, or any amqp interop compatible libraries.\r\n* cleaner OO API.\r\n* less code, fewer bugs.\r\n* no need for dealing with low-level details ( the right type for queue argument).\r\n* supports delaying out of the box\r\n* supports secure connections. \r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/comments/344256254","html_url":"https://github.com/sonata-project/SonataNotificationBundle/pull/276#issuecomment-344256254","issue_url":"https://api.github.com/repos/sonata-project/SonataNotificationBundle/issues/276","id":344256254,"user":{"login":"makasim","id":143206,"avatar_url":"https://avatars3.githubusercontent.com/u/143206?v=4","gravatar_id":"","url":"https://api.github.com/users/makasim","html_url":"https://github.com/makasim","followers_url":"https://api.github.com/users/makasim/followers","following_url":"https://api.github.com/users/makasim/following{/other_user}","gists_url":"https://api.github.com/users/makasim/gists{/gist_id}","starred_url":"https://api.github.com/users/makasim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/makasim/subscriptions","organizations_url":"https://api.github.com/users/makasim/orgs","repos_url":"https://api.github.com/users/makasim/repos","events_url":"https://api.github.com/users/makasim/events{/privacy}","received_events_url":"https://api.github.com/users/makasim/received_events","type":"User","site_admin":false},"created_at":"2017-11-14T13:19:21Z","updated_at":"2017-11-14T13:19:21Z","author_association":"NONE","body":"Well, giving it a second though I think I can add `factory_class` option in this PR as well. So there will be a possibility to change one transport to another even now. \r\n\r\n"}}
{"actor":{"display_login":"makasim"}}