{"action":"closed","number":8,"pull_request":{"url":"https://api.github.com/repos/vega/vega-lib/pulls/8","id":186142809,"html_url":"https://github.com/vega/vega-lib/pull/8","diff_url":"https://github.com/vega/vega-lib/pull/8.diff","patch_url":"https://github.com/vega/vega-lib/pull/8.patch","issue_url":"https://api.github.com/repos/vega/vega-lib/issues/8","number":8,"state":"closed","locked":false,"title":"v4.0.0-rc.1","user":{"login":"jheer","id":202799,"avatar_url":"https://avatars0.githubusercontent.com/u/202799?v=4","gravatar_id":"","url":"https://api.github.com/users/jheer","html_url":"https://github.com/jheer","followers_url":"https://api.github.com/users/jheer/followers","following_url":"https://api.github.com/users/jheer/following{/other_user}","gists_url":"https://api.github.com/users/jheer/gists{/gist_id}","starred_url":"https://api.github.com/users/jheer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jheer/subscriptions","organizations_url":"https://api.github.com/users/jheer/orgs","repos_url":"https://api.github.com/users/jheer/repos","events_url":"https://api.github.com/users/jheer/events{/privacy}","received_events_url":"https://api.github.com/users/jheer/received_events","type":"User","site_admin":false},"body":"# Vega 4.0.0, Release Candidate 1 \r\n\r\nThis major version includes a few breaking changes for both specification validation and the JavaScript API. **All Vega 3 specifications should be successfully parsed and rendered by Vega 4**. However, a small number of Vega 3 specifications may fail JSON schema validation.\r\n\r\n## Overview of Changes\r\n\r\nBreaking Changes:\r\n\r\n- We now use [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) rather than XMLHttpRequest to load remote files. While similar, fetch has different default behavior and parameters. As a result, some of the parameters to `vega.loader` have also changed.\r\n- The deprecated `view.tooltipHandler` method has been removed. Instead, use `view.tooltip` to register a customized tooltip handler.\r\n- The _key_ parameter for both the `nest` and `treelinks` transforms is no longer needed. If included in a spec, the parser will simply ignore it. However, such specs will fail JSON schema validation.\r\n- Generated data objects for symbol legends no longer include a `total` data property.\r\n- Some `config` options have changed. The legend _entryPadding_ option has been removed. The legend _symbolFillColor_ and _symbolStrokeColor_ options are now always applied; the prior selective behavior for these options is now provided using the new _symbolBaseFillColor_ and _symbolBaseStrokeColor_ options.\r\n\r\nMajor Additions:\r\n\r\n- Support for discrete gradient legends.\r\n- Support for both horizontal and vertical legend directions.\r\n- Gradient legends now default to a vertical direction.\r\n- Multi-column layout and symbol clipping support for symbol legends.\r\n- Legend types, if not explicitly specified, are now automatically determined based on the scales used. Previously, all legends defaulted to symbol legends.\r\n- Tooltip support for individual points in `area`, `line`, and `trail` marks.\r\n- Anchor positioning for `title` layout is now by default performed relative to the full calculated bounding box, rather than the group width or height. The new _frame_ title property explicitly sets which reference frame to use.\r\n- Multiple new configuration options, and comprehensive support for configuration options within axis, legend, and title specifications.\r\n\r\n## Detailed Change Log\r\n\r\n### vega-loader\r\n\r\n- Use [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) to service requests, drop use of d3-request and XMLHttpRequest (XHR). Note that, while similar in many respects, fetch has a different default behavior than XHR. For example, fetch is more secure by default and does not share cookies or credentials unless configured to do so.\r\n- Change loader _options_ format. Clients should use the _options.http_ object property to provide [fetch parameters](https://fetch.spec.whatwg.org/#requestinit). The _options.headers_ property is no longer supported, instead use _options.http.headers_.\r\n- The loader `http` method now directly accepts an http parameter object rather than the top-level loader _options_. The loader's _options.http_ property is used as the base set of parameters, which may then be overridden by the _options_ argument to the `http` method.\r\n\r\n### vega-scenegraph\r\n\r\n- Add tooltip support for `area`, `line`, and `trail` marks. Perform lookup of individual data points along a path, rather than just the first data point.\r\n- Add tooltip handler updates for `mousemove` events, rather than `mouseover` events.\r\n- Add `getItemBoundingClientRect` method to Handler.\r\n- Add standardized `canvas` getter method to Renderer and Handler to access underlying Canvas/SVG element.\r\n- Update Handler `origin` method to be getter/setter; previously it was a setter only.\r\n- Fix group item x, y coordinate lookup in `resolveItem` method.\r\n\r\n### vega-hierarchy\r\n\r\n- Refactor `nest`, `stratify`, and `treelinks` data object generation.\r\n- Remove `nest` transform _key_ parameter, which is no longer needed.\r\n- Remove `treelinks` transform _key_ parameter, which is no longer needed.\r\n\r\n### vega-encode\r\n\r\n- Remove `total` property from generated symbol legend entries.\r\n- Add support for generating discrete gradient legend entries.\r\n- Modify colormap quantization for better balance.\r\n- Fix to use provided number format specifier even when `scale.tickFormat` is undefined.\r\n\r\n### vega-parser\r\n\r\n- Legend type, if unspecified, is now automatically determined based on the encoding channels and scale types used. Previously, the behavior was to always default to a symbol legend.\r\n- Add legend _direction_ property for specifying horizontal or vertical legends. Gradient legends now use a vertical orientation by default. The configuration options _gradientDirection_ and _symbolDirection_ can be used to separately set default directions.\r\n- Add _gradientLength_ and _gradientThickness_ properties to specify gradient dimensions regardless of horizontal or vertical direction. The previous _gradientWidth_ and _gradientHeight_ properties are now deprecated, and used as the default settings of _gradientLength_ and _gradientThickness_, respectively, if the new properties are not defined.\r\n- Add multi-column layouts for symbol legends, set via the _columns_ property and configured using the _rowPadding_, _columnPadding_, and _gridAlign_ properties.\r\n- Add clipping of symbol legend entries using the legend _clipHeight_ property. For example, a legend can indicate size by showing just the horizontal extent of a vertically clipped circle, rather than a full, large circle.\r\n- Add discrete gradient legends for discretizing scales (quantize, quantile, etc.).\r\n- Add label overlap removal support for gradient legend labels, using the legend _labelOverlap_ property.\r\n- Add legend `entries` encoding block to customize the group items containing symbol/label pairs.\r\n- Add _symbolBaseFillColor_ and _symbolBaseStrokeColor_ configuration properties for legends to determine symbol legend defaults that are selectively applied based on the encoding channels (e.g., fill, stroke, size, etc) used by the legend. The _symbolFillColor_ and _symbolStrokeColor_ configuration options are now always applied, regardless of the encoding channels used by the legend.\r\n- Add new _frame_ title property explicitly sets which reference frame to use.\r\n- Add configuration properties (previously only available as `config` options) to specifications for axis, legend, and title guides.\r\n- Remove legend _entryPadding_ property, replace with _rowPadding_ and _columnPadding_.\r\n- Update Vega JSON schema.\r\n\r\n### vega-view-transforms\r\n\r\n- Add centering options to grid layout.\r\n- Add width/height adjustment for symbol legend groups.\r\n- Add reference frame parameter (full bounds or group dimensions) to `title` layout. Anchor positioning is now by default performed relative to the full calculated bounding box, rather than the group width or height.\r\n- Adjust title layout to be outside legend and grid bounds.\r\n- Fix view layout to include grid layout row/column title bounds.\r\n- Fix left-oriented legend layout to incorporate legend widths to align along left edge.\r\n\r\n### vega-view\r\n\r\n- Add error trapping utility, add trap for signal listeners.\r\n- Add tooltip reset to finalize method.\r\n- Remove deprecated tooltipHandler method.","created_at":"2018-05-05T06:40:31Z","updated_at":"2018-05-07T22:51:31Z","closed_at":"2018-05-07T22:51:31Z","merged_at":"2018-05-07T22:51:31Z","merge_commit_sha":"87ac9f7ac4f5315daeb30a7a580374bc6f6640bc","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/vega/vega-lib/pulls/8/commits","review_comments_url":"https://api.github.com/repos/vega/vega-lib/pulls/8/comments","review_comment_url":"https://api.github.com/repos/vega/vega-lib/pulls/comments{/number}","comments_url":"https://api.github.com/repos/vega/vega-lib/issues/8/comments","statuses_url":"https://api.github.com/repos/vega/vega-lib/statuses/011851ecfccb956ddb081db40d8ec8cb6597071b","head":{"label":"vega:v4.0.0","ref":"v4.0.0","sha":"011851ecfccb956ddb081db40d8ec8cb6597071b","user":{"login":"vega","id":11796929,"avatar_url":"https://avatars3.githubusercontent.com/u/11796929?v=4","gravatar_id":"","url":"https://api.github.com/users/vega","html_url":"https://github.com/vega","followers_url":"https://api.github.com/users/vega/followers","following_url":"https://api.github.com/users/vega/following{/other_user}","gists_url":"https://api.github.com/users/vega/gists{/gist_id}","starred_url":"https://api.github.com/users/vega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vega/subscriptions","organizations_url":"https://api.github.com/users/vega/orgs","repos_url":"https://api.github.com/users/vega/repos","events_url":"https://api.github.com/users/vega/events{/privacy}","received_events_url":"https://api.github.com/users/vega/received_events","type":"Organization","site_admin":false},"repo":{"id":118955990,"name":"vega-lib","full_name":"vega/vega-lib","owner":{"login":"vega","id":11796929,"avatar_url":"https://avatars3.githubusercontent.com/u/11796929?v=4","gravatar_id":"","url":"https://api.github.com/users/vega","html_url":"https://github.com/vega","followers_url":"https://api.github.com/users/vega/followers","following_url":"https://api.github.com/users/vega/following{/other_user}","gists_url":"https://api.github.com/users/vega/gists{/gist_id}","starred_url":"https://api.github.com/users/vega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vega/subscriptions","organizations_url":"https://api.github.com/users/vega/orgs","repos_url":"https://api.github.com/users/vega/repos","events_url":"https://api.github.com/users/vega/events{/privacy}","received_events_url":"https://api.github.com/users/vega/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vega/vega-lib","description":"Include Vega in projects using minimal dependencies.","fork":false,"url":"https://api.github.com/repos/vega/vega-lib","forks_url":"https://api.github.com/repos/vega/vega-lib/forks","keys_url":"https://api.github.com/repos/vega/vega-lib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vega/vega-lib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vega/vega-lib/teams","hooks_url":"https://api.github.com/repos/vega/vega-lib/hooks","issue_events_url":"https://api.github.com/repos/vega/vega-lib/issues/events{/number}","events_url":"https://api.github.com/repos/vega/vega-lib/events","assignees_url":"https://api.github.com/repos/vega/vega-lib/assignees{/user}","branches_url":"https://api.github.com/repos/vega/vega-lib/branches{/branch}","tags_url":"https://api.github.com/repos/vega/vega-lib/tags","blobs_url":"https://api.github.com/repos/vega/vega-lib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vega/vega-lib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vega/vega-lib/git/refs{/sha}","trees_url":"https://api.github.com/repos/vega/vega-lib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vega/vega-lib/statuses/{sha}","languages_url":"https://api.github.com/repos/vega/vega-lib/languages","stargazers_url":"https://api.github.com/repos/vega/vega-lib/stargazers","contributors_url":"https://api.github.com/repos/vega/vega-lib/contributors","subscribers_url":"https://api.github.com/repos/vega/vega-lib/subscribers","subscription_url":"https://api.github.com/repos/vega/vega-lib/subscription","commits_url":"https://api.github.com/repos/vega/vega-lib/commits{/sha}","git_commits_url":"https://api.github.com/repos/vega/vega-lib/git/commits{/sha}","comments_url":"https://api.github.com/repos/vega/vega-lib/comments{/number}","issue_comment_url":"https://api.github.com/repos/vega/vega-lib/issues/comments{/number}","contents_url":"https://api.github.com/repos/vega/vega-lib/contents/{+path}","compare_url":"https://api.github.com/repos/vega/vega-lib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vega/vega-lib/merges","archive_url":"https://api.github.com/repos/vega/vega-lib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vega/vega-lib/downloads","issues_url":"https://api.github.com/repos/vega/vega-lib/issues{/number}","pulls_url":"https://api.github.com/repos/vega/vega-lib/pulls{/number}","milestones_url":"https://api.github.com/repos/vega/vega-lib/milestones{/number}","notifications_url":"https://api.github.com/repos/vega/vega-lib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vega/vega-lib/labels{/name}","releases_url":"https://api.github.com/repos/vega/vega-lib/releases{/id}","deployments_url":"https://api.github.com/repos/vega/vega-lib/deployments","created_at":"2018-01-25T19:10:59Z","updated_at":"2018-04-24T20:42:39Z","pushed_at":"2018-05-07T22:51:31Z","git_url":"git://github.com/vega/vega-lib.git","ssh_url":"git@github.com:vega/vega-lib.git","clone_url":"https://github.com/vega/vega-lib.git","svn_url":"https://github.com/vega/vega-lib","homepage":"https://vega.github.io/vega","size":3193,"stargazers_count":6,"watchers_count":6,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause"},"forks":1,"open_issues":2,"watchers":6,"default_branch":"master"}},"base":{"label":"vega:master","ref":"master","sha":"5ed56ad072e6c1726dafcad019d338e082e05d40","user":{"login":"vega","id":11796929,"avatar_url":"https://avatars3.githubusercontent.com/u/11796929?v=4","gravatar_id":"","url":"https://api.github.com/users/vega","html_url":"https://github.com/vega","followers_url":"https://api.github.com/users/vega/followers","following_url":"https://api.github.com/users/vega/following{/other_user}","gists_url":"https://api.github.com/users/vega/gists{/gist_id}","starred_url":"https://api.github.com/users/vega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vega/subscriptions","organizations_url":"https://api.github.com/users/vega/orgs","repos_url":"https://api.github.com/users/vega/repos","events_url":"https://api.github.com/users/vega/events{/privacy}","received_events_url":"https://api.github.com/users/vega/received_events","type":"Organization","site_admin":false},"repo":{"id":118955990,"name":"vega-lib","full_name":"vega/vega-lib","owner":{"login":"vega","id":11796929,"avatar_url":"https://avatars3.githubusercontent.com/u/11796929?v=4","gravatar_id":"","url":"https://api.github.com/users/vega","html_url":"https://github.com/vega","followers_url":"https://api.github.com/users/vega/followers","following_url":"https://api.github.com/users/vega/following{/other_user}","gists_url":"https://api.github.com/users/vega/gists{/gist_id}","starred_url":"https://api.github.com/users/vega/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vega/subscriptions","organizations_url":"https://api.github.com/users/vega/orgs","repos_url":"https://api.github.com/users/vega/repos","events_url":"https://api.github.com/users/vega/events{/privacy}","received_events_url":"https://api.github.com/users/vega/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/vega/vega-lib","description":"Include Vega in projects using minimal dependencies.","fork":false,"url":"https://api.github.com/repos/vega/vega-lib","forks_url":"https://api.github.com/repos/vega/vega-lib/forks","keys_url":"https://api.github.com/repos/vega/vega-lib/keys{/key_id}","collaborators_url":"https://api.github.com/repos/vega/vega-lib/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/vega/vega-lib/teams","hooks_url":"https://api.github.com/repos/vega/vega-lib/hooks","issue_events_url":"https://api.github.com/repos/vega/vega-lib/issues/events{/number}","events_url":"https://api.github.com/repos/vega/vega-lib/events","assignees_url":"https://api.github.com/repos/vega/vega-lib/assignees{/user}","branches_url":"https://api.github.com/repos/vega/vega-lib/branches{/branch}","tags_url":"https://api.github.com/repos/vega/vega-lib/tags","blobs_url":"https://api.github.com/repos/vega/vega-lib/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/vega/vega-lib/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/vega/vega-lib/git/refs{/sha}","trees_url":"https://api.github.com/repos/vega/vega-lib/git/trees{/sha}","statuses_url":"https://api.github.com/repos/vega/vega-lib/statuses/{sha}","languages_url":"https://api.github.com/repos/vega/vega-lib/languages","stargazers_url":"https://api.github.com/repos/vega/vega-lib/stargazers","contributors_url":"https://api.github.com/repos/vega/vega-lib/contributors","subscribers_url":"https://api.github.com/repos/vega/vega-lib/subscribers","subscription_url":"https://api.github.com/repos/vega/vega-lib/subscription","commits_url":"https://api.github.com/repos/vega/vega-lib/commits{/sha}","git_commits_url":"https://api.github.com/repos/vega/vega-lib/git/commits{/sha}","comments_url":"https://api.github.com/repos/vega/vega-lib/comments{/number}","issue_comment_url":"https://api.github.com/repos/vega/vega-lib/issues/comments{/number}","contents_url":"https://api.github.com/repos/vega/vega-lib/contents/{+path}","compare_url":"https://api.github.com/repos/vega/vega-lib/compare/{base}...{head}","merges_url":"https://api.github.com/repos/vega/vega-lib/merges","archive_url":"https://api.github.com/repos/vega/vega-lib/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/vega/vega-lib/downloads","issues_url":"https://api.github.com/repos/vega/vega-lib/issues{/number}","pulls_url":"https://api.github.com/repos/vega/vega-lib/pulls{/number}","milestones_url":"https://api.github.com/repos/vega/vega-lib/milestones{/number}","notifications_url":"https://api.github.com/repos/vega/vega-lib/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/vega/vega-lib/labels{/name}","releases_url":"https://api.github.com/repos/vega/vega-lib/releases{/id}","deployments_url":"https://api.github.com/repos/vega/vega-lib/deployments","created_at":"2018-01-25T19:10:59Z","updated_at":"2018-04-24T20:42:39Z","pushed_at":"2018-05-07T22:51:31Z","git_url":"git://github.com/vega/vega-lib.git","ssh_url":"git@github.com:vega/vega-lib.git","clone_url":"https://github.com/vega/vega-lib.git","svn_url":"https://github.com/vega/vega-lib","homepage":"https://vega.github.io/vega","size":3193,"stargazers_count":6,"watchers_count":6,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause"},"forks":1,"open_issues":2,"watchers":6,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/vega/vega-lib/pulls/8"},"html":{"href":"https://github.com/vega/vega-lib/pull/8"},"issue":{"href":"https://api.github.com/repos/vega/vega-lib/issues/8"},"comments":{"href":"https://api.github.com/repos/vega/vega-lib/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/vega/vega-lib/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/vega/vega-lib/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/vega/vega-lib/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/vega/vega-lib/statuses/011851ecfccb956ddb081db40d8ec8cb6597071b"}},"author_association":"OWNER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"jheer","id":202799,"avatar_url":"https://avatars0.githubusercontent.com/u/202799?v=4","gravatar_id":"","url":"https://api.github.com/users/jheer","html_url":"https://github.com/jheer","followers_url":"https://api.github.com/users/jheer/followers","following_url":"https://api.github.com/users/jheer/following{/other_user}","gists_url":"https://api.github.com/users/jheer/gists{/gist_id}","starred_url":"https://api.github.com/users/jheer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jheer/subscriptions","organizations_url":"https://api.github.com/users/jheer/orgs","repos_url":"https://api.github.com/users/jheer/repos","events_url":"https://api.github.com/users/jheer/events{/privacy}","received_events_url":"https://api.github.com/users/jheer/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":5,"additions":113291,"deletions":257,"changed_files":210}}
{"actor":{"display_login":"jheer"}}