{"action":"opened","issue":{"url":"https://api.github.com/repos/lovell/sharp/issues/241","labels_url":"https://api.github.com/repos/lovell/sharp/issues/241/labels{/name}","comments_url":"https://api.github.com/repos/lovell/sharp/issues/241/comments","events_url":"https://api.github.com/repos/lovell/sharp/issues/241/events","html_url":"https://github.com/lovell/sharp/issues/241","id":95156822,"number":241,"title":"Discussion: Operations and pipelines external API","user":{"login":"lovell","id":210965,"avatar_url":"https://avatars.githubusercontent.com/u/210965?v=3","gravatar_id":"","url":"https://api.github.com/users/lovell","html_url":"https://github.com/lovell","followers_url":"https://api.github.com/users/lovell/followers","following_url":"https://api.github.com/users/lovell/following{/other_user}","gists_url":"https://api.github.com/users/lovell/gists{/gist_id}","starred_url":"https://api.github.com/users/lovell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lovell/subscriptions","organizations_url":"https://api.github.com/users/lovell/orgs","repos_url":"https://api.github.com/users/lovell/repos","events_url":"https://api.github.com/users/lovell/events{/privacy}","received_events_url":"https://api.github.com/users/lovell/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/lovell/sharp/labels/api-breaker","name":"api-breaker","color":"0052cc"},{"url":"https://api.github.com/repos/lovell/sharp/labels/help-required","name":"help-required","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-15T10:14:57Z","updated_at":"2015-07-15T10:14:57Z","closed_at":null,"body":"This \"issue\" is to gather feedback on potential API improvements that would result in logically splitting existing methods into operations vs options, then allowing image processing pipelines to be constructed from JavaScript.\r\n\r\nThis would more closely mirror the way libvips works underneath, allowing a cleaner way of exposing more of its features, and make this module more of a complete binding (whilst still providing the bridge from JavaScript <-> V8 <-> libuv-managed threads <-> libvips).\r\n\r\nI've no idea right now how much of an API breaker this will turn out to be. At best it will simply complement the existing API. As always there will be a deprecation route for any methods that have to move out of the way.\r\n\r\n@LinusU has made some excellent suggestions about this - see https://github.com/lovell/sharp/issues/235#issuecomment-115148217"}}