{"action":"created","issue":{"url":"https://api.github.com/repos/netty/netty/issues/4593","labels_url":"https://api.github.com/repos/netty/netty/issues/4593/labels{/name}","comments_url":"https://api.github.com/repos/netty/netty/issues/4593/comments","events_url":"https://api.github.com/repos/netty/netty/issues/4593/events","html_url":"https://github.com/netty/netty/pull/4593","id":122989304,"number":4593,"title":"[#4528] Make ChannelHandlerAppender sub-types compatible with previou…","user":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/netty/netty/labels/defect","name":"defect","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/netty/netty/milestones/126","html_url":"https://github.com/netty/netty/milestones/4.1.0.CR1","labels_url":"https://api.github.com/repos/netty/netty/milestones/126/labels","id":1286123,"number":126,"title":"4.1.0.CR1","description":"","creator":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":48,"state":"open","created_at":"2015-09-02T12:42:53Z","updated_at":"2015-12-22T08:20:56Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2015-12-18T17:10:39Z","updated_at":"2015-12-22T13:58:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/netty/netty/pulls/4593","html_url":"https://github.com/netty/netty/pull/4593","diff_url":"https://github.com/netty/netty/pull/4593.diff","patch_url":"https://github.com/netty/netty/pull/4593.patch"},"body":"…s ChannelDuplexHandler sub-types\r\n\r\nMotivation:\r\n\r\nChannelHandlerAppender did remove itself from the pipeline and so changed the sematic of HttpClientCodec and HttpServerCodec compared to 4.0 in which a user could just remove one of these and so remove all handlers that where part of the codec. This leads to an API-breakage when upgrade from 4.0 to 4.1\r\n\r\nModifications:\r\n\r\n- Don't remove ChannelHandlerAppender by default from pipeline\r\n- When a ChannelHandlerAppender is removed from the pipeline by a user it will also remove all the handler that where append as part of the ChannelAppender\r\n\r\nResult:\r\n\r\nRemove HttpClientCodec or HttpServerCodec from the pipeline has the same sematic as in 4.0."},"comment":{"url":"https://api.github.com/repos/netty/netty/issues/comments/166623921","html_url":"https://github.com/netty/netty/pull/4593#issuecomment-166623921","issue_url":"https://api.github.com/repos/netty/netty/issues/4593","id":166623921,"user":{"login":"slandelle","id":849197,"avatar_url":"https://avatars.githubusercontent.com/u/849197?v=3","gravatar_id":"","url":"https://api.github.com/users/slandelle","html_url":"https://github.com/slandelle","followers_url":"https://api.github.com/users/slandelle/followers","following_url":"https://api.github.com/users/slandelle/following{/other_user}","gists_url":"https://api.github.com/users/slandelle/gists{/gist_id}","starred_url":"https://api.github.com/users/slandelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slandelle/subscriptions","organizations_url":"https://api.github.com/users/slandelle/orgs","repos_url":"https://api.github.com/users/slandelle/repos","events_url":"https://api.github.com/users/slandelle/events{/privacy}","received_events_url":"https://api.github.com/users/slandelle/received_events","type":"User","site_admin":false},"created_at":"2015-12-22T13:58:17Z","updated_at":"2015-12-22T13:58:17Z","body":"Maybe having a `addAfter` with an offset would help?"}}