{"action":"created","comment":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments/34603769","id":34603769,"diff_hunk":"@@ -1,3 +1,132 @@\n+# Release 2.1.0-beta (Forbidden Planet)\n+\n+-- issues up-to-date with the 2.1 milestone as of 2015-07-12 20:00 UTC\n+-- contributors \" \" next as of 3dac994 and docs:master as of 0b661c4\n+\n+This is a beta release for RethinkDB 2.1. **It is not for production use and has known bugs.** Please do not use this version for production data.\n+\n+We are looking forward to your bug reports on GitHub (http://github.com/rethinkdb/rethinkdb/issues/new) or on our mailing list (https://groups.google.com/forum/#!forum/rethinkdb).\n+\n+Release highlight:\n+\n+* Automatic failover\n+* More flexible administration for servers and tables\n+* Advanced recovery features\n+\n+Read the [blog post][2.1-beta] for more details.\n+\n+[2.1-beta]: http://rethinkdbblog.com/blog/2.1-beta/\n+\n+## Compatibility ##\n+\n+This beta release does not include automatic migration of data\n+directories from older versions of RethinkDB. However the final 2.1.0\n+version will include that feature for versions of RethinkDB down to\n+1.14.0. Upgrading directly from RethinkDB 1.13 will require manually\n+upgrading using `rethinkdb dump`.\n+\n+### Changed handling of server failures ###\n+This release introduces a new system for dealing with server failures and network partitions.\n+It is no longer necessary nor possible to permanently remove an unreachable server from the cluster through the system tables or the web UI. Instead the cluster now remains in an administrable state even with servers missing. To change the configuration of a given table, a majority of the servers that host replicas for that table need to be connected to guarantee data consistency. If more servers become unavailable, the new `emergency_repair` option to `table.reconfigure` can be used to restore table availability.\n+\n+This release adds full support for automatic failover. Tables with three or more replicas now automatically elect a new primary replica to restore availability after a currently configured primary replica has disconnected. No manual intervention is required in this scenario.\n+\n+### System table changes ###\n+To reflect changes in the underlying cluster administration logic, some of the tables in the `\"rethinkdb\"` database changed.\n+\n+Each shard subdocument in the `\"table_config\"` table now has a new field `nonvoting_replicas`, that can be set to a subset of the servers in the `replicas` field. Furthermore `write_acks` must now be either `\"single\"` or `\"majority\"`. Custom write ack specifications are no longer supported. Instead non-voting replicas can be used to set up replicas that do not count towards the write ack requirements. Non-voting replicas can also be configured through the `table.reconfigure` command, by using the `novoting_replica_tags` optional argument. As a special case, `\"table_config\"` now lists tables that have all of their replicas disconnected as special documents with an `\"error\"` field.","path":"NOTES.md","position":37,"original_position":37,"commit_id":"7c02df7353082841d4fa93a09949f2ddcaecd36a","original_commit_id":"7c02df7353082841d4fa93a09949f2ddcaecd36a","user":{"login":"mglukhovsky","id":91193,"avatar_url":"https://avatars.githubusercontent.com/u/91193?v=3","gravatar_id":"","url":"https://api.github.com/users/mglukhovsky","html_url":"https://github.com/mglukhovsky","followers_url":"https://api.github.com/users/mglukhovsky/followers","following_url":"https://api.github.com/users/mglukhovsky/following{/other_user}","gists_url":"https://api.github.com/users/mglukhovsky/gists{/gist_id}","starred_url":"https://api.github.com/users/mglukhovsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mglukhovsky/subscriptions","organizations_url":"https://api.github.com/users/mglukhovsky/orgs","repos_url":"https://api.github.com/users/mglukhovsky/repos","events_url":"https://api.github.com/users/mglukhovsky/events{/privacy}","received_events_url":"https://api.github.com/users/mglukhovsky/received_events","type":"User","site_admin":false},"body":"> Instead,\r\n\r\n(missing comma)","created_at":"2015-07-14T18:43:20Z","updated_at":"2015-07-14T18:43:20Z","html_url":"https://github.com/rethinkdb/rethinkdb/pull/4508#discussion_r34603769","pull_request_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508","_links":{"self":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments/34603769"},"html":{"href":"https://github.com/rethinkdb/rethinkdb/pull/4508#discussion_r34603769"},"pull_request":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508"}}},"pull_request":{"url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508","id":39323833,"html_url":"https://github.com/rethinkdb/rethinkdb/pull/4508","diff_url":"https://github.com/rethinkdb/rethinkdb/pull/4508.diff","patch_url":"https://github.com/rethinkdb/rethinkdb/pull/4508.patch","issue_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4508","number":4508,"state":"open","locked":false,"title":"Draft release notes for 2.1-beta","user":{"login":"AtnNn","id":706854,"avatar_url":"https://avatars.githubusercontent.com/u/706854?v=3","gravatar_id":"","url":"https://api.github.com/users/AtnNn","html_url":"https://github.com/AtnNn","followers_url":"https://api.github.com/users/AtnNn/followers","following_url":"https://api.github.com/users/AtnNn/following{/other_user}","gists_url":"https://api.github.com/users/AtnNn/gists{/gist_id}","starred_url":"https://api.github.com/users/AtnNn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AtnNn/subscriptions","organizations_url":"https://api.github.com/users/AtnNn/orgs","repos_url":"https://api.github.com/users/AtnNn/repos","events_url":"https://api.github.com/users/AtnNn/events{/privacy}","received_events_url":"https://api.github.com/users/AtnNn/received_events","type":"User","site_admin":false},"body":"@danielmewes @mglukhovsky Could you please review?","created_at":"2015-07-07T00:09:38Z","updated_at":"2015-07-14T18:43:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a83e1a4cf0f7aee4c4dcd38ed4f4935247e33e1e","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508/commits","review_comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508/comments","review_comment_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4508/comments","statuses_url":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/7c02df7353082841d4fa93a09949f2ddcaecd36a","head":{"label":"rethinkdb:atnnn/notes","ref":"atnnn/notes","sha":"7c02df7353082841d4fa93a09949f2ddcaecd36a","user":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"repo":{"id":6452529,"name":"rethinkdb","full_name":"rethinkdb/rethinkdb","owner":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rethinkdb/rethinkdb","description":"An open-source distributed JSON document database with a pleasant and powerful query language.","fork":false,"url":"https://api.github.com/repos/rethinkdb/rethinkdb","forks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/forks","keys_url":"https://api.github.com/repos/rethinkdb/rethinkdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rethinkdb/rethinkdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rethinkdb/rethinkdb/teams","hooks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/hooks","issue_events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/events{/number}","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/events","assignees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/assignees{/user}","branches_url":"https://api.github.com/repos/rethinkdb/rethinkdb/branches{/branch}","tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/tags","blobs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/{sha}","languages_url":"https://api.github.com/repos/rethinkdb/rethinkdb/languages","stargazers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/stargazers","contributors_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contributors","subscribers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscribers","subscription_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscription","commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contents/{+path}","compare_url":"https://api.github.com/repos/rethinkdb/rethinkdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rethinkdb/rethinkdb/merges","archive_url":"https://api.github.com/repos/rethinkdb/rethinkdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rethinkdb/rethinkdb/downloads","issues_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues{/number}","pulls_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls{/number}","milestones_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones{/number}","notifications_url":"https://api.github.com/repos/rethinkdb/rethinkdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels{/name}","releases_url":"https://api.github.com/repos/rethinkdb/rethinkdb/releases{/id}","created_at":"2012-10-30T05:37:47Z","updated_at":"2015-07-14T17:49:11Z","pushed_at":"2015-07-14T18:06:59Z","git_url":"git://github.com/rethinkdb/rethinkdb.git","ssh_url":"git@github.com:rethinkdb/rethinkdb.git","clone_url":"https://github.com/rethinkdb/rethinkdb.git","svn_url":"https://github.com/rethinkdb/rethinkdb","homepage":"http://www.rethinkdb.com","size":459186,"stargazers_count":9406,"watchers_count":9406,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":800,"mirror_url":null,"open_issues_count":1047,"forks":800,"open_issues":1047,"watchers":9406,"default_branch":"next"}},"base":{"label":"rethinkdb:next","ref":"next","sha":"1547839eba3f3f65bde909d8dbcb7dd4cb7b7d10","user":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"repo":{"id":6452529,"name":"rethinkdb","full_name":"rethinkdb/rethinkdb","owner":{"login":"rethinkdb","id":1229647,"avatar_url":"https://avatars.githubusercontent.com/u/1229647?v=3","gravatar_id":"","url":"https://api.github.com/users/rethinkdb","html_url":"https://github.com/rethinkdb","followers_url":"https://api.github.com/users/rethinkdb/followers","following_url":"https://api.github.com/users/rethinkdb/following{/other_user}","gists_url":"https://api.github.com/users/rethinkdb/gists{/gist_id}","starred_url":"https://api.github.com/users/rethinkdb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rethinkdb/subscriptions","organizations_url":"https://api.github.com/users/rethinkdb/orgs","repos_url":"https://api.github.com/users/rethinkdb/repos","events_url":"https://api.github.com/users/rethinkdb/events{/privacy}","received_events_url":"https://api.github.com/users/rethinkdb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rethinkdb/rethinkdb","description":"An open-source distributed JSON document database with a pleasant and powerful query language.","fork":false,"url":"https://api.github.com/repos/rethinkdb/rethinkdb","forks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/forks","keys_url":"https://api.github.com/repos/rethinkdb/rethinkdb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rethinkdb/rethinkdb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rethinkdb/rethinkdb/teams","hooks_url":"https://api.github.com/repos/rethinkdb/rethinkdb/hooks","issue_events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/events{/number}","events_url":"https://api.github.com/repos/rethinkdb/rethinkdb/events","assignees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/assignees{/user}","branches_url":"https://api.github.com/repos/rethinkdb/rethinkdb/branches{/branch}","tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/tags","blobs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/refs{/sha}","trees_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/{sha}","languages_url":"https://api.github.com/repos/rethinkdb/rethinkdb/languages","stargazers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/stargazers","contributors_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contributors","subscribers_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscribers","subscription_url":"https://api.github.com/repos/rethinkdb/rethinkdb/subscription","commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/commits{/sha}","git_commits_url":"https://api.github.com/repos/rethinkdb/rethinkdb/git/commits{/sha}","comments_url":"https://api.github.com/repos/rethinkdb/rethinkdb/comments{/number}","issue_comment_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/comments{/number}","contents_url":"https://api.github.com/repos/rethinkdb/rethinkdb/contents/{+path}","compare_url":"https://api.github.com/repos/rethinkdb/rethinkdb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rethinkdb/rethinkdb/merges","archive_url":"https://api.github.com/repos/rethinkdb/rethinkdb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rethinkdb/rethinkdb/downloads","issues_url":"https://api.github.com/repos/rethinkdb/rethinkdb/issues{/number}","pulls_url":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls{/number}","milestones_url":"https://api.github.com/repos/rethinkdb/rethinkdb/milestones{/number}","notifications_url":"https://api.github.com/repos/rethinkdb/rethinkdb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rethinkdb/rethinkdb/labels{/name}","releases_url":"https://api.github.com/repos/rethinkdb/rethinkdb/releases{/id}","created_at":"2012-10-30T05:37:47Z","updated_at":"2015-07-14T17:49:11Z","pushed_at":"2015-07-14T18:06:59Z","git_url":"git://github.com/rethinkdb/rethinkdb.git","ssh_url":"git@github.com:rethinkdb/rethinkdb.git","clone_url":"https://github.com/rethinkdb/rethinkdb.git","svn_url":"https://github.com/rethinkdb/rethinkdb","homepage":"http://www.rethinkdb.com","size":459186,"stargazers_count":9406,"watchers_count":9406,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":800,"mirror_url":null,"open_issues_count":1047,"forks":800,"open_issues":1047,"watchers":9406,"default_branch":"next"}},"_links":{"self":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508"},"html":{"href":"https://github.com/rethinkdb/rethinkdb/pull/4508"},"issue":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4508"},"comments":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/issues/4508/comments"},"review_comments":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508/comments"},"review_comment":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/pulls/4508/commits"},"statuses":{"href":"https://api.github.com/repos/rethinkdb/rethinkdb/statuses/7c02df7353082841d4fa93a09949f2ddcaecd36a"}}}}