couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [couchdb] branch COUCHDB-3288-remove-public-db-record updated (13a511f -> 8b682a1)
Date Thu, 06 Apr 2017 17:33:27 GMT
This is an automated email from the ASF dual-hosted git repository.

davisp pushed a change to branch COUCHDB-3288-remove-public-db-record
in repository

  discards  13a511f   [TMP] Set branches for COUCHDB-3288
      adds  c644280   Bump couch dependency. Remove dead code in couch_file.
      adds  8ca9106   Bump replicator dependency
      adds  41d71ab   Bump replicator dependency
      adds  0ca34da   Bump mrview dependency
      adds  dc93b29   Bump couch dependency : configurable max document ID
      adds  078d46c   Bump fabric : fix attachment uploading
      adds  1b193be   Bump replicator dependency. Add jitter-ed sleep to shard discovery.
      adds  f0c612f   Bump couch dependency. Fixes badarith error in get_db_info
      adds  7ac71bf   Bump replicator dependency: handle db deletion and improve logging.
      adds  e7f6a8d   list node/npm dependency in README-DEV.rst
      adds  cbc3098   Merge pull request #406 from jo/patch-1
      adds  afb4eea   Add pull request template
      adds  a2d97e7   Merge pull request #387 from kxepal/github-pull-request-template
      adds  cb1a0cf   pull docs/fauxton from github
      adds  a7417c7   Bump couch dependency
      adds  ff47ed8   Bump replicator, chttpd and docs dependenceis
      adds  d499a74   Bump replicator dep: prevent change feeds from being stuck
      adds  d9ab78e   Bump couch, fabric, chttpd, couch_mrview to implement max_document_size limit
      adds  207a05e   Fix 2 failing JS tests
      adds  fe16873   Count JS test pass/fails; return proper exit code
      adds  d022ebe   Merge pull request #456 from wohali/3328-fix-js-test-runner
      adds  112501c   Document additional package for Ubuntu 16.04 build
      adds  942f33e   Remove TeX/LaTeX and texinfo from the build chain
      adds  80928ab   Merge pull request #457 from apache/3329-kill-pdf-texinfo
      adds  6d44bb0   bump couchdb-documentation dependency
      adds  dad4782   chore: whitespace
      adds  69a71d9   fix(test): wait for auth-cache
      adds  10db0e3   Change snap packaging to build from source
      adds  3b9cc52   Merge pull request #460 from mhall119/snap-from-source
      adds  17ac547   Tell Git to ignore snap files so they don't clutter things when they're built
      adds  ebf239b   Merge pull request #462 from mhall119/snap-from-source
      adds  8a6d9fd   fix: cherry pick davisps compaction daemon test
      adds  c224417   Bump couch dep for compaction test fix
      adds  34ebb5d   Bump couch_mrview dependency
      adds  5bfedc4   Python 3 fixes for dev/run and test/javascript/run
      adds  e571ef1   Update Rebar file with newest fauxton version
      adds  35a8684   update rebar to fauxton 1.1.11
      adds  b7f0e2c   Bump couchdb-couch-log dependency
      adds  3552b58   Remove non-ASCII "smart" apostrophe
      adds  9989243   Fix another non-ASCII quotation mark
      adds  3937fb1   Improve reduce function overlow handling
      adds  bf72d61   Merge pull request #425 from cloudant/3046-improve-reduce-overflow
      adds  acd2a6d   Bump docs dependency
      adds  f5bac20   Remove Cloudant build system remnants
      adds  45cee59   New build system for chttpd
      adds  40a1853   Build chttpd_external.beam
      adds  4ab522e   Fix up copyright headers
      adds  fe81abc   Build with rebar
      adds  b5f683c   CouchDB version lives with couch_server
      adds  0c4e11d   Purge view_query_args and point to mrargs (when rebasing, pull in the other bits from ba152cb2153e892c0d8eec7f6fbeecf3dcaff10a)
      adds  a1b8b07   squash! @davisp trolled me by changing the default value of keys
      adds  30e7912   Switch to couch_log
      adds  927a8d1   Ask couch_httpd:log_request not to log a duplicate line
      adds  faaf44e   Change API to function per level
      adds  61cf175   Spelling
      adds  2edc062   Hook up _replicate correctly
      adds  e2d1e92   Use couch_mrview for view logic and callbacks
      adds  4a154f7   Update _all_dbs to use couch_mrview
      adds  b858f5a   Update chttpd show and list functions to use couch_mrview
      adds  93c771d   Switch to using couch_mrview for the chttpd design info endpoint
      adds  793da96   Build query args from the provided ddoc, not by fetching the view
      adds  d06c635   Merge remote-tracking branch 'origin/1993-bigcouch-couch-mrview'
      adds  d3e7547   include request nonce is log output
      adds  644ca97   Remove tests
      adds  76d82fc   Support _all_docs in list functions through clustered interface
      adds  eaf1b56   Allow optional max_uri_length server setting
      adds  009fa9a   Allow cacertfile without verifying peers
      adds  c27884b   Support for user configurable SSL ciphers
      adds  7c7c19f   Support `fail_if_no_peer_cert` ssl option
      adds  9e72ce81  Pass context to all_docs
      adds  c7f8eb7   Add support for eventsource changes feeds
      adds  f61dc27   Send eventsource heartbeat event
      adds  002a908   Support Last-Event-ID header for eventsource changes feeds
      adds  018837c   Add auth cache for clustered _users
      adds  1f148b7   Check admins in config file for chttpd_auth
      adds  3e09dea   Authorize requests through chttpd
      adds  c6de373   Reopen futon to non-admins
      adds  050cbc6   Fix badmatch
      adds  5640f85   _log is removed as we delegate to lager
      adds  1ee2725   Update welcome message to new couchdb standard
      adds  43a2e96   Honor "w" parameter for update handlers
      adds  ce262ee   Fix cancel by replication_id
      adds  57697a8   Allow ?deleted=true on doc GET's
      adds  7932e0c   Use couch_httpd_db:parse_copy_destination_header
      adds  1e0c52a   Remove trailing whitespace in chttpd_show
      adds  31b7d4a    Add X-Couch-Update-NewRev and X-Couch-Id to _update response
      adds  c90a4c0   Allow write quorum control in POST body
      adds  4e02118   Give fabric a string, not a number
      adds  e5ecb22   Add _shards db handler auth check
      adds  0ba63fd   Reject large Range requests
      adds  4816754   Throw 400 bad request not 500 for unrecognised _changes feed param
      adds  204ab91   Throw HTTP 413 is max_document_size is exceeded
      adds  12ea8a3   Add _reload_query_servers, report stale proc count
      adds  7bbf680   Provide a dedicated NOLB mode
      adds  d98c857   allow case-insensitive content-type from external, and other cleanup
      adds  6c1f455   Return stats for couch_file mailboxes in _system requests
      adds  e6d115a   Handle undefined result from process_info
      adds  440f5a0   Remove unnecessary pattern match and associated extraneous _rev check
      adds  b71d311   Validate _bulk_docs POST bodies
      adds  1fc39d2   Add boilerplate for global_changes
      adds  34c1475   Support "seq_interval" qs param on _changes
      adds  b500211   Add error formatting for maintenance mode
      adds  6ffa347   Allows clients to send gzipped JSON bodies
      adds  d86f68d   Add statistics for couch_db_updater message queues
      adds  2c4d2b3   Try to cancel a replication everywhere
      adds  0d85df9   Fix unused variable warning
      adds  5dc3640   Wrap decompression in a try/catch, report 400
      adds  c14123f   Report pending count in _changes
      adds  5d50b2b   Avoid VM log messages about uncaught errors
      adds  1cc0ae3   Fix case_clause error with POST to _replicate
      adds  63378df   Don't return stacktraces, log them instead.
      adds  516b6da   Ensure result of send_delayed_error is always a #delayed_resp
      adds  f4b0fdc   set module version to 1
      adds  50ccf29   Improve logging of errors with traces
      adds  3f3e916   Fix JSON encoding for missing revisions
      adds  d15303f   Improve HTTP error log formatting
      adds  57d1078   Add error_info clause for nodedown errors
      adds  6deefa1   Add CORS support
      adds  d6161e7   Move attachment code into couch_att
      adds  bcac53f   Honor max_document_size when receiving body in externals
      adds  71d9709   honor ?rev for PUT and validate against _rev/etag
      adds  a456f88   Update chttpd_external with s/couch_httpd/chttpd/
      adds  07bf741   Add the request id and timing info in chttpd:send_response
      adds  07c2603   Be more careful when matching attachment data
      adds  5e2f7c3   Log unexpected return value from att data fetch
      adds  8d66fa4   Separate update doc and sending the response in update_doc
      adds  58c203d   Isolate update_doc logic from http logic
      adds  2a27059   Add cassim
      adds  554ef74    Only use cassim:set_security if cassim is enabled
      adds  4dc2fce   Added error_info for maintenance mode errors
      adds  99b4bc7   Be more restrictive when including a JSON stack
      adds  fe2a94e   Remove unused handle_restart_req
      adds  58020ab   Switch to couch_stats application
      adds  8f7a7a9   Use a distinct namespace for chttpd stats
      adds  4fd6ca1   Correctly collect stats by status code
      adds  4b01dea   Decrement clients_requesting_changes in a timely fashion
      adds  9b38753   Move stats cfg to correct place
      adds  6fa9b2d   Add remaining status code stats
      adds  549ebb4   _all_dbs does not require admin
      adds  6b372c6   Remove chttpd/couchdb stats split
      adds  6577ad1   Forward-port caching and csp headers for _utils
      adds  b4e1c22   Send num_mp_writers to correct N
      adds  c3100e4   Make parse_external_response work with binaries and lists
      adds  61f432b   Add CORS headers to chttpd_external:send_external_response
      adds  eabbbeb   Use couch_log instead of ?LOG_*
      adds  b46d34c   Rebrand X-Cloudant-Stack-Hash header for CouchDB
      adds  57b87ce   fix filtered replication
      adds  b44515f   Fix location-header for documents with newlines in the name
      adds  f9b549e   Update chttpd_auth_cache for new couch_auth_cache
      adds  f793020   Merge branch '2491-refactor-couch-httpd-auth'
      adds  016ede4   Return error when open_revs=all and document doesn't exist
      adds  c256e91   Re-indent to reflect recent addtion of a case branch
      adds  c9d23bd   Merge branch '2517-open_revs=all-function_clause'
      adds  6a2ed1d   Add tests for chttpd:error_info/1
      adds  ec31e09   Restore <<"unknown_error">> for HTTP 500 errors
      adds  9c126cd   Merge remote-tracking branch 'kxepal/2538-revert-500-error-reason-changes'
      adds  1ca78bf   Convert {timeout, Error} errors to timeout
      adds  8b8e920   Use ADMIN_CTX macro from couch_db.hrl
      adds  e0fa333   add setup
      adds  9a8e650   validate _all_docs query parameters
      adds  1e41311   Set view type before validating _all_docs parameters.
      adds  23477c6   Add _local_docs and _design_docs handlers
      adds  896484e   Reuse _all_docs handler for _local_docs/_design_docs
      adds  0525f3e   Rename argument to reflect new semantic
      adds  7189115   Merge remote-tracking branch 'iilyak/1145-_local_docs-handler'
      adds  6bfa947   Enable POST requests to /_changes in clustered CouchDB
      adds  4440926   Parse attachment-related parameters for /_changes
      adds  4b102bf   Update config_listener behaviuor
      adds  106f55a   config:get/3 is more strict now
      adds  6f983d3   Don't restart event handler on termination
      adds  81c938a   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  abd7f9a   Fix typo in config listener module name
      adds  4ea930e   Return ok:true on _bulk_doc update
      adds  f55a139   add mango URL endpoints
      adds  2a583cb   Remove _config route on cluster
      adds  7fef96e   Add underscore prefix for dbs database name
      adds  6c4aa04   Rename "shard_db" option to "shards_db"
      adds  7f785ea   Merge remote-tracking branch 'kxepal/rename-system-databases'
      adds  c6a5cdd   add license file
      adds  2f53652   Remove /_sleep endpoint
      adds  ab80f31   Use attachment checksum as Etag if possible
      adds  4c521b1   Tolerate empty candidate list
      adds  1a15afc   Export etag_match/2
      adds  0b5e15e   json_req_obj compartible with backdoor interface
      adds  79e7eba   Merge remote-tracking branch 'iilyak/2656-use-chttpd-functions'
      adds  f3662ac   Fix chttpd tests using new test_util:start_applications protocol
      adds  ca0195f   add _changes?feed=live sugar for continuous
      adds  3cf2b46   CORS implementation for chttpd
      adds  e2c2bd7   Disable couch_httpd_cors when chttpd_cors is active
      adds  58a987a   Support virtual hosts
      adds  bd1f8ca   Revert "Remove _config route on cluster"
      adds  1950654   Add _node_config, an endpoint to configure specific nodes from any node
      adds  c25aa24   Move node-specific endpoints under /_node/$name
      adds  dc9c347   Fix comments for /_node/$node handlers
      adds  abe9aee   Be more precisely on HTTP 404/405 responses for /_nodes/$node/*
      adds  56cf641   Discard request body after request
      adds  e7f9ed8   Increase nonce size by a byte
      adds  9ddbd04   Account for binary keys for headers in CORS
      adds  6697f3f   Unify headers to be a list to avoid crashing CORS
      adds  3b80c7f   Validate host header
      adds  ecf745e   Dynamic http endpoint handlers
      adds  5022a94   Merge remote-tracking branch 'cloudant/dynamic-handlers'
      adds  df0da70   Don't allow security updates during cassim migration
      adds  f86de50   Merge branch 'add-manual-migration-logic'
      adds  87fa816   Remove temporary upgrade clause
      adds  f45c8b2   Use a record for changes_callback accumulator
      adds  b18805f   Buffer rows for normal/longpoll feeds
      adds  b926134   Add basic buffering support for other feed types
      adds  cf720aa   Execute a callback for every complete DB traversal
      adds  c0b8850   Allow configurable buffer size for all_docs, views
      adds  5069427   Define an accessor for the chunk buffer config val
      adds  4278115   Remove support for CouchDB =< 1.0.0
      adds  45bb534   Match old behavior when buffering is disabled
      adds  3866725   Merge branch '2724-chunked-buffering'
      adds  9dc2ba5   Revert "Discard request body after request"
      adds  77b3af4   Handle waiting_for_updates in callback
      adds  57427cf   Use `chttpd:qs*` instead of `couch_httpd:qs*`
      adds  07493ef   Merge remote-tracking branch 'cloudant/chttpd-qs'
      adds  f9cad9d   Port max_rewrites to chttpd
      adds  89ca7e0   Fix vhost rewrite loop but
      adds  e691ec3   Don't send empty buffer as it terminates response prematurely
      adds  37260c0   Call CouchDB's CSRF validation
      adds  a66b901   Merge remote-tracking branch 'cloudant/2762-csrf'
      adds  90f1aa7   Introduce `chttpd_auth:authenticate` hook
      adds  f42f96c   Use '?ADMIN_USER' for admin party
      adds  8d0fe1c   Derive HandlerKey from path_parts
      adds  cf58b04   Add `chttpd_auth:authorize/2` hook
      adds  8d8cf91   Refactor handle_request/1 to use #httpd_resp{}
      adds  9118f8d   Use #httpd.absolute_uri
      adds  2b42759   Use `#httpd.cors_config`
      adds  64aa2fd   Add chttpd_plugin hooks
      adds  b5d65ea   Use private to_lower instead of string:to_lower
      adds  4ba06e0   Use `#httpd.qs` field
      adds  238b8c4   Return `{error, {illegal_database_name, Name}}`
      adds  40cfa61   Support endpoint overriding
      adds  ebf6028   Whitelist CSRF header for CORS
      adds  8aa7adf   Whitelist CSRF header for CORS
      adds  96e1e00   Don't pass CSRF cookie to replicator
      adds  b8437a9   Fix cors tests
      adds  b9ba7f9   Ensure that provided bind_address is correct
      adds  936e8ee   Expose node`s /_system endpoint
      adds  4de16f8   Integrate with Travis CI
      adds  ee7785b   Fix test after sequence format change
      adds  02d0b41   There is no binary_to_integer/1 in R14
      adds  88fd8dc   add missing dbinfo metric
      adds  932f115   Etag's require quotes
      adds  129cdf9   Actually send an ETag for _view and _all_docs
      adds  994f132   add clusterwide compaction for dbs
      adds  a49c474   Capture histogram data for _bulk_requests
      adds  e6fa441   Fix 'override' and 'override default' functionality
      adds  2fba00d   Merge remote-tracking branch 'cloudant/2788-fix-override'
      adds  c903b52   check POST requests for valid json header
      adds  33f75ea   Merge remote-tracking branch 'cloudant/2775-post-valid-json-header'
      adds  3645561   Remove `ignore_providers` option
      adds  f46e9c8   Use ?SERVICE_ID macro
      adds  3ce2a1c   Register service
      adds  841ee1a   Merge remote-tracking branch 'cloudant/2796-improve_performance_of_providers_function'
      adds  9496363   remove tabs
      adds  6b18a8e   Don't insert nil into lru
      adds  e3f575f   Fix usage of lists:keyreplace
      adds  2723f64   Remove new CSRF mechanism
      adds  b518e2a   Revert "add clusterwide compaction for dbs"
      adds  31c15c7   POST to /{db}/_all_docs with invalid keys should return 400
      adds  e1c0f12   remove tabs
      adds  933ba2e   Implement /db/_bulk_get endpoint
      adds  87e3db0   Reject database names that cause enametoolong error
      adds  8d96bb6   Use illegal_docid error for really bad document ids
      adds  091c5ac   Fix test broken by 'Use illegal_docid error for really bad document ids'
      adds  6f14c61   Lager is optional, don't start it here
      adds  65de6ae   Fix crypto deprecations
      adds  64a5728   Merge remote-tracking branch 'cloudant/2825-crypto-deprecations'
      adds  68a0289   Properly escape Location: HTTP header
      adds  faca4ca   Update to new couch_epi API
      adds  96c46e9   Pass supervisor's children to couch_epi
      adds  ddd63ee   Merge remote-tracking branch 'cloudant/simplify_couch_epi'
      adds  2e0413b   Update .travis.yml
      adds  cfc97a9   Remove chttpd_handlers:provider
      adds  a5f5f11   Merge remote-tracking branch 'github/pr/78'
      adds  976e68a   Make sure that database was created and deleted successfully
      adds  e18ceaf   remove dead code
      adds  7683100   Call parse_revs
      adds  f8f5d7f   Use couch_httpd_multipart:abort_multipart_stream
      adds  465f29c   Merge remote-tracking branch 'github/pr/11'
      adds  c3fcf88   Fix multipart stream refactor
      adds  5482209   Use new couch_httpd_multipart API
      adds  bf604a5   Use real chttpd port for URI construct
      adds  895715a   Escape database name on POST /_replicate
      adds  7a2bd8f   Fix start_couch test helper
      adds  038a933   Fix replication when source/target are URLs
      adds  a6c3bb8   Use couch_epi:decide/5 for authenticate/authorize
      adds  06880c3   Merge remote-tracking branch 'github/pr/81'
      adds  5b4520b   Backport content negotiation from couch_httpd_*
      adds  33a242e   Update /_replicate handler and clean it from legacy decisions
      adds  f087a01   Restore HTTP 301 response for /db/_design%2fddoc/* resources
      adds  32e9653   Accept OPTIONS requests to list functions
      adds  2147dba   Fix Last-Event-ID header handling for db changes feed
      adds  68d40cc   Explicitly create admin user and authenticate requests in chttpd_db_test cases
      adds  72258e2   Don't set random ETag header for views
      adds  e5b1aee   Don't set random ETag header for `_all_docs` view
      adds  a57e869   Fix return types of responses to view requests
      adds  ddba207   Fix compilation warning
      adds  6a1858f   Handle errors from before_request/after_request
      adds  5e44123   Drop R14 support
      adds  21abde5   Refactor logging statement
      adds  7dcf127   Get rid of confusing function
      adds  19f9260   Provide information about actual request path when vhost is used
      adds  6421adc   1.x compat: parse form data for externals on PUT in addtion ot POST
      adds  5d08f62   1.x compat: update fun: allow docs with slash in id
      adds  d7e1e0a   Merge branch '1.x-compat'
      adds  3ff69bf   Create _design/_auth if missing in clustered users db
      adds  d31b2a4   fix conflict case - COUCHDB-2082
      adds  9f267e1   Rewrite via query server
      adds  417679a   Ask cassim for secObj value
      adds  6a2a6b9   Don't crash on unknown request method
      adds  9733d21   Use correct setting for AllowHeaders
      adds  63af933   Make use of <<allow_headers>> option
      adds  a634e22   Introduce cors/exposed_headers config setting
      adds  e52d212   Adding more tests for CORS
      adds  f2515fd   Convert all CORS headers config into lowercase
      adds  41ac33a   Merge remote-tracking branch 'github/pr/100'
      adds  1745808   Introduce vhosts configuration into CORS
      adds  5b7096d   Strip scheme out of Host for cors_section
      adds  937689e   Treat value passed in Origin as case sensitive
      adds  02bdd77   Suppress log of a response for clustered interface
      adds  ad754a3       Merge remote branch 'github/pr/101'
      adds  79677f8   Fix dispatch to handle_error EPI hook
      adds  fd1ba86   Merge remote branch 'github/pr/105'
      adds  a0e52bd   Eliminate unnecessary apply
      adds  bdcaad9   Backport CSP fix from couchdb-couch
      adds  599b095   Cache favicon for one year
      adds  b32f2b6   Extract basic_headers/2 function
      adds  34bd294   Extract handle_response function
      adds  3d6f281   Introduce chttpd_plugin:before_response/4 EPI hook
      adds  1d7d0f1   Add chttpd_plugin:before_serve_file/5 EPI hook
      adds  23faa75   Add test suite for chttpd_plugin
      adds  ab299eb   Merge remote branch 'github/pr/106'
      adds  46de497   Use couch_tests applications for chttpd_plugin_tests
      adds  54e8f61   Use couch_tests:setup/1
      adds  cefabd0   Merge remote branch 'github/pr/108'
      adds  1ca8642   Create md5 etag for _local docs
      adds  4c0564f   tolerate failure when inserting auth ddoc
      adds  02202d3   Reject incorrectly encoded urls
      adds  d2665ce   Log user name of request initiator
      adds  cd00955   Add `log_format_test` test case
      adds  be1e959   Merge remote branch 'github/pr/109'
      adds  7ebddaf   restore 1.x behaviour: user docs in conflict cannot login
      adds  9100e32   restore 1.x behaviour: user docs in conflict cannot login
      adds  0a3abea   Merge branch 'fix-users-doc-in-conflict'
      adds  7cffe7e   support admin party after d2665ce
      adds  408d218   disable cassim until fixed
      adds  34f0a81   fix missing transition in cassim revert, sec obj in external calls empty
      adds  8dab8f8   fix in logic that denies login with conflicted user docs
      adds  f3d5d1b   restore 1.x _users and _replicator behaviour
      adds  a66760b   Fix compilation warnings
      adds  880dedc   Merge remote branch 'cloudant:2730-fix-compilation-warnings'
      adds  cdeab87   Fix _node/$node/_system endpoint
      adds  5a96fa8   Merge remote branch 'github/pr/123'
      adds  81c4454   Don't expect #vacc as a response in multi_query_view
      adds  43e1d0d   Merge remote branch 'cloudant:67171-fix-multi_query_view-response'
      adds  685f9ca   Don't try to decode params in multi_query_view
      adds  c7d0baf   Merge remote branch 'cloudant:67171-dont-decode-params-in-multiview'
      adds  21be898   Pass user context in couch_doc_open
      adds  59bb3f2   Call appropriate sockname function for socket type
      adds  088bbe5   Do not pass unknown_error atom to plugin
      adds  b468c7d   Merge remote branch 'cloudant:69230-fix-epi_handle_error_args'
      adds  22e9032   Revert broken fix attempt for ssl sockname
      adds  0627357   Handle ssl socket case
      adds  3953f80   Inject _design/_auth on auth_cache startup
      adds  9a59ca1   Merge remote branch 'cloudant:3000-inject_auth_ddoc'
      adds  fc7287a   Don't end changes feed listener on heartbeat
      adds  5e3bf1f   Tolerate failure of ensure_auth_ddoc_exists call
      adds  ccaa442   Update logging for new couch_log
      adds  5b6d1b1   In a multi-query view request, set view type for each query
      adds  4e29590   Format the changes listener exit Reason
      adds  3509b91   Don't set "authenticated" if party_mode_handler sets user context
      adds  68f8fa5   Implement clustered _compact endpoint
      adds  f0f4c0d   make _view_cleanup endpoint cluster aware
      adds  663273b   Merge remote-tracking branch 'cloudant/2779-view-cleanup-cluster-aware'
      adds  4f7dcc3   Update handle_config_terminate API
      adds  9e0ad34   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  35cb938   fix compilation warning
      adds  c4b955f   use shard suffix when generating _changes ETag
      adds  de784a5   Merge remote-tracking branch 'will/3017-ETag-not-unique'
      adds  e01cc40   Drop logging level for "no record of user %s"
      adds  457bc2d   Merge branch '2.0-suppress-user-not-found-warning' of
      adds  00d305e   Etag's require quotes (COUCHDB-3134)
      adds  c6b0440   don't send random etag for _list (COUCHDB-3134)
      adds  2c1f3a3   Canonicalise ETag response headers
      adds  086567c   Handle empty "Access-Control-Request-Headers" header
      adds  ff59604   Merge remote-tracking branch 'will/3090-handle-empty-access-control-request-headers'
      adds  f1d0c5d   Fix SSL defaults
      adds  297493f   Fix eventsource timeout handling
      adds  3868099   Handle disconnect when receiving body
      adds  53459ab   Merge remote branch 'cloudant:69425-handle-truncated-req-in-recv_body'
      adds  d2c449b   Pass user context when opening doc in db_attachment_req
      adds  5d7170c   Add max_document_size checking for multipart PUT requests
      adds  4e9b4a6   Merge branch 'couchdb-3174'
      adds  5974a8f   Make auth handlers configurable.
      adds  21a59b4   return a binary so the existing tests pass
      adds  64235ef   handle timeout in _revs_diff
      adds  262944f   HTTP code 500 instead of 400 for invalid key during document creation
      adds  c98d71a   Fix CORS max_age configuration parameter
      adds  44aa0b2   Remove an unused test's var to avoid a warning
      adds  0cfd56a   Merge remote branch 'cloudant:fix-cors-max_age'
      adds  3dcdb6a   Add ability to return a "features" list in the welcome message.
      adds  32fc26b   Include user_ctx in db open options
      adds  c1f035f   Merge remote branch 'cloudant:78077-pass-user_ctx_to_filter'
      adds  a987f5c   Handle error terms from fabric
      adds  d6282b0   Merge remote branch 'cloudant:71810-handle-errors-terms-from-fabric'
      adds  7bfd253   Merge default update response headers with custom ones
      adds  cb0f20e   Fix missing ampersand in rewritten queries
      adds  90648a2   allow w parameter for attachments
      adds  cd4c5c7   Handle error return clauses for fabric:open_revs
      adds  928bb2e   Introduce 503 error when nodes are all unavailable.
      adds  cae3664   Mock config module in tests
      adds  90bd048   Merge remote branch 'cloudant:couchdb-3293'
      adds  a1470e3   Rename max_document_size to max_http_request_size
      adds  60f6f6a   Merge remote-tracking branch 'cloudant/64299-add-new-request-parameter'
      adds  d1848e6   Allow limiting maximum document body size
      adds  7400210   Merge branch 'couchdb-2992'
      adds  4e7664a   Add 'src/chttpd/' from commit '74002101513c03df74a4c25f3c892f5d003fa5da'
      adds  f3967c2   Imported trunk.
      adds  5cdcc86   Remove some SpiderMonkey leftovers.
      adds  6c90b82   Remove branch limit and fix memory leak in Javascript view server. Fixes issue COUCHDB-25.
      adds  d363ad2   Fix for runaway process in the view code and the so far untested storage  compaction code.
      adds  7d6f4ba   merge from mochiweb branch: fix copy and paste error to allow startup of FulltextQueryServer
      adds  b5a1bbb   compaction code, not hooked up to webserver yet
      adds  4d53ff1   Fix typo in error id.
      adds  54873ec   Compaction. Works, but still needs queueing and better handling for long reads/writes overlapping the compaction switchover.
      adds  e6e554a   Fix for btree modification bug.
      adds  fc7de3c   Merged mochiweb branch back into trunk.
      adds  17d0112   Display Request HTTP version on debug
      adds  d60dc2f   Added proper UUID generation and changed the details of how way debug logging is done to now use a more effcient macro instead of a function call.
      adds  d5f6f68   Change uuid generaion to rely on crypto. Started crypto and inets application in startscript, and also couch_server_up. Fix for regression caused by accidental check-in of disabled etags.
      adds  9eec44e   Replicator optmizations and fix for unnecessary document copy during re-replication
      adds  220abe3   Fix for unnecessary update sequence generation when rewriting an already commited revision.
      adds  918fa44   Fix for replication being reset when replication a local and a remote database.
      adds  bab35e3   fix for compaction problem with attachments, and enhancements to JS shell, to make debugging tests easier.
      adds  bc06a3a   Add link to Futon based on current configuration parameters on CouchDB-startup. Patch by Michael Hendricks <>
      adds  db7b5c8   ignore descending=false option instead of throwing an error. includes a test case
      adds  0a80bec   Incremental reduce first checkin. Warning! Disk format change.
      adds  28833be   - more graceful handling of unknown private URIs including more user friendly messages - add a proper comment to the descending=false handling
      adds  e89cf03   - remove leftover debugging line
      adds  6c95fb5   Fix for pattern matching bug during reduce
      adds  271bc02   Changed temp view definition to always be jsonobjects with map/reduce source as members of the object. Everywhere we used 'text/javascript' or 'application/javascript', we now just use 'javascript'
      adds  3404c18   Fixed design document view definitions to be consistent with temp views. Changed the name of the map(K,V) call in the javascript views to emit(K,V)
      adds  2e762a8   Only use chunked encoding when we actually make use of it to iteratively write the response (for example for views). Otherwise just send a normal response with a Content-Length header.
      adds  0298544   fix for bug with reusing map btree indexes when multiple views have the same map function
      adds  b068e14   fix for missing conflict check during serialized update
      adds  35e2db1   improved private path error wording
      adds  0dcc692   Enable Etag processing for document GET requests that include the '?rev' query string parameter.
      adds  d2c8a94   Fix for file attachments using too much space in compacted databases
      adds  ae0af8b   Use limit of 4GB for document PUT requests, instead of the MochiWeb default of 1MB. Closes COUCHDB-37.
      adds  efdfa01   Change error handling on unknown private paths to be more consistent with how other errors are handled.
      adds  4fde259   Improve the debug logging of request details. As the logging was split into multiple log messages, concurrent requests would get mixed up in the log.
      adds  309cdc2   * Respond to DELETE requests with a "200 OK" status code instead of "202 Accepted", as the deletion is performed immediately. * The "content-type" member in attachment structures is now named "content_type" (underscore) for consistency and to be more accessible from Javascript (and presumably other languages, too)
      adds  d33f57a   Add back /_restart URL that got lost in the transition to MochiWeb.
      adds  76cf808   Experimental functionality to increment database update seq, might go away, use at own risk.
      adds  9857218   Grouped reduce support. Needs performance work.
      adds  0734c27   Increase the request body size limitations on bulk_docs and document POST to 4GB.
      adds  5551656   Enable the use of an unencoded slash in the URL of design documents. Closes COUCHDB-49. Thanks to Paul Davis for the patch.
      adds  d40eaa9   Use linebreaks between rows for view results with a negative count value, same as for a positive value.
      adds  97113cf   Remove /db/_search API call. This will be maintained in the lucene-search branch and merged back after a 0.8 release when things got more stable.
      adds  2f73e60   Added reduce/combine example. Fixed  broken node chunking with very large keys/reduction values
      adds  e3666e4   corrected use of erlc to $(ERLC)
      adds  b648678   removed old, broken, datarootdir hack
      adds  80b3654   Changed name of 'combine' phase of reduce to 'rereduce', to avoid confusion.
      adds  030f31d   slight change to startup message
      adds  26bef87   Fix for COUCHDB-78. Couchdb was failing to close open file handles when compaction attempts need to be retried.
      adds  e0f2a02   fix for problem when view index header data exceeds 2k.
      adds  7fe36e5   Fix for bug when reopening view indexes.
      adds  fc92b87   renamed directory variables, stage one
      adds  d03e632   renamed directory variables, stage two
      adds  932abf2   Apply patch by Chris Anderson that fixes an edge case in the HTTP view interface resulting in an invalid JSON response body. Closes COUCHDB-84.
      adds  521d4c4   Change `Server` HTTP header to say CouchDB instead of MochiWeb, and add a `Cache-Control: must-revalidate` header to all JSON and attachment responses.
      adds  1925db2   Expose endkey_docid as a view query option through the HTTP API (including tests).
      adds  10ec02e   Improve error message. If the is no good for some reason (linking e.g.) you get something along the lines of {"init terminating in do_boot","Driver is an inappropriate Mach-O file"} instead of {"init terminating in do_boot",{error,{open_error,-12}}} Patch by Dale Johnson <>
      adds  c59a325   Add RESTful API for document attachments as per with not yet comprehensive tests.
      adds  a1a3603   Make RESTful attachment API concurrency aware and the code a little more concise (thanks Damien!)
      adds  c36be55   Wait for the OS to flush our newly written data to disk without timing out too quickly.
      adds  11f7395   fix for attachment editing when their are conflicts
      adds  7473072   Increase more filesystem layer timeouts. Patch by randall <dizzot> leeds <atface> gmail
      adds  46c4667   Fixed replication problems where read ad write queues can get backed up. With this fixed, throughput might be reduced.
      adds  c09b5a5   Allow for empty attachments.
      adds  f7eca51   Fix for problem when saving bulk documents with invalid ids
      adds  ab7b51a   Fix for compacted databases reporting 0 documents after compaction
      adds  69606d0   Use a method compatible with Erlang R11B to put the Erlang OTP version in the HTTP Server response header.
      adds  7b934c3   Fix to previous commit r679840.
      adds  3d6e68c   removed individual committer copyright statements as per policy
      adds  1088120   Adjusted btree chunk size to give a 25% performance increase in random testing.
      adds  0e6da33   Fix for problem with count query arg in grouped reduce views. Previous fix would keep enumerating over subsequent view results despite not returning them.
      adds  c6bd118   Added concurrent open db limit and a LRU cache for closing old databases when limit reached (configurable via MaxDbsOpen var in couch.ini). Refactored db update code in couch_db.erl into couch_db_updater.erl.
      adds  3269d55   Added new erlang source file to build system.
      adds  cff31c3   Readded file name checks for open and delete, as an attacker could use relative file names to open/delete otherwise inaccessible db files. Also changed view server shutdown when the parent db shutdowns into a non-normal termination, so that the linked supservisor correctly removes the process from its indexes.
      adds  3dfaabc   Fixed bug where we attempted to match a linked port to the current fd, but fail because the fd structure is more than the linked port.
      adds  0397f1f   Fixed restart testing by making it far less likely a HTTP client will get a network error on a restart request.
      adds  fdc96b4   Fix for bug COUCHDB-100.
      adds  2851eef   Idempotent document creation support, new HTTP api to generate UUIDs and support in the couch.js library for using them. Creating uuids client side ensure that document creation happens only once, despite automatic network retries.
      adds  4c1623f   HTTP COPY & MOVE for documents with tests
      adds  869c2ac   CouchDB performance work. Faster Btree updates and lookups.
      adds  b5e016f   Merge runtimeconfig branch back into trunk
      adds  da48cd1   add missing files
      adds  a2bc4ee   Fix for possible multi-threading bottleneck in ICU driver.
      adds  ad5f3a0   Fix for couch_server process crash when databases that don't exist are attempted to be opened. Removed old comments and fixed the AllowRemoteRestart testing option.
      adds  82a5876   fix for occasional crash when attempting to open a database on a heavily loaded server
      adds  34a8f77   Some cosmetic cleanup (removed trailing whitespace, fixed indentation, make the test runner script executable).
      adds  21713e3   - Rename configuration options and sections to allow for a nicer .ini file and HTTP API calls. - Enable .ini parser to read variable assignments with spaces around the '='-sign. - Remove inadequate comment.
      adds  ea62e70   Missed a configuration option earlier.
      adds  09bed1a   - Remove dependency on test/local.ini - Write out new variables in key = value format - Fix tests
      adds  ea28f8b   Implement attachment uploading in Futon.
      adds  211a540   Rename 'module' to 'section', and 'variable' to 'option' in the config code.
      adds  a9b5d89   Merged json_term_changes branch back into trunk.
      adds  db5effe   Fix the config HTTP API for the changed JSON representation, remove the POST handling for setting option values (leaving only PUT), and add a GET /_config/section handler that allows enumerating the options in a section.
      adds  8b020a8   Fix for bug COUCHDB-109.
      adds  872b058   Fix retrieval of specific document revisions, which needed to be updated for the internal change to binaries.
      adds  7032b7e   Fix for attachment content-type conversion from/to binary in RESTful API.
      adds  d18c794   Check-in of document purge functionality.
      adds  d737437   Changes and refactorings to couch_config
      adds  b605b0a   Moved most of the startup services from being hard coded in couch_server_sup to being loaded from the ini file.
      adds  a823071   Fix for error when saving an attachment during a compaction.
      adds  c7ca5f8   Add HTTP API for getting the complete config, and add a page to Futon that displays the configuration.
      adds  d7cc18a   removed useless line
      adds  ea81b54   reduce=false closes COUCHDB-76
      adds  c3f8db8   Fix config file writer issue, where doplicate sections would be created
      adds  9442fbb   Changed call to Req:recv_body() by Damien's request.
      adds  7383f21   fix for COUCHDB-119 - replication is incremental between local and remote databases
      adds  3ef7341   HTTPd refactoring. Moved most code out of couch_httpd into associated modules (couch_httpd_view, couch_httpd_db, couch_httpd_misc_handlers). Also a fix to removed previous doc_by_seq index entries on compaction retry.
      adds  4c06710   Added files forgotten in the httpd refactoring checkin.
      adds  f346ff2   remove unnecessary negative count feature
      adds  1db78f2   refactor couch_httpd_view to use output_map_view
      adds  1abd59e   added multi-key requests to _view, _temp_view, and _all_docs (with help from davisp)
      adds  5ee8482   include_docs option adds a doc member to view rows with the latest _rev of the document (or the _rev specified in the row value)
      adds  988899c   tiny whitespace fix for 409 database error
      adds  84f723f   add db_name back to database info, and test
      adds  4d5fb13   make couch_httpd:send_error/4 public
      adds  56dac74   remove content-length header from file attachment responses. see inline comments
      adds  dcc1cc5   make check now runs the JavaScript test suite
      adds  a6cd23a   config web service fix from davisp
      adds  86b4207   dropping kerberos support
      adds  55f0b34   db update notification process fix - thanks vmx, davisp, dreid
      adds  7cca150   Fix for COUCHDB-99. Certain Skipped KeyValue pairs weren't being assembled into final values before being reduces.
      adds  b6eb62d   Removed debugging statement.
      adds  2f805e3   fix for COUCHDB-138 include_docs=true&reduce=false
      adds  d9d6111   fix for COUCHDB-139 keys available when reduce=false
      adds  c3e623d   First check-in of admin http authentication and authorization.
      adds  dac4c4b   Send a notification when a database is created
      adds  46e97bf   fixed jobserver issues with edoc generation
      adds  17191a7   added header to SOURCES
      adds  9b360c4   Put .erl files back into distribution package.
      adds  c08ed3d   added CURL flags to couchjs build
      adds  f66adfb   Fix edoc error in distribution.
      adds  d126718   temporarily removed edoc generation
      adds  9253562   fixed JSON regression about revs_info status
      adds  2d7a06b   couchdb once again serves favicon.ico
      adds  2dfb227   Fix for performance problem with views. Every access to a view was causing a disk sync, regardless if the index was updated.
      adds  c0da9d1   Fix warning on Linux.
      adds  99f7017   apply replication fixing patches from COUCHDB-157
      adds  5f0b944   Check in of initial validation and authorization work. This work is incomplete, as there is not yet any way of restricting who can update the design docs.
      adds  0b621f2   fix occasional curl segfault. thanks davisp
      adds  b95e605   fix for _all_docs_by_seq with include_docs
      adds  c625e1f   More security and validation work. Still incomplete.
      adds  9b06074   Nearly completed security/validation work. Still needs replication testing.
      adds  fb4c779   _all_docs_by_seq works with descending=true
      adds  1c57cd1   user name should be binary for json
      adds  43fdb8b   view group state gen_server. thanks damien and davisp.
      adds  b157ed7   removed a particularly verbose LOG_DEBUG statement
      adds  5269c31   modifications to view server to keep the file descriptor open for the life of the view group.
      adds  3f656e8   do not fail on heavily loaded systems. wait forever for syscalls to return
      adds  688e846   remove couch_ft_query
      adds  157b1db   couch_os_process to manage the JSON line protocol. thanks davisp.
      adds  c068b4b   the external process handler
      adds  3445955   fix COUCHDB-177. thanks Paul Carey and Paul Davis
      adds  0afc461   Adam Kocoloski replication performance improvements (closes COUCHDB-160)
      adds  58682cf   fix COUCHDB-174 thanks Adam Kocoloski
      adds  35a413c   Fixed problem when a crashed db can cause couch_server to crash when it attempts to interact with it. Moved the interaction from couch_server into the caller's process.
      adds  6a590e3   fix for crash of couch_server when database non-existant
      adds  0008da7   shorter path to _action servers, external supports better routing control
      adds  e3749cb   Fix Etag checking for document requests: need to convert Etag header value to binary early, as the `ExplicitRev` is already a binary, thus the comparison would fail.
      adds  e3bcc75   Fix for leaked file handles when not explicitly closed, added file stats code for checking for leaked file handles, and some refactoring of the view api.
      adds  66efcee   Checking in new erlang source file, used for tracking file stats.
      adds  4fe1f0c   Fix for config api attempting list_to_binary on an atom.
      adds  05ef54f   design docs use slashes. attachements with slashes in the name can be accessed with slashes in the url
      adds  88767ac   add etags to standalone attachment requests. Closes COUCHDB-184
      adds  7155c10   merge form branch to trunk
      adds  033c029   fix for update notifier with couch os process. thanks davisp
      adds  1de9b72   Added decent reporting of Mochiweb start errors (eaddrinuse etc)
      adds  6e22f31   Rename _temp_views to _slow_views. Any clients who were using temp views are encouraged not to use slow views, and instead transition to design documents (or running the views on the client).
      adds  94dadc8   change count to limit in view query params
      adds  1e93bc3   Delayed commit patch. Allows documents to be saved immediately but fully committed asynchronously. On by default, to fully commit documents synchronously, use X-Couch-Full-Commit=true in the http header. We still needs to prevent committing view indexes ahead of data and to detect when a server has crashed causing potentially lost updates during remote replication (fixed by retrying the incremental replication).
      adds  5495ae0   Fix ini-section duplication. When we tried to assign a value to a config-item that happened to be set to that value already, a new and duplicated ini section with that config parameter was written to the ini file.
      adds  880b15a   Fixed views to not commit index headers if they are ahead of what has been fully committed to the database. Also, the index headers are now committed async, improving response times updating views.
      adds  19a3970   apply patch to fix include docs q param parsing
      adds  42aec5d   friendly error message on use of count instead of limit
      adds  6d2bc58   Rebuild all .erl files when couch_db.hrl has been modified. Closes COUCHDB-199.
      adds  4f999b6   fixed _all_docs view to use the correct PassedEndFun for binary docid sorting
      adds  64ddf02   Added support so clients can detect if a server has potentially lost commits after multiple updates, like during bulk imports and so the replicator can detect lost commits on remote replications.
      adds  f7f9e53   refactor couch_doc:to_json_obj for easier debugging
      adds  7b66e44   include_docs error handling
      adds  4b53a59   Polishing _design/doc urls with slashes -- adding auto redirect from the old %2F style urls to the new pretty ones.
      adds  304de80   rename _form to _show and move the funcs in the design doc to
      adds  5075f9c   Fix Whitespace
      adds  94cff65   Fix for broken conflict checking inside the db update process.
      adds  6df1e51   Support for streaming attachment writes.
      adds  5c0637f   catch all error handling for HTTP requests
      adds  6dbe03c   Fix for COUCHDB-215, we weren't properly converting a config setting to an integer.
      adds  5682009   fix for COUCHDB-214 (design docs on dbs with slashes)
      adds  cf4fe7f   tests for fix to COUCHDB-215, and changing of how max_dbs_open setting is handled at runtime.
      adds  347dc5a   don't log thrown errors in http requests, just things like badmatch etc
      adds  9b31433   change update=false to stale=ok
      adds  318dc48   Fix some eJSON stragglers (works with mochijson2, but not eep18). thanks kocolosk!
      adds  48a2150   View list functions can stream views in any format. See list_views test for details.
      adds  d58991e   Added task status checking, to help debug the progress of long running tasks, like view indexing and compaction.
      adds  4e155af   Improve show/list API and send external responses without chunked as it's not needed.
      adds  ba57330   Don't let a failing db update notification client bring down the entire view_server. Patch by Adam Kocoloski. Closes COUCHDB-206. Thanks Adam.
      adds  2cec437   Make command line test suite succeed again. Patch by Bob Dionne. Closes COUCHDB-212. Thanks Bob.
      adds  f43a74d   more informative error message on a bad json document
      adds  dd91157   Change _slow_view back to _temp_view, as discussed on the mailing list (see
      adds  9bb3d6c   Improved etag handling for show funcs and db_doc requests; main.js cleanup (baby steps); null doc allowed for show funcs
      adds  4602d4d   Replacement of inets with ibrowse. Fixes COUCHDB-179 and enhances replication. Thanks Jason Davies and Adam Kocoloski for the fix, Maximillian Dornseif for reporting.
      adds  1430f78   POST to create docs returns a Location header. fixes COUCHDB-8
      adds  d4428b5   use the config setting for max document size. fixes COUCHDB-60
      adds  a90d601   swap 412 ad 409 error codes. fixes COUCHDB-226
      adds  c99dd80   cleanup long lines
      adds  33532b4   all_docs view with descending=true works properly now. fix COUCHDB-109
      adds  c3a2000   via davisp: external server launches on request to avoid runaway errors.
      adds  7ccb92c   Added options member to design docs. Currently the only option is include_designs (views can now run over design docs as well if they need to), the default is false, which is the current behavior. Thanks davisp for the original patch. Closes COUCHDB-156
      adds  0784c91   extract method couch_httpd:send_redirect(Req, Path)
      adds  e88bf6a   allow format query param to override accept headers for _list and _show
      adds  f9b6e97   Fix for COUCHDB-238, explicit check and error for doc ids starting with underscore.
      adds  62bd495   Changed _uuid to respond to GET instead of POST. Bug COUCHDB-190
      adds  96a6e8e   allow user-configurable directory for view indexes. closes COUCHDB-168. thanks Adam Kocoloski
      adds  e4dd185   Fix for spurious 'server restarted' during replication
      adds  72aa01f   Accept standalone attachment PUTs with Transfer-Encoding: chunked Includes a patch to mochiweb_request that is under review for inclusion upstream.
      adds  8561819   fix COUCHDB-253. Replicator should not use chunked transfer-encoding on GET requests. thanks Adam Kocoloski
      adds  3ace7c5   Apply COUCHDB-251. Allow _list functions to accept arbitrary GET parameters. Thanks Paul Davis.
      adds  ea88762   apply COUCHDB-252. Allow _list functions to signal that iteration of the view should cease. Thanks davisp.
      adds  1b2c1c4   enhance the Mochiweb streaming api based on feedback from Bob Ippolito
      adds  2e526c8   View etags are now provided. See note in the source about how they could be more efficient. Changes arity on make_view_fold_fun etc. Closes COUCHDB-4
      adds  daddd3c   Put file ref_counting into it's own module, to make the speed of opening an already open database faster (by not waiting on file pending operations, particularly fsync).
      adds  6b564c2   Add runtime statistics -- without EUnit tests for now.
      adds  630314b   add missing files
      adds  13d0029   add couch_stats.hrl to  distribution files
      adds  99abae7   added newline to JSON responses, closes COUCHDB-107
      adds  de490b9   Support for reduce views in _list. closes COUCHDB-260. Thanks Jason Davies.
      adds  5135e57   add js test suite for stats, enable access for a previously internal metric
      adds  6e2f1d9   - add descriptions to metrics - move document_* metrics to couch_db module and merge them into database_* metrics
      adds  953e91c   Fix and test for file descriptor leaks
      adds  55542e5   Add style guide for stats descriptions and adjust existing descriptions accordingly. Thanks to Noah Slater for suggesting the style.
      adds  e6992ef   remove the no longer existing couch_file_stats from couch_primary_services
      adds  016cbbc   - group HTTP method stats into httpd_requests_methods as per Christopher Lenz's suggestion - renamed http_status_codes to httpd_status_codes - better internal variable naming - remove comments that were leftovers from earlier refactoring
      adds  a5bd904   - remove unused aggregate metrics field - return an empty object when there are no stats
      adds  cdbdab8   supply etags for reduce view lists
      adds  fdd195c   fix error for when no stats have been collected yet and /_stats is queried
      adds  a6e704f   fix capitalisation for MochiWeb in stats description
      adds  99be953   stats metrics renamed: os_open_files -> open_os_files, database_changes -> database_writes
      adds  58ee409   allow for handling 404s in document show functions
      adds  7ad650a   refactor show 404 handling doc-loading special case out of couch_httpd_db.erl
      adds  0cf0c8c   consistency in messages (HTTPd -> httpd)
      adds  f856b58   allow multi-key POST requests for _list. closes COUCHDB-269. thanks Jason Davies
      adds  e454290   Verify attachment names. They must be utf-8 (closes COUCHDB-280) and must not start with an underscore.
      adds  ef3a5d7   tiny refactor of validate_attachment_name for pattern matching
      adds  3c3e005   validate reduce view list queries, make query_parse_error response code 400 thanks Jan, thanks Jason Davies. closes COUCHDB-283
      adds  3318b8d   configure view and external server timeout in using ini variables. closes COUCHDB-246
      adds  be3b0e9   rewrite replicator using OTP behaviours
      adds  d39cf0d   yeah, adding the replication supervisor would be useful too
      adds  12c6cbf   beefier fault tolerance in the replicator
      adds  6aece45   merge design doc resource branch. breaking changes to _view query paths. closes COUCHDB-280
      adds  e6c7699   fix gen_server calls to honor os_process_timeout
      adds  a463724   Commit Damien's rep_security branch to trunk. Changes bulk_docs conflict checking. Breaks file format, see mailing list for data upgrade procedure, or
      adds  054ea06   error message on invalid rev format. another replication test.
      adds  4bd9c66   verbose error logging turned back on for http requests and log_level = debug
      adds  01faeee   fix case-miss when prep_and_validate_update is called on doc with attachment stubs
      adds  51d84aa   Streaming attachment replication now follows redirects and checks for error codes. Includes tests that design doc attachments are replicated.
      adds  4bf3262   Fix for sporatic replication error during tests.
      adds  3359937   Fix for problem with btree folds getting incorrect reductions after the first value.
      adds  5f58bca   Fix for occasional replication failure where replication would complete before before the caller had a chance to request the results. No tests, but this should fix this error that already occurs occasionally: {"error":"normal","reason":"{gen_server,call,[<0.228.0>,get_result,infinity]}"}
      adds  6732f29   Adding the necessary done=true to the last race condition fix in the replicator. Thanks Adam.
      adds  41667e7   sensible error message if doc._rev is null or a number
      adds  b9a8018   remove MOVE requests as they can't sensibly be supported and COPY & DELETE does the same thing
      adds  aed452e   inclusive_end query option for views, defaults to true (does not change current behavior). inclusive_end=false treats endkey as an open interval. this is progress on COUCHDB-194. I think it is enough for 0.9, we can discuss switching the default behavior, and adding a similar option for startkey.
      adds  0100109   Bring back Futon attachment uploading that was removed in the recent rep_security merge. Should close COUCHDB-295. Ideally this would have a test, but that will need some trickery.
      adds  66bddbe   map queries with group=true query option will return an error. closes COUCHDB-185. changes to jquery.couch.js to support ajaxOptions may be useful for more than just openDoc, will need to be spread to the rest of the API.
      adds  4db9032   Fix for COUCHDB-300. Old seq were being removed when a conflict. An old bug, but recent changes made it much more likely to happen.
      adds  f24206e   provide a 404 response on deletion of non-existant docs closes COUCHDB-297
      adds  7942d67   make some error messages more readable, committed for jchris
      adds  4b5cd2c   Fix for crash when compacting an empty database
      adds  3149fde   return Location header for newly create databases
      adds  944768c   return a Location header on newly created documents using PUT requests
      adds  9c7eb21   Location header responses should be absolute URIs, thanks Christopher
      adds  68a471f   always load _conflicts in _show functions
      adds  d8d66a9   unify including of couch_db.hrl
      adds  c207425   Use now_diff instead of statistics(runtime).  Closes COUCHDB-316
      adds  021e38e   added compaction for view indexes.  See COUCHDB-92
      adds  bced11f   Add null_authentication_handler. It is useful when running CouchDB behind an authenticating proxy which proxies the basic auth http headers to CouchDB. Having no admins defined makes authentication impossible. Use the null_authentication_handler instead.
      adds  fe2727b   Fix for attachment sparseness bug COUCHDB-220 by giving each attachment it's own stream and calling set_min_buffer instead of ensure_buffer. Also fixed spurious couch_file crash messages by putting the statistics decrement code into a seperate monitoring process.
      adds  5fdfb7a   Removal of unused member in write_stream record.
      adds  1967b44   Fix to allow couch_file use in tests without the server being started.
      adds  2e042f3   Fixes for leaked file handles, with test.
      adds  415236d   refactor: extract method from doc_flush_binaries. add with_stream/2 to handle automatically opening and closing binary streams.
      adds  4fdee60   URL-encode attachment paths during replication
      adds  24303f6   change error message from list to binary string
      adds  5984923   Baby steps toward better reporting of os_process errors (and JavaScript syntax errors)
      adds  abeaea6   output errors differently during chunked responses (view and list)
      adds  8d46b41   Fixes COUCHDB-322
      adds  04989c6   Fixes COUCHDB-311
      adds  71fe150   Fixes COUCHDB-310
      adds  015b9e4   Resolves COUCHDB-306 - Wacky error responses to malformed documents
      adds  fd00326   refactor main.js into many files and improve show/list error handling
      adds  525394d   whitespace
      adds  f700611   add a startup checkpoint to couch.log
      adds  c1d9d10   COUCHDB-306 - Improving reported errors.
      adds  ec1f714   Fix for process leaks with retrying compactions.
      adds  489f20a   Refactoring the view URL parameter parsing.
      adds  25bc5eb   Resolves COUCHDB-331 - Allow reduce=true&include_docs=false
      adds  790ac57   Fix and test for COUCHDB-334 where a database with delayed commits pending is considered idle, and subject to losing changes when shutdown
      adds  2a74132   Resolves COUCHDB-332 Proper errors for invalid docids.
      adds  fee80e6   Closes COUCHDB-320 (ignore Content-Type in _temp_view).  Thanks B. Candler
      adds  03faa1d   Accidentally checked in a debug statement.
      adds  d1c9a85   Exporting the main function for sending view responses.
      adds  dad9599   Use batch=ok query param for document PUT and POST to defer index updates until a threshold of documents (or amount of time) has been passed. This option returns a 202 Accepted response instead of a 201 Created, so do not use it for applications which require all data to be saved safely to disk. It is ideal for applications like logging where losing some events in a crash will be ok.
      adds  7b5c067   reduce_limit error is thrown when the reduce function output is not small enough compared to the input. Errors can be switched off using the config API.
      adds  796ba42   hinting to reduce sparseness in chunked attachment puts
      adds  c03a8f2   standalone attachment GETs should respect "rev" qs param
      adds  1b02b39   use revisions when replicating attachments.  Closes COUCHDB-337
      adds  6808a34   First cut at _changes api. Update the by_id and by_seq indexes to contain update seq numbers and pointers to bodies on disk, for use in the _changes api. This is a new file version, but the code can continue to serve the old 0.9 version without problems, though certain features in the _changes api will not be able to work. Upgrade to new file version (from 1 to 2) by compacting the file. Also fixed bugs with how the stats api tracks open databases.
      adds  89aad32   Removing leftover io:format call from debugging.
      adds  564a86e   Check for invalid document members.
      adds  cdd7c8d   Refactor the make_view_fold_function stuff. Added a proper Acc to both map and reduce view folds. Cleaned up some pattern matchers.
      adds  377abd5   refactor JSON body error handling, also consolidate update_docs JSON response generation.
      adds  5924238   export a method
      adds  02206f6   Add non-streaming log-file handler. A GET request to /_log will show the last 1000 bytes of the logflie. More bytes can be requested with GET /_log?bytes=10000.
      adds  57b3c32   add offset parameter so clients like Futon can deliver a consistent user experience
      adds  c27a364   You can now specify either "_sum" or "_count" as the source code for 2 built-in Erlang reduce functions. The framework is ready for YOU to add more built in reductions. The short list includes: _avg, _stddev, _min, and _max. We could also have one function that does all that in a single function, but it might not be as fun to use.
      adds  50c112b   Closes COUCHDB-334 - Add JSONP support to CouchDB
      adds  da9e95f   Adding testing for GET /_changes?continuous=true by adding a GET /_sleep?time=Msecs call, which allows the browser to process the waiting data on the other async XHR request.
      adds  c07045d   replicator memory management and buffer flush calculation updates
      adds  a4757c1   Fixes COUCHDB-41
      adds  bc86bea   cleaner, more informative replicator log messages
      adds  1dc2a47   replicator should never hang when attachment receiver dies
      adds  de8d95c   one more hanging receive loop fix
      adds  c24cc12   guard memory_footprint() list with is_pid()
      adds  3c834da   work around ibrowse giving response chunks too many bytes. Thanks Antony.
      adds  b8ee783   remove leftover .compact files on DB delete
      adds  f7aa135   first crack at binary backoff for failed replicator requests
      adds  711ac2c   Add a configuration parameter for the default database handler.
      adds  6adc0c5   Move default handler configuration to couch_httpd:start_link/0
      adds  ec5efa3   restart update_notification process when config changes
      adds  40f8716   added an design doc option so that doc._local_seq can be available in the map view. Closes COUCHDB-346
      adds  3263e26   remove leftover trace logging
      adds  977a6db   Added stats tracking for active _changes clients.
      adds  956c11b   Merging new tail append storage into trunk. Upgrades are automatic, once opened by this version  old versions of CouchDB will not be able to open the files. As a precaution, you should back-up your production databases before upgrading.
      adds  1406904   Fix for binary chunks being out of order with new tail append code
      adds  c2c8cdb   ignore _local_seq when included in a saved document
      adds  d972332   Fixes COUCHDB-363
      adds  e25db2f   refactor load_ini_file so it can be called from another process
      adds  2cfaa35   Fix and test for COUCHDB-366, uploading large attachments causes 500 error.
      adds  584ba2a   misapplied Antony's workaround for extra bytes in r775724
      adds  9d5693f   the atom doesn't necessarily exist
      adds  4fcf8b4   make sure process is still alive before calculating memory footprint
      adds  0daa04c   Test and fix for infinite loops in view_servers, fix for crashed OS processes causing leaked erlang processes and fix for view server crashing when view group process terminates.
      adds  58599b2   Revert accidently checked-in test change.
      adds  07df78a   Fix for couch_file bug found with etap test suite
      adds  382a50d   Added code coverage report generation target.
      adds  968876e   Making the couchspawnkillable script marked as executable.
      adds  d380568   Added timeout and heartbeat options to the _changes api
      adds  2b001aa   Removed space from whitespace heartbeat in _changes api
      adds  cf84c3c   Added tests for heartbeat and timeout options in the _changes api.
      adds  65a0a47   checkpoint during abnormal terminate is not safe
      adds  4d7b8ad   Fixes COUCHDB-372
      adds  ec8836f   Integrating more ETAP tests from Bob Dionne.
      adds  15db672   Forgot to remove old test/0 exports.
      adds  2247f3a   merge list-iterator branch to trunk. changes JavaScript _list API
      adds  426ddcb   Send CouchDB Server: header for all external queries. Fixes COUCHDB-379.
      adds  590552f   Fixes COUCHDB-383 - Ignore extra URL parameters.
      adds  6df0537   Lots of tests for couch_config.erl Refactored couch_config.erl to resolve COUCHDB-384 Tweaked the main to make the cover and check targets depend on the dev target instead of the all target. Added the executable property to all test files to make them easily runnable as standalone tests (as in not via prove).
      adds  a3d9813   Adding tests for couch_task_status.erl
      adds  0a91be1   Cleaning out tabs from source code. Purely whitespace diff.
      adds  27a63ae   Of course some of them were 8 space tabs.
      adds  4ba937b   A /_whoami handler to provide client apps with access to the active userCtx for their session. Thanks to the CouchDB University students and janl for helping to implement this.
      adds  69fa61d   removed some dead code found by Dialyzer, more to come
      adds  5bf6ba5   reset stats on POST /_restart and correct open_databases test.  Closes COUCHDB-398
      adds  12b79b6   correct stat intervals.  Thanks Bob Dionne
      adds  c03b5b5   update check_bin_length since chunked response bug is fixed
      adds  b7757c9   last three dialyzer recommended cleanups
      adds  ccac693   Name view index files by their function hashes for no downtime deploys. Closes COUCHDB-218
      adds  38c101c   send utf-8 hearders with list and show responses. closes COUCHDB-392
      adds  7cf2b46   trimmed trailing whitespace
      adds  45ebdfe   fix deleted_conflicts qs parameter
      adds  0856c34   Fixes COUCHDB-402
      adds  742b2fd   Fixes COUCHDB-389
      adds  05792a7   fix and test for scrambling of large inline attachments
      adds  63c182c   Apply patch from Benoit Chesneau's COUCHDB-404
      adds  5d679d6   fix attachment etags, thanks Mark Hammond for the test case. closes COUCHDB-386
      adds  094211f   send Location header for new or updated attachments
      adds  58c739b   removed some unnecessary logging
      adds  816c63e   added licence check, and licence.skip
      adds  e3f793a   wheeeeeeee
      adds  e03e009   added missing file
      adds  7be38ca   git-svn-id: 13f79535-47bb-0310-9956-ffa450edef68
      adds  9f86d23   checkpoint long-running view updates
      adds  e3f32b6   first cut at _changes feed consumer.  not yet used by replication
      adds  fa5d9db   second cut at _changes feed consumer.  still not used by replicator
      adds  97ddcc7   one line fix
      adds  7f09973   Deterministic revids, MD5 checking of documents, added tracking of rev when an attachment is edited to allow attachment level replication.
      adds  08f5c9a   MD5 term checking by using leading bit in 32 bit length to indicate MD5 presence.
      adds  43a76d4   listen for local update notifications when continuous=true
      adds  0d3b5fe   protect against empty (=deleted) values. Closes COUCHDB-355
      adds  318176c   oops, bug in r795297 (listen for local update notifications)
      adds  0a4f532   Initial checkin of _changes filters. The prime weak-spot for this approach is that it maintains an OS-process per connected filtered _changes consumer. I'm pretty sure we'll be able to work around this without changing the API, but it'll involve a lot of OS-process bookkeeping. Those enhancements should generally improve show & list performance as well. Punting on them for now, first wanted to get _changes filters implemented so people could give feedback.
      adds  253459a   Optimize filtered _changes to use an OS process only when actively filtering changes with the continuous=true option.
      adds  e4b2d06   Close jsonp response for _changes requests. Patch by Benoit Chesneau. Closes COUCHDB-418.
      adds  92d4218   various bugfixes and improvements for view compaction
      adds  4abc5a2   Fixes etap tests for recent updates.
      adds  7c56e74   Fixes error on first boot after adding an admin.
      adds  40042a4   use spawn to avoid recursive gen_server calls
      adds  c02cc96   comment on jchris comment on not sending Content-Length for attachment GETs
      adds  5066a03   reassemble split chunks in changes feed, add all() export
      adds  a8e9f9f   Fix for COUCHDB-434. Only reassign previous revid inside the updater process.
      adds  b8da559   enable include_docs=true for list functions, patch by Mark Hammond, closes COUCHDB-444
      adds  f97b9ca   implement longpolling for _changes, unify _changes-mode parameters, patch by Benoit Chesneau, closes COUCHDB-241
      adds  61985d2   add compile-time conditionals to support the upcoming Spidermonkey 1.8, swap searching for libjs and libmozjs, patch by Alessandro Decina, closes COUCHDB-288
      adds  4d15fd9   Fix couch_js.c compilation with builds of non-threadsafe Spidermonkey 1.7
      adds  4f446d3   Proper fix because JS_VERSION cannot distinguish between 1.8.0 and 1.8.1
      adds  eb0d680   encode slashes in db names in Location response header after database creation, move couch_rep:url_encode/1 to couch_util:url_encode/1, closes COUCHDB-411
      adds  26af523   log bind_address and port after startup, helps with COUCHDB-393
      adds  b98e201   Initial check-in of OAuth and cookie authentication.
      adds  c437f8f   proper handling of 406 Not Acceptable errors in list and show functions
      adds  503e169   batch=ok was leaking processes and ignoring intervals. Closes COUCHDB-454
      adds  7277e24   ibrowse wrapper for replicator, will replace do_http_request
      adds  58e68df   update rep_changes_feed to use feed=continuous and rep_httpc
      adds  f104199   next piece of new replicator -- missing_revs buffer
      adds  67ae2b6   fix speling, thanks Jason
      adds  b582f4f   suppress obsolete list() guard warning
      adds  451e931   switch pause to milliseconds
      adds  1a7d0e4   new replicator using _changes feed for continuous replication
      adds  a91b4c5   stream _bulk_docs JSON body during replication
      adds  a2fdea7   max chunk size of 4G, not 64k
      adds  8309fb3   split into multiple requests so target doesn't buffer too much
      adds  96cea64   whoops, process dictionary certainly won't work there
      adds  e3ab047   fix pull replication w/o _changes (for 0.9.x remote sources)
      adds  d30c08d   more work on _bulk_docs streaming during replication.
      adds  d489d00   Initial commit of _update handler. Thanks to Paul Davis, Jason Davies for code and others for discussion.
      adds  4f4ac95   roll back streaming _bulk_docs b/c of a race condition
      adds  1e496d0   silence compiler warnings, don't use unused variables
      adds  9e30221   recloses COUCHDB-4 (view etags) thanks to Matt Goodall for the tests. keep 'em coming!
      adds  6e22645   add native /db/_conflicts view, patch by Adam Kocolosk, closes COUCHDB-462
      adds  18bf215   Introduces native Erlang query servers. Closes COUCHDB-377
      adds  c00ded8   rollback _conflicts view patch
      adds  ea9ff82   trivial change to replicator request headers.  Closes COUCHDB-419
      adds  29b6c94   apply Benoit's patch fixing attachment content-length handling for GET from COUCHDB-461
      adds  c4df256   benoitc's attachment PUT patch passes tests for me. Closes COUCHDB-461
      adds  4d50f58   Fixes COUCHDB-422 - Reject invalid _local doc ids.
      adds  f6c0e48   update allowed methods to reflect reality
      adds  6ea30ef   delayed commits are now a config option, off by default. Closes COUCHDB-449
      adds  2d27a97   replace regexp with re. Thanks Kim Shrier, Gordon Stratton. Closes COUCHDB-245
      adds  8a0ecc7   better failure modes in replication.  See COUCHDB-193, COUCHDB-416
      adds  1e97d6d   Update our Erlang VM requirement to 5.6.5 (R12B5). Also fixes the remaining two compiler warnings.
      adds  49d6586   Make POST's reflect a provided _id member.
      adds  50368cb   Fixed a re:run/3 call in couch_config_writer.erl
      adds  c7a2d2b   allow list function and view function to be in different design docs, patch by Mark Hammond, closes COUCHDB-446
      adds  0101063   Applying markh's Windows build patch.
      adds  f4ecd1c   Minor issue with make install not installing couchspawnkillable.
      adds  172cb0f   The real fix for the make install issue. Autotools FTL
      adds  7c34cfb   Add license notice to Fix naming issue for windows c16e.exe
      adds  e3b0c24d  Fixing make distcheck errors.
      adds  f8a813f   fix make install, closes COUCHDB-471 again
      adds  2e140f5   continuous _changes are now newline-delimited JSON Objects (no commas)
      adds  d101c74   allow configurable X-Forwarded-Host header handling for work behind reverse proxies, patch by Benoit Chesneau, closes COUCHDB-466
      adds  2e666a6   cleanup application of auth functions
      adds  10c0de8   continuous replication request returns 202 Accepted and the _local docid
      adds  b70f1e5   maybe reopen source to get newer documents
      adds  26d9346   Munge all ErlJSON to use binaries.
      adds  eea3c22   Fix bug that caused duplicate INI sections on write back.
      adds  c9e3cea   heartbeat bugfix for continuous replication from remote source
      adds  546db2b   fix HEAD requests for OAuth, patch by Jason Davies, closes COUCHDB-479
      adds  6ab1b2f   skip full_commit during replication when its safe
      adds  ae71a39   more precise and accurate calculation of replication progress
      adds  314ed26   checkpoint at most once per 5 seconds
      adds  6a5ee70   follow 302s in replication
      adds  20dcb67   also follow 302 for _changes feed
      adds  8db03f7   overlooked a function clause
      adds  54f7852   only save a checkpoint at the end if something changed
      adds  13afd54   _ensure_full_commit?seq=N to ensure everything up to N is committed
      adds  800b085   use _ensure_full_commit?seq=N in replication for efficiency
      adds  e4ab737   disable gen_server timeouts for internal replication processes
      adds  0c461f4   fix a process leak in local changes feed consumer
      adds  3ca0d12   send deleted docs to _changes filters
      adds  f8e8a32   Fix for problem where HEAD requests that would have a chunked responses would send the chunked respone anyway. Also, we now avoid processing the request, and instead abort it as soon as the header is sent.
      adds  b3019de   Fixed spurious console errors caused when attempting to query information about an already closed socket.
      adds  3dce7a8   guard against non-existing filters in _changes
      adds  d393449   couch_rep_httpc should know about 503s
      adds  7223ce0   fix pattern matching bug in redirects for replication
      adds  92707bd   merge cascading auth patch by Jason Davies, closes COUCHDB-478, fix tests
      adds  c844e59   refactor CouchDB startup procedure, see COUCHDB-216 for details
      adds  d4e7c96   use a POSIX-compatible invocation of basename
      adds  5e1f139   remove debugging leftover
      adds  b691b46   Added 3 stage pipeline for indexing views: loader, mapper, writer. This results in better performance and resource utilization.
      adds  8403594   Support for replication over SSL.  Resolves COUCHDB-491
      adds  4493838   fix continuous replication occurring after identical normal one
      adds  f26d5e0   fix build
      adds  e9cbe42   use the same password hash calculation for user creation via ini file and user db, patch by Benoit Chesneau, closes COUCHDB-492
      adds  015f4fb   skip some regex etc. if DB is already open
      adds  b51644b   code =~ s/imperative/declarative & faster/, thanks to Kostis Sagonas for pointing these out, more to come
      adds  61d1890   thou shalt make before thou commit, thou shalt make before thou commit, thou shalt make before thou commit
      adds  9b6f631   check if either history is empty, not both
      adds  55c26a1   Fix for building CouchDB on Snow Leapord.
      adds  67e87fc   choice of uuid algos for better insert perf. Closes COUCHDB-465.  Thanks rnewson, bitdiddle
      adds  3e3fb4f   oopsie
      adds  b6cd93e   fix oauth access to design documents, patch by Jason Davies
      adds  f0cb78f   Refactoring of endkey code in views and btrees. End key functionaility is now handled inside the btree code, simplfying calling code and making it trivial to add new collation options
      adds  ef7639a   bugfixes in supervision tree specifications
      adds  3bec101   adhere X-Couch-Persist for DELETEs
      adds  28b4873   allow config callbacks to get passed the X-Couch-Persist flag
      adds  d53e212   removed _all_docs_by_seq in favor of _changes
      adds  f0206cf   support for deletions in changes feed
      adds  1c2357b   rollback mixed up commit, builds now
      adds  82f1ca7   finish committing my changes adventure. pardon the dust.
      adds  0f288db   View refactoring and addition of raw collationoption. Significant performance improvements in view indexer.
      adds  76049ea   Fix speling.
      adds  04183ab   fix attachments with an undefined Content-Length header and no TE, patch by Benoit Chesneau, closes COUCHDB-497
      adds  afb8fd4   add limit to _changes
      adds  0cb7a23   GC isn't happening for this process b/c heap is too small, so trigger it manually
      adds  7fd32d2   Single line http request when log=info
      adds  1b3443a   include_docs now take an _id (as well as a _rev) in the emitted value, to load docs other than the one doing the emitting. This means you can have one doc list a set of other docs to load in a single query. Enjoy!
      adds  a4524e9   Fixes COUCHDB-504
      adds  fb7bd98   Fixes COUCHDB-396
      adds  e8bf0d1   remove some unneeded opening, closing and passing around of Db
      adds  4dcc8a6   bugfix for _changes when DB is deleted mid-response
      adds  0e91799   quietly start a new connection if changes feed is closed
      adds  f82232c   attempt at gentler replication shutdown when one of the DBs is deleted
      adds  73db6b4   _externals should respect os_process_timeout setting
      adds  8276376   give the server a second to terminate (suppress spurious stats warnings)
      adds  e972819   reject attempts to upload invalid UTF-8 JSON.  Closes COUCHDB-345
      adds  99c59b0   Include peer in req object for externals: _show, _list, _update etc.
      adds  994796e   update the AuthSession cookie even if no Set-Cookie is already present
      adds  5bbccc5   have cookie auth use ini-file admins
      adds  0019a54   Fix speling.
      adds  ceb6384   Fix the UUID's test failures when clocks are out of sync.
      adds  d952dc5   we were skipping 1/1000 updates replicating old servers w/o _changes
      adds  3bfdcaa   fix replication from DB protected by OAuth and require_valid_user=true
      adds  156db0c   more OAuth fixes, in particular for requests with query-string parameters
      adds  2055780   _uuid ETags were coming out as random binary noise. fixes this so they are proper strings. Needs backporting to 0.10.x.
      adds  d20a302   replication bugfixes, see COUCHDB-516
      adds  c242dcf   Add OAuth support for "https" URL scheme when using SSL proxy.
      adds  5cde423   Fixes COUCHDB-517 UUID server restarts.
      adds  781b983   friendlier error message on bad log config file permissions
      adds  3b4b598   allow case-insensitive content-type from external, and other cleanup
      adds  af50745   add create_target:true option to _replicate that creates the target database
      adds  1f3372f   Added handy log message for debugging OAuth behind proxies.
      adds  3c3a5e3   Send 400 error when bad OAuth token is received.
      adds  e38d8a9   Fix new create_target replication option when OAuth is being used.
      adds  885d624   Fix partial view updating regression.
      adds  b63826c   Add more information to the view info objects.
      adds  8a4520b   Fix a bug in the generation.
      adds  88db54b   bugfixes for redirects in replication and iolists in OAuth qs params
      adds  697aee2   also fix attachment redirects
      adds  74628da   Only check for admin user if we are trying to create a database. Thanks to Bob Dionne for testing the patch.
      adds  8ede31c   Add support for other OAuth signature methods in replication client.
      adds  b18c3ff   have 'make dist' build a windows installer on windows
      adds  8a63ea8   log external reqests like any other requests
      adds  47a9a8f   Fix bug when lists use two design docs.
      adds  3059865   typo
      adds  b3bb3ae   Improve OAuth error message for missing tokens.
      adds  8a2db65   improved speed and concurrency of config lookups
      adds  081fcc0   Move stat descriptions out of the config.
      adds  e481f8b   Update functions can now handle any HTTP verb, excepting GET and HEAD
      adds  af01bdb   use couch_util:priv_dir() b/c it works in dev mode too
      adds  b762859   Fixed the test for couch_stats_aggregator.
      adds  841bd4f   replication client should use inactivity timeout on changes feed
      adds  ea219a7   asking for a missing rev with ?rev or ?open_revs was a 500 response
      adds  b6a87a4   _changes response might have completed already
      adds  2f5f254   Fixed a minor bug with attachments of zero length.
      adds  da86be5   Make it harder to accidently terminate chunked resposnes by requiring callers to explicity call last_chunk(Req) and ignoring send_chunk calls with no data.
      adds  b9207d1   reboot replication from last checkpoint if DB is compacted or server restarts
      adds  1d38ba6   write config changes much faster - see COUCHDB-545. Thanks Gustavo Niemeyer
      adds  e5f96fc   List functions weren't returning OS processes.
      adds  eb7eea0   cast string status codes (from _externals) to integers before logging. COUCHDB-551
      adds  048a42e   Allow updating a doc along with an attachment when posted from an HTML form.
      adds  8ccdafd   eliminate new process flood after OS wakes from sleep. COUCHDB-539
      adds  7439781   only 1 timer at a time (e.g. flush/1). thanks tisba for the report. COUCHDB-539
      adds  ede4f2b   Added batching of multiple updating requests, to improve throughput with many writers. Also removed the couch_batch_save module, now batch requests are simply saved async as immediately, batching with outhr updates if possible.
      adds  3e8b951   add safety net for code accidents where the document id in a doc delete request got missing accidentally
      adds  8647336   typo, thanks David Coallier
      adds  c39e8e1   Minor reformating.
      adds  70b1fe3   Fixes 'make distcheck' to run the test suite.
      adds  5ea1cd9   better error for illegal_database_name. Closes COUCHDB-566
      adds  74ba773   Add doc id validation when creating a new document with the standalone attachment API.
      adds  b7df440   Initial check-in of APIs for multiple/related supported and incremental replication of only changed attachments. Needs more far more testing and to be hooked up the replicator.
      adds  509baac   Remove debigging messages
      adds  fec7aaf   Better testing of multipart/related
      adds  c0ade87   Testing of incremental attachments and more testing of multipart/handling.
      adds  ceefadc   Fix a couple typos in the source.
      adds  f67d6ad   Fix for broken multipart parsing code as mentioned in COUCHDB-570.
      adds  889ae38   fix replication of attachments gzipped by proxy
      adds  def7ecf   code improvements from tidier. Patch by Kostis Sagonas. COUCHDB-570
      adds  07222bd   upgrade mochiweb to r113, use hooks instead of forking mochijson2. COUCHDB-474
      adds  b872543   Fix and tests for COUCHDB-292
      adds  93592c4   Fixes COUCHDB-578
      adds  a77c65d   Fixed a bug preventing active_dbs from working.
      adds  cf11dc3   Update the open db's test to check failure.
      adds  bbdc244   Refactored the fix for active_dbs timeouts.
      adds  0ac4209   Move all C code to src/couchdb/priv
      adds  3f4b403   Complete refactoring of couch_js.
      adds  a9d2d14   Setup JavaScript command line runner.
      adds  9835ec3   get windows building again
      adds  141cd95   Minor formatting fix.
      adds  7079dea   Force couchspawnkillable to be executable.
      adds  6cdcfc3   Fix weird error with JS_DefineFunctions call.
      adds  61ae7fa   work on COUCHDB-582, fixes issues with filtered longpoll requests closing early
      adds  fa27b02   ETags on POSTs to _view and _list should depend on Keys.  COUCHDB-586
      adds  09c0fab   Fix two issues for databases upgraded from 0.9.x:  - Compaction would fail.  - GET /db/doc?attachments=true would generate a 500.
      adds  4284e4a   ensure the child exit code is reported correctly to couch
      adds  279659f   COUCHDB-588: don't make log noise when an OS process chooses to terminate normally
      adds  7a16963   removed add_fun optimization for filters, this provides better concurrency at the cost of some function transfer/eval overhead, which will be optimized in a future patch.
      adds  35a313f   release old Fds on replication reboot, shut down child procs in a cleaner order
      adds  5b1c458   Add a "Reduce" checkbox to the database view page in Futon, which controls the `reduce=true|false` query string parameter. I had to add `reduce=false` support for temp views on the server side to make the feature not-confusing.
      adds  dd5faa1   cache headers for favicon.ico - thanks Matthew Hooker
      adds  16b377a   Forcing a build failure to check buildbot emails.
      adds  3c96d05   Email notification test failed. Undoing.
      adds  8137188   Provide Content-MD5 header support for attachments.
      adds  06f6ee2   move query server to a design-doc based protocol, closes COUCHDB-589
      adds  43bc327   remove show from db doc GET handler, completing flip-flop on COUCHDB-404
      adds  a4c57b8   Follow RFC 2616 closer and use "verb" instead of "method"
      adds  5c40bd0   merge account branch to trunk
      adds  6f015a3   better validations on users db
      adds  8a588c2   make the default account db called _users, not users
      adds  1cc7256   Add utility for verifying hashes.
      adds  cdb8d73   validate use doc type
      adds  e938d61   normalize userCtx name and roles, also, no log in via a conflict doc
      adds  7c1db4f   show conflicts in changes filters. Patch by Lena Herrmann. Closes COUCHDB-630
      adds  e85bc18   Thanks Filipe Manana. Closes COUCHDB-631.
      adds  a2f97e4   Allow storing attachments in compressed form. Closes COUCHDB-583. Thanks Filipe Manana
      adds  b6a98fa   add url rewriting support.
      adds  c910ca7   typo
      adds  7cd46cf   improve object handling from query member of the rule. Allow to handle key/startkey/endkey like {"a", 1}, [1, 2], [{"a": 1], 2] ...
      adds  a2bddd7   removed unused code. Patch by Robert Dionne. Closes COUCHDB-581
      adds  585fd06   Database-level security.
      adds  b88912c   fix unused variable warnings, remove unused code.
      adds  a1457bd   would have been strange to be abble ../../_changes and not ../../../_uuids in rewriting. Instead using couch_httpd_db:handle_request we now use couch_httpd:handle_request. Add one more unitest to test it.
      adds  8c4c830   proxy authentification handler.  This handler allows creation of a userCtx object from a user authenticated remotly.
      adds  947d3f5   add default_fun and url_handlers to #http. It's useful for any custom handler that need to use the http_handler and not only the db and design http handlers. Like for example in the rewriter.
      adds  fc7c24b   enhance reader and admin lists
      adds  8720bd0   error message on bad security object
      adds  1584757   fix #COUCHDB-595 thanks for tests and report.
      adds  ec57dea   fix COUCHDB-638.
      adds  f2b82de   remove empty lines
      adds  e8f9b08   re-enable 404 handling in show functions while retaining user-friendly error behaviour
      adds  7ca260e   move from _admins / _readers / _security to just a single _security object
      adds  cf579b3   Fixes COUCHDB-640 - Reset views with invalid update seqs.
      adds  6242951   remove trailing whitespace
      adds  a99f171   keep listeners when rebooting replications
      adds  54aba96   Add virtual host handling.
      adds  1393c1f   typo
      adds  3fc7197   use process state instead of config lookup to match vhosts
      adds  bdd7d57   _purge was incorrectly returning update_seq.
      adds  3aae900   Minor cleanup thanks to Joel Clark.
      adds  3b4c970   Allow replication to be cancelled. Closes COUCHDB-664. Patch by Robert Newson.
      adds  bc64e71   replicator and view generator can skip check_is_reader when opening database files
      adds  62578f5   fdmananas patch for filtered replication via COUCHDB-673
      adds  12a550e   I will not forget to run git add, I will not forget to run git add
      adds  9d36a1b   Avoid replication task crashes by imporoving timeout handling.
      adds  8c73a28   Apply fixes for COUCHDB-597 patch.
      adds  55dd945   Merge branch 'show-deleted-docs' into trunk
      adds  395fc93   revert accidental commit
      adds  66e73f4   Revert "Avoid replication task crashes by imporoving timeout handling."
      adds  b8dbd5a   treat deleted docs as nonexistant docs
      adds  ac61850   Undo accidental revert. Sorry for the mess SVN acted weird on me. Probably due to the LDAP infra issues.
      adds  45049f1   fix issue COUCHDB-678 applying patch from Filipe Manana.
      adds  49ce4a1   Fix pull replication. Patch by Randall Leeds.
      adds  024148f   Changed process tree shutdown to be synchronous, to eliminate spurious test failures caused by processes not shutdown fast enough or at the wrong time.
      adds  44bc1bd   reverting damien's latest commit until we can figure out why it's causing failures
      adds  a42fd74   ensure full commit when the security object is updated
      adds  8a1a818   use OTP base64 lib.  Patch by Filipe Manana. Closes COUCHDB-681
      adds  28558e1   efficient attachment replication. Patch by Filipe Manana. Closes COUCHDB-639
      adds  2d67063   config settings for replicator sessions and pipeline.  Patch by Filipe Manana
      adds  c1cfb42   json startkey, endkey, and key should be decoded before being sent to the query server or externals
      adds  ff8c650   _stats builtin reduction for min/max/mean/variance
      adds  7becd2c   make sure we pass etags in header when we send doc
      adds  f8ff09c   Made the opening of databases asynchronous, so that requests to open databases that are already in the open database cache do not have to wait on the file system.
      adds  2af89e4   Fixes couch_server:all_databases/0
      adds  c13cefb   Do not use the doc_id list from the previous replication request on subsequent replication requests.
      adds  9c5fa1e   backwards compatible ids for non-docid replications
      adds  7764385   Take query options into account when generating replication ids. Patch by Filipe Manana.
      adds  e7ead40   restart using init:restart() for better test reliability
      adds  c92c2b0   allows client to retrieve the revision of document updated via _update, by providing it in headers. Header is named "X-Couch-Update-NewRev.
      adds  d48ab6f   typo.
      adds  c3d1c00   allows more complex keys in the rewriter, so it could ease the pagination (only array for now) :
      adds  5c6789d   Deterministic/synchronous shutdown code.
      adds  f1a42c1   Fix hang with view shutdown.
      adds  615d834   change couch_server calls to have infinity timeout, because it might have to wait for disk io.
      adds  9eb60d1   Removed _sleep from all tests. replaced with loops that spin until a condition is true. Makes tests faster and less likely to fail sporadically.
      adds  27b3af0   changes is less likely to miss updates, and changes test is more robust
      adds  3093e10   include update_seq in view responses, patch via Joscha Feth, (mostly) closes COUCHDB-650
      adds  fcf5b99   somehow I missed this badarity bug running the test suite last night. completes the last (update_seq) commit.
      adds  15c497e   temp_views should be only available to server and database admins
      adds  d44fe6b   make max_concurrent_connections configurable via Randall Leeds / COUCHDB-705
      adds  7213b74   fix last straggler view update_seq bugs, thanks tisba and bitdiddle for the report
      adds  42eebe5   bugfix for replication keepalive.  Closes COUCHDB-730
      adds  0739874   refactor att compression to allow more encodings. thanks fdmanana. COUCHDB-710
      adds  bba04c7   accept gzipped attachments w/ standalone api. thx fdmanana. COUCHDB-712
      adds  6d3ac65   Fix to close users db immediately after authentication.
      adds  8a8cad0   fix erlang filter funs and normalize filter fun api. thanks fdmanana. closes COUCHDB-740
      adds  ce3df20   compaction preserves instance_start_time. Closes COUCHDB-744
      adds  5680ef4   identity transfer w/ Content-Length when possible. thx rnewson. COUCHDB-745
      adds  5f831a5   faster default view collation. Closes COUCHDB-746
      adds  6f430e3   tabs to spaces
      adds  ac1e0f9   make before commit, make before commit, make before commit
      adds  b10a707   Fix to make dbclose synchronous, to prevent unnecessary slowdown caused by many already completed client requests having a single db open, and the vm waiting a long time to asynchronously process the close messages.
      adds  d6dbd53   use keysearch BIF to search ejson props. Closes COUCHDB-747
      adds  f9468ec   use crypto:md5 when available. thx fdmanana. Closes COUCHDB-757
      adds  9037230   rewriter security to allow isolation of databases via subdomains
      adds  36130e0   vhost_global_handlers bypass rewrite rules and are available in all vhosts
      adds  dda4d91   faster implementation of pread_iolist. Closes COUCHDB-762
      adds  5628728   use O_APPEND to skip some lseeks, COUCHDB-754
      adds  98f66ab   oops, don't commit hacked-up icu_driver
      adds  1c8b563   Don't use module name for module-local function calls that don't affect hot code reloading.
      adds  3b9d924   jsonp callbacks are ignored unless jsonp is configured to true
      adds  19319a7   Strip password from URLs before adding them to the tasks database and before sending it to the logger.
      adds  83bcdb2   Unused variable.
      adds  a5019b4   no newlines in .ini files
      adds  cd18c7d   Renaming `jsonp = false` ini option to `allow_jsonp = false` to be more clear about its intention.
      adds  2b1af2c   Refactoring of various internal APIs, particularly those dealing with replicating documents with attachments.
      adds  e7467d7   Fix Solaris compat. Patch by Gavin Sherry and Timothy Smith. Closes COUCHDB-666 \m/
      adds  79a4fb2   Major whitespace cleanup, no functional changes. Patch by Volker Mische. Closes COUCHDB-771.
      adds  b51672e   better tests for the vhost globals, fixed a bug
      adds  cdd04e9   add license banner
      adds  a69eb14   trailing whitespace pedantry
      adds  c85b45a   More work to allow for streaming attachment replication.
      adds  7948964   update_seq is only in view response when update_seq=true is in query params
      adds  0a301fc   fix #COUCHDB-787 . thanks!
      adds  dae9aaa   keep massive invalid json blobs out of the error logger, move them to debug log
      adds  c84ff71   preserve _revs_limit after compaction. COUCHDB-789
      adds  f0b2a4e   Code mods to support streaming attachment replication.
      adds  a1ece39   Fix hanging replication. COUCHDB-793. Thanks Filipe and Paul Bonser.
      adds  2d97992   remove unnuecessary receive loop in commit_data. COUCHDB-794
      adds  b96acd9   more efficient header commits. COUCHDB-767
      adds  6be5ecc   log HEAD requests as HEAD, not GET. COUCHDB-788
      adds  71aba4c   synchronous logging, COUCHDB-761.  Patch by Randall Leeds.
      adds  ae76129   hack for log requests during make check, when logger is not running
      adds  f6ade26   iodata() type is too new for us
      adds  1a40bb8   Fix warnings on Linux builds.
      adds  9f7bc59   Fix for wrong offset when writing headers and converting them to blocks, only triggered when header is larger than 4k. COUCHDB-800.
      adds  f907aec   remove unused Bt from chunkify function
      adds  a8452c3   small optimization for reordering result lists
      adds  654567c   provide a uuid to update functions (and all other functions) that they can use to create new docs. closes COUCHDB-802. Thanks Jason Smith, Zachary Zolton, and Dmitry Unkovsky.
      adds  c7d03ba   fix issue COUCHDB-805. tested on R13B-04 and R14A. also public_key is available since R12B5.
      adds  479f9c2   Make file deletions async to avoid pauses during compaction and db deletion. Fixes COUCHDB-780.
      adds  b6c0df5   Authentication caching, to avoid repeated opening and closing of the users database for each request requiring authentication. COUCHDB-807
      adds  1219013   Added files missing from last checkin for COUCHDB-807
      adds  2f2e1d8   send browsers to /_utils/session.html when they need to log in
      adds  e95d6e0   use JSON content type in replicator, require it in the _bulk_docs and other POST apis
      adds  56567d1   ignore error when loading public_key on R12B5. spotted by barj on irc and fixed with help of @rnewson.
      adds  ad6fda3   wait forever on large ini files
      adds  174c1e4   close COUCHDB-795 add X-HTTP-METHOD-OVERRIDE support. Thanks Brian Jenkins
      adds  3c6d702   better error message for db names, closes COUCHDB-741 thanks Frank
      adds  fc07ac0   don't require a revpos attribute for stubs. closes COUCHDB-809 thanks Caleb Land
      adds  f8448c8   Added checking to ensure when a revpos is sent with a stub, it's correct.
      adds  4a5dc2c   make the authentication redirect URL configurable. setting it to the empty string yields the 0.11 behavior
      adds  58e341f   Bug fix when creating a DB with the option 'sys_db' and the number of current opened DBs corresponds to the max_open_dbs config parameter.
      adds  c0e71c1   Fix for windows fsync, race conditions in attachments.js and the default shell used when launching windows CouchDB.
      adds  b075b0c   prevent zero byte files, closes COUCHDB-647
      adds  4177b16   Moving duplicated code into a single private module function.
      adds  51870f8   fix edge case in users db validation fun
      adds  36cc8ba   close #COUCHDB-393. save the uri http://IP:PORT/ in %localstatelibdir%/couch.uri  when couchdb start.
      adds  7e5960e   add line ending to be like the pidfile and fix typo.
      adds  96cbcef   Fixed intermittent problem deleting files on Windows. Added Juhani Ränkimies to THANKS
      adds  6f539cc   Fix deletion to move properly to root of storage, to avoid copying files when view and database dirs are on different mounts.
      adds  6eb2c6e   Replacing call couch_httpd_db:couch_doc_open/4 with call to couch_db:open_doc/2. It's more correct from a design point of view.
      adds  040e9a2   _log should be an admin-only resource
      adds  d63c864   dont redirect endlessly when require_valid_user=true
      adds  ed99f2c   Fix for occasional failed tests caused by responding with 202 success to compaction requests before the compaction actually begins.
      adds  ff497e1   Fix deletion of view files after compaction. Also added test for view compaction.
      adds  3d42bef   validate admin and content type for compact requests
      adds  828256b   deleting a DB while it was being opened would crash couch_server
      adds  1304785   thank you dialyzer
      adds  1f62544   Removing couch_util:read_file_size/1 because same functionality is provided by filelib:file_size/1.
      adds  1041326   Removing unnecessary code.
      adds  3c7dbda   Removing unused function couch_util:ascii_lower/1. If ever needed, the exact same functionality is provided by string:to_lower/1 (ASCII based, not Unicode nor charset based).
      adds  91cee5d   Simplification - avoid 2 proplists lookups and an unnecessary list to binary conversion.
      adds  c1f91f8   Reverting revision 963042 - lists:keystore/4 only replaces the first occurrence in the list.
      adds  727c24f   test and fix for deleting users documents
      adds  25e65f1   show the complete document body even when the document is deleted (Couch lets you store data with a delete but did not render it to JSON)
      adds  8ca93b8   Bug fix: badmatch error after deleting a user doc (uncovered by revision 963723).
      adds  18bc680   Fix for a pull replication, targeted to a 1.0 CouchDB server, where the source DB is in a remote CouchDB 0.11.0 server and the target DB is local (1.0 CouchDB DB).
      adds  8bf0728   Revert revision 964956 (COUCHDB-827) - solution had secondary effects.
      adds  a944eaa   COUCHDB-810: Adds port to replication checkpoints.
      adds  7f63763   Fix possible bad match error - WriteFun might not return the atom 'ok'.
      adds  8194ba4   remove unguarded atom creation to prevent DOS attacks. closes COUCHDB-829
      adds  a2f6ea9   require application/json content-type in the remaining places where a POST has side-effects
      adds  9e3418b   humane error message on missing design handler
      adds  99a6233   Removed bogus log error message.
      adds  ac48b6a   Removed warnings about unused vairables.
      adds  895959e   Corrected misleading parameter name (Logs => DbList) and removed unnecessary tuple parameter extraction and reconstruction.
      adds  29fd81b   Move the tracking of the stat {httpd, clients_requesting_changes} from couch_changes module into the couch_httpd_db module (that stat shouldn't be affected when the changes API is used for internal operations).
      adds  92debf0   Make sure all the properties of an EJSON change line are binaries (instead of a mix of binaries and atoms).
      adds  8435b92   send a basic-auth popup header if require_valid_user=true, to prevent lock-out
      adds  1a6422f   Multi-part patch to enable white-listing of _config API values:
      adds  594dedc   Add SSL support to CouchDB.
      adds  a4c4666   Fix issues with the replicator when using HTTP Basic authentication, receiving an HTTP redirect response, and loosing the authentication credentials because they're not found in the Location header's URL.
      adds  eded7f6   replicator was getting stuck on push replication to design docs by non-admins. this fix is a bit hackish but makes replication work. once the new_replicator is in place this hackish fix will not matter, so for now it is a good solution.
      adds  7b2911d   don't require integer seqnums in the changes feed, COUCHDB-838
      adds  da1cfaa   Revert "replicator was getting stuck on push replication to design docs by non-admins. this fix is a bit hackish but makes replication work. once the new_replicator is in place this hackish fix will not matter, so for now it is a good solution."
      adds  fb1c238   fix the underlying issue that was giving replication problems attempting to push design docs as a non-admin. this is what my reverted commit should have been
      adds  db6fee8   Add support for replication through an HTTP/HTTPS proxy.
      adds  c5a58c1   Bug fix - RegExp matching the atom 'undefined'.
      adds  d5f171a   Add missing clause to the case expression to avoid a case_clause Erlang exception.
      adds  dc45d4e   Buf fix - proper RegExp matching to avoid having a case like "hhtml" being considered as "html".
      adds  28ea6b7   Remove functions from export list that are not used by any other module (including the Etap tests).
      adds  434c401   Add option "stale=update_after" when querying a view. Closes COUCHDB-837.
      adds  cf59340   Allow POSTing of a JSON object to /_session/ for login. Closes COUCHDB-842, patch by Jonathan D. Knezek.
      adds  d4c029b   Avoid unncessary pattern matching.
      adds  cbb9787   Don't close an idle system DB to open a non-system DB. Doing so allowed us to open more than max_open_dbs non-system DBs. This issue is revealed when there are more than 1 system DBs (_users and _replicator).
      adds  2aee2e1   Add replicator DB (_replicator). Part of ticket COUCHDB-776.
      adds  de10f4c   add wildcard support in query args so it's now possible to have rules like : { "from": "/welcome4/*", "to" : "_show/welcome3", "query": {     "name": "*" } }
      adds  de49ee3   remove double-spacing in couch.log output.
      adds  2eb82ab   add Etag header for standalone attachment PUT.
      adds  bdee327   fix warning about unused RestMatch variable.
      adds  ec8034d   os_process_limit for query servers make them much more robust under concurrent load
      adds  8423c89   builtin reduce functions more forgiving about trailing whitespace and other characters
      adds  db25853   fixes COUCHDB-844, delayed commits gets b0rked
      adds  c382a14   provide the update_seq in all_docs view even when it is zero
      adds  a83caf2   Removing unnecessary guard in function clause (superceeded by pattern matching).
      adds  829c3b0   related to COUCHDB-844. Include committed_update_seq in db_info to allow external monitoring of delayed commits.
      adds  b626605   more informative error messages on invalid json
      adds  2ac8abc   add requested_path to the req so we know original path in shows/lists & updates function.
      adds  9cff487   Fix Erlang unused variable warnings.
      adds  2013d68   Bumping ibrowse library to version 1.6.2 (latest). It has a few important bug fixes and new features, such as, for example:
      adds  aa36ffc   New vhost manager. allows dynamic add of vhosts without restart, wildcard in vhost and dynamic routing via pattern matching. Close #COUCHDB-855.
      adds  ff174d6   add missing file (#COUCHDB-855)
      adds  4f6f978   don't export twice.. this warning was annoying.
      adds  c832195   fix badmatch when fetching zero byte attachments.
      adds  788e1c9   COUCHDB-161 - support Range header for attachments.
      adds  13c5bef   expose security obj to shows, lists & updates functions.
      adds  3c3c7e9   Support Range header for all attachments, even without compaction upgrade. It's just less efficient.
      adds  23aefac   Fix behaviour of the view query option stale=update_after. Somehow it was not working for all cases.
      adds  736f2af   COUCHDB-861 - enhance _sum to work with lists of numbers.
      adds  1c2265d   sysadmins were shocked that we can use $ for anything else than a shell environment variable. use ":" instead. use ":" instead like we do in _rewrite handler. like we do in _rewrite handler.
      adds  efb9bc9   Small refactoring of the work queue module to accomodate for incoming options (multiple workers)
      adds  523191b   Work queue - add support for multiple consumers.
      adds  c5b94ae   Added some whitespaces to make the code easier to the eye.
      adds  fe1457a   Fix revision 987824 - add missing changes.
      adds  b8a3f8d   COUCHDB-864 - set SAVE_RECV flag in mochiweb request to allow connection keep-alive between multipart/related PUT's.
      adds  a37e708   tidy range support, make inserting of multirange support more obvious.
      adds  765b145   Replicator: fix authentication failure when replicating design documents that have attachments. Closes COUCHDB-868.
      adds  b528068   Added configurable nodelay setting via the ini. Set [httpd] nodelay=true to enable the TCP_NODELAY option for the web server sockets, which means that even small amounts of data will be sent immediately.
      adds  c8a9543   return 400 Bad Request for unparseable range request.
      adds  e3633e4   support multiple byte ranges in Range header.
      adds  3fb5df7   set Accept-Ranges conditionally on identity encoding.
      adds  738d6db   fix warnings of unused Len variables.
      adds  0b668ec   correct fencepost error for last bytes range request.
      adds  abae91a   COUCHDB-161 - range support. Adhere closer to the spec. correct range parsing error in mochiweb.
      adds  ade93dd   fix warnings in couch_httpd_db.erl
      adds  7b463fe   warn when a view query will be empty due to backwards start and end keys
      adds  5880826   remove extra log statement
      adds  0385074   improve rewriter. No< it's possible to pass a variable in path as <var> so you can do /somepath/<var>something or /somepath/<var>.txt ...
      adds  6c4e062   fix issue #COUCHDB-230 . now it's possible to do */test = /db/_design/test or even =  /db/_design/test and other stuff already possible with vhost manager.
      adds  a95bff0   Refactor changes module to allow for accumulators with the callback (optional, doesn't break public API).
      adds  d6d27fd   Bug fix: replicator proxy option ignored.
      adds  d217c17   Replicator bug fix: redirect from remote /db/_changes not properly handled (discarded user supplied HTTP Basic auth credentials)
      adds  6b1083f   Fix previous revision (module prefix not included)
      adds  c3c0ddf   Bug fix: add missing case for not preserving HTTP basic auth credentials after a redirect for _changes
      adds  5c0c0bf   Bug fixes:
      adds  880f2ff   Replicator changes:
      adds  2a959de   Replicator bug fix: make sure a replication fails when there's a stale connection to a remote DB's _changes.
      adds  743e7c8   Replicator bug fix: properly stop link worker processes to avoid noproc exceptions crashing the replicator's changes feed reader process.
      adds  875a895   Added peer information to debug message.
      adds  1bf9a73   Fix badarity error when the changes timeout is undefined or set to infinity.
      adds  4b7c776   Replicator: avoid percent encoding the slashes of design and local document IDs. This avoids receiving and following redirect responses from the peer. It also removes the eventual need of special rules in proxies (like Apache httpd).
      adds  0b51974   Removing duplicated code.
      adds  584fc74   Upgrading ibrowse from version 1.6.2 to 2.0.1. This version fixes a serious issue regarding streaming of chunked HTTP(S) responses. The issue is that the client occasionally gets blocked or receives a timeout (if inactivity_timeout parameter is given to ibrowse).
      adds  4b7c596   Bug fix: a user context record was being used instead of a PID.
      adds  9dd5fc9   Explicitely close the file descriptor. It doesn't hurt. Also, since we open the file in 'raw' mode, I suspect the file descriptor is not closed when the couch_file server dies.
      adds  c296841   Adding new macro ?getv as an alias to couch_util:get_value. That function is used so often by most (if not all) modules that it deserves a small macro to help keeping the code short.
      adds  bd85ea9   Replacing calls to couch_util:get_value with ?getv
      adds  8709455   CommonJS support in map functions
      adds  708159e   Replicator fix: for a filtered replication, the replication ID should take into account the filter function's code and not only its name.
      adds  5b8e2b3   Add missing expression to close the database (COUCHDB-892 related).
      adds  b43eb94   Removing ?getv macros. With OTP releases up to R13B03 it's not possible to define a 2 macro functions with the same name and different arities. (Only allowed in R13B04 and R14).
      adds  94fa7d2   COUCHDB-903 - add {ok, true} to COPY result.
      adds  71021e1   Revert "COUCHDB-903 - add {ok, true} to COPY result."
      adds  9a0a7af   fix badmatch for COPY call with missing Destination header.
      adds  42a9ff7   Remove no longer necessary include macro (forgotten in revision 963038).
      adds  79e6fc2   downgrade log line from error to debug output
      adds  bf3de3f   close db handles after using them to get view groups
      adds  80313b5   remove vestigal db handle that will just be replaced by couch_view_updater anyway
      adds  31779d4   using an infinity timeout in places where we wait on disk io
      adds  72eb54e   Bug fix: when receiving the compact_done message, make sure the gen_server unlinks itself from the compactor process and purges the compactor's exit message from its mailbox.
      adds  f90623b   Fixes COUCHDB-799 - More granular ETags for views.
      adds  c86957a   Avoid view regeneration for new ETags support.
      adds  0ec6ad6   Avoid gen_server call timeout error after compacting a database (seems to happen only for large DBs, but not always).
      adds  91124ae   get _changes on specific docids
      adds  b9ed633   like in view, check content_type on POST /db/_all_docs
      adds  391926d   Fixed typo in comment.
      adds  15aa95f   Replicator: fix issues when a peer is accessible via SSL. Closes COUCHDB-491.
      adds  49378d6   Replicator: use pattern matching with the #url record instead of the raw tuple.
      adds  41a49ae   Replicator: deal with 303 HTTP redirects. Closes COUCHDB-918.
      adds  1676b59   Reformatting and organizing better the export statements.
      adds  2134013   non-blocking creation of new view groups, COUCHDB-900
      adds  ae61fd5   checkpoints reuse session_id.  Patch by tilgovi. COUCHDB-704
      adds  8a8ecd5   GET /db/_design/doc/_info should not trigger an update. Closes COUCHDB-858.
      adds  bf67c72   ensure _all_dbs output is sorted.
      adds  d9fc020   sort _all_dbs at api not http level.
      adds  32922b5   Replicator fix: add Content-Length header to the request that creates the remote DB. Closes COUCHDB-932. Patch by Dale Harvey. Thanks.
      adds  27f0b27   We don't have MOVE requests. No need to track them.
      adds  d2ffe0f   Replicator: set Content-Length header when posting to _ensure_full_commit. Same reason as for COUCHDB-932.
      adds  5e9d9ee   Enable CouchDB to manage OS process daemons.
      adds  149971a   HTTP proxy handler.
      adds  5cb3f81   Don't choke on unknown configuration settings.
      adds  9ef7d7f   Fixed an error spotted by Filipe.
      adds  295cf27   Allow the atts_since parameter to work together with the open_revs parameter.
      adds  b644865   Bug fix: the separator for media types in the 'Accept' header is a comma. The semicolon separates a media type from its parameters. A more complete solution, which takes into account Q values, was submitted upstream:
      adds  84da472   Preserve attachment identity length when doing local to local replications. Closes COUCHDB-930. Patch by Juuso Väänänen. Thanks.
      adds  eed7737   shut down couch_view_group cleanly if no_db_file
      adds  e1e52be   tidy up regex for compressible_att_type
      adds  a08160e   COUCHDB-945 - ensure validation funs are still applied after compaction.
      adds  537a5af   Support the keys parameter in GET requests.
      adds  f7850ca   Micro optimization: faster header reads (read the whole block at once, so far headers are always smaller than a block). Read time is basically reduced to half.
      adds  c7b3007   Micro optimization: when reading an iolist, read up to 8Kbs instead of the 4 bytes length prefix only in the first file read operation. For reads of small terms/iolist (up to 8Kbs), this speeds up the whole operation. No impact on larger terms/iolists.
      adds  6b5e48a   Use lists:min/1 and lists:max/1 instead of erlang:min/2 and erlang:max/2. The later are not available in earlier OTP releases. Closes COUCHDB-856.
      adds  04f399f   Proper verification of the request's accepted media types. Uses the new function mochiweb_request:accepts_content_type/1.
      adds  3740cb2   builtin changes filters fonctions: _doc_ids & _design. replace last patch to get filtering on docids.
      adds  5571420   Allow reduce=false parameter in map-only views.
      adds  68edfbe   After authentication, redirect to the path the user requested, not the one that is used internally.
      adds  17f4310   Fix typo and grammar.
      adds  f7e7a74   Some code simplifications to the couch_changes module.
      adds  c608514   Replicator: use the new builtin _doc_ids filter for the by doc IDs replication. This reduces code complexity and allows for continuous by doc IDs replication.
      adds  84ba3ba   Add stale to parse_view_param/2 for consistency.
      adds  deca0c7   Obvious parsing of the stale view parameter part 2.
      adds  57576c9   revert unwanted commit
      adds  0afc0c5   Replicator DB: removed some restrictions from the default document update validation function and added some logging.
      adds  a7a6349   Replicator DB: added 2 useful log messages.
      adds  ca82c92   Make sure that after a database compaction the old database reference counters don't get unreleased forever. Closes COUCHDB-926.
      adds  27e7cf1   Make sure that after compaction of the authentication database the old reference counter is released. Same type of issue as in COUCHDB-926.
      adds  f8c1660   Replicator DB: added one more useful log message.
      adds  875d25a   Preserve user context when reopening a database.
      adds  f3175b2   Make sure that after a local database compaction the old database reference counters don't get unreleased forever because of a continuous (or long) replication is going on.
      adds  2c3788d   Add aliases start_key, end_key, start_key_docid and end_key_docid. Closes COUCHDB-949.
      adds  9b40a2f   For absolute consistency, renamed aliases start_key_docid and end_key_docid to start_key_doc_id and end_key_doc_id.
      adds  ef22f56   prevent non-fatal errors from killing the OS process
      adds  df0048d   Send a user friendly error message when rewrite rules are a String, not a JSON Array.
      adds  1c1c908   tabs->spaces
      adds  ad25060   tabs -> spaces
      adds  7fb6844   sometimes tabs are good
      adds  5614204   Add ok:true to HTTP COPY response.
      adds  a965c0e   Proper verification of the roles property of a user document. Closes COUCHDB-790. Thanks Gabriel Farrell.
      adds  35d2425   Add proper validation of user_ctx.roles for replication documents.
      adds  9df73ca   Replicator DB changes:
      adds  e96c226   Replicator DB: added underscore prefix to the replication document fields that are meant to to be set/updated only by the replicator. This makes it more clear to end users that those fields are meant to be used internally by CouchDB.
      adds  eb0e4fe   Replicator DB: stop all ongoing replications when the replicator DB is deleted or renamed (in the .ini config). Also updated the gen_server to stop when it receives unexpected calls.
      adds  ba8f6e4   Corrected error message grammar.
      adds  ee7f2eb   Replicator DB: fix a rare gen_server death case. Happened when the rep_db_created message is received before the changes loop dies. Also simplified a bit the handling of subprocesses exits.
      adds  7e557de   Replicator DB: added _replication_state_time (a unix timestamp value) to replication documents.
      adds  5bedbca   Replicator DB: proper handling of the changes loop process.
      adds  549f3b3   rename "readers" to "members" in _security object, keep backwards compatibility with old security objects"
      adds  c793762   Replicator DB listener: removed function clause not needed anymore.
      adds  87c80e4   Upgrade to Mochiweb 1.4.1.
      adds  09f5181   Missing cases for COUCHDB-949 (adding aliases start_key and end_key).
      adds  48ad819   Proper verification of the accepted content types plus some code cleaning.
      adds  9448700   show runtime errors in native list functions
      adds  c69e114   Replicator improvement: send "unauthorized" error message instead of "db_not_found" when a remote endpoint can not be accessed due to authorization.
      adds  165ed06   Add a dedicated couch_file server to the DB updater process. This improves both read and write (specially the latest) performance when there's a mix of read and write requests in parallel. Closes COUCHDB-976.
      adds  71ea616   Removed all the code that upgrades database files from version 0.9. Also reorganized the export declarations in couch_file and couch_stream to be more readable and not exceed 80 characters per line.
      adds  7bc7473   Stem new rev tree before comparing with old one, COUCHDB-968
      adds  4e31616   Prefer values from old tree when merging, COUCHDB-968
      adds  5ab41fb   Usort the infos during compaction to remove dupes, COUCHDB-968
      adds  34da136   Change key_tree merge to take path as 2nd arg, add type specs
      adds  0996a7e   Rename doc_to_tree -> to_path and move to couch_doc
      adds  09a9cd8   Calculate and verify MD5 digests outside of a couch_file server
      adds  3b2ee7e   Fix compactor crash when .compact file is missing header
      adds  aaa7e33   Fix OOME when compacting doc w/ lots of conflicts, COUCHDB-888
      adds  8e14013   Removed duplicated function
      adds  31ac159   Make sure attachments get compressed when their MIME type lists parameters
      adds  c43fd33   Allow a multipart/mixed document GET to send the attachments in encoded (compressed) form
      adds  6087046   Fix: replicator didn't use the HTTP settings defined in the .ini config
      adds  f122774   Add the ability to use map view function to filter changes instead of duplicating the effort in writing a filter function that does the same, which is apparently done a lot.
      adds  51d008e   Skip recursive path merging, COUCHDB-968
      adds  301b9ed   Stem revision trees after merging a path, COUCHDB-968
      adds  733700e   Ignore closed connection after _changes are downloaded
      adds  cb2f679   Two cleanups in couch_db_updater
      adds  c59efbb   Removed some left-over code for 0.9 database file format upgrade
      adds  478aa8e   remove cyclic dependancy. couch_config is using couch_util too.
      adds  613e512   Re-add eof to couch_file's state
      adds  2aa8e48   Removed more 0.9 file format compatibility code
      adds  a67448a   import some changes from bigcouch. Improve a little the supervision tree.
      adds  af1e694   rever changes in supervision tree & such.
      adds  1473dab   Removed references to no longer used config parameters
      adds  5610f1e   Crash if duplicates are detected during view compaction, COUCHDB-999
      adds  4634bdc   Added [httpd] socket_options and server_options
      adds  7e4c87f   Avoid unnecessary declaration of anonymous functions
      adds  cf1d95a   More explicit and helpful file access permission errors
      adds  59d9437   Minor cleanups in couch_httpd
      adds  2caaa1e   Small refactoring of couch_log
      adds  7875159   Add missing case for COUCHDB-966
      adds  4065f86   Make the doc multipart GET APIs always send attachments compressed
      adds  8603749   Preserve purge metadata during compaction, thanks Mike Leddy
      adds  47f320c   ensure write_streamed_attachment bails on negative LenLeft values
      adds  5a9cec4   Avoid unnecessary conversion to binary
      adds  376f9b8   Removed unnecessary iolist_to_binary/1 calls
      adds  5d6b59e   More efficient implementation of the DB updater BTree functions
      adds  33a05dd   Fix by-doc-IDs pull replication from a CouchDB server version < 1.1.0
      adds  db06447   Fix multiple bugs in config change event handlers
      adds  e4b3531   Reorganize upper levels of supervision tree
      adds  0c038b6   Trivial change to use ?MODULE instead of module name
      adds  4599705   COUCHDB-1034 - ignore runs of whitespace between content types in compressible_types list
      adds  971c81b   Removed unnecessary conversions
      adds  faa5975   Avoid so many unnecessary iolist_to_binary calls
      adds  4970063   Simpler implementation and one less BIF call
      adds  b63f700   Fix strange result when passing a filter and a limit of 1 to /db/_changes
      adds  1a38dda   don't use anonymous function to handle config_changes in couch_httpd.
      adds  44b5c59   mixxing matching clause in config change. spotted by @fdmanana
      adds  54874ca   typo.
      adds  489ee0e   Refactoring of the replicator database listener
      adds  1525f1f   Replicator DB: on restart, make several attempts to restart the replications
      adds  2ca8ae4   Trivial small refactoring
      adds  bccd1bc   Trivial change: replace LruTime with MruTime
      adds  f0b88fe   Avoid duplicated code and unnecessary generation of a list
      adds  451f5a0   Fix calculation of URL length in replicator
      adds  12906a5   CouchDB no longer requires cURL to build.
      adds  76a8252   Validate UTF-8 in doc ids taken from the URL.
      adds  8c79577   COUCHDB-1047 - support inclusive_end with reduce calls
      adds  105066a   fix misleading code sample in comment (thanks vmx).
      adds  7f0997a   COUCHDB-969 - handle passwords with : in them.
      adds  85cc07e   Respect latest=true option in open_revs calls
      adds  822131e   Fix spurious declarations of new merge conflicts
      adds  6b0a3cb   Replicator DB: make number of replication retry attempts configurable
      adds  accf2b8   fix clause warning introduced with COUCHDB-969
      adds  021bb31   cleaner fix for COUCHDB-969
      adds  0b61a1d   More efficient logging, closes COUCHDB-1054
      adds  808d573   More efficient _changes?include_docs=true and _all_docs?include_docs=true
      adds  f92a79d   set cookie security flags correctly when using built-in SSL
      adds  68a1b67   _all_docs rows must not deleted include documents
      adds  bf7c623   Added the new replicator implementation
      adds  22746d7   Replicator database: add document ID to log message
      adds  d3dfd28   Removed unused function clause
      adds  292b98d   Removed unnecessary guard
      adds  7c2e8aa   fix COUCHDB-855 . now the gen_server is only used to store vhosts settings. It also reload them when they change.
      adds  f35ba47   fix error spotted by @enquora on irc. Don't load rules when it isn't needed. ALso fix tests.wq
      adds  08a4254   Fix authentication failure when a username contains colons
      adds  01f8973   Catch all in couch_util:to_binary/1 list argument clause
      adds  3f42c7d   Throw conflict in the remote clause of couch_api_wrap:update_doc/4
      adds  2e8983e   Replicator: better behaviour on checkpoint failure
      adds  eaace62   Fix case clause in the replicator database listener
      adds  7c670b6   Renamed module couch_rep_db_listener to couch_replication_manager
      adds  93097ab   Adapt replication manager to the new replicator's code
      adds  6dc6b19   Parameter "include_docs" now honors parameter "conflicts"
      adds  a27a9d8   Minor refactoring of couch_changes.erl
      adds  f69b02a   Deal with unsupported database versions more gracefully
      adds  17c92d0   Replication manager: restart replications that end up in an error state
      adds  73b9d45   Replicator manager: do basic validation of replication documents
      adds  af86666   Replicator database: only validate user_ctx if doc is not being deleted
      adds  bb5bf82   Fix grammar error in error message
      adds  0aab3c5   Add replication ID version information to checkpoints
      adds  35bfa5c   revert revison 993532
      adds  12c828d   Replication manager: fix occasional race conditions
      adds  b027988   Replicator: deal gracefully with missing_stub errors
      adds  1a53cf0   Fix for crashes in continuous and filtered changes feeds
      adds  377c36f   s/install/reload spotted by @rnewson
      adds  575aa45   fix port conversion, don't forget to use substr function. spotted by @rnewson on irc, again. thanks
      adds  af4b335   Replicator: fix error when restarting replications in OTP R14B02
      adds  0060eb2   Fix function signature mismatch. Allow purging of single revisions in a conflicted document.
      adds  cebcb56   Avoid -lcurl when libcurl is not found.
      adds  0f85cae   Invalid _rev's should cause 409 for attachments.
      adds  ff0b8f5   Added ejson application
      adds  8ac0858   fix variable substitution:
      adds  1177377   add formating in variables substitution:      {          "from": "simpleForm/basicViewPath/:start/:end",          "to": "_list/simpleForm/basicView",          "query": {              "startkey": ":start",              "endkey": ":end"          },          "formats": {              "start": "int",              "end": "int"          }      },
      adds  5ab9f7c   Replication manager refactoring
      adds  c2511ef   Add support for replication over IPv6 (part 2)
      adds  2f0ef2e   Include OTP minor release information in the Server header
      adds  70d5c95   Don't call mochiweb_util:parse_qs/1 with an undefined argument.
      adds  094d766   Return proper error message when 'docs' member is missing in _bulk_docs request bodies.
      adds  6cd53ac   couch_httpd_proxy: IPv6 addresses must be surrounded by square brackets
      adds  85e0889   Avoid ocassional crash (noproc error on gen_server call)
      adds  c47216c   Don't set Content-Encoding headers with value "identity"
      adds  98fc8b8   Track used space for database and view index files
      adds  f8cd2a8   Add missing clause to deal with old databases when computing the data size
      adds  e99342b   default SSL port is 6984.
      adds  763baba   stop module if httpd/bind_address is changed.
      adds  d7f7f4a   By default, allow only admins to trigger delegated replications
      adds  fc15292   print https address if enabled. add to URI file also.
      adds  163f6b0   Fix random errors in 173-os-daemon-cfg-register.t
      adds  d22ac69   Add missing guard for leaf data size computation
      adds  ead9311   Ignore pre 1.2 non leaf rev values without size information
      adds  30cac60   View groups: only open the databases when needed
      adds  2418a84   Fix vhosts for https and fix vhost dependence on sorting of values in the config system which isn't guaranteed.
      adds  8489168   COUCHDB-1141 - drop body if document is deleted.
      adds  8c70691   COUCHDB-1141 - Tidy followup clause, IsDel can only be false.
      adds  6d1c4c8   revert COUCHDB-1141 pending dev discussion.
      adds  325f827   Use correct block offset when loading header
      adds  f52b8f4   Include local docs btree size in the database data_size field computation
      adds  caf349d   Silence more compiler warnings.
      adds  08a94d5   Add configurable file compression (snappy, deflate or none)
      adds  d1ac58e   COUCHDB-760 - allow utf-8 in attachment names (patch by davisp/benoitc)
      adds  fdc323f   Replicator: ensure each worker gets at least 1 connection
      adds  a18b71e   Replicator: better error handling with remote _changes connection
      adds  b88c42c   Fix logger crash when messages have unicode characters
      adds  c9608e2   Make sure view group shutdowns when database is deleted or dies
      adds  b031c3c   Configurable database and view compaction parameters
      adds  c186448   Replicator: avoid stagnant remote _changes progress
      adds  62a8f87   Bug fix in couch_work_queue: state's size not decremented
      adds  0970702   Add infinity timeout to couch_ref_counter calls
      adds  d506fcd   Replication manager: allow max_replication_retry_count to be set to "infinity"
      adds  f90e43f   Replication manager: don't update doc if new state == current state
      adds  71a3297   Replication manager: allow edition of replication documents
      adds  b7af1ee   Use RFC3339 timestamps in replication documents
      adds  73452b4   Replication manager: full error handling on replication start failure
      adds  840b2bd   Add missing option to multipart/related GETs
      adds  419d207   Replicator: when streaming don't rely on ibrowse's timeouts
      adds  91e1981   Fix authentication. Jquery append "*.*" to accept  by default so if we test text/html first it will alway be true. Then test first if application/json was given and then test if text/html then others.
      adds  1e56ddb   Fix timing issues in the doc PUT multipart/related API
      adds  9cd861d   Replicator: re-enable batching of documents with small attachments
      adds  9632689   Force non admins to supply a user_ctx in replication documents
      adds  a11a516   COUCHDB-1173 - return Content-MD5 when fetching attachments where possible.
      adds  d3be9d4   don't read more of an attachment than Content-Length states. (patch by Paul Davis, dictated not read).
      adds  7c0175b   COUCHDB-1177 - don't read more of an attachment than Content-Length states.
      adds  87ed9e1   COUCHDB-1178 - fix make_first_doc_on_disk function_clause error
      adds  98fc96a   COUCHDB-1163 - fix internal state of documents affected by COUCHDB-885 (patch by Paul Davis)
      adds  13e8172   COUCHDB-1173 - pass md5 in stub so replication verifies the transfer.
      adds  a85845b   COUCHDB-1171 Multiple requests to _changes feed causes {error, system_limit} "Too many processes"
      adds  17706ea   log static file requests like Futon resources
      adds  8a5ac5a   in R14B03, terminated temporary processes are automatically deleted.
      adds  3b86786   More efficient term size calculation
      adds  fe3353d   Fixes to the doc PUT multipart API
      adds  c789e87   Skip multipart attachments if doc is rejected by the target
      adds  19d62d7   Re-use couch_doc:abort_multi_part_stream/1 in couch_api_wrap
      adds  7daa0d3   Improve error logging on replication write failures
      adds  4584a3c   set HttpOnly on auth cookies on SSL.
      adds  9da8b1e   Replicator: bubble up missing_stub errors
      adds  08a5f06   link couchjs w mozjs (COUCHDB-562)
      adds  d20679f   prevent excessive linking of mozjs - COUCHDB-1033
      adds  c044fd7   let icu decide how to link itself
      adds  e9ce683   _view_cleanup with no _design docs - COUCHDB-1136
      adds  cb0ec8d   let dbs be closed implicitly when replication dies
      adds  ac067a3   Update comment to mention a supervisor change in R14B03
      adds  5d70f6a   safer db close on rep terminate than in r1133561
      adds  8964c27   Simpler internal btree function APIs
      adds  de354dc   Fix terminate function in couch_server
      adds  a092b44   Human readable message on view compaction error
      adds  2238bf2   Fix COUCHDB-1078 - Port couchjs to newest libmozjs
      adds  08664f3   include jscompat.h in
      adds  2c36076   Fix server crash associated with the replicator database
      adds  898aab0   Simpler and safer db open/closing in view group servers
      adds  d0460b0   Improve replication logging and status report
      adds  a21c6a3   Fix pull replications hanging due to missing ibrowse error
      adds  7e29459   Add since_seq parameter to replication documents
      adds  0ccfde1   Improved replication task status update
      adds  5294deb   Improved replicator's multipart sending/receiving
      adds  518b57d   Remove unused function from couch_doc
      adds  d03ca99   Replicator: less agressive connection requests
      adds  4190b02   Update some replicator defaults
      adds  b5492fd   Don't steal data from subsequent requests in the pipeline
      adds  d68a7db   Improved error message in the replicator
      adds  159bbd9   Reduce chances of replication checkpoint conflict errors
      adds  8dae16f   COUCHDB-1206 - include current_seq in view ETag for include_docs=true
      adds  ccaf5ab   Replication manager, ignore db monitor messages
      adds  5491f7a   On server startup, restart replications in error
      adds  6e1e7d5   Add datetime fields to task statuses
      adds  3a96e6d   whitespace
      adds  9f7eaec   Allow "/" as a vhost target.
      adds  abff72b   Redefine logging macros
      adds  f6b6814   improve SSL handling. Allows a couch node to handle ssl validation and pass ssl certificate to the replication  for such nodes.
      adds  b1bc9bf   Add error response for absolute Destination headers with COPY reuqests.
      adds  0f4ff56   COPY destination header error handling: include check for "https://"
      adds  659650d   whitespace: fix indentation to match surrounding code
      adds  1d2da16   Simplify replicator's http connection pool
      adds  c5d6c20   Don't block the replication supervisor for too long
      adds  0e0cc81   Fix replication.js failures in OTP R14B03
      adds  989edfd   Make replicator agnostic about the update seq type
      adds  cd5ceed   Fix replication task status text
      adds  3d82b89   Some view indexer optimizations
      adds  9fc9442   Add NIF version for the less_json function
      adds  6f25abd   Faster required content-type check
      adds  83d7b57   Cheaper request authentication
      adds  2d35ca1   fix glob on windows missing json_stream_parse.erl
      adds  cde5925   Bump Windows ICU requirement to v4.4.*
      adds  d40fc23   Don't falsly warn about empty result ranges with raw collation views.
      adds  801c587   Revert r1149077 "Don't falsly warn about empty result ranges with raw collation views."
      adds  8a7d0c6   Refactor/simplify replicator
      adds  77b71d3   assert that calls to file functions actually succeed.
      adds  99c3265   Call traversal handlers in btree folds
      adds  7f7a2d8   Fix COUCHDB-1076 - views skip empty btree branches
      adds  addfb40   Return HTTP code 202 for continuous replications
      adds  198bc29   Allow by "doc ids" pull replications from a 1.0 server
      adds  a447547   Prevent data loss on db creation request
      adds  92fc5e4   COUCHDB-1245 - enforce maximum chunk size for _log call to better manage memory.
      adds  13d999d   Revert couch_server changes added in revision 1156360
      adds  2191cee   Export the official is-less-than btree predictate
      adds  3074bfc   Parse temp view parameters after the view is created
      adds  f976d7d   Fix empty range check for raw collation.
      adds  019ebda   COUCHDB-1242 - validate that query_params are strings.
      adds  0cd3c9a   Fix function_clause error when using externals
      adds  b4dbf1e   Doc validation functions from deleted ddocs must be ignored
      adds  e1b660e   Better logger performance
      adds  ba46e7a   Fix C pointer cast to the right type
      adds  216adae   Fix dead lock case in the os process pool
      adds  536c2de   COUCHDB-822 - maximum size of external body should follow the same rules as documents themselves.
      adds  bc88c47   Add configurable automatic compaction
      adds  221528f   auto-upgrade /_users/_design/_auth if validate fun fails to match.
      adds  5ee602f   Don't open database or view group if not needed
      adds  e0d252f   Add after clause to receive expression
      adds  116856a   Do not suppress old revisions from _changes
      adds  aa54edb   Remove Style where we have no need for it
      adds  c30b3b3   Fix latest=true parameter for multi-revision reads
      adds  080bf9c   Remove unncessary/duplicated replicator cast
      adds  32be945   Make replicator report_seq_done call synchronous
      adds  3a6d37d   Remove unnecessary replicator gen_server clauses
      adds  9cbbc98   Add byte size limit to work queue
      adds  0ae5e1a   Fix order of parameters in log message
      adds  0caa63d   COUCHDB-1269 - use canonical spelling for ETag header.
      adds  d7fca23   Fix CouchJS compatibility with older Spidermonkey.
      adds  c62acac   Fix introduction of duplicates into _changes feed
      adds  cd03e42   Remove no longer existing replicator httpc option
      adds  f1cfa03   Close database if database compaction is not done
      adds  f80e0a3   Fix failure when cURL isn't found.
      adds  ed720d2   COUCHDB-1274 - Use text/javascript content-type for jsonp responses.
      adds  8caebc6   honor ?rev for PUT and validate against _rev/etag
      adds  91744c5   Reject large Range requests
      adds  eafc4c1   Make sure httpc pool doesn't reuse dead connections
      adds  2047935   Fix comment
      adds  eb601aa   minor optimization for binary query server i/o
      adds  797d7bd   Increase default size for os process receives
      adds  081db99   Notify waiting requests when replication cancelled
      adds  f1bc038   Allow slashes in doc ids in URLs to _update handlers.
      adds  4b26315   Minor changes for new indexing engine.
      adds  ffe6644   Create the couch_mrview application.
      adds  c617480   Remove the old view engine.
      adds  755f713   Paul is an idiot commit 3 of 3.
      adds  0a20787   Add test test/etap/042-work-queue.t
      adds  5346ca6   Remove comment
      adds  7364d5b   Improved _active_tasks API
      adds  0c8c601   Simpler replication cancelation
      adds  85e4cc8   Use #doc_info{} optimization for _all_docs.
      adds  28f3ad8   Avoid a race condition for monitored compaction.
      adds  bb44cdd   Replicator: don't use chunked encoding for _bulk_docs
      adds  adb9aa6   Update replication task status more often
      adds  10cdb3a   Efficient implementation of builtin filters
      adds  e65d3c5   Fix database compaction crash on retry
      adds  19fec6e   close #COUCHDB-1297
      adds  832b797   Rest of the fix for COUCHDB-1265
      adds  21b77a8   be nice to the poor http parsers
      adds  2e16c87   Replicator: skip documents with empty ID
      adds  993c46b   Replicator: update timeout to match the .ini config
      adds  105f89c   improve argument parsing in couchjs
      adds  5bff0f5   distclean couchjs.1 help2man file
      adds  7fc2413   fix couchjs help language and use short options
      adds  b6f5947   Replicator: update task status more often
      adds  13c4823   Remove no longer necessary call in replicator db
      adds  593d321   Replicator: configurable # of retries per request
      adds  b20545e   vendor info in welcome message (COUCHDB-1285)
      adds  bcf1e3a   Open replicator database in child process
      adds  73c6dd7   Remove duplicated word "the"
      adds  f6f01b5   Fix builtin changes filters with ?descending=true
      adds  04fdc09   Minor fixes to link agianst SpiderMonkey trunk
      adds  d84a8b1   Fix object sealing on sm 1.7.0
      adds  8f5cecf   Fix JavaScript CLI test runner.
      adds  7ad1ecd   Hardcode couchjs binary name
      adds  cae15a1   Assert couch application starts successfully
      adds  22462e5   Gracefully handle "doc_ids"=null in doc id replication filter option.
      adds  2c3c241   Fix attachment name validation when creating inline attachments.
      adds  9b8143a   Validate numeric argument to _revs_limit.
      adds  9054e6c   Redirect on a failed login attempt.
      adds  e2f541b   Make attachment stream buffer size configurable
      adds  b792da7   Allow POST to _log.
      adds  45115e8   Fix retrieval of headers larger than 4k
      adds  668539c   Expose raw_path in req to show, list and externals.
      adds  ce41b05   First fully working version of the JavaScript CLI tests.
      adds  49f89d6   Properly adhere to bytes and offset parameters for /_log
      adds  e76ec9d   Fix handling of SSL option verify_ssl_certificates
      adds  7e8d492   Log error on failure writing to the URI file
      adds  41a9eea   Tolerate whitespace runs in .ini files
      adds  d1e0dd6   Add newline to end of utf8.h
      adds  2646c91   Set gen_server call timeouts to infinity
      adds  6845dea   Fix badarg error in couch_os_process
      adds  f372eef   Add missing binary_to_list call in parent commit
      adds  33c5e28   COUCHDB-1337 - Use attachments md5 as ETag if available
      adds  086bf94   avoid hidden files when finding couch .erl files
      adds  7047eb3   fix improper comparison on filtered changes
      adds  6227643   export couch_db:get_full_doc_info(s)
      adds  59aeaf3   couch_db:get_design_docs/1 -> #full_doc_info{}
      adds  5af2511   use couch_db calls instead of couch_btree
      adds  fc4ba5e   some refactoring in couch_httpd_db.erl
      adds  ff938bd   Futon Cache-Control
      adds  8438dfe   Revert "use couch_db calls instead of couch_btree"
      adds  f20dcd2   Fix OAuth validation when using the rewriter.
      adds  b196742   Avoid confusing log messages when replication completes
      adds  b3c84c2   Add ddoc_updated event
      adds  4b157bc   More efficient communication with the view server
      adds  08c39b7   Fix database compaction retry after server restart
      adds  df13c3b   Fix replicator doc GET requests for many revisions
      adds  e614b61   Replicator: encode query string parameter values
      adds  eb3da63   Replicator: reduce maximum request line length
      adds  2f4cab9   Remove unused import
      adds  88b242c   Fix whitespace
      adds  3b66521   Add references to docs to prevent dups from being collapsed
      adds  f37ee0a   Fix error stack traces
      adds  bcd13c2   fix warnings in couch_icu_driver.c
      adds  05bf549   Ensure heartbeats are not skipped
      adds  3f797dd   Avoid unnecessary call when there's no heartbeat defined
      adds  1317d5c   Make couch_changes:reset_heartbeat/0 a no-op
      adds  ce1a1f8   Fix replicator db changes loop crash after _security update
      adds  8ef2304   create couch_replicator application.
      adds  da29108   refactor couch_replicator. close #COUCHDB-1323 .
      adds  c3aa722   Add stats to replication docs
      adds  cfc839e   Fix OAuth authentication with VHosts + URL rewriting
      adds  80d7d09   Fix COUCHDB-1363 - race condition in couch_changes
      adds  05f9eda   Clear credentials cache if _users db crashes
      adds  4daf2fa   Remove unused records
      adds  affa43d   Fix merging of documents with attachment stubs
      adds  020462e   fix whitespaces
      adds  a49e345   other whitespaces spotted in couch_httpd.
      adds  ae7c5de   CouchDB-1367 - Fix function_clause in _stats when no rows are emitted
      adds  89a3ceb   Implement "System Database Security"
      adds  0ebb248   Fix admin users creation and user password change in futon.
      adds  b02b19f   Use ICU_CPPFLAGS instead of _CFLAGS
      adds  62c88c2   Allow OAuth credentials to be stored in user documents
      adds  9748ce5   COUCHDB-1152 remove icu version dependency (win)
      adds  f625d39   Fix document deletion followed by creation
      adds  9196d0f   avoid unneccesary calls to strlen
      adds  12a7c22   implement couch_readfile in couchjs utils
      adds  d369d67   Use enif_is_number on OTP R15B or higher
      adds  4eb59d0   fix couch_httpd:host_for_request/1 for ssl
      adds  066911b   COUCHDB-1380 Revert "Better logger performance"
      adds  ee4f96c   Fixes for COUCHDB-188 fix
      adds  beadacf   Allow persistent cookies
      adds  8536085   Remove dead _all_docs code
      adds  4a33b2b   fix show/list/external requested_path for rewrites
      adds  1b6bc4f   fix COUCHDB-1369.
      adds  a11c41d   Ensure compaction respects compression setting
      adds  5fb1e1e   COUCHDB-111 handle multiple files in couchjs
      adds  5fd3c39   COUCHDB-111 and COUCHDB-1389 JS Error Tracebacks
      adds  4a1a88e   COUCHDB-111 CommonJS module names in tracebacks
      adds  54465bc   print JS CLI test tracebacks to stderr
      adds  52aef42   COUCHDB-1338 - run js tests with port=0
      adds  1fd523b   Don't include rev tree in credentials
      adds  1107aeb   COUCHDB-1406 - Don't attempt to encode invalid json
      adds  eae708c   make /_users/_changes admin-only
      adds  f5aabdc   Make just /_users/_changes admin-only, not every _changes
      adds  92b606a   Fix fold reduce with non-inclusive end key
      adds  cd9daa6   Make icu_driver compatible with interface changes in R15B.
      adds  37a238d   Whitespace
      adds  51935eb   Remove unused imports
      adds  ed392e2   COUCHDB-1060 - Switch to PBKDF2 for new passwords
      adds  2ec6f8d   Ensure admin rights for admins in both config and users db
      adds  d83e957   COUCHDB-1060 - fix _admin for both clauses
      adds  de369a5   Remove assertion when database compaction finishes
      adds  3dd8772   COUCHDB-1060 - Prevent _admin appearing twice
      adds  76e16f1   Make password hashing synchronous when using the /_config/admins API.
      adds  3238a94   Do not overwrite X-CouchDB-Requested-Path
      adds  02297e0   Limit rewrite recursion depth
      adds  675b07f   Silence compiler warning
      adds  41370da   make sure that ClearPassword string is handled.
      adds  09548d8   add Server-Sent Events protocol to db changes API. close #COUCHDB-986
      adds  9620bd7   make sure default headers are defaults.
      adds  880995b   vhosts values should not be empty.
      adds  b1cf9a7   COUCHDB-1483 - Update handlers must produce valid doc ids
      adds  468dc29   Send a 202 response for _restart
      adds  f2797b4   Fix type logging status codes
      adds  2ec0466   since=now. Get changes from now. close #COUCHDB-1501
      adds  2c89909   COUCHDB-1502 - Allow user to delete own _users doc
      adds  cb48503   Handle ddoc_updated event correctly.
      adds  2c6d650   COUCHDB-1512 - Validate bind address
      adds  3aef660   COUCHDB-1511 - User docs require doc.roles
      adds  45195b7   Add utc_id_suffix UUID algorithm
      adds  fc848d9   Restore max_document_size protection
      adds  e7bb46d   COUCHDB-627 - Support all timezones
      adds  b5cbdca   Fix typo causing undef error
      adds  38e230c   COUCHDB-1026 - encode database name when rewriting
      adds  4e8e3f1   fix typo, closes pr #29
      adds  5be0c9a   when reporting a bad db name, put the wrong value in the log message
      adds  690db94   Upgrade find_in_binary to use binary module
      adds  a0e10da   improve file I/O error logging and handling
      adds  3a34788   log 5xx responses at error level
      adds  d031e54   Document Id and Rev in response headers
      adds  68d5704   Only return X-Couch-Id (rev is available in ETag)
      adds  162c603   Log problems opening database at ERROR level except for auto-created system dbs
      adds  e2e01e3   Module Level Logging
      adds  7c9150a   Stabilize replication id
      adds  c75c732   Add couch_httpd_misc_handlers:handle_file_req
      adds  da817fa   Support auth cookies with : characters
      adds  79d77c0   Make cardinality of result explicit, remove join hacks
      adds  83acdd2   Revert "Document Id and Rev in response headers" patch
      adds  002b22a   Make dependency on unistd.h specific to HAVE_CURL instead in the whole file
      adds  bc0e1d4   Experimental support for Cross-Origin Resource Sharing (CORS).
      adds  37c0e3d   fix whitespace
      adds  f9ad86e   Integrate Sphinx into autotools
      adds  f20178f   Added support for `make -j` and `make -n`
      adds  7a2f885   Include a comment before jsonp output
      adds  1696e16   Ignore multipart epilogue
      adds  eb9e223   Fix unused variable warnings
      adds  4118251   Export handle_file_req
      adds  c5d2a86   Delete view files on database deletion
      adds  6b73d1f   Fix typo in CORS header.
      adds  d02e66d   fix pbkdf2 spec
      adds  11f3586   Send attachment headers in multipart responses
      adds  b6ca6b3   update erlang-oauth to 1.3.0
      adds  86e4bcc   enable JaegerMonkey features on mozjs185
      adds  bc9c04b   Squashed merge of 1569-feature-low-disk-space-warn:
      adds  f901b9e   (COUCHDB-1305) isolate db process crashes
      adds  2fa50da   fix multipart response mixup, fixes replication.js
      adds  bff25ae   Fix OS daemon log formatting
      adds  1b8e971   Refactor oauth source tree
      adds  7f38180   Refactor couch source tree
      adds  7a1df05   Remove unnecessary includes and search paths
      adds  74de3e4   Squash into f40f349
      adds  7cc94c2   Remove second fd from couch_db_updater
      adds  986874d   Remove couch_ref_counter and use process monitors
      adds  1d9f218   [squash] to couch_file ref counter refactor
      adds  8d78a14   Refactor couch_server for performance
      adds  f0081fc   Shorter internal btree names in records
      adds  5bd4a95   Configurable btree chunk size
      adds  3339c9a   New fields for chttpd and friend
      adds  56599bd   Store #full_doc_info{} records in the seq tree
      adds  3ff0d83   Squash to #full_doc_info{} in by_seq tree
      adds  ffbcae7   Use exported functions for code upgrades
      adds  7786ba1   Load validation functions on first write
      adds  b679dca   Disable conflict detection for _local docs
      adds  38f244e   Enable clustered multipart-mime uploads
      adds  8d77b5d   Remove use of init:restart/0
      adds  567520f   remove some logging
      adds  de9434d   initialize #db{} so that validation funs are loaded on first write
      adds  0c1e68e   Name unused variable
      adds  16e4785   Use twig for logging
      adds  768020a   BugzID: 11589 call file:close explicitly to keep VM responsive
      adds  3e6aa6c   Make shards visible on backend, be more strict about naming
      adds  a229b8d   Refactor OS process management
      adds  6a2c3b5   Don't run old code for the life of the process
      adds  07b8802   Do not start couch_log event handler
      adds  d600dfd   Restore some useful logging re: opening new DBs
      adds  33b1726   Hibernate after update_docs to reduce memory footprint
      adds  6bfee7e   Detect JS sum() and replace with _sum
      adds  8aff0d7   Add regex for common JS implementations of _count
      adds  ef81e8a   BugzID: 11976 return dbname, not shard name, in userCtx
      adds  590a537   Suppress duplicate access logs
      adds  beefaff   [squash] Reenable HTTP request logging
      adds  6f16746   Export make_doc/5 for mem3 replicator
      adds  d9eb87f   GC liberally throughout view indexing code path
      adds  11918bf   Log file corruption at emerg level too
      adds  9d83059   Improve compaction efficiency with a temp file.
      adds  2b20feb   Fix variable shadowing
      adds  5232562   Use a 'one_for_one' strategy in couch_server_sup
      adds  30b7c47   Restore {ok, Docs} from get_design_docs
      adds  0514f49   Skip ddoc pull, use middleman for validation reset
      adds  ab085a1   Optimize merge_updates
      adds  50c195d   Eliminate a list traversal on handling 'DOWN' message
      adds  9ae2380   Use a dict for couch_stats_collector state
      adds  0da481a   Make _stats accept user-generated aggregates
      adds  ea800ea   User aggregates have binary keys
      adds  ee7998d   Move macro definition to module for appup sanity
      adds  5718463   Disable validation for internal replication
      adds  4cc61f1   Assume success when we replicate an existing leaf
      adds  dd16693   Bubble missing_stub errors
      adds  f8fb11a   couchdb depends on twig
      adds  5a2ec4f   Extend _sum to operate on JSON Objects
      adds  e5e5880   Fix handling of initial accumulator for objects
      adds  ab02c8c   Extend built-in _stats reduce to arrays of numbers
      adds  651e26f   Reimplement db created events
      adds  207708a   Notify the ddoc cache when design docs change
      adds  af1f7e9   Throw unknown_error for non standard errors
      adds  1d952f0   Switch to using is_binary guard
      adds  78a4f42   _key is confusing
      adds  c3bc116   Only use the ddoc cache for sharded dbs
      adds  4b7044a   Fix new _stats with added 'working properly' feature
      adds  8c561b4   Remove message when adding async open listeners
      adds  1b8cae9   Fix _sum reducer for objects with missing keys
      adds  14d1dd2   Update and refine comment regarding spawn
      adds  54a7b40   Middle ground on logging db openers
      adds  a7d1663   Major change to use the new config app
      adds  22fdbe2   Reject design docs with compilation errors
      adds  15b84c0   Introduce a #leaf{} record in revision trees
      adds  e09b807   Enable changes for cluster access
      adds  7474dfe   Rewrite the boot procedure for the couch app
      adds  f37ad2b   Remove reference to tally
      adds  cadc7e6   [squash] to somewhere, I dunno
      adds  1a8d72c   Add a config:reload/0 and HTTP trigger
      adds  68d60f0   [review] Delete dbs synchronously
      adds  4fcb3b1   Correctly (don't) track sys_db files
      adds  78df1c1   [squash] to somwhere Mark the dbs db as a sys_db
      adds  7047b89   [move] Silence some logging
      adds  7035788   Rewrite restartServer() for robustness
      adds  74e907a   Fix core etap tests
      adds  6c8c480   Build with rebar
      adds  295602b   Purge view_query_args and point to mrargs (when rebasing, pull in the other bits from ba152cb2153e892c0d8eec7f6fbeecf3dcaff10a)
      adds  d05eb31   Build couchjs
      adds  a64fe65   Build icu_driver
      adds  a100a82   Build couch_ejson_compare
      adds  b51ea97   git describe --always
      adds  dd17921   Fix formatting of rebar.config.script
      adds  ad08d25   Do you even build
      adds  c3116d7   Avoid unnecessary linkage with per-port env
      adds  cee3471   Make sure that we don't destroy the current CONFIG
      adds  783326a   Check for configure settings to enable cURL
      adds  331d549   Ignore built files
      adds  bc94832   Switch JSON encoding/decoding to Jiffy
      adds  91ae53e   Switch the default URI port to 15986
      adds  68f9777   No longer use conditional imports for main.c
      adds  f8c2335   Add dbs and nodes to the system dbs lists
      adds  09c6556   Make sure and save the default referer
      adds  20a53ef   Update license headers
      adds  4ee7c2d   Remove _log
      adds  de2160a   Switch to couch_log
      adds  8f0f70c   Allow log_request suppression
      adds  b130524   Change API to function per level
      adds  135dd70   Add hard limit for OS processes
      adds  a19a8a1   Rearrange couch_proc_manager for readability. No functional changes.
      adds  d04839e   Merge pull request #1 from 'sagelywizard/2002-hard-os-proc-cap'
      adds  ec59844   support JSONP in externals
      adds  ae65e85   Only allow strings in user doc "roles" array
      adds  7e3bdee   Reset rewrite counter on new request
      adds  b033dde   Fix CORS error with attachments
      adds  1698c0b   COUCHDB-1696 really fix R14B04 support
      adds  7fcd3fd   Don't log missing '.compact' file when compacting
      adds  62dafe8   [couchjs] make stack size option effective
      adds  3f7316c   Save the auth values so if the AuthSession cookie has passed the Time left threshold it gets updated
      adds  8e07155   Allow storing a pre-hashed admin password
      adds  c86ad0f   Fix badrecord error in EXIT handling
      adds  bd3b527   Restore rev handling for _bulk_docs with all_or_nothing
      adds  d677c51   support R16B01
      adds  233db26   Add a configurable whitelist of public user props
      adds  cfd423d   Support Last-Event-ID header for eventsource changes feeds
      adds  d843de2   Check that the content-type from the RequestHeaders is not undefined. Fixes COUCHDB-1697
      adds  5f9212e   Merge branch '1697-fix-if-non-match-cors'
      adds  5893d28   fix typo, expand comment
      adds  c13d84b   COUCHDB-1334 - revert "More efficient communication with the view server"
      adds  f8d6972   Merge remote-tracking branch 'origin/1334-revert-feature-view-server-pipelining'
      adds  cfa092c   Support providing environment variables to os_daemon subprocesses
      adds  c7cd4b4   load plugin config from priv/default.d/*.ini
      adds  b3df544   move couch_version() to couch_server:couch_version(short)
      adds  af617d3   A handler for 'couch_plugin' events'
      adds  2048cb3   Fire a log_request event when requests are logged
      adds  7cff595   Handle invalid UTF-8 byte sequences gracefully by replacing them with 0xFFFD
      adds  60ba713   Merge branch '1425-fix-graceful-surrogate-handling'
      adds  53c32b2   Rename proxy_authentification_handler to proxy_authentication_handler
      adds  0572bfb   COUCHDB-1922: fix CORS exposed headers
      adds  a64106d   Validate type of iterations and derived_key if scheme is pbkdf2
      adds  4841f77   Extend support for attachment-related query params
      adds  674a564   Include reason for replication failure in _replicator doc
      adds  ae8612b   fix typo in error message
      adds  ba65b47   Export missing function - couch_httpd:send_error/2
      adds  832293b   Move addition of qs params after normalization
      adds  589936c   Speed up and move couch_httpd:find_in_binary.
      adds  529e416   Adopt to the recent erlang-oauth (1.3+)
      adds  88d4171   Allow cacertfile without verifying peers
      adds  1ebec99   Throw cleaner error on MD5 mismatch during compaction
      adds  bc467c3   Accept gzipped JSON request bodies
      adds  9d629ff   Merge remote-tracking branch 'origin/import-master'
      adds  60a3d29   Remove last remnants of reverted prompt_many work
      adds  e554363   Export map_doc_raw/2
      adds  b9643af   Remove _sum and _count JS optimizer
      adds  34981ce   Couch depends on couch_log, not lager directly
      adds  c35005e   Ignore failure to stop https server
      adds  270f5a7   Allow optional max_uri_length server setting
      adds  b805a02   Fix description of 414 error
      adds  69f881d   Upgrade password hashes on authentication
      adds  0aa1ed6   Configurable upper bound to _uuids count parameter
      adds  67389ff   Verify that auth-related properties are well-formed
      adds  340313d   Support for user configurable SSL ciphers
      adds  9044eac   Use `os:timestamp/0 instead of `erlang:now/0`
      adds  1a06391   Use os:timestamp instead of now() wherever possible
      adds  c625e21   Remove unused variable and function call
      adds  845bf75   Send a real EventSource event for heartbeat
      adds  7ab7995   Support `fail_if_no_peer_cert` ssl option
      adds  9f15c31   The NIF's location is fixed to priv/
      adds  274efa5   s/max/max_count
      adds  e6303b6   Fix typo introduced during conflict resolution
      adds  f1c4c23   Apply security hooks to all {_users,_replicator} databases
      adds  9e67427   Remove compatibility with < R14
      adds  caf44fb   Build against homebrew ICU on OS X
      adds  6dcd33b   s/twig/couch_log
      adds  a932b9a   Pluggable auth module
      adds  16af74e   Break up admin overlay code for reuse
      adds  c9a3fc1   hash admin passwords on startup when list
      adds  ef3043b   Fix error message
      adds  c10fe5e   Add Experimental Content-Security-Policy-Support (CSP) for Fauxton
      adds  8675de9   Fix inadvertent reintroduction of couch_config calls
      adds  c68dc65   Restore uniqueness of timestamps
      adds  9d90ee9   Don't upgrade admin hashes into the _users database
      adds  e696e43   Follow symlinks for space check
      adds  4115767   Reset to default if max_dbs_open is deleted
      adds  c26bbb6   Ignore all casts, not just foo
      adds  4fad7f6   Add couch_event dependency
      adds  9461535   Send 400 bad request rather than 500 for invalid base64 in auth header
      adds  8fd366f   Export parse_copy_destination_header/1
      adds  f007271   Update all view/search index shards on ddoc update
      adds  71df916   Switch notifications to the new couch_event app
      adds  cbea3b6   Update couch_auth_cache to use new couch_event app
      adds  195c907   Update couch_changes to use new couch_event app
      adds  9224b3e   Remove old couch_db_update_notifier code
      adds  c42e948   Add uuid and epochs to couchdb database header
      adds  61a716d   Remove ets table scan on process exit
      adds  7c5f91b   Add backwards compatible key_group_level option
      adds  ad10aae   Add config for couch_server LRU updates on read
      adds  76e05af   Use a #proc_int record internally instead of #proc
      adds  5dfc523   Allow graceful reloading of OS processes
      adds  5d79093   Fix typo in pattern match
      adds  b3c2e3b   Allow operator to forcibly terminate stale procs
      adds  8b00d41   Improve code_change and #proc{} imports
      adds  a13d1ab   Fix use of lists:sublist/2
      adds  85e10f5   Export btree configured functions
      adds  cf438c1   Remove uuid and epochs from db records
      adds  bd67786   Use a module for access to db_header records
      adds  bc2ee4d   Switch to using the new couch_db_header module
      adds  5f5aa98   Fix match_spec's in couch_proc_manager
      adds  2ddbbc0   Remember to protect field access on old headers
      adds  a792785   Fix typo in auth cache event listener config
      adds  5055264   Fix couch_server handling of downed db updaters
      adds  3b58341   Silence log spam when couch_file closes
      adds  de93456   Fix arity of listen_for_changes calls
      adds  bb499d8   Set update_lru_on_read in couch_server:init/1
      adds  618584b   Verify that DB is in couch_dbs before updating
      adds  a99f396   Add stop clause for couch_btree
      adds  0faeca2   fix code_change in couch_proc_manager
      adds  00ce8a1   Revert "Add references to docs to prevent dups from being collapsed"
      adds  74358fc   Handle duplicate doc updates in single commit
      adds  3483d90   Remove unnecessary btree lookup
      adds  60aa419   Gracefully handle design document updates with malformatted structure
      adds  5776751   Dedupe sequence ownership in epochs
      adds  58381aa   Remember compacted_seq
      adds  e3799af   Improve responses for bad multipart/mime requests
      adds  c903fd2   Avoid infinite loops in remove_dup_epochs
      adds  936e74b   Don't match on response from couch_stats_collector:decrement/1
      adds  e017424   Remove old code_change, set module version to 1
      adds  25e4c7f   Use the new b64url NIF
      adds  8b53ec2   Fix JSON encoding for missing revisions
      adds  12a6b0f   Minor cosmetic change
      adds  e9dc0fb   Fix indentation in couch_db.hrl
      adds  72318e5   Be more specific on the merge result
      adds  b2e24ee   Add couch_doc:is_deleted/1
      adds  39df1d5   Rewrite merge_rev_trees to handle new merge output
      adds  8b22b4c   Update old function specs to be correct
      adds  c628f36   Ignore .rebar
      adds  507e5ac   Move attachment code into couch_att
      adds  3d58af9   Always report why couch_server crashes
      adds  62f41e1   Add doc ID for last merged key tree to proc dict
      adds  156c805   Make rev tree stemming for interactives optional
      adds  b580899   Amend a too-restrictive pattern match
      adds  07731f3   Add couch_db_header:latest/1
      adds  ee67f0e   [WIP] Add an event for each updated design doc
      adds  401f64f   squashme! ignore all parameters in content-type, not just exactly one (grgrgrgrgrgrgrgrrr!!!)
      adds  8f57396   Fix multipart PUTs for document attachments
      adds  83ba077   Silence warnings for dict type
      adds  da2ba9d   Match the old ordering for attachments
      adds  9393328   Garbage collect OS process Pids
      adds  e946655   Use the correct record when updating ddoc_keys.
      adds  ca9d042   Remove old upgrade code.
      adds  7b902b8   Store the language as a binary in ets
      adds  fff5a3e   Remove duplicate couch_replicator processes
      adds  bca1994   Fix attachment revpos values
      adds  5d13340   Update the task if any props change
      adds  7e4c5d9   Remove upgrade code that was re-introduced during the merge
      adds  458b80a   Remove debug logging
      adds  0355465   Fix couch_ejson_compare:less/2 for complex values
      adds  62004cd   Use the new couch_stats application
      adds  7de73cf   Detect clustered dbs based on a missing id_btree
      adds  3cd8285   Use an API for setting the mp_att_writers
      adds  2b99ce8   Merge CouchDB's idea of data_size
      adds  3ab1e24   Move couch stats handler to couch_stats
      adds  ac3f1c2   Verify that remaining monitor is actually the process tracker
      adds  9d0ac7d   Throw a fit if the last monitor of a couch_file is not the tracker
      adds  95b60be   Use ioq to separately prioritise compaction requests
      adds  b0dd546   Revert "Fix match_spec's in couch_proc_manager"
      adds  cb30f6a   don't count sys_dbs in open_databases
      adds  e2d32e4   fix stats paths
      adds  44167a1   Correctly collect stats by status code
      adds  0149bfa   Decrement clients_requesting_changes in a timely fashion
      adds  4534f53   new IOQ api
      adds  7c28c01   add missing stat
      adds  07d0788   Fix stat name
      adds  ec9f47a   Move stats cfg to correct name
      adds  027ef61   Revert "add missing stat" -- Missing for a reason!
      adds  e34699e   Add remaining status code stats
      adds  1705267   Send application/javascript in JSONP responses
      adds  dffe7a2   Port 001-load.t etap test suite to eunit
      adds  d54cb6f   Port 002-icu-driver.t etap test suite to eunit
      adds  11ff5a6   Port 010-file-basics.t and 011-file-headers.t etap test suites to eunit
      adds  b24bf9a   Port 020-btree-basics.t and 021-btree-reductions.t etap suites to eunit
      adds  2b64486   Port 030-doc-from-json.t and 031-doc-to-json.t etap suites to eunit
      adds  ee561d1   Port 040-util.t etap test suite to eunit
      adds  65972b4   Port 041-uuid.t etap test suite to eunit
      adds  c8089c9   Port 042-work-queue.t etap test suite to eunit
      adds  bf8f5fb   Port 043-find-in-binary.t etap test suite to eunit
      adds  aec4b31   Port 050-stream.t etap test suite to eunit
      adds  0bb9e51   Port 06[0-5]-kt-*.t etap test suites to eunit
      adds  afcbdc8   Port 070-couch-db.t etap test suite to eunit
      adds  0bd2d14   Port 072-cleanup.t etap test suite to eunit
      adds  c371033   Port 073-changes.t etap test suite to eunit
      adds  eee1e57   Port 074-doc-update-conflicts.t etap test suite to eunit
      adds  093540b   Port 075-auth-cache.t etap test suite to eunit
      adds  f8f5cd9   Port 076-file-compression.t etap test suite to eunit
      adds  cb7fde8   Port 077-couch-db-fast-db-delete-create.t etap test suite to eunit
      adds  72d547f   Port 090-task-status.t etap test suite to eunit
      adds  6b890cd   Port 100-ref-counter.t etap test suite to eunit
      adds  8c50619   Port 120-stats-collect.t etap test suite to eunit
      adds  c764132   Port 121-stats-aggregates.t etap test suite to eunit
      adds  05e9d6a   Port 130-attachments-md5.t etap test suite to eunit
      adds  b42477a   Port 140-attachments-comp.t etap test suite to eunit
      adds  b06bee7   Port 150-invalid-view-seq.t etap test suite to eunit
      adds  9fdce63   Port 160-vhosts.t etap test suite to eunit
      adds  18e906e   Port 170-os-daemons.t etap test suite to eunit
      adds  e7e7ae6   Port 171-os-daemons-config.t etap test suite to eunit
      adds  3fd8267   Port 172-os-daemons-errors.t etap test suite to eunit
      adds  0fa2b2d   Port 180-http-proxy.t etap test suite to eunit
      adds  0f058da   Port 190-json-stream-parse.t etap test suite to eunit
      adds  384500a   Port 200-view-group-no-db-leaks.t etap test suite to eunit
      adds  8c43113   Port 201-view-group-shutdown.t etap test suite to eunit
      adds  e9b6ab9   Port 210-os-proc-pool.t etap test suite to eunit
      adds  02d1ff2   Port 220-compaction-daemon.t etap test suite to eunit
      adds  585a5a8   Port 230-pbkfd2.t etap test suite to eunit
      adds  0510d40   Port 231-cors.t etap test suite to eunit
      adds  97f5ca5   Port 232-csp.t etap test suite to eunit
      adds  a2a56db   Port 250-upgrade-legacy-view-files.t etap test suite to eunit
      adds  0ce84d8   Move files out of test/couchdb into top level test/ folder
      adds  b3e564e   Update include paths
      adds  1ca8b68   Switch to using test_util:{start,stop}_couch
      adds  43c9186   Add .eunit to .gitignore
      adds  c5e5abe   Switch to using config instead of couch_config
      adds  712fb44   Delete tests for the no longer present couch_ref_counter.erl
      adds  ff4ff56   Config set requires a value as a list, not a binary
      adds  90c8969   WIP: Add test_util
      adds  458dc3b   WIP: Switch to using test_util:start_config
      adds  32ba7c2   Add couch_eunit.hrl
      adds  80ecfd8   Remove couch_ref_counter from couch module tests
      adds  0adc31a   Rename couch_server_sup to couch_sup in couch module tests
      adds  149cd82   Use mochiweb_http:stop instead of gen_server:cast(.., stop)
      adds  978c1bc   Disable problematic tests
      adds  fecd4fc   Remove module tests for deleted or moved modules
      adds  a203926   WIP: disable some additional broken tests
      adds  2b2f129   Update ini include paths
      adds  55e98c4   Temporarily add ?assertNotMatch eunit macro for R14*
      adds  28a7f57   Fix export declarations
      adds  db58e79   Fix bugs with couch_proc_manager limits
      adds  735c4f2   Really fix MatchSpec for get_stale_proc_count
      adds  e497634   Persist update task properties into process dictionary
      adds  9ffeeaf   Restore ability to suppress httpd log
      adds  a7dc712   Export num_mp_writers/1
      adds  d28af18   Use couch_log instead of ?LOG_*
      adds  25b820e   Remove ?LOG_{DEBUG,INFO,WARN,ERROR} macros
      adds  d2a5c03   Only update config files when they differ
      adds  09a2066   Allow iolists in write_streamed_attachment
      adds  46cb6a4   build on *BSD
      adds  ed36032   Respond with HTTP 400 Bad Request on invalid revision number
      adds  c6c3c1e   Move query server related stats from couch to couch_mrview
      adds  40c5c85   Remove couch_query_servers:map_docs/2
      adds  f02a101   Make couch_stream monitor the stream opener
      adds  9ee298f   Fix header for documents with newlines in the name
      adds  011975a   Implement two factor authentication
      adds  fcb2882   extract couch_httpd changes API in its own module
      adds  7f2af21   add supports of view changes in the _changes API
      adds  071dedf   couch_httpd_changes: check removed keys from the view filter
      adds  6d6b801   Add preliminary version of view changes
      adds  20e585d   Add view filtering optimization to changes feeds
      adds  434b541   Add rev to view changes respose. See couch_mrview for corresponding changes
      adds  8d5c900   Open view in changes start function rather than outside
      adds  20cd47e   Make include_docs=true work for view changes
      adds  da2836b   Refactor code for sanity and so the view changes handler can reuse code better
      adds  6e7f19c   Add comment and do minor refactoring
      adds  6125862   Change return format of _view_changes
      adds  bfbf8eb   TOTP secrets are stored in Base32
      adds  0c0b438   TOTP: left-pad with 0's as needed
      adds  3e32256   Count the number of rejections by validate_doc_update functions
      adds  be6ddf2   Track the time spent executing validate_doc_update functions
      adds  cb52507   Add missing metrics
      adds  741a82d   Fix default CSP setting for Ace Editor
      adds  2a45cb0   Expose and add helper for tests
      adds  3e8286d   Refactor couch_httpd_auth's AuthModule construct
      adds  0bb4cb5   Export session utility functions
      adds  a4dbd64   Merge branch '2491-refactor-couch-httpd-auth'
      adds  f6a34da   Return username on POST to /_session
      adds  a970267   Fix applications order
      adds  bcbdc36   Add missing stat metric (http_status_codes 206)
      adds  655a6d0   Change semantic of test_util:start_couch
      adds  74eefe9   Merge remote-tracking branch 'iilyak/2540-Fix-broken-tests-for-couch_replicator'
      adds  b7e4a44   Modify init_delete_dir to be async
      adds  6e45e7b   Merge remote-tracking branch 'iilyak/2524-cleanup-delete-on-init'
      adds  f9d0785   Add a configurable timeout for get_proc calls
      adds  8e473e1   Define ADMIN_USER and ADMIN_CTX macros
      adds  a0ad489   Use namespace argument to select correct tree for the enum_docs request
      adds  f253bb5   Allow chaining of filter functions before we traverse the tree
      adds  9ea89a4   Implement namespaced enum_docs (needed for _design_docs)
      adds  ad867d4   Merge remote-tracking branch 'iilyak/1145-_local_docs-handler'
      adds  eee3044   Update config_listener behaviuor
      adds  f21e78e   config:get/3 is more strict now
      adds  817e4d7   Don't restart event handler when terminating
      adds  aa36a18   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  952a41c   Consume JSON body even when its content is ignored
      adds  d0e8d14   Fix nodes_db config option name
      adds  635ecae   s/nodes_db/node_db/ - singular form
      adds  bd68068   Add underscore prefix for dbs, nodes and cassim database names
      adds  7950604   Rename _cassim database to _metadata
      adds  b6b887d   Move list of system databases to the macro
      adds  b24a632   Rename "shard_db" option to "shards_db" and "node_db" one to "nodes_db"
      adds  04fb140   Merge remote-tracking branch 'kxepal/rename-system-databases'
      adds  ef96fd9   Add couch_util:validate_callback_exists
      adds  71a6a99   Merge remote-tracking branch 'iilyak/2585-allowed_owner-hook'
      adds  880099f   Fix compilation warnings
      adds  b6d8665   add license
      adds  b510c21   Return context from test_util:start_couch
      adds  9af979f   Return started from test_util:start_applications
      adds  4529e12   Remove test_util:request
      adds  cacca04   Implement test_util:stop_sync
      adds  f66255f   Use test_util:stop_sync in test_util:stop_config
      adds  fa159b1   Implement test_util:stop_sync_throw
      adds  cd6aed0   Use test_util:stop_sync_throw in test suite
      adds  bc1963f   Use shutdown reason instead of normal for exit/2
      adds  a60b88f   Implement with_process_restart and wait_process
      adds  93d48aa   Use test_util:with_process_restart in test suite
      adds  f568893   Use test_util:stop_config in test suite
      adds  b5d8e09   Replace s/ejson:/jiffy:/g
      adds  74f539a   Implement test_util:stop_applications/1
      adds  9e76a39   Add test_util:start/stop for minimal setup
      adds  72c313d   Use test_util:start in couch_file_tests
      adds  a78267b   Return #test_context{} from test_util:start_couch
      adds  061c530   Use test_util:start in test suite
      adds  7d49860   Remove obsolete modules_loaded_tests
      adds  70049c4   Handle couch_auth_terminate gracefully
      adds  72981ec   Enable test suite for couch_auth_cache
      adds  5331056   Add test should_close_old_db_on_auth_db_change
      adds  b59b529   Enable couch_doc_json_tests
      adds  9985c2c   Enable couch_key_tree_tests
      adds  c2d3d45   Enable couch_uuid_tests
      adds  5e95b1a   Enable couchdb_attachments_tests
      adds  0d5acb1   Add test_util:wait function
      adds  c51247d   Enable couchdb_file_compression_tests
      adds  0b3e896   Define metric [couchdb, httpd_status_codes, 406]
      adds  d4d726c   Enable couchdb_compaction_daemon test suite
      adds  9589b63   Enable couchdb_os_daemons_tests
      adds  b59a4b2   Enable couchdb_http_proxy_tests
      adds  80f8330   Assign waiter on return_proc in couch_proc_manager
      adds  47ccf6e   Enable couchdb_os_proc_pool test suite
      adds  7cc94fa   Enable couchdb_vhosts_tests
      adds  51eec4a   Rename function arguments for clarity.
      adds  3776aa3   Fix bulk_delete_create
      adds  65c88d2   Enable couchdb_update_conflicts_tests
      adds  ca6607a   Fix couch_sup:handle_config_change
      adds  2f51245   Enable couch_changes_tests
      adds  d48664f   Enable couchdb_views_tests
      adds  d8d1a3c   Make sure we load all applications with stats defs
      adds  b41d8ba   Simplify ABS_PATH macro
      adds  c448b14   Comment out test case for disabled functionality
      adds  7d7e039   Use ?assertNot instead of ?_assertNot
      adds  17937d5   Improve couch_compaction_daemon test performance
      adds  15db2b4   Disable some tests
      adds  17fa585   Fix race in couch_work_queue_test
      adds  7776921   Merge remote-tracking branch 'iilyak/2547-fix-broken-tests'
      adds  2f615da   Temporarily add ?assertNotEqual eunit macro for R14*
      adds  43f1cfe   Count HTTP 417 and 501 responses
      adds  42c9047   Make global_changes database system one
      adds  d4ae1a4   add couch_util:with_proc/4
      adds  fc1899b   Fix error handling in couch_util:with_proc
      adds  6ddb2ab   Add CORS test case for couch_mrview_show
      adds  44fe5b6   Merge remote-tracking branch 'iilyak/2656-use-chttpd-functions'
      adds  35bb5dd   Week of day for past expiration date 1990-01-01 is Monday
      adds  f7b9dae   Fix broken test suite for COUCHDB-2656
      adds  65ed085   Add test suite for global_changes
      adds  5693382   use existing salt during sha1->pbkdf2 upgrade to avoid conflicts
      adds  1d28fd3   Revert "use existing salt during sha1->pbkdf2 upgrade to avoid conflicts"
      adds  227bd06   Fix global_changes tests
      adds  d95005d   add _changes?feed=live sugar for continuous
      adds  bd00fa9   Fixing a build for Mac OS 10.10 - missing mozjs185.
      adds  670bafc   Include lager into list of extra apps when testing
      adds  e5ae39d   Merge remote-tracking branch 'ilya/2688-start-lager-from-test'
      adds  a135eb0   Pass Opts to put/post/delete of test_request
      adds  aa5d63f   Merge remote-tracking branch 'ilya/2689-pass-options-to-test_request'
      adds  529339b   Allow couch_httpd_cors to be disable by the calling process
      adds  e19b262   perf: http layer - speedup couchdb version lookup
      adds  3d97e77   Replace password_scheme and iterations field
      adds  04312dc   Introduce couch_db:normalize_dbname
      adds  2c19dcd   Configurable password scheme
      adds  6dcbf93   Fix `active_size` format conversion in `get_db_info` function
      adds  c775655   Rename active_size variable for consistency
      adds  c2ef372   Fix pattern matching order in reduce_sizes
      adds  306d2e2   Add a convenience macro for "equal to" test
      adds  331f811   Merge branch '1805-reduce-collation'
      adds  f29e590   erlang R14-18 compatibility
      adds  e858e7d   Throw bad request for empty POST request body when filtering by doc_ids
      adds  dec1c99   Revert "Throw bad request for empty POST request body when filtering by doc_ids"
      adds  bcb7c1a   better error text for check_docids
      adds  b3d1028   Send 400 Bad Request if request body is missing
      adds  b76dcb2   Track open time without using process dictionary
      adds  3a26ea1   Remove compression's optimization
      adds  c76a78b   Support Windows build target
      adds  8b4af21   Merge branch 'windows_support'
      adds  6b38dfa   Optimize couch_ejson_compare NIF
      adds  9f45cf1   Merge remote-tracking branch 'cloudant/2732-optimize-couch-ejson-compare'
      adds  80503e2   Ensure doc groups are sorted before merging them
      adds  c466a64   Merge branch '2735-duplicate-docs'
      adds  0529539   Support Windows compilation for couch_ejson_compare
      adds  fcd24e7   Validate host header
      adds  668ef5e   Merge remote-tracking branch 'cloudant/2752-validate-host'
      adds  c70c966   Add dynamic http endpoints
      adds  e41205f   Use dynamic handler for `_oauth`
      adds  6c7cd6a   Merge remote-tracking branch 'cloudant/dynamic-handlers'
      adds  a5232be   Don't enable host validation by default
      adds  a150e5d   Merge remote-tracking branch 'cloudant/dont-validate-host-by-default'
      adds  4708e32   Avoid arithmetic in `to_hex` function
      adds  d5a3fc2   Add CSRF protection
      adds  2f14e59   change couch_httpd_csrf section to csrf
      adds  8fc187d   Add option to make CSRF cookie mandatory
      adds  553ab08   CSRF is not necessary for read operations
      adds  760832d   Don't guess authentication handler name
      adds  1c4f6ee   Update `#chttpd{}` record
      adds  0cf35ce   Add couch_db_plugin:validate_dbname/2
      adds  1edf06c   Add couch_db_plugin:before_doc_update/2
      adds  4f6db4a   Add couch_db_plugin:after_doc_read/2
      adds  f28bd7c   Add couch_db_plugin:validate_docid/1
      adds  b40e2ce   Add couch_db_plugin:check_is_admin/1
      adds  ee798c6   Export couch_db:is_admin/1
      adds  3d105ec   Return `{error, {illegal_database_name, Name}}`
      adds  39293d8   Make sure we start `setup` app in test
      adds  2b49575   Don't do pointless conversion of dbname into list
      adds  b387a0b   Tests for 'authentication_handlers' and 'authenticated' on '_session'
      adds  311ba94   Add couch_db_plugin:on_delete/2
      adds  2ae3133   Implement rename_on_delete
      adds  078f7a8   Make _session endpoint accept username in addition to name
      adds  27f3656   Merge remote-tracking branch 'cloudant/47059_session_accept_username'
      adds  bda4957   Align csrf cookie refresh with authsession cookie refresh
      adds  f02f5f9   Log when password is wrong but user is valid
      adds  4c8f4bb   Remove duplicate `couch_epi` from
      adds  9578fac   Bind both to IPv4 and IPv6 with special "any" value
      adds  6137c66   No, etap, we don't need in your services anymore
      adds  f6b69a9   Fix crashing filtered _changes request
      adds  0fdc50b   Capture histogram data for _bulk_requests
      adds  3c217a0   Remove `ignore_providers` option
      adds  4d5dd10   Register service
      adds  c7708e9   check POST requests for valid json header
      adds  a431e65   Merge remote-tracking branch 'cloudant/2775-post-valid-json-header'
      adds  d1dd5d6   Restrict CSRF check to specific mime types
      adds  9d4b0fe   Convert compilation error to 400 Bad Request
      adds  9aff2f6   Add libcurl support for Windows
      adds  8c4e947   Remove new CSRF mechanism
      adds  ba33257   Remove new CSRF mechanism
      adds  b8b9968   Merge remote-tracking branch 'cloudant/remove-csrf'
      adds  c63796e   Fix duplicated Content-Type for show/update functions
      adds  cb58087   Use lists:ukeymerge to simplify header deduplication
      adds  8bbfba7   Use illegal_docid error for really bad document ids
      adds  9afa6a0   Fix crypto deprecations
      adds  2ee5e28   Fix couchdb_os_daemons tests dependency.
      adds  100bb30   Ensure clean teardown in os_daemons_test
      adds  7477e58   Turn couch_doc_json_tests into unit tests
      adds  269faca   Fix tests for 8bbfba7 commit
      adds  e7e5cc8   Fix OS Daemons test dependency.
      adds  f1bb186   Fix task status unit test dependency
      adds  4aac44d   Add license header
      adds  1279da6   Fix chttpd port usage
      adds  2594c7f   Integrate with Travis CI
      adds  e1d1eeb   Inherit io_priority from the process creating the stream
      adds  d405523   Merge remote-tracking branch 'cloudant/25815-couch-stream-io-priority'
      adds  9ffa160   Properly escape Location: HTTP header
      adds  2ea0422   Remove round for create/delete database for 1000 times
      adds  0430a7f   Fix "initialization from incompatible pointer type" warning for icu drv
      adds  a27ce33   Update to new couch_epi API
      adds  b00635c   Pass supervisor's children to couch_epi
      adds  4ca9e41   Merge remote-tracking branch 'cloudant/simplify_couch_epi'
      adds  0f81930   Export couch_server:delete_file for reuse
      adds  c0260d2   Remove assertNotMatch macro
      adds  6682a22   Fix status match for document create/update
      adds  33bc060   Throw if parse_revs is not a list
      adds  8924e94   Handle view server crashing during test compile of view functions.
      adds  75cfed0   Fix dialyzer crash
      adds  23e5f92   Add revs limit for docs passed to filter functions
      adds  62994cc   Add specs to document validate_doc_update/5
      adds  c0822a7   Whitespace and housekeeping
      adds  eb60e41   Merge branch 'add-filter-revs-limit'
      adds  c0bf9d6   Increase EUnit test stability
      adds  1aec9a4   Stabilize couch_task_status_tests:run_multiple_tasks/0 test.
      adds  b43fcef   Use couch_log for startup notifications
      adds  b6961c5   Add test case for doc_from_multi_part_stream
      adds  f265acf   Move doc_from_multi_part_stream into httpd_multipart
      adds  51f3aa5   Extract parse_multipart_stream from doc_from_multi_part_stream
      adds  f8e7d61   Move simplified version of doc_from_multi_part_stream back to couch_doc
      adds  4abf06e   Add test case for doc_to_multi_part_stream
      adds  dbf8b98   Extract encode_multipart_stream function out of doc_to_multi_part_stream
      adds  8ef360f   Move fetching of atts from atts_to_mp into doc_to_multipart_stream
      adds  f99d3ba   Do not calculate AttFun for every att since we use same function for all atts in the doc
      adds  13d8e42   Remove unnecessary branching
      adds  3d6c147   Move encode_multipart_stream from couch_doc into couch_httpd_multipart
      adds  88d814a   Rename parse_multipart_stream into decode_multipart_stream for consistency with encode_multipart_stream
      adds  5618ad9   Rename abort_multi_part_stream into abort_multipart_stream for consistency
      adds  0a2e312   Extract decode_attributes frunction from doc_to_multi_part_stream
      adds  ad99a53   Add doc:len_doc_to_multi_part_stream test
      adds  81263e8   Filter out stub attachments before calculating multipart_stream length
      adds  4fead90   Length of an att should be passed as int into httpd_multipart:encode_multipart_stream
      adds  0790202   Use decode_attributes in len_doc_to_multi_part_stream
      adds  b6cccd9   Fix indentation
      adds  042c878   Extract and move multipart specific part of doc:len_doc_to_multi_part_stream into httpd_multipart:length_multipart_stream/3
      adds  8f4311d   Add deprecation warning for couch_doc:num_mp_writers/1
      adds  3337a30   Change order of the functions to improve readability
      adds  6abdebe   Merge remote-tracking branch 'github/pr/19' into multipart
      adds  212498a   Add license header
      adds  92598cd   Fix warnings
      adds  b5e7e54   Add IS_OLD_RECORD macro
      adds  de590cc   Fix couch_httpd_multipart exports
      adds  f55205d   Remove deprecated functions
      adds  c3971a0   Stabilize os daemons test
      adds  79b5243   Merge remote-tracking branch 'github/pr/123'
      adds  acfd7cb   Fix race condition in workqueue test.
      adds  853177c   Run tests with only the couch_db_plugin_test couch_epi plugin
      adds  a5aa4e1   Improve checks for db admin/member
      adds  5e81713   Explicitly authorize test requests
      adds  c7ecd2b   Create and delete test db using HTTP API
      adds  5df9515   Ensure _global_changes exists
      adds  bc071d7   Simplify, and remove unnecessary code
      adds  c38ab6b   Merge remote-tracking branch 'github/pr/129'
      adds  3a519b2   Always send application/json response type
      adds  f7ccb9b   Find curl.h on FreeBSD
      adds  7abff50   Fix syntax
      adds  57ecc04   Expose couch_js_functions to other apps
      adds  f33f9fa   Rewrite via query server
      adds  010704a   Remove lager and goldrush from default list of apps started by test_util:start_couch/2
      adds  fabc25f   Use ddoc_cache and new fetch rpc format
      adds  0aae568   Merge branch '2938-use-ddoc-cache-in-filtered-changes'
      adds  1189680   Send a real EventSource event for heartbeat
      adds  f3b7f5a   Merge remote-tracking branch 'github/pr/137'
      adds  08e2a04   Add couch_debug:opened_files/0
      adds  e928e83   Merge remote-tracking branch 'github/pr/135'
      adds  99d408a   Fix test_util:with_process_restart
      adds  d08ce07   Merge remote-tracking branch 'github/pr/140'
      adds  a51304e   Propagate db delete event to changes callback
      adds  4e6d2d6   Comment out flaky test.
      adds  a0041fb   Merge branch 'github/pr/139'
      adds  333bc1b   fix tarball build
      adds  9383c5c   Send 400 error if 'count' sent to _uuid is not an integer
      adds  7c7b14e   Only use fetch/ddoc_cache for clustered calls
      adds  30348e6   Merge branch '2938-fix-5986-filtered-changes'
      adds  4267b0e   Throw errors from open_ddoc instead of failing on badmatch error.
      adds  f7348cb   Merge remote-tracking branch 'github/pr/146'
      adds  9aa8c65   Remove configurable replicator db name
      adds  f2457f3       Merge remote branch 'github/pr/145'
      adds  fe2b6ae   Remove couch_http_cors in favor of chttpd_cors
      adds  9b69868   Update test suite for CORS
      adds  f58817f   Add send_response_no_cors/4
      adds  7cf698e   Suppress log of a response for clustered interface
      adds  40adf24       Merge remote branch 'github/pr/138'
      adds  6ae90be   Fix test function name
      adds  2a00607   Update db header now throws an database_disk_version_error error
      adds  e3b73c7   Fix test suite name, remove broken tests guard
      adds  ccb1d3c   Increase timeout value to tolerate slow CI hosts
      adds  2643866   Remove couch_stats_tests
      adds  9d28c57   Merge remote-tracking branch 'github/pr/130'
      adds  4f80b40   Use helper functions for headers generation
      adds  1cb955a   Extract handle_response function
      adds  44773a2   Introduce chttpd_plugin:before_response/4 EPI hook
      adds  9228302   Add chttpd_plugin:before_serve_file/5 EPI hook
      adds  3be6796   Pass unencoded JsonObj to before_request
      adds  171b751   Merge remote branch 'github/pr/150'
      adds  07ba2c0   Extent fetch ddoc logic for view filtered changes feeds
      adds  bc8f186   Fix incorrect use of eunit fixtures
      adds  ad1f8bd   Merge remote branch 'github/pr/151'
      adds  74caa6c   Fix time:sleep -> timer:sleep typo
      adds  85d5406   Merge remote branch 'github/pr/152'
      adds  b4295bf   Fix log_response
      adds  2a7387c   Use couch_tests applications for couch_db_plugin_tests
      adds  0a45b3f   Use couch_tests:setup/1
      adds  5fa9098   Merge remote branch 'github/pr/154'
      adds  fc9acc2   Explicity use the {minor_version, 1} option with term_to_binary when calculating the revision id. This uses the 64-bit IEEE format for floats, making the binary representation consistent between OTP versions before and after 17.0. This also makes it easier for third parties to replicate the md5 portion of the revision id calculation.
      adds  c256ef5   Add capability for compaction on local update
      adds  910770d   Fix normalize_dbname to work with slashes
      adds  05b40a8   Merge remote branch 'github/pr/158'
      adds  79c98d8   Revert "Merge remote branch 'github/pr/158'"
      adds  bf9cd2b   Create md5 etag for _local docs
      adds  e63f686   Implement Mango selectors for change feeds
      adds  04b8c64   headers specified in a JS rewrite can come back as binaries.
      adds  c4624d9   When reading attachments, avoid closing connections too early
      adds  56e5cba   Merge remote-tracking branch 'cloudant/couchdb-2834'
      adds  916b0ce   Change normalize_dbname semantic add dbname_suffix
      adds  b49d069   Merge remote branch 'github/pr/160'
      adds  0cd210a   Use ioq to separately prioritise prompt requests
      adds  b1127cd   Merge remote branch 'cloudant:3001-use-ioq-for-prompt'
      adds  e142672   Undo our character advancement when we fixup
      adds  636d30a   Merge remote branch 'cloudant:1425-fix-character-advancement'
      adds  bc3ecda   Make couch_server:delete_file response to match couch_file:delete
      adds  f8432a1   Move all functions related to file deletion in `couch_file` module
      adds  cc30705   Explicitly update mtime of the renamed files
      adds  5be6958   Rename option `rename_on_delete` to `enable_database_recovery`
      adds  9e0cb35   Add `delete_after_rename` config parameter
      adds  f406dc6   Extend `enable_database_recovery` behaviour to views directories
      adds  a2347fb   Allow to specify context of file deletion
      adds  78f575e   Merge remote branch 'github/pr/161'
      adds  21b2847   Add tests for couch_compress module
      adds  925c1de   Raise an exception on corrupt binary decompression
      adds  aef448d   Merge remote branch 'github/pr/169'
      adds  db78f68   Allow customisation of default security object
      adds  41c4804   Add admin_local - halfway between the two schemes
      adds  09a370a   Export couch_key_tree:merge/2
      adds  7a2b6d5   Merge remote-tracking branch 'cloudant/2863-export-couch-key-tree-merge-2'
      adds  6360857   Fix couch_key_tree:get_key_leafs/2
      adds  49774f2   Merge remote-tracking branch 'cloudant/2863-fix-couch-key-tree-get-key-leafs-2'
      adds  89990e1   Raise exception on attempt of reading beyound end of file
      adds  8ea500e   Implement config parameter max_pread_size
      adds  824af52   Add stats counters for exceed_eof and exceed_limit
      adds  23f1880   Merge remote branch 'github/pr/173'
      adds  9c349b9   Support create_if_missing option in couch_db:open
      adds  514a447   Merge remote branch 'cloudant:create_db_if_missing'
      adds  4231163   Set default_security for oauth tests to everyone
      adds  be1dedb   Merge remote branch 'github/pr/175'
      adds  628a0f4   get_user_creds can receive nil as first arg
      adds  b65bf01   couch_file:process_info can return `undefined`
      adds  4214c4f   gen_server: handle_call suppose to return `{reply, Res, State}`
      adds  aa24609   couch_proc_manager:remove_proc expects #proc_int{} record
      adds  5f9cf9f   Merge remote branch 'cloudant:fix-some-type-errors'
      adds  2291c63   Add test suite for _list functionality
      adds  2f32166   Merge remote branch 'cloudant:2847-list_when_no_rows'
      adds  411c130   Remove race condition-prone upgrade_on_auth code
      adds  1727985   Dead code elimination
      adds  e9c9bb4   Fix couch_key_tree:merge_extend arg types
      adds  8cab28a   Fix some dialyzer warnings
      adds  87c4afc   Remove dead code
      adds  1bcf525   Merge remote branch 'cloudant:fix_some_specs'
      adds  884d547   Add the tests for _view filtered changes
      adds  31ab718   Add fast_view filter to changes clustered access
      adds  5a009b1   Merge remote branch 'cloudant:64790-fix-changes-view-filter-for-clustered-access'
      adds  e450420   Monitor changes consumer in the tests
      adds  3a09df6   Fix typo in a test label
      adds  01cbf20   Merge remote branch 'cloudant:changes-tests-refactoring'
      adds  ba29715   Remove maybe_upgrade_password_hash
      adds  ad97a06   Merge remote branch 'cloudant:remove_upgrade_password_hash'
      adds  367f4b6   Add sleep as a test suite function
      adds  fc4e64d   Merge branch '3057-add-couch-js-sleep-test-suite-helper'
      adds  0c012f8   Skip couchdb_os_daemons_tests on Windows
      adds  0330583   Merge branch '3040-skip-os-daemon-tests' of
      adds  8c6de9f   remove unneded include
      adds  b0d21d2   Fix Windows-specific definition
      adds  4476595   test: use global test timeout macro, should fix test on slow ci vms
      adds  11c2565   Use couch_epi:decide for validate_dbname
      adds  7d2e1a7   Name test cases
      adds  ac3dae3   Merge remote branch 'cloudant:70457-use-couch_epi-decide'
      adds  a128c2c   Start couch_log for tests
      adds  4e7b626   Don't set "authenticated" if party_mode_handler sets user context
      adds  1df597f   update tests for COUCHDB-3084
      adds  6b1796f   Factor out maybe_remove_extension/1 function
      adds  93c2c62   Fix the case when DbName contains path to db file
      adds  7ee0b81   Merge remote branch 'cloudant:3080-fix-validate_dbname'
      adds  f0b8451   Simplify proc manager assignment logic
      adds  b4c0579   Add tests for process pool
      adds  8bd756e   Merge remote branch 'cloudant:66640-simplify-proc_manager'
      adds  608942f   Update handle_config_terminate API
      adds  a701c4b   Use `define` to avoid repeating yourself
      adds  b8b4982   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  f122f94   feat: allow couchspawnkillable to live in directories with spaces
      adds  3c09011   Fix validation for ddoc name
      adds  72869b8   Merge remote branch 'cloudant:3114-fix-docid-validation'
      adds  092dec8   option to disable runtime code evaluation
      adds  100241c   Fix unused variables warning
      adds  ac7435c   Disable should_process_waiting_queue_as_fifo test
      adds  3fed686   Merge branch '3140-disable-queue-as-fifo-test' of
      adds  c613dab   Get couch version from environment not git
      adds  7d0cfb5   get version from environment in cross-platform way
      adds  70b61f0   Fix Windows version string determination
      adds  a468b0d   Merge branch 'fix-windows-version' of
      adds  22af8a8   Partial revert Fix Windows version string determ.."
      adds  888c8f6   Revert "get version from environment in cross-platform way"
      adds  0883e3f   Revert "Get couch version from environment not git"
      adds  30cc961   Remove rebar.config
      adds  7c5615a   Define COUCHDB_VERSION macro
      adds  2ad85bc   Merge remote branch 'cloudant:define_couch_version'
      adds  f72e607   Make sure clustered authentication_db is sys_db
      adds  f129308   Merge remote branch 'cloudant:74046-authentication_db-should-be-sysdb'
      adds  37d3778   Fix CouchJS character replacement
      adds  2a66f41   Merge branch '3173-fix-couchjs-character-replacement'
      adds  d5fbb6d   Use vectored reads to search for buried headers
      adds  6997c3c   Merge remote-tracking branch 'cloudant/3061-adaptive-header-search'
      adds  570376b   Adding test suite for trancated _update
      adds  7dca415   Merge remote branch 'cloudant:69425-handle-truncated-req-in-recv_body'
      adds  be236b9   update typespec of find_newest_header
      adds  01c2b5c   Merge remote branch 'cloudant:fix-find_newest_header-type-spec'
      adds  334618e   Replace `stale` with `update` in compression tests
      adds  fc082b4   Merge remote-tracking branch 'banjiewen/stale-stable-update'
      adds  7dec013   Add max_document_size checking for multipart PUT requests
      adds  bfed196   Merge branch 'couchdb-3174'
      adds  6b40de3   Fix module name in couch_httpd:check_max_request_length/1 call
      adds  fb12795   whitespace change to trigger github mirror sync
      adds  8553050   Add couch_debug:opened_files_by_regexp/1
      adds  3888faf   Add couch_debug:opened_files_contains/1
      adds  189af37   Merge remote branch 'cloudant:add-couch_debug-opened_files_by_regexp'
      adds  9c98070   Include file_path on errors from couch_file
      adds  bd64fa1   Merge remote branch 'cloudant:log_filepath_on_errors'
      adds  b4cd670   Add optional `fields` to change feed selectors
      adds  8ea01dd   Truncate revs returned from couch_db:open_doc_revs
      adds  7dbc670   Merge remote branch 'cloudant:75431-truncate-revs-to-revs_limit'
      adds  5763fd7   Allow fixing users' documents
      adds  8f53c1f   Merge remote branch 'cloudant:78142-allow-user-to-correct-invalid-user-docs'
      adds  2f26dd2   Add test suite for handling errors from fabric
      adds  ac69856   Merge remote branch 'cloudant:71810-handle-errors-terms-from-fabric'
      adds  54890e1   Handle open_result message that arrives after the delete
      adds  1659fda   Make couchjs -S option take effect
      adds  e8a97f5   Remove use of filename:rootname/1
      adds  b83f1a7   Merge branch '3251-remove-filename-rootname'
      adds  8adf7d9   Prevent consumer from hiding error messages
      adds  3eeda46   Reduce duplicated code, rename vars consistently
      adds  87b01e8   Add tests for filter by filter function
      adds  1df631a   Merge remote branch 'cloudant:add-filter-changes-test'
      adds  58382d4   Make revision generation deterministic
      adds  b8a06c3   Merge branch 'COUCHDB-3255-fix-new-revid'
      adds  bbc32e1   Don't trap exits in couch_file
      adds  2994cde   Fix couchdb_views tests
      adds  eaff862   Merge remote branch 'cloudant:fix-views_tests'
      adds  5d79304   Validate that count in /_uuids is positive
      adds  8fd7d52   Return "Bad Request" when count in /_uuids exceeds max
      adds  3188736   Merge remote branch 'cloudant:validate-count-in-uuids'
      adds  604edd1   Reset EOF if a partial write was possible
      adds  6412412   Don't crash on unexpected validation's error type
      adds  e285b34   Merge remote branch 'cloudant:82197-fix-validation_func-case_clause'
      adds  d52a533   Remove 8kB read-ahead from couch_file
      adds  c73a883   Merge branch 'couchdb-3284'
      adds  bf12a7a   Remove dead code from couch_file
      adds  bbbd532   Merge branch 'couchdb-3284-remove-dead-code'
      adds  9c68ae3   Add test_request:delete/3
      adds  9e4a5cd   refactor to use greater arity functions
      adds  159970b   Merge remote branch 'cloudant:add-test_requet_delete_3'
      adds  2a263f8   Allow limiting length of document ID
      adds  66292db   Merge branch 'couchdb-3293'
      adds  8fc85c8   Add sys db callbacks only once per db open
      adds  38d5180   Merge remote branch 'cloudant:add_sysdb_callback_once_per_db'
      adds  8556adb   Make couch_btree:chunkify/1 prefer fewer chunks
      adds  ff9fb71   Ensure multi-item chunks in couch_btree:chunkify/1
      adds  0080f15   Merge branch 'COUCHDB-3298-improve-couch-btree-chunkify'
      adds  63ef337   Fix `badarith` error in couch_db:get_db_info call
      adds  f706bb8   Efficiently bypass vhost handling if there are none
      adds  f99e30c   Merge remote-tracking branch 'cloudant/3318-bypass-vhosts'
      adds  0420f40   Rename max_document_size to max_http_request_size
      adds  9d8be06   Merge branch '64229-add-new-request-parameter'
      adds  9f9c482   Return error row instead of crashing
      adds  cb3b35a   Merge branch '70794-reduce-sum-errors'
      adds  1f152da   Fix initial accumulator value for builtin_sum_rows
      adds  5685f17   Merge remote branch 'cloudant:70794-fix-initial-acc-for-builtin_sum_rows'
      adds  92c25a9   Add sys_dbs to the LRU
      adds  2d984b5   fix compiler and dialyzer warnings
      adds  7e48bda   Allow limiting maximum document body size
      adds  c50a8cd   Merge branch 'couchdb-2992'
      adds  016e1aa   Implement an ETS-basd couch_lru
      adds  f09e321   Fix compaction daemon tests
      adds  21c8d37   Remove PSE references from compaction test
      adds  e81c54e   Add 'src/couch/' from commit '21c8d37ac6ee1a7fed1de1f54f95a4d3cd9f5248'
      adds  cf2e463   Add .gitignore
      adds  32ba6e7   Initial version
      adds  59bbd8e   Add couch_epi_data
      adds  2530af3   Update documentation
      adds  67612a6   Use code_change to trigger generation of a module
      adds  baa9a35   Rewrite test suite to test new functionality
      adds  bb5d37b   get version from git like other repos
      adds  3d0e6a6   Fix function_clause in childspec
      adds  822f3a2   The race condition between providers is fixed
      adds  fe02b29   Restore R14 compatibility
      adds  a57fc94   Add couch_epi:is_configured
      adds  d7eabf6   Fix test suite
      adds  fa12608   Introduce 'couch_epi:register_service/1'
      adds  7f32e4f   Call maybe_start_keeper for couch_epi_data_source
      adds  36b2be5   Don't use try/catch to handle missing plugins
      adds  1d30ba1   Remove support for ignore_providers option
      adds  aa72f6f   Fix crypto deprecations
      adds  5f3fe7a   Check if Handler module exists before we try to call update
      adds  d6c5081   Refactor couch_epi to simplify it
      adds  6cb1b9c   Update documentation
      adds  01257ff   Add extra guards on couch_epi.erl functions
      adds  66a854b   Support for overwriting of app supervisors' children
      adds  be34447   Use rel/apps/couch_epi.config for configuring EPI
      adds  c359a69   Fix dialyzer warnings
      adds  727cf71   Integrate with Travis CI
      adds  926d3b1   Ensure calling order of plugins during dispatch
      adds  90fdbed   Handle providers in order of definition
      adds  77dfaf4   Merge remote-tracking branch 'github/pr/14'
      adds  86531ee   Add couch_epi:decide/5
      adds  807aa3f   Merge remote-tracking branch 'github/pr/15'
      adds  de32c65   Fix a warning for a variable shadowed in the tests
      adds  6fe3b2a   Don't rely on timer:sleep after update in tests
      adds  5a7f286   Merge remote branch 'github/pr/18'
      adds  f6ad55d   Use erl_scan:line/1 if present
      adds  8f0c826   Update
      adds  60e7f80   Merge remote branch 'DeadZen:patch-1'
      adds  db68661   Add 'src/couch_epi/' from commit '60e7f808513b2611eb412cf641d6e7132dda2a30'
      adds  73b38e8   Initial commit
      adds  cc616a7   Initial implementation
      adds  f4c80d7   Minimize message from monitors
      adds  475af68   Add an API to register for multiple DbNames
      adds  7c728ff   Abandon the gen_server "inheritance" approach
      adds  320cf0c   Add a cast API for couch_event_listener
      adds  a280611   Fix start/start_link return values
      adds  8f63a78   Make sure and exit with the reason given
      adds  bf25e9f   Add an API for the common case
      adds  b00c879   New couch_event:listen/4 API
      adds  7e6c02c   Fix callback module name for couch_event_registry
      adds  2e0f543   Add OS process listeners
      adds  81835ba   Export the listen/4 function
      adds  34aeaee   Fix the behaviour_info callback
      adds  6e4f69e   Fix proplists:lookup/2 check
      adds  b34d533   Avoid use of undocumented functions
      adds  634658d   Support db names specified as a list
      adds  ecd110a   Fix use of proplists:get_value/2
      adds  6d9f614   Fix export definition for start_link/1
      adds  2bd7db0   Minor syntax error
      adds  ed82171   Fix minor syntax errors and typos
      adds  7d5c7e1   Fix use of non-existant APIs
      adds  a8b378b   Add a event count metrics
      adds  2ad40ed   Minor optimizations for couch_event_registry
      adds  1deb3d4   Add dependency on khash
      adds  8e6797a   Use khash for tracking event listeners
      adds  6b82918   Fix callback spec arity
      adds  2bb6b74   Fix compilation warning by sending not_registered
      adds  0547000   Fix typo in the shutdown sequence
      adds  022af54   Kill couch_db_event when it has installed handlers
      adds  de23171   Kill couch_db_event with supervisor functions
      adds  707997e   Rearrange and lengthen the watchdog delay
      adds  fbe7ae6   Implement option to provide a parent to monitor
      adds  ddc0db2   Fix monitoring when no parent is provided.
      adds  b52b9c5   set module version to 1
      adds  06477c2   This dog won't hunt, no sir
      adds  4c1a1c5   fix warning
      adds  71cd331   Update config_listener behaviuor
      adds  1c18cd7   Don't restart event handler on termiation
      adds  6005dc3   Add vsn to implementaitions of config_listener
      adds  ff2fccd   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  835a418   Add LICENSE file
      adds  c1e3435   Update handle_config_terminate API
      adds  7e38213   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  bf084a3   Add 'src/couch_event/' from commit '7e382132219d708239306aa3591740694943d367'
      adds  dc11f92   Paul is an idiot commit 1 of 3.
      adds  e29573b   Add logging for indexer events.
      adds  0099815   Improved _active_tasks API
      adds  b2f2ebe   Use #doc_info{} optimization for _all_docs.
      adds  ca77713   Better lifetime error messages for couch_index.
      adds  2cc4da1   Only restart the updater if it was running.
      adds  3e2d21a   Avoid a race condition for monitored compaction.
      adds  615c951   Keep the databae open for index compaction.
      adds  4bfe22c   Remember to provide a 2-arity wrapper to udpate.
      adds  ee7f65b   Commit the compacted index before returning it.
      adds  a1e6b40   fix typos
      adds  e3a65c2   reflect api changes in couch_api_index. While I'm here, even if the module isn't used give it a proper module declaration.
      adds  cd67817   Shutdown view group on ddoc update
      adds  98abd3b   Fix ets lookup case_clause error after ddoc is updated
      adds  4e0611d   Use the correct utility function to get the index directory path
      adds  26bc97d   COUCHDB-1491 - cleanup view tables
      adds  3ff74b2   Assert that index sig never changes in the lifetime of a couch index process
      adds  d56d3cf   COUCHDB-1444 Fix missing_named_view errors
      adds  43e1946   Revert "COUCHDB-1444 Fix missing_named_view errors"
      adds  c54c5b8   COUCHDB-1444 Fix missing_named_view
      adds  9cd9d34   Close view files cleanly on DB create/delete
      adds  d83c669   Refactor couch source tree
      adds  923be42   Store #full_doc_info{} records in the seq tree
      adds  0173221   Squash to #full_doc_info{} in by_seq tree
      adds  2f60ab9   API for triggering view updates
      adds  ab00ad0   Make couch_view_updater amenable to hot upgrades
      adds  3a10c4f   GC liberally throughout view indexing code path
      adds  5784b11   Ignore unexpected messages to couch_index_server
      adds  55b7abe   Fix views for node-local databases
      adds  7bd5db6   Major change to use the new config app
      adds  fd046ec   Reject design docs with compilation errors
      adds  aeb7911   Build with rebar
      adds  510599f   Remove old notes module
      adds  2c2c95b   Switch to couch_log
      adds  2b6ccb0   Change API to function per level
      adds  9a53bc6   COUCHDB-1667: Revert index_dir to view_index_dir config option.
      adds  6c6ecdb   fixed build
      adds  7a61bc8   Expose get_compactor_pid/1
      adds  ef483cb   Merge remote-tracking branch 'origin/import-master'
      adds  007d37e   Update couch_view to use new couch_event app
      adds  6a12ce1   [WIP] Update couch_index_server to use couch_event
      adds  f99e082   Add an index committed event
      adds  6a5e486   Periodically check if an index should close
      adds  9e638f6   Use ejson_body when opening design documents
      adds  7acb7d3   Use couch_log instead of ?LOG_*
      adds  eb61626   Use fabric for shard #db{} records
      adds  3aa6a19   Update config_listener behaviuor
      adds  b14a73d   Don't restart event handler on termination
      adds  762a236   Add vsn to modules implementing config_listener
      adds  0c5f25b   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  0905e9c   Return pending_updates field from couch_index:get_info/1
      adds  e15bed8   Merge remote-tracking branch 'iilyak/2526-pending-updates-info'
      adds  13fed1e   Allow get_index to receive DDoc as a doc record
      adds  cc7850c   Allow couch_index to open restricted design docs
      adds  d267eab   Add couch_index_plugin:index_update/4
      adds  86a6cd4   Support transformer functions as args
      adds  b47ce94   Add LICENSE file
      adds  cccff35   Remove `ignore_providers` option
      adds  d548100   Register service
      adds  6565cb9   Throw validation error in all cases
      adds  20ab254   Update to new couch_epi API
      adds  14f579d   Plug couch_epi using supervisor
      adds  59910ed   Add .gitignore file
      adds  e8c8ca8   Adding couch_index_plugin:before_open/2 EPI hook
      adds  8ec83cf   Add travis config
      adds  b8bfca7   Extract commit_compacted function
      adds  4d4d589   Implement a way to disable recompaction
      adds  2c5cef4   Add test suite for is_recompaction_enabled/2
      adds  aa8e6f9   Merge remote branch 'cloudant:65501-disable-recompaction'
      adds  013be0b   Hold db opened for compact/recompact switch
      adds  e7d2698   Merge remote branch 'cloudant:66522-hold-db-open-for-compact-recompact'
      adds  7d3d34f   Use new reason formatting
      adds  72dfb85   Update handle_config_terminate API
      adds  7b82753   Use `define` to avoid repeating yourself
      adds  ee21d01   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  a4db124   Do not use config subscription in couch_index
      adds  53555fd   Merge remote branch 'cloudant:3135-remove_config_subscribe_from_couch_index'
      adds  f0a6854   Configurable timeout for view group get_info/1
      adds  0166e38   Add 'src/couch_index/' from commit 'f0a6854e578469612937a766632fdcdc52ee9c65'
      adds  b1c0e80   Initial commit
      adds  ed34546   Change API to function per level
      adds  cecac37   get vsn from git
      adds  9fddae0   Use the ASF mirror of lager.
      adds  fc4cb69   Don't use the old lager tag
      adds  88b9718   Fix typo in rebar.config
      adds  ca232e6   Specify a tag for the lager dependency
      adds  a1c9c00   Use the master branch of lager
      adds  ab3943d   Collect stats for log messages
      adds  105ae01   Move dependencies to the top level repository
      adds  1bd5cf5   Revert "Move dependencies to the top level repository"
      adds  35ace62   couch_stats is an optional dependency
      adds  275043e   add license file
      adds  ccbb81c   Add ability to change log level at runtime
      adds  6bb3501   Convert couch_log into behaviour
      adds  4974126   Add stderr logger implementation. Make it to fail-safe.
      adds  f3b894e   Add tests and specs
      adds  fd40b31   Choose backend at build time
      adds  2af3ffa   Recognise rebar templater's list format
      adds  6abf22a   remove unused clause
      adds  7e615ac   fix tests for any backend
      adds  345c206   Isolate couch_log from backend for unit testing
      adds  19e2716   Remove the custom backend, mock it instead
      adds  fb41573   Assert the whole calls history
      adds  a783a0a   Define behavioural callbacks with modern syntax
      adds  4d04ccb   Integrate with Travis CI
      adds  4bac902   Add missed emergency callback
      adds  d060bbb   Format long line
      adds  8981939   Collect stats for alert log messages
      adds  939b3a7   Make couch_log configurable
      adds  e4abbd3   Remove module_loaded check in get_backend
      adds  d2e0a9b   Fix couch_log:is_active_level/1 type spec
      adds  cc55404   Merge remote branch 'cloudant:fix-is_active_level-type-spec'
      adds  b6b766d   Make couch_log smarter
      adds  c572aae   Add a syslog writer
      adds  16a4657   Add test suite for couch_log
      adds  da0e489   Merge branch '3067-improve-couch-log'
      adds  b6eca22   Add support for traces with an argument list
      adds  038586b   Add format character for process exit traces
      adds  dc8418f   Reformat emulator error messages
      adds  849d6f6   Adding more tests
      adds  741d48c   Add more formatting tests
      adds  afe8375   Fix test failure on Windows
      adds  c73efdc   Fix test for new config listener API
      adds  2f70cc8   Really actually fix test for the config listener
      adds  2ef639e   Update handle_config_terminate API
      adds  ad803f6   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  24112cf   Fix dns timeout for undefined syslog host
      adds  194db1a   Merge branch '3340-fix-dns-timeout' of
      adds  3c082c4   Add 'src/couch_log/' from commit '194db1adeafd9d5b434ae22b06aecdcb8635863e'
      adds  fb9a647   Paul is an idiot commit 2 of 3.
      adds  2beb107   Remove mrview specific logging.
      adds  f3ccaa1   Improved _active_tasks API
      adds  81ed68e   Fix bug introduced during the backport of COUCHDB-1229.
      adds  32f3ae0   Use #doc_info{} optimization for _all_docs.
      adds  3d3d2df   Silenced compiler warnings for unused variables.
      adds  907e0fb   Fix _update calls when creating docs.
      adds  c4d8b42   Avoid a race condition for monitored compaction.
      adds  2b91066   Test that view reads can span compaction swaping.
      adds  a26ed9a   Allow mrview reads to continue after compaction.
      adds  a9a3d52   Disable verbose output for mrview tests.
      adds  561c45c   Keep the databae open for index compaction.
      adds  79a3e08   Change internal atom from val to value.
      adds  248b711   fix typos
      adds  743e126   fix COUCHDB-648 - _update handler ignores "code"
      adds  b8da9ed   Allow OPTIONS HTTP method for list requests.
      adds  7f1a4dd   couch_db:get_design_docs/1 -> #full_doc_info{}
      adds  0eddcbb   More efficient communication with the view server
      adds  c94e5fd   Implement "System Database Security"
      adds  cc56d78   Ensure compaction respects compression setting
      adds  2b63c12   Update etap and remove obsolete files
      adds  9256d13   COUCHDB-1483 - Update handlers must produce valid doc ids
      adds  4386d42   Differentiate between keys=undefined and keys=[] in query
      adds  a97a324   COUCHDB-1444 Fix missing_named_view errors
      adds  6f586c0   Revert "COUCHDB-1444 Fix missing_named_view errors"
      adds  311138f   COUCHDB-1444 Fix missing_named_view
      adds  cda6f2f   COUCHDB-1537 Include in show/list ETag
      adds  43590d8   don't delete view groups that fail to open
      adds  cb8d38a   Document Id and Rev in response headers
      adds  e8b4536   Revert "Document Id and Rev in response headers" patch
      adds  1a4c282   Return X-Couch-Id from show functions if doc is created
      adds  808c4c2   COUCHDB-430,514,764 Fix list HTTP header handling.
      adds  8f7e132   Integrate Sphinx into autotools
      adds  fda4ebc   Remove extraneous ETag warning during compilation
      adds  22b5670   Refactor couch source tree
      adds  7b1c9d2   Remove couch_ref_counter and use process monitors
      adds  ac78eb0   Ignore key in doc.views if value is not an Object
      adds  9f91789   API for triggering view updates
      adds  3abc169   Improve batching of writes in view updater
      adds  fce11ee   Collapse dupes in views instead of crashing
      adds  636a0c2   Restore {ok, Docs} from get_design_docs
      adds  e18d3a0   Add total_changes to view compaction status
      adds  7db2aad   Include view id in view compaction status
      adds  dc6650d   Add phase item to view compaction status
      adds  7b6f89c   Major change to use the new config app
      adds  62b621b   Reject design docs with compilation errors
      adds  e6898b3   [squash] update etap tests
      adds  3a093fa   Build with rebar
      adds  cab082b   Do not log errors on creating new view index.
      adds  0e28dfc   COUCHDB-1654: Transparently update view signatures from <= 1.2.x.
      adds  d0262ce   Unfix view compaction progress reports
      adds  3651497   Add a configurable whitelist of public user props
      adds  246048d   Apply _list functions for _all_docs view. COUCHDB-1139
      adds  ad50fe9   COUCHDB-1334 - revert "More efficient communication with the view server"
      adds  a4a72ba   Merge remote-tracking branch 'origin/1334-revert-feature-view-server-pipelining'
      adds  fc01965   add `users_db_public` config var
      adds  f4739cd   Typo - no such function couch_httpd:send_method_not_allowd/2
      adds  f5c829f   admins can always read all doc fields, regardless of public_fields
      adds  e650b43   Extend support for attachment-related query params
      adds  9f59339   Fix whitespace
      adds  deec893   Send better error if user specifies key and keys
      adds  86de6cc   Merge remote-tracking branch 'origin/import-master'
      adds  b658261   Move vacc and lacc records into couch_mrview.hrl for use in chttpd
      adds  23c16c0   Allow couch_mrview_http to be more usable in chttpd
      adds  3688736   Add mutli view query support
      adds  6cb1bd8   Allow couch_mrview_show to be more fully utilized by chttpd_show
      adds  c186e47   Properly parse boolean binary params
      adds  a816272   Merge remote-tracking branch 'origin/1993-bigcouch-couch-mrview'
      adds  fd52589   Fix reference to renamed tree
      adds  01cff34   remove refcounting introduced by new upgrade path
      adds  a5411c0   Fix references to couch_config
      adds  60eb161   Move filtered_view_cb to saner location
      adds  911e5e9   Gracefully handle design document updates with malformatted structure
      adds  a6dfc8c   Expose language and views from #mrst{} records
      adds  d6b5884   Expose access to the file descriptor for monitoring.
      adds  cd338d6   Add an API to see if the index file exists
      adds  ad72dc8   Don't use delayed send when a resp hasn't started
      adds  2c41c9d   Update to use couch_stats
      adds  db88586   Merge data_size calculations for views
      adds  6831348   squash! Add an API to see if the index file exists
      adds  4cc8114   Monitor the newly compacted view file
      adds  33a51cc   Use ioq to separately prioritise compaction requests
      adds  852b7bd   fix stats path
      adds  08cbd5a   new IOQ api
      adds  d43bfb8   Port couch_mrview/01-load.t etap test suite to eunit
      adds  f94401c   Port couch_mrview/02-map-views.t etap test suite to eunit
      adds  ae26f14   Port couch_mrview/03-red-views.t etap test suite to eunit
      adds  d98c180   Port couch_mrview/04-index-info.t etap test suite to eunit
      adds  776605b   Port couch_mrview/05-collation.t etap test suite to eunit
      adds  40e770e   Port couch_mrview/06-all-docs.t etap test suite to eunit
      adds  7644769   Port couch_mrview/07-compact-swap.t etap test suite to eunit
      adds  d6aa414   Move files out of test/couchdb into top level test/ folder
      adds  b4e490f   Update include paths
      adds  7857cf8   Use ?ADMIN macros from couch_eunit.hrl
      adds  1d110e1   Switch to using test_util:{start,stop}_couch
      adds  0320170   Admin user again
      adds  cc9c436   Disable problematic tests
      adds  d548785   Merge remote-tracking branch 'origin/1963-eunit-bigcouch'
      adds  2e46aba   Relax the constraint of having a binary map function
      adds  a319196   Handle <<"update_after">> for stale parameter
      adds  899a2d5   Use couch_log instead of ?LOG_*
      adds  7120686   Move query server related stats from couch to couch_mrview
      adds  69a5957   Rename stats group from `couchjs` to `mrview`
      adds  1a6bd40   Count mapped docs one by one
      adds  44c07c3   add couch_mrview:view_changes_since/{6,7} function
      adds  deb8139   couch_mrview: fix purge when seq_indexed=true
      adds  19be43b   couch_mrview: fix changes log
      adds  8185ca7   couch_mrview: add couch_mrview:count_view_changes_since/{4,5}
      adds  fb341ea   couch_mrview: add view changes test
      adds  9656222   couch_mrview: check removed keys from the index.
      adds  7a65916   couch_mrview: add couch_mrview:refresh/2 function
      adds  18b5f6f   add index update events notifications
      adds  1c24c42   couch_mrview: couch_mrview_changes:handle_changes
      adds  dfe991f   add supports of view changes in the _changes API
      adds  5691328   couch_index: add background indexing facility
      adds  7bba23f   couch_mrview: fix 10-index-changes.t
      adds  a043479   couch_mrview: add API to retrieve view info.
      adds  727ed62   couch_mrview: add HTTP handler to retrieve the infos on a view.
      adds  d955e22   couch_replicator: add replication using changes in a view
      adds  a162355   use ERL_FLAGS instead of a shebang to launch tests
      adds  42ff200   fix case clause
      adds  142a4c3   add /<db>/_design/<ddocname>/_reindex handler
      adds  45da4bc   extract couch_httpd changes API in its own module
      adds  062c1e7   Add preliminary version of view changes
      adds  c8394f9   Make feed=continuous work for view changes
      adds  cc45433   Throw 400 on _view_changes when by-seq indexing is disabled
      adds  24db15f   Add view filtering optimization to changes feeds. Remove unnecessary old stuff.
      adds  b3fef4c   Add rev to view changes respose
      adds  690d878   couch_mrview: fix compaction with seqs_indexed=true
      adds  c0eedd4   Make they key-by-key-and-seq view btree optional independently of the key-by-seq view btree
      adds  c31b078   Change function names to match changes in couchdb-couch
      adds  c0ad453   Clean up update_log function for readability
      adds  df3d28d   Fix removal of keys from view seq index
      adds  487df67   Fix stuff which I broke in a rebase. I'll fix the git history later
      adds  d6771df   Port view changes tests to eunit
      adds  fa7a888   Make view sig backwards compatible
      adds  5eab810   Fix process_doc for temp views
      adds  8d3cdf1   fix broken tests
      adds  b01a0bf   fix first-pass log key addition and seq tree row removal
      adds  2e0be35   make REM_VAL an atom in order to differentiate between possible emitted values and the key-removed placeholder.
      adds  11d4c17   fix removal of duplicate keys from seq tree
      adds  eb05dd7   Fix seqs in mrview updater
      adds  4f92544   remove unnecessary event type
      adds  e928480   Change log macro to couch_log call
      adds  28e51f3   Update expected return of couch_mrview_util:get_view
      adds  439f322   Warnings clean up
      adds  5c10340   Fix typo in metric name
      adds  09272b7   Use ADMIN_CTX macro from couch_db.hrl
      adds  119fced   Add namespace option to all_docs_req
      adds  2212d28   Pass namespace parameter in extra field of #mrargs{}
      adds  e935477   Add couch_mrview_http:handle_local_docs_req
      adds  6caa60f   Add _design_docs handler
      adds  ca9ed2f   Move some logic into is_public_fields_configured function
      adds  0828a39   Make _local_docs accessible by admin only
      adds  9e24985   Forbid access to _local_docs for non-system dbs
      adds  07f0a4e   Fix indentation
      adds  065dc26   Merge remote-tracking branch 'iilyak/1145-_local_docs-handler'
      adds  df5ff56   add license
      adds  f88eda2   Remove handlers for outdated mrview parameters
      adds  1dc8d52   Use chttpd provided functions
      adds  8e8420b   Use the ?assertEquiv macro for better reporting
      adds  2dc7649   Rework to support equivalent-but-not-equal keys
      adds  14f5bba   Add a failing test for reduce key grouping
      adds  ba84fb8   Use proper collation fun for reduce grouping
      adds  19737b7   Merge branch '1805-respect-collation-setting-reduce-group'
      adds  edb2c85   Validate named reduce function against whitelist
      adds  6343efd   Add tests for design document validations
      adds  1c10f21   Merge branch '537-whitelist-builtin-reduce-funs'
      adds  b743459   Protect against div by zero
      adds  4038d9e   Avoid gratuitous list flattening
      adds  083d1a5   Buffer rows to reduce number of chunks
      adds  d725800   Merge branch '2724-chunked-buffering'
      adds  62473c3   Add call to couch_index_plugin:index_update/4
      adds  def55ca   Use closure funs to specify transformer functions
      adds  bda9472   Etag's require quotes
      adds  74e7719   Always throw validation error
      adds  85b8318   Integrate with Travis CI
      adds  95cbd7b   Fix tests
      adds  7691f48   Improve design document validation
      adds  dfa6f7e   fix unused variable warning
      adds  aa51eb4   Fix validation of query design documents
      adds  985b7fe   Fix crypto deprecations
      adds  52cc9c5   Merge remote-tracking branch 'cloudant/2825-crypto-deprecations'
      adds  a25d590   Improve validation of group and group_level view parameters.
      adds  58a0de5   Merge remote-tracking branch 'github/pr/29'
      adds  d7f0093   Fix http eunit test
      adds  71f4fe7   Update .travis
      adds  f089832   Use couch_server:delete_file on view cleanup
      adds  2ec52eb   Check POST requests for valid json header
      adds  1c8a302   Don't set ETag header with value `undefined`
      adds  0334f69   Merge default update response headers with custom ones
      adds  c3bed46   Reduce duplicated code
      adds  946d942   Rewrite ddoc validation routines
      adds  6c9833d   Accept rewrites as string function
      adds  2341c38   Remove duplicated monitor set on index opening
      adds  6ec3597   Refactor to add an interface for view_state of #mrheader
      adds  65b7a3a   Render update_seq if number or binary
      adds  abc94a4   Use ioq to separately prioritise view updates
      adds  3735172   Merge remote branch 'cloudant:3002-use-ioq-for-view_updades'
      adds  3f8230c   Make view updater couch_work_queue configurable
      adds  56b66b4   Merge remote branch 'cloudant:3005-configurable_queue_size'
      adds  7293bfb   Use couch_file:delete/3 in views cleanup
      adds  e36509b   Merge remote branch 'github/pr/44'
      adds  9bafdca   Fix match of a result from couch_mrview_util:get_view
      adds  1a179cb   gen_event: handle_call suppose to return `{ok, Reply, State}`
      adds  d07771a   Merge remote branch 'cloudant:fix-some-type-errors'
      adds  26f5af7   Allow json decode in parse_params to be optional
      adds  8567b43   Merge remote branch 'cloudant:make-decode-in-parse_params-optional'
      adds  f9a58d8   Send empty string from _list if no result
      adds  cfc3549   Merge remote branch 'cloudant:2847-list_when_no_rows'
      adds  3ce2864   Fix sorted=false feature
      adds  157132c   Remove outdated test
      adds  82f7913   Wrap line
      adds  e9e84c5   Reset row_sent at end of query
      adds  0db83c4   Introduce reset_vacc
      adds  e936267   Revert "Reset row_sent at end of query"
      adds  9133f6d   Fix sorted=false for multi-query
      adds  ed52b77   Use canonical case for ETag response header (COUCHDB-3134)
      adds  a0b0392   don't send undefined etag (COUCHDB-3134)
      adds  fdaebcf   Add new function to get the view index pid. Refactored the code to add a new function to return index pid for a given view and design document.
      adds  d279411   Merge remote-tracking branch 'cloudant/COUCHDB-3150-add-new-function-to-get-view-index-pid'
      adds  459a548   Replace `stale` with `stable` and `update`
      adds  d450960   Merge remote-tracking branch 'banjiewen/stale-stable-update'
      adds  1d5c6a5   Retry failures in couch_mrview_compactor:recompact
      adds  0d382f5   Update with couch_index_updater:update/3
      adds  3421463   Implement recompact unit tests
      adds  853c608   Merge remote-tracking branch 'cloudant/3184-retry-recompact-failure'
      adds  f0f7d30   exceeded_recompact_retry_count: add DbName/IdxName
      adds  e875745   Merge remote branch 'cloudant:improve-exceeded_recompact_retry_count-error-message'
      adds  b3b1b12   Add reference to indexer Pid to task status
      adds  f4aaf8d   Merge remote branch 'cloudant:77867-add-indexer-pid-to-task-status'
      adds  b7362d0   Remove side effect from accumulate_more
      adds  5899436   Merge remote branch 'cloudant:make-accumulate_more-pure'
      adds  c49211c   Convert pid of indexer to binary
      adds  15a1ae9   Merge remote branch 'cloudant:77867-convert-pid-to-binary'
      adds  f7f4db2   Refactor mrview_index get
      adds  8b1c137   Re-use get update_options in get(info)
      adds  e1d13a9   Merge remote branch 'cloudant:refactor-mrview-index-get'
      adds  398c30e   Allow limiting maximum document body size
      adds  49533ef   Merge branch 'couchdb-2992'
      adds  56616fa   Fix undef error on empty list function response
      adds  c01d4c0   Add send_list_row test suite
      adds  f897fdc   Merge remote-tracking branch 'cloudant/undef-lacc-list-function'
      adds  3c70ae9   Fix unit tests in couch_mrview_compactor
      adds  5954ef6   Fix unused variables warning
      adds  f08c26a   Merge remote branch 'cloudant:fix-unused-variable-warning'
      adds  f5bcdb2   Add 'src/couch_mrview/' from commit 'f08c26a098a46366cfaf0e14b940af1f11d84577'
      adds  c71c3f9   initial commit
      adds  7c4bc8b   move config around
      adds  6f08d30   add a LICENSE file (MIT)
      adds  3ce128f   add Makefile with `plugin` target
      adds  8522ba6   Merge pull request #1 from janl/master
      adds  91afe7a   fix typo in README
      adds  9ebfe00   Merge branch 'master' of
      adds  89f4dec   encode CouchDB Version in tarball name
      adds  80f230c   Merge pull request #2 from janl/master
      adds  ccc60c8   update README #3
      adds  23e9984   update gitignore
      adds  3859df3   update metadata
      adds  222a83f   fix leak
      adds  de52d3d   include installation instructions
      adds  772786e   Merge pull request #6 from redgeoff/install
      adds  91ed98e   Correct path when making
      adds  6c9a151   Merge pull request #7 from redgeoff/install
      adds  7cf8d93   add erl_crash.dump to gitignore
      adds  16bd1f9   fix #8 security issue, add end-to-end testing script
      adds  8ccf57e   Make it compatible with Apache CouchDB 2.0
      adds  0589d7b   Don't unnecessarily depend on mochiweb
      adds  6c6a10e   Reflect change to Apache License, Version 2.0
      adds  3d4942b   Remove obsolete files
      adds  2fa347c   Remove obsolete installation instructions
      adds  e524b1e   Rename to `couchdb_peruser`
      adds  cf274f0   Use macro for userdb prefix
      adds  70146b4   Remove legacy information from README
      adds  50c153a   Fix `user_db_name/1`
      adds  0dfee37   No need to register the `gen_server`
      adds  5960518   Handle `couchdb_peruser` config changes
      adds  ac8094f   Assert that shards have the same security object
      adds  88a3146   s/Db_Name/DbName/g
      adds  7bfd983   Refactor and make it fully 2.0-ready :)
      adds  bb95f4a   Fix whitespace
      adds  c3a59aa   Use predefined `ADMIN_CTX` macro
      adds  1b4641e   Refactor and add tests
      adds  5ea5168   More refactoring and improvements
      adds  124480e   Improve tests
      adds  4734719   Update security object after a user is deleted
      adds  8d81a8f   Clean up src/
      adds  888a5bd   Rename tests
      adds  a7e74f0   Improve test setup and teardown
      adds  033768d   Match return values
      adds  7530ed1   Improve `teardown/1` in test suite
      adds  27f4799   Rename application to 'couch_peruser'
      adds  79ccb61   Integrate with Travis CI
      adds  605f024   Add Travis CI build status badge to README
      adds  2ac1832   Test with couchdb-peruser branch from couchdb repo
      adds  5896697   Make Travis CI tests pass
      adds  ff7d190   Test with master branch from couchdb repo
      adds  ed3ad6f   Update handle_config_terminate API
      adds  39ef15a   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  0756d35   Fix a typo in match of config_change event
      adds  4eea957   Merge remote branch 'cloudant:3102-fix-number-of-elements'
      adds  9a918a7   Add 'src/couch_peruser/' from commit '4eea9571171a5b41d832da32204a1122a01f4b0e'
      adds  42ca512   add couch_plugins
      adds  76b00ff   update comment
      adds  ad3f0b5   add docs/debug output
      adds  20d3ef1   add readme
      adds  2e963a7   update readme
      adds  f643a84   remove ebin
      adds  facf8eb   add license headers
      adds  2009cb0   add build instructions (just `rebar compile`)
      adds  0826c57   Use the same version hash in the entire readme.
      adds  ee8c947   add more license, update license.skip, fix `make distcheck`
      adds  e989750   fix github url
      adds  9b8fca9   remove rebar reference
      adds  c3dfc41   load plugin config from priv/default.d/*.ini
      adds  642000b   register plugins at _config/plugins/pluginname with their version number
      adds  7aa8eb0   make plugin dir configurable
      adds  ea93401   update todo list in README
      adds  f44dd76   add inline comments
      adds  81965a6   add draft for `couch_plugins:uninstall()`
      adds  a98ecb3   more comments, add uninstall()
      adds  8edaec8   add `uninstall()`, removed unneeded aplication:load() cruft
      adds  2e046bd   update roadmap in README
      adds  46f30a5   only install plugins if their CouchDB version matches the target couch
      adds  41cbe85   update roadmap in README
      adds  88cd38f   move couch_version() to couch_server:couch_version(short)
      adds  be78e07   load plugin Futon/Fauxon assets via /_plugins/<name>/
      adds  7ce3c44   update roadmap
      adds  238e02e   fix formatting
      adds  4da56bb   add src/couch_plugins/ to EXTRA_DIST
      adds  2ee6321   move todo list into JIRA
      adds  4bb066a   Fix includes
      adds  8ab2662   Pull version number from git
      adds  ebfbd9d   no such module
      adds  fbfa175   Use couch_log instead of ?LOG_*
      adds  0787a36   Replace more ?LOG_* with couch_log
      adds  f5a7223   Fixed bad windows temp file
      adds  2b2933e   add license
      adds  3e73b72   Fix crypto deprecations
      adds  b758bbe   Add 'src/couch_plugins/' from commit '3e73b723cb126cfc471b560d17c24a8b5c540085'
      adds  fd5adf9   create couch_replicator application.
      adds  d3d951d   refactor couch_replicator. close #COUCHDB-1323 .
      adds  8a23e4f   add load test for buildbot.
      adds  617b6c1   fix version
      adds  77b0196   Fix file name in src/couch_replicator/
      adds  cf7c789   Add stats to replication docs
      adds  2f97adc   Include replicion doc id in _active_tasks
      adds  46f6435   Remove bad couch_db:close/1 call
      adds  c64030f   Fix merging of documents with attachment stubs
      adds  e04b74b   Format ID as a string and not as an erlang binary
      adds  eef3189   Implement "System Database Security"
      adds  c50c1a2   Improve test 05-replication-many-leaves.t
      adds  5785e47   Fix check of conflicts for replication tests
      adds  ab31b2b   Add heartbeat parameter to all _changes requests
      adds  979103c   Use default content-type application/json
      adds  43e148a   Don't send Content-Type in GET/HEAD requests
      adds  6559d6f   Small tweaks to test 242-replication-many-leaves.t
      adds  1f276a8   whitespaces
      adds  b69b692   JSON encode start seq number in _changes requests
      adds  bd8185a   Fixing the replicator_db JS test
      adds  bf4996f   Update etap and remove obsolete files
      adds  faa2520   Avoid possible timeout initializing replications
      adds  f006dfc   COUCHDB-627 - Support all timezones
      adds  71e2efd   Consume all ibrowse messages before stream_next
      adds  8529f37   Allow any 2xx code to indicate success
      adds  7973488   Log problems opening database at ERROR level except for auto-created system dbs
      adds  a6b8ce7   Stabilize replication id
      adds  67398c4   Integrate Sphinx into autotools
      adds  9a5cb54   update erlang-oauth to 1.3.0
      adds  7089f60   Avoid badmatch when replicator dbnames have leading slashes.
      adds  e3246e9   Refactor couch source tree
      adds  b48d7bd   Merge squashed couch_replicator history
      adds  f20acdc   Use couch_replicator prefix everywhere
      adds  5793283   Remove #changes_args.db_open_options
      adds  72fec79   Define LOWEST_SEQ
      adds  b4b3dd1   Add mp_parse to _utils instead of importing from couch
      adds  815ac0a   We're not using dynamic modules
      adds  a2d0c42   Tolerate JSON_ENCODE returning an iolist
      adds  c343126   Parse replication doc inside replicator
      adds  df6057f   Support either atom or binary type for deleted field in changes
      adds  b35a5b9   Refactor couch_replicator_httpc_pool to monitor processes that have requested workers
      adds  e1b7cc1   remove io:format
      adds  11d8c16   Do a better job of breaking the race
      adds  97bfe8e   Do not block supervisor for replicator init
      adds  5485ec0   Use latest=true when retrieving revisions
      adds  b57bbbe   Better propagation of errors when replication fails
      adds  18cf011   Notify replication manager when replication is shutdown
      adds  c27bd42   Rework monitor funs so they're symmetrical
      adds  f994f35   Fix column widths
      adds  50f1edb   Fix code_change function
      adds  3937013   Save ourselves some work by flushing on demonitor
      adds  daf662f   Add documenting usage and API
      adds  38c2f8b   Update db_to_seq table when _replicator db deleted
      adds  9a30604   Use longpoll rather than normal for changes feed on _replicator db
      adds  a2756e1   Include user info
      adds  1d7a371   Calculate progress for sharded replication too
      adds  724bc86   fix div by zero error
      adds  7740888   simplify regex
      adds  695f2a8   Restore _replicator fault tolerance
      adds  64ee030   Allow the use of checkpoint to be optional
      adds  0207480   Monitor spawned calls to fabric
      adds  79df0f2   Added a new field to task status, changes_pending
      adds  17671fa   Remove dynamic ets tables from the httpc pool
      adds  c1f3d72   Teach replicator to gracefully reconnect
      adds  1f99c24   Avoid deadlocking the httpc pool
      adds  b0e99d4   Scope entries to their replicator db
      adds  e59c9fb   Better handling of _replicator db deletes
      adds  9e2d76f   Use config app instead of couch_config
      adds  7915756   Use config:listen_for_changes in replicator manager
      adds  317131b   Replace heartbeat in continuous feed with timeout
      adds  a18f8e9   Ensure _changes terminates before inactivity_timeout
      adds  d17aced   Remove entries from the callers list properly
      adds  3160f54   Don't add undefined stats to body
      adds  0e9e5b6   Remove second fd from couch_db_updater
      adds  9ef3d13   Remove couch_ref_counter and use process monitors
      adds  b6f3c98   Shorter internal btree names in records
      adds  18d2da5   Enable clustered multipart-mime uploads
      adds  9f968dc   Major change to use the new config app
      adds  b4d569f   Rewrite the boot procedure for the couch app
      adds  6f0123b   Fix core etap tests
      adds  53e6dbe   [squash] to etap updates
      adds  f7028ca   Fix build system
      adds  a63dc61   Switch to couch_log
      adds  b38025c   remove Cloudant refs
      adds  01e49b4   Unknown errors on _replicate POST are 500's not 404's
      adds  7c9704c   COUCHDB-1788 - tolerate undefined source/target when reading _replicator docs
      adds  27dbba3   Use latest=true when retrieving revisions
      adds  a28ef18   Avoid deadlocking the httpc pool
      adds  1910622   Fix replication deadlock after HTTP retries
      adds  61b0f14   Handle open_revs retries at a higher level
      adds  81d6526   Ensure the att reader learns of a Parser death
      adds  1c501b8   Disable automatic retries of streaming writes
      adds  b1bf3fb   Simplify doc_streamer initialization
      adds  eee70d8   Be a bit nicer about logging
      adds  eb06a31   Bubble up missing_stub exceptions for proper retry
      adds  a6d8389   Allow the use of checkpoint to be optional
      adds  ee27edf   configurable checkpoint interval
      adds  2b66609   Include reason for replication failure in _replicator doc
      adds  4485a89   Tests for replicator use_checkpoints option
      adds  b58ffb9   don't crash if ibrowse is already started
      adds  a65a6e0   Support SOCKS5 protocol for replication
      adds  0ebc319   Negotiate max uri length in response to 414's
      adds  c509ef2   Merge remote-tracking branch 'origin/import-master' into integration
      adds  edd5dc4   Support clustered and non-clustered _replicator databases
      adds  d809436   Allow last_seq through doc_ids check
      adds  8d03f0c   Send message asynchronusly from event manager
      adds  7898313   Handle last_seq returns from failed filters
      adds  ed447f8   Increase dt between heartbeat and inactive timeouts
      adds  dd96e21   Cancel replication jobs on every node, not just owner node
      adds  d6079a6   Update to use new couch_event application
      adds  6acc906   Fix replication checkpoint frequency
      adds  20b837e   Make replication request timeout configurable
      adds  44328a6   Fix a non-tail-recursive call that leaks memory
      adds  7e28640   Move changes_reader to a dedicated module
      adds  6f2dc4c   Extract code that queues items into its own fun
      adds  65a1a10   Provide an abstract interface to replicator stats
      adds  0c095c0   Remove old code_change, set module version to 1
      adds  756f500   Report a correct value for changes_pending
      adds  1746e93   Fix messages leaking from streaming HTTP responses
      adds  f10dec7   Only set an ibrowse request timeout for non-_changes requests
      adds  06cf699   Rate limit the retrieval of pending changes
      adds  353f51f   Remove progress field from replication tasks
      adds  a18aa43   Remove unused unpack_seqs function
      adds  777da3d   Fallback to using source seq for Apache CouchDB
      adds  b80c7c0   Change term formatting for error logs
      adds  603e4a8   Move attachment code into couch_att
      adds  e87a923   Clean up couch_replicator_httpc_pool pid on error
      adds  0ae9e60   Fix couch_replicator_mangaer changes feed upgrades
      adds  f90b6e0   Don't die when a known replicator related pid dies
      adds  22e9ff4   Owner must be live
      adds  75e5ba1   Retry if doc is missing
      adds  a85ab81   squash! Fix couch_replicator_mangaer changes feed upgrades
      adds  087bef9   start_link functions should return {ok, Pid}
      adds  9b2dd48   Add the mod entry so the application starts correctly.
      adds  1b32380   Fix badmatch with variable name duplication
      adds  e5e5d84   Update changes_reader_cb for new Pending field
      adds  c6be20d   Fix return from the changes_reader_cb
      adds  9640ccf   Fix the owner check for local replicator dbs
      adds  7ff3a52   Expose current_through_seq in task statuses
      adds  a85e9b8   Adjust the restart window
      adds  aafb5f9   Update to use couch_stats
      adds  86aba61   Port couch_replicator/01-load.t etap test suite to eunit
      adds  450edc0   Port couch_replicator/02-httpc-pool.t etap test suite to eunit
      adds  191af63   Port couch_replicator/03-replication-compact.t etap test suite to eunit
      adds  b010033   Port couch_replicator/04-replication-large_atts.t etap test to eunit
      adds  9a2c838   Port couch_replicator/05-replication-many-leaves.t etap test to eunit
      adds  b6033ab   Port couch_replicator/06-doc-missing-stubs.t etap test suite to eunit
      adds  ba8c397   Port couch_replicator/07-use-checkpoints.t etap test to eunit
      adds  2850b94   Move files out of test/couchdb into top level test/ folder
      adds  3233c26   Update include paths
      adds  62a3db9   Use ?ADMIN macros from couch_eunit.hrl
      adds  270bdc1   Switch to using test_util:{start,stop}_couch
      adds  6d34c4e   Switch to using config instead of couch_config
      adds  3cf0b13   Disable problematic tests
      adds  a642119   Fix owner test
      adds  363093f   Encode seq before sending request
      adds  a6fd293   Use couch_log instead of ?LOG_*
      adds  f195535   Use connection pools for _changes requests
      adds  59a2f2b   Update handle_changes function names
      adds  3e3e2cb   couch_replicator: add replication using changes in a view
      adds  7390c7e   don't replicate removed document in a view changes
      adds  a85c7c4   fix view changes with multiple keys
      adds  c9184cf   remove old rcouch code
      adds  0785198   Retrieve headers case-insensitively
      adds  e6f839b   Fix test suite
      adds  b818650   Set get_details timeout to default 5 sec
      adds  fb6826f   Merge remote-tracking branch 'iilyak/2540-Fix-broken-tests-for-couch_replicator'
      adds  4de038d   Use ADMIN_CTX macro from couch_db.hrl
      adds  5007234   Update config_listener behaviuor
      adds  cbb3593   config:get/3 is more strict now
      adds  1fca14a   Don't restart event handler on termiation
      adds  b1c2cc0   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  1ad19a8   Return context from test_util:start_couch
      adds  bbab85b   Merge remote-tracking branch 'iilyak/2547-fix-broken-tests'
      adds  dcb3886   Use randomized, truncated exponential backoff in event of conflict
      adds  2e6d5c1   Remove anonymous fun when starting replications
      adds  362b3fd   Verify that url really points to a database
      adds  5b630ff   delay and splay replication starts
      adds  8d69019   Ensure Live node set is consistent with up/down messages
      adds  89363ae   Return owner to improve logging output
      adds  fb4da8d   Log when node up/down events occur
      adds  ce1934f   Cleanly stop replication at checkpoint time if no longer owner
      adds  5ee42e1   Ensure that ibrowse streams are ended properly
      adds  8a3af42   Be more explicit on values of ?STREAM_STATUS
      adds  86d7716   Fix stream cleanup timeouts
      adds  9d010db   continue jobs that aren't _replicator docs
      adds  80708a9   Infinity timeout, just like all the others :(
      adds  cfda535   Distinct User-Agent for the replicator
      adds  63877ae   Return `{error, {illegal_database_name, Name}}`
      adds  0c8b69d   Add LICENSE file
      adds  227cbc6   Fix stuck changes reader in clean_mailbox
      adds  90d7088   Fix changes worker timeout cleanup
      adds  b695bb2   Include originating database
      adds  73139f0   Fix crypto deprecations
      adds  85d62d1   Handle un-expected closing of pipelined connections better.
      adds  b88601b   Use couch_httpd_multipart:abort_multipart_stream
      adds  36e5bec   Merge remote-tracking branch 'github/pr/4'
      adds  219f5d1   Fix new couch_httpd_multipart:abort_multipart_stream API call
      adds  307ae6d   Fix race condition in worker release on connection_closing state.
      adds  e2ecd85   Merge remote-tracking branch 'cloudant/2833-fix-race-condition-during-worker-termination'
      adds  f029192   Fix race condition in waiting for compactor in eunit test.
      adds  5642243   Raise eunit tests timeout up to 100s
      adds  e58f535   Add a test case for filtered replication
      adds  3ce7857   revert cdf8949 (couch_util:rfc1123_date)
      adds  437c657   Throw bad request when doc_ids parameter is not an array (or null)
      adds  3f268ab   Fix couch_replicator_manager rescans
      adds  d711385   Integrate with Travis CI
      adds  254750a   Update Travis config
      adds  ea40886   Merge branch 'github/pr/15'
      adds  b18ff40   Fix filtered replication test
      adds  61c59b5   Add filtered with query replication test
      adds  fd66cb6   Avoid logging creds on couch_replicator termination
      adds  ff49e1c   Fix view filtered replication
      adds  fc49a36   Do not crash in couch_replicator:terminate/2 if a local dbname is used.
      adds  e1fa3c3   Remove configurable replicator db name
      adds  da86098       Merge remote branch 'github/pr/27'
      adds  493a0d1   Adjust minimum number of http connections to 2
      adds  a7e7565   Switch replicator manager change feeds to "longpoll"
      adds  7ff43ed   Merge remote-tracking branch 'cloudant/couchdb-2963'
      adds  2363748   After a rescan prevent checkpoints from a previous epoch
      adds  b26c6f0   Fix flaky replicator tests.
      adds  1979506   Merge remote branch 'github/pr/32'
      adds  73afc58   Remove obsoleted R14-era code
      adds  eb93044   Use transient restart type for all replications
      adds  4cb5176   Reduce likelihood of a bad replication job taking down the job supervisor
      adds  89d57cd   Merge remote-tracking branch 'cloudant/2975-restart-replications-on-crash'
      adds  fb004ea   Revert "Merge remote-tracking branch 'cloudant/2975-restart-replications-on-crash'"
      adds  9ee3e19   Reduce checkpoint frequency from 5 to 30 seconds
      adds  9865499   Implement Mango selectors for replication
      adds  24fb718   Use couch_db:dbname_suffix in is_replicator_db
      adds  ab0afce   Merge remote branch 'github/pr/35'
      adds  13326bb   Add jittered delay during replication error handling
      adds  8a4bbc0   gen_event: handle_call suppose to return `{ok, Reply, State}`
      adds  8697441   Merge remote branch 'cloudant:fix-some-type-errors'
      adds  8629fb2   Ensure _design/_replicator VDU is updated
      adds  8283a30   Change process_response clause
      adds  bf636d3   Check if worker is alive for clean_mailbox
      adds  c661e74   Replace hard-coded instances of <<"_replicator">> dbs with a macro
      adds  05247a2   Replication manager's rep_start_pids now contains only {Tag, Pid} items
      adds  884cf3e   Inject random delays in scan_all_dbs
      adds  c233bea   Merge remote branch 'cloudant:69914-insert-random-delays'
      adds  40a0876   Fix replicator manager `stop` change feed callback
      adds  f67ebff   Fix passing epoch in correctly with rep_db_checkpoint message.
      adds  33d386f   Update handle_config_terminate API
      adds  0248d23   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  b9232c8   Validate boolean parameters in /_replicate payload
      adds  2f23b57   Fix replicator handling of max_document_size when posting to _bulk_docs
      adds  e5747db   Fix handling of 413 responses for single document PUT requests
      adds  93c4cea   Add tests which check small values of max_document_size setting on the target
      adds  80e9578   Handle 429
      adds  2db0d7f   Retry when connection_closed is received during a streamed response
      adds  a51561c   Fix timeout clause in backoff retry
      adds  ada53cb   Make backoff macros configurable
      adds  cb41bac   Merge branch '3010-port-429' into apache
      adds  48996b1   Let "error" replication document updates bypass the VDU function.
      adds  b281d2b   Use mem3 to discover all _replicator shards in replicator manager
      adds  be0060f   Fix shards db name typo from previous commit
      adds  d23025e   Allow configuring maximum document ID length during replication
      adds  b18b31c   closes #54
      adds  c306fab   Use string formatting to shorten document ID during logging.
      adds  1644696   Merge branch 'couchdb-3291-better-formatting'
      adds  46f70c7   Switch replicator max_document_id_length config to use infinity
      adds  648e465   Merge branch 'couchdb-3291-use-infinity'
      adds  45d739a   Restore adding some jitter-ed sleep to shard scanning code.
      adds  1e413b8   Revert "Restore adding some jitter-ed sleep to shard scanning code."
      adds  7a2b2b6   fix crashes when replicator db is deleted
      adds  50dcd7d   Make sure to log db as well as doc in replicator logs.
      adds  50a88ba   Merge remote-tracking branch 'cloudant/couchdb-3316'
      adds  30915e3   Remove unused mp_parse_doc function from replicator
      adds  1166759   Merge remote-tracking branch 'cloudant/couchdb-2992-remove-dead-code'
      adds  6495809   Fix unit test after renaming max_document_size config parameter
      adds  ffe9697   Merge branch '64229-add-new-request-parameter'
      adds  46aa27f   Don't scan empty replicator databases
      adds  f63efa7   Revert "Don't scan empty replicator databases"
      adds  d00b981   Prevent replicator manager change feeds from getting stuck
      adds  6368e92   Add 'src/couch_replicator/' from commit 'd00b981445c03622497088eb872059ab4f48b298'
      adds  368277b   Initial import
      adds  48481c7   Initial commit
      adds  b4543ab   Initial code drop
      adds  d40741a   Rename couch_stats_stats_collector to couch_stats_aggregator
      adds  e51375d   Bump folsom dependency
      adds  dfc415c   Handle the proper existing metric error atom
      adds  870e284   Simplify stat reloading functionality
      adds  500e120   Don't hoist application names in to stat reload logic
      adds  ba150cd   Use loaded_applications/0 instead of which_applications/0
      adds  6efb035   Log unknown messages instead of crashing
      adds  30fd32c   Simplify couch_stats_aggregator:reload_metrics/0
      adds  7c44fe4   Store tracked processes in ets rather than dict
      adds  7dcc07b   Make couch_stats_process_collector ets table public
      adds  18749bd   Add license headers to source files
      adds  bb24add   Use the Apache Mirror of Folsom
      adds  1e5cff9   Add http endpoint
      adds  d069665   Remove log statement
      adds  1461beb   Format nested functions properly
      adds  d7310e5   Add sub-stat access at the HTTP layer
      adds  c675e2e   Use a string for the branch name
      adds  81483c1   Honor ?flush=true for _stats call
      adds  ebb4f63   remove twig references (again)
      adds  ef5cd7b   support numeric keys
      adds  98067e0   Most stats files are called stats_descriptions.cfg
      adds  1c3dae9   include gauges
      adds  ab8d36b   Avoid recreating all metrics on reload
      adds  7de4f95   Revert "Avoid recreating all metrics on reload"
      adds  39d5267   Fix "Avoid recreating all metrics on reload"
      adds  a7c74f8   Move dependencies to the top level repository
      adds  b368547   Log notifications for missing metrics
      adds  1bcffbd   update_histogram with timing of a function
      adds  0be906a   Add couch_stats:reload()
      adds  20912b3   Merge remote-tracking branch 'iilyak/2540-Fix-broken-tests-for-couch_replicator'
      adds  055740a   Declare dependency on couch_log
      adds  5dd3b5f   Merge remote-tracking branch 'iilyak/2552-unknown-metric-mrview-map_docs'
      adds  a060a75   Fix compilation warning
      adds  c4039dd   export functions for use in chttpd_misc
      adds  a842f3b   Use `chttpd:qs` instead of `couch_httpd:qs`
      adds  9ba5201   We already know the metric type, so supply it directly
      adds  7895d4d   Merge branch 'use-notify-existing-metric'
      adds  3315450   Add 'src/couch_stats/' from commit '7895d4d3f509ed24f09b6d1a0bd0e06af34551dc'
      adds  2f937ca   Add .gitignore
      adds  a98e66c   Initial version
      adds  5630c9c   Add setups/couch_epi_dispatch
      adds  e561ac6   Implement couch_tests:setup/1
      adds  cba29c8   Merge remote branch 'github/pr/1'
      adds  a5d933f   Add basic combinatorics functions
      adds  37b3bfe   Merge remote branch 'apache:add-combinatorics'
      adds  5e516ae   Add 'src/couch_tests/' from commit '37b3bfeb4b1a48a592456e67991362e155ed81e0'
      adds  456913a   New build system for ddoc_cache
      adds  670dee3   Fix up copyright headers
      adds  ffaf6dc   Build with rebar
      adds  1a1155d   Remove references to margaret
      adds  bd245ac   This ejson_body requirement is tedious and pervasive.
      adds  beddafa   Switch to couch_log
      adds  f17c21f   Change API to function per level
      adds  41d8253   Update to use new couch_event application
      adds  6219808   Fix name of event listener callback
      adds  72f6af5   Add a simple dialyzer task
      adds  4b1c758   Define a macro for the LRU cache name
      adds  8ab9683   Simplify pulling out all design document ids from the cache
      adds  4158945   Add support for keying the cache by revision
      adds  5f5c289   Address code review feedback
      adds  64bab93   set module version to 1
      adds  d9bc36f   Load design docs with an ejson body
      adds  4ffc6b0   Update to use couch_stats
      adds  54f3eed   fix metric name
      adds  d65a85c   Allow custom cache objects using callback modules
      adds  04c946f   Allow ddoc_cache to open restricted design docs
      adds  c762e90   Add LICENSE file
      adds  a6fdd19   Add 'src/ddoc_cache/' from commit 'c762e90a33ce3cda19ef142dd1120f1087ecd876'
      adds  336dcb3   Remove Cloudant build system remnants
      adds  0aa7fa9   New build system for fabric
      adds  95b36a1   Enable clustered multipart-mime uploads
      adds  cc7b13b   Fix up copyright headers
      adds  63bfcfe   Build with rebar
      adds  40dd237   @davisp trolled me by changing the default value of keys
      adds  76bcc2e   Purge view_query_args and point to mrargs (when rebasing, pull in the other bits from ba152cb2153e892c0d8eec7f6fbeecf3dcaff10a)
      adds  5518fea   fix _changes
      adds  d821fda   Switch to couch_log
      adds  f75aef4   Change API to function per level
      adds  28528ac   Switch to using couch_mrview data structures and utility functions
      adds  efddaf1   Update fabric_rpc to use couch_mrview
      adds  aeac2df   Call fabric view reduce callback with meta information
      adds  8fe2ee6   Pull test dependency
      adds  355937d   Fix meck expectations
      adds  641b815   use meck 0.8.2 for 17.0 compatibility
      adds  9095859   Pass Options to all_docs and open_doc
      adds  4f9cc9e   Include eventsource in the continuous go/5 function
      adds  cc80c1e   Support since=now
      adds  1b3c795   Fix skip and limit values
      adds  58380bb   couch_query_servers:rereduce takes Lang not #proc
      adds  7dd9dd7   Fix skip and limit values for all docs queries
      adds  b7d5a34   Update to use new multi rexi_server protocol
      adds  14f5ec9   Force abort when rexi_DOWN induces missing range
      adds  6d1d294   Filter _local docs from the _changes feed
      adds  1c426bca  Ignore {ddoc_updated, _} couch_db_update events
      adds  836ef72   Mockup rexi's server-per-node feature flag
      adds  014ddc0   Provide a non-interactive mode for maintenance
      adds  769b005   Fix latent bug in get_all_security
      adds  d3223ad   Allow io_priority for design_docs/1
      adds  ad9a04b   Silence errors when getting security objects
      adds  8f2c349   Silence notifications on non-interactive nodes
      adds  5ee94c1   Issue a timeout even if messages have arrived
      adds  2723248   Handle `no_pass` messages from filtered docs
      adds  1380cc2   Send a `no_pass` message when a doc fails a filter
      adds  96f9ed6   Revert "Send a `no_pass` message when a doc fails a filter"
      adds  4e6dd17   Set middleman timeout to fabric request timeout
      adds  3ab08f7   Enhance maintenance_mode instead of creating a new mode
      adds  df0eca7   Update to use new couch_event application
      adds  3258b7e   Use a private record for the callback state
      adds  9cd41ba   Support new and old since values
      adds  a23d2af   Send new since format and rewind better by using it
      adds  ae1c64a   Use new couch_db APIs for uuids and epochs
      adds  518f76d   Make shard open backoff configurable
      adds  9aafe7b   Revert uuid in changes feeds temporarily
      adds  400bce8   Revert "Revert uuid in changes feeds temporarily"
      adds  6120920   Monitor coordinator pids for update notifiers
      adds  1f91869   Fix fencepost error
      adds  2c341cf   Separate is_owner logic from owner_of
      adds  a8a458b   Add negative test for fencepost
      adds  bef303b   Validate epochs
      adds  a698d48   Gracefully terminate continuous changes feeds
      adds  d462044   Revert "Merge pull request #99 from cloudant/fix-fencepost"
      adds  1649efc   Revert "Revert "Revert uuid in changes feeds temporarily""
      adds  e47db78   Downgrade new style since values unintentionally released into the wild
      adds  f371174   Fix invalid reference in edoc
      adds  3804a0a   Fix changes shard replacement
      adds  674c211   Handle bad_request message from worker
      adds  d9cf946   Include uuid in since values
      adds  60e93b0   Fix hot upgrade for new since values
      adds  5d00748   Remove (not that successful) downgrade trick
      adds  2f1db98   Upgrade continuous changes feeds to new code
      adds  f38bc21   Handle duplicate docs in bulk update
      adds  687bd9d   Allow to omit seq from some rows in _changes response
      adds  455afa7   Allow options to all database functions
      adds  503fc0f   Use the dollar_endonly option to prevent newlines
      adds  3222511   Add fabric_dict:is_key/2
      adds  28a9e3d   Add fabric_dict:fetch_keys/1
      adds  bea3052   Implement fabric_util:stream_start/2
      adds  dc1f014   Implement fabric_view:check_down_shards/2
      adds  36a2d2d   Implement fabric_view:handle_worker_exit/3
      adds  216ffb3   Update _all_docs coordinator to use new RPC APIs
      adds  11112ad   Update map view coordinator to use new RPC APIs
      adds  df9cb85   Update reduce view coordinator to use new RPC APIs
      adds  6462e84   Remove test for old reduce view behavior
      adds  c0d13fb   Update _changes coordinator to use new RPC APIs
      adds  5731bf3   Set io_priority properly for all requests
      adds  0f45478   Fix `fabric:get_db_info/1`
      adds  f225697   Allow shard replacements in stream_start
      adds  45bee39   Add utility function to find shard replacements
      adds  bc57da8   Provide replacement shards in map views
      adds  18f6c8e   Provide replacement shards in reduce views
      adds  cb388f2   Provide replacement shards in changes feeds
      adds  865b555   [1/2] Use proplist instead of #change record
      adds  a505676   Replace read_repair logs with a metric
      adds  ec26cba   Make all timeouts configurable
      adds  1f04561   Fix inclusion of "doc":"undefined" in changes feed
      adds  df0c3a3   Pass document id & rev rather than the whole document
      adds  e8cf1bb   Handle fabric upgrade
      adds  8e80f22   Switch from ddoc to id+rev protocol for views
      adds  5e2d376   Report errors opening documents during _all_docs
      adds  5d52436   Calculate safe worker seq on shard replacement
      adds  f4616ee   Use smarter seqs when original shard is down/gone
      adds  90411dd   Use smarter replacements for stream_start failures
      adds  cb16735   [squash] add deprecation info
      adds  16e020f   Adjust replacement rewind exclusion
      adds  5e65ee0   [2/2] Use proplist instead of #change record
      adds  161f088   Refactor payload to simplify coordinator
      adds  9de1096   Report number of pending changes in shard
      adds  7826ce5   Collect pending counts and report sum at end
      adds  af20699   Be defensive when calcualting pending_count
      adds  8edaa88   Log errors when doc reads fail for _all_docs
      adds  4d9106e   Throw errors when starting changes streams
      adds  2e98455   Only attempt replacement when we have replacements
      adds  1fced48   Don't attempt to replace replacement shards
      adds  a01d239   Fix logging of errors in _all_docs open_doc calls
      adds  dbcbfc1   Make _changes?descending=true aware of maint. mode
      adds  2e77350   Avoid badarith error during cluster upgrade
      adds  8cefcd8   Move attachment code into couch_att
      adds  74e4a79   Include epoch node in seqs and replacement logic
      adds  63ec0f9   Fix fabric_db_update_listener code upgrades
      adds  992cf38   Clear worker references for get_shard_replacements
      adds  bfaa56b   Set non-interactive default for set_security
      adds  b1c0030   Consistently log fabric worker timeouts
      adds  7a8244e   squashme! use stream2
      adds  defcefd   squashme! stream_last
      adds  094ce20   Fix merge of new changes behaviors
      adds  ac81980   Fix use of the rexi:stream2 API
      adds  263afe5   Add a no-options adapter to all_docs.
      adds  c3b2860   Update fabric to use couch_stats
      adds  0c3ad74   Pass #changes_args.db_open_options to couch_db:open/2
      adds  a71701c   Expose new size values
      adds  48e31be   Allow clients to pass a db record to query_view
      adds  f600e07   Move maintenance_mode to the couchdb section
      adds  88ff6d3   Teach fabric_util:get_db/2 about maintenance mode
      adds  d87ee0d   Don't receive foreign rexi replies
      adds  4427800   Restore write_quorum_errors metric collection
      adds  abec3c4   Use couch_log instead of ?LOG_*
      adds  f657a4c   Return unauthorized error if encountered on any shard
      adds  c0b1619   Don't flatten iolist
      adds  5930256   Fix compilation warning
      adds  4e0e81f   Add system db handlers to fabric_doc_update
      adds  9e87f8b   Merge branch '2510-add-system-db-handlers'
      adds  4b6b2fe   Exit early when there is a quorum but list of docs is empty
      adds  86995c5   Merge branch '2517-open_revs=all-function_clause'
      adds  d89e009   Use ADMIN_CTX macro from couch_db.hrl
      adds  f44e627   Don't do manual filtering of _design docs
      adds  a4d9852   Merge remote-tracking branch 'iilyak/1145-_local_docs-handler'
      adds  f418f0d   Handle empty list of id/revs in fabric_doc_missing_revs:go
      adds  eb0f5cb   Respect conflicts=true when collecting clustered changes
      adds  adaf5c2   Respect doc_options during _changes serialization
      adds  244426b   Fix waterfall of `rexi_server error:badarg` errors
      adds  9664463   Respect doc_options during _all_docs serialization
      adds  5199fdd   Use list of system database names
      adds  e44e7f1   remove compile warning
      adds  8d4c8ea   readme: change to couchdb project
      adds  985f136   add license file
      adds  a7cb8fd   Call the correct before_doc_update arity
      adds  47e5236   Handle case in fake_db where there's no user context
      adds  c34eea9   Fix typo
      adds  66b98b0   Fix incomplete spec of fabric:get_view_group_info
      adds  6351140   Add updates_pending field to get_view_group_info
      adds  06d1efc   Rename variables for clarification of intend
      adds  ba27f81   Merge remote-tracking branch 'iilyak/2526-pending-updates-info'
      adds  d44f7fb   use the right config section for clustered authentication db
      adds  d7d6be8   Provide an access to a document info
      adds  383f8f4   Add ability to gracefully terminate existing changes feeds
      adds  ece2b2e   export dbname/1
      adds  19c273a   Module-wide s/proplists:get_value/couch_util:get_value/
      adds  19df054   Revert "Module-wide s/proplists:get_value/couch_util:get_value/"
      adds  b86eef5   Use couch_db:normalize_dbname
      adds  405922c   Remove meck twig:log/3
      adds  c30665d   Move is_*_db funs and helpers to fabric_util
      adds  3c204d0   Restrict views in the authentication DB to admins
      adds  cede5aa   Execute a callback at end of each traversal
      adds  b6659c8   Merge branch '2724-chunked-buffering'
      adds  eb7c126   Use `couch_db:validate_dbname/1`
      adds  8539ca2   fabric:cleanup_index_files should check mrview/ directories
      adds  9335f03   Fix type specs
      adds  dcfcb2a   Integrate with Travis CI
      adds  42a67d0   Use BigCouch/Cloudant seq format
      adds  140bcfa   add clusterwide compaction for dbs
      adds  e46ab8f   Revert "add clusterwide compaction for dbs"
      adds  cad0918   Added counter metric for fabric-worker-timeout.
      adds  61fbb94   Check if a DB exists prior to creating
      adds  03c927b   Merge remote-tracking branch 'smithsz/2819-db-create-check-already-exists'
      adds  34e7c26   Don't create dbs doc if shard files fail for enametoolong reason
      adds  17f0377   fix assertions: first arg is 'expected'
      adds  25e9da5   Fix eunit tests.
      adds  a6d07a1   Update .travis.yml
      adds  4c94f30   Fix incorrect size values for view index information
      adds  d67049c   Add owner of shard to last_seq of changes response
      adds  31be532   Return forbidden error if encountered on any shard
      adds  8bb97fc   Support fetch ddoc logic for filtered changes feeds
      adds  0e5b33d   Merge branch '2938-use-ddoc-cache-in-filtered-changes'
      adds  79f0064   Remove configurable replicator db name
      adds  472253f       Merge remote branch 'github/pr/39'
      adds  0df200a   Avoid spamming logs with write_quorum errors
      adds  68b2210   Extent fetch ddoc logic for view filtered changes feeds
      adds  eeaa400   Add collation to view result collector record
      adds  96fe423a  Support raw collation in reduce results
      adds  0842883   Support raw collation in map results
      adds  1be5506   Use ICU to compare POSTed view keys when necessary
      adds  dc5cca8   Honor update_seq=true for map view requests
      adds  14c1517   Use couch_db:dbname_suffix in path_ends_with
      adds  ecaacfe   Merge remote branch 'github/pr/45'
      adds  b592c39   start_update_notifiers returns list of #worker{}
      adds  f0d6c03   Merge remote branch 'cloudant:fix-db_update_listener'
      adds  1dcc5b8   Improve fabric:get_doc_count spec
      adds  c449ab2   Merge remote branch 'cloudant:update-get_doc_count-spec'
      adds  06578c4   Use create_if_missing option of couch_db:open_int
      adds  087a1aa   Merge remote branch 'cloudant:43260-create-target-shard-if-missing'
      adds  dbbdb17   Fix return type in get_all_security
      adds  d20eafd   Merge remote branch 'cloudant:fix-spec-for-get_all_security'
      adds  9a1d0c5   Fix fabric_doc_open_revs
      adds  475b90c   Merge branch '2863-fix-fabric-doc-open-revs'
      adds  19e9959   Use meck:wait to fix race condition
      adds  2eb1e13   Merge remote branch 'cloudant:use_meck_wait'
      adds  4dd11bd   Filter out not_found replies when #doc{} is found
      adds  4305a57   Merge remote branch 'cloudant:67266-filter-out-not-found'
      adds  0cd2b7c   Fix compilation warnings
      adds  0aeaaa0   Merge remote branch 'cloudant:2730-fix-compilation-warnings'
      adds  d5511c4   Fix fabric_db_update_listener rexi_DOWN handling
      adds  e5c9c62   Merge branch '3036-fix-fabric-db-update-listener-rexi-down'
      adds  a506e8d   Fix rexi_DOWN and rexi_EXIT handlers
      adds  9f4c999   Merge remote branch 'cloudant:68151-fix-rexi_DOWN-handler'
      adds  e8452fb   Fix match in fabric_doc_open_revs reply
      adds  17af869   Merge remote branch 'cloudant:fix-doc-open-reply'
      adds  18e6fd8   Pass security object in fake db
      adds  37bcda9   Support update_seq=true in _all_docs
      adds  da85db2   Support update_seq=true in reduce views
      adds  aa17ddf   Emit error row for a null doc id in POSTs to _all_docs
      adds  3c7345a   fabric:update_docs supports json_obj()
      adds  6917c3e   Improve fabric:all_docs spec
      adds  c38c692   Merge remote branch 'cloudant:fix_some_specs'
      adds  5d09959   Use the correct sequence for shard replacement
      adds  7d07877   Merge remote branch 'cloudant:44287-use-correct-sequence-for-shard-replacement'
      adds  ebea1b8   End the listener if any shard is deleted
      adds  b17c880   fix compilation warnings of unused variables
      adds  ae2a8f7   Ignore already received replies for same shards
      adds  4553f90   Merge remote branch 'cloudant:69654-fix-view-info-duplicates'
      adds  96f9af9   Fix reply filter for open_revs
      adds  48d32e4   Merge remote branch 'cloudant:71693-fix-filter-out-not-found'
      adds  cb85279   Implement clustered compaction functions
      adds  b2afce7   make _view_cleanup endpoint cluster aware
      adds  78eb096   Merge remote-tracking branch 'cloudant/2779-view-cleanup-cluster-aware'
      adds  c7214fd   End continuous changes feeds cleanly if database is deleted
      adds  a6cd3b2   clarify error when all_or_nothing attempted
      adds  f84750e   Merge remote-tracking branch 'will/all_or_nothing_error'
      adds  b534034   Avoid throwing exception when deleting db in db updater listener
      adds  bea6b00   Update all shards with stale=update_after Trigger an update for all the shards. Will send a message to trigger an update to shards that won't participate in the response due to not being a ushard.
      adds  ecdcc3d   Merge remote-tracking branch 'cloudant/COUCHDB-3150-update-all-shards-stale-update-after'
      adds  833281d   Fix compiler warning
      adds  6006bc6   Send a message when filtering a changes row
      adds  97096eb   Merge branch '3178-fix-fabric-rpc-filtered-changes'
      adds  d68a00f   Fix function clause introduced by fix for COUCHDB-3150
      adds  e80a744   Replace "stale" with "stable" when picking shards
      adds  508122c   Merge remote-tracking branch 'banjiewen/stale-stable-update'
      adds  7cfabb5   Add optional `fields` to change feed selectors
      adds  4fcfecf   Track open_shard timeouts with a counter
      adds  67978b1   Merge branch 'COUCHDB-3234-open-shard-timeout-counter'
      adds  1ee7c63   Pass user_ctx down to fabric_rpc
      adds  fb4b6b3   Merge remote-tracking branch 'cloudant/3232-all-docs-ctx'
      adds  a8e0e95   Revert "Merge remote-tracking branch 'banjiewen/stale-stable-update'"
      adds  bed5c67   Compatibility clause for the record upgrade
      adds  f427ad0   Merge remote branch 'cloudant:77984-upgrade-mrargs-record-phase1'
      adds  f14cd78   Upgrade #mrargs{} record
      adds  4377acf   Revert "Revert "Merge remote-tracking branch 'banjiewen/stale-stable-update'""
      adds  9f82e5b   Merge remote branch 'cloudant:77984-upgrade-mrargs-record-phase2'
      adds  9d12ad1   Add `{error, Reason}` to typespecs
      adds  5b74e56   Merge remote branch 'cloudant:fix-typespecs'
      adds  863b8d9   Use upgraded #mrargs{} instead of old one
      adds  205064a   Merge remote branch 'cloudant:77984-fixup'
      adds  8dcc3fb   Include conflicts parameter in doc_options
      adds  eb69784   Merge remote-tracking branch 'willholley/3264-alldocs-keys-conflicts'
      adds  998cf2d   Handle no_pass message when limit is 0
      adds  6fa8d3c   Fix open_revs fabric eunit test
      adds  ec22351   In open_revs, do not count errors in quorum threshold calculation
      adds  f9f5681   Add admin ctx on open ddoc in group_info
      adds  dd02a39   Return error when workers crash
      adds  cf220b2   Add Else Clause For Embed Doc
      adds  70535ee   Use RealReplyCount to distinguish worker replies and invalid docs
      adds  6e9074b   Prevent attachment upload from timing out during update_docs fabric call
      adds  d22903c   Merge remote-tracking branch 'cloudant/couchdb-3302'
      adds  3b15107   Allow limiting maximum document body size
      adds  ce62148   Merge branch 'couchdb-2992'
      adds  e2cc5a0   Add 'src/fabric/' from commit 'ce62148d0a4469751d8078cc223684da29b5d4a7'
      adds  fed1844   Initial commit.
      adds  f429cd0   Add the initial version of the global_changes app.
      adds  0225649   Fix heartbeat=true for db_updates feeds
      adds  3b5726f   set module version to 1
      adds  1895630   Fix changes API usage for new pending values
      adds  d58fce1   Fix limit=N for non-admins by counting post-filter
      adds  129b7c1   This was a silly off-by-one error while counting
      adds  c0f0382   Make changes_callback end request when limit=1
      adds  db52f10   Use gen_server:cast rather than rexi RPCs
      adds  a38e636   Raise default global_changes max_write_delay & max_event_delay to 500ms
      adds  0324bf4   Add ASF license
      adds  8995b70   Reimplement global_change rate limiting
      adds  727868f   Update to use couch_stats
      adds  5c0b30e   Fix race condition by relying on admin only
      adds  3400679   Fix LICENSE indention
      adds  60831fe   Open global changes db with admin context
      adds  5858156   Use ADMIN_CTX macro from couch_db.hrl
      adds  b3e48eb   Update config_listener behaviuor
      adds  a0a9759   Don't restart event handler on termination
      adds  0e9c3eb   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  9c867e8   Introduce an `allowed_owner` hook
      adds  861fade   Use `config` module for `allowed_owner` setting
      adds  cedf542   Validate callback defined
      adds  a7a4563   Merge remote-tracking branch 'iilyak/2585-allowed_owner-hook'
      adds  1bd25ee   handle heartbeat=false
      adds  89d46a5   Make global_changes database system one
      adds  ab7c365   Fix indentation
      adds  2c26761   Fix _db_changes respone format
      adds  d9f4803   erlang R14-18 compatibility
      adds  ccf500c   Use dynamic handlers for `_db_updates`
      adds  ad5bbfe   Handle waiting_for_updates in callback
      adds  aa3df32   Use `chttpd:qs*` instead of `couch_httpd:qs*`
      adds  64ff86c   Merge remote-tracking branch 'cloudant/chttpd-qs'
      adds  b2b1169   Introduce `global_changes_plugin:transform_change/3`
      adds  00d9c5a   Merge remote-tracking branch 'cloudant/epi_hooks'
      adds  b4e60bc   Add license header
      adds  7940554   Remove `ignore_providers` option
      adds  16d0200   Register service
      adds  349b307   Update to new couch_epi API
      adds  07097ce   Pass supervisor's children to couch_epi
      adds  f024461   Fix test.
      adds  bee7c48   Merge remote-tracking branch 'github/pr/13'
      adds  e55de37   Integrate with Travis CI
      adds  40e88fc   enable feed=eventsource for /_db_updates
      adds  203fb08   add missing change_callback implementation
      adds  e7b6fd9   Update handle_config_terminate API
      adds  f7e43f5   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  68c6a0e   use shard suffix when generating _changes ETag
      adds  e984486   Return {ok, State} from handle_config_change/5
      adds  f6e4c56   Merge remote branch 'cloudant:3102-fix-return-value'
      adds  8cf4896   Rollback change in default value for max_write_delay config
      adds  4aa1fc4   Merge remote-tracking branch 'cloudant/revert-default-value-for-max_write_delay'
      adds  c525ad3   Add 'src/global_changes/' from commit '4aa1fc4b20ee029c93e796309887d66432fdf959'
      adds  f81b647   Initial import
      adds  8c12808   First code drop
      adds  e53edee   [WIP] Working on encoding EBJSON
      adds  4c78640   Finished rough draft of the EJSON BSON encoder
      adds  607daf3   Add a context to the client connection
      adds  d9d82e7   Grinding out boilerplate for handling requests
      adds  11a09f5   Fixed compilation for all modules
      adds  4448833   Initial auth appears to be working
      adds  1b2f804   First pass at getting documents written
      adds  274b0b3   Comment on the use of continue_on_error
      adds  2129cd0   WIP Adding document update operations
      adds  00a917d   Initial implementation of document update operators
      adds  9c39d3a   Initial implementation of conditional operators
      adds  db2917e   WIP for the update operator
      adds  6ca1c60   Ensure signed integers when encoding/decoding
      adds  cdfafb8   First pass at an indexer implementation
      adds  d5cdcda   Initial outline of the query engine
      adds  f7f7535   First pass at the query/cursor framework
      adds  d238d98   More progress on the query engine
      adds  cc28ace   Mango Build Info Operation
      adds  71d1d44   Merge pull request #1 from cloudant/30109-Mango-API-Build-Info
      adds  a26434f   Remove dead modules
      adds  a75f558   Convert mango to a library application
      adds  15e43a3   Add an empty HTTP handler for _query
      adds  a29e15f   Initial README docs
      adds  1a53458   WIP on the HTTP API
      adds  fad0da9   Major upheaval as I redesign for the HTTP approach
      adds  ba05700   WIP action implementations
      adds  42e0fd6   Working insert action implementation
      adds  db78473   Initial test suite
      adds  25f4cf6   Firs _id based finds are working
      adds  d404fc2   Initial attempt passing for secondary indices
      adds  98ab564   Demonstrate filter on non-indexed properties
      adds  6861847   First super basic update working
      adds  593f3f2   Thoughts on better updates
      adds  37dc287   Thoughts on the different HTTP approach.
      adds  81239ce   Formatting tweaks
      adds  8278b49   Remove ranch dependency
      adds  421566e   First move towards using distinct URLs
      adds  06cfb0d   Index creation and listing appear to be working
      adds  6b8d646   Rename mango_index_view to mango_native_proc
      adds  ba5881a   Basic find command working
      adds  bbe0f0d   More refactoring for sort and errors
      adds  d6597a5   Fixes for sorts and error messages
      adds  55ad18e   Fix broken comparisons on _id fields.
      adds  ecdd3dd   Fix limit specification.
      adds  a2eff6b   Add more tests for index CRUD
      adds  3af3ff4   Remove array expansion in indexing
      adds  422fdcd   Improving find test suite
      adds  bbc958b   Handle a limit of zero
      adds  0af38c3   Remove the missing_is_null option
      adds  7c096d6   More tests for _find
      adds  e4fc93e   Remove debug logging
      adds  2c65d72   Allow for multiple index deletion URLs
      adds  5a5bc21   Remove trailing whitespace
      adds  3b6c37b   Better error when no operators are indexable
      adds  1733329   Move common setup to the user_docs module
      adds  5873404   Fixed the `$regex` operator
      adds  44053a9   Fix the behavior of `$all`
      adds  e70714b   Fix `$all` for non-array fields
      adds  4642b63   Fix error messages for bad operators in a match
      adds  497d7db   Fix trailing whitespace
      adds  af4b114   Fix `$elemMatch` to behave correctly
      adds  f59103e   Update mango_doc errors to use `?MANGO_ERROR`
      adds  9e91d75   Fix empty selectors
      adds  83fb0db   Check `mango_crud:insert/3` return values
      adds  2744ddf   Correctly set the ddoc language on recreation
      adds  29dc32c   Minor test case fixes
      adds  b5206e5   Change the default limit to effectively unlimited
      adds  8734443   Merge pull request #4 from cloudant/31919-fix-index-creation-failures
      adds  bbac0d2   Silence compiler warning
      adds  116227c   Remove hardcoded w=3 for design doc updates
      adds  c33efa3   Allow the specification of w=3
      adds  45717b0   Bump readme with config setting to turn on Mango/CQ
      adds  4bee6d1   Merge pull request #6 from cloudant/readme_activation_instructions
      adds  2db372b   Support escaped period character in query
      adds  80253c4   Update README file
      adds  3bcd514   Merge pull request #8 from cloudant/38248-escape-the-period-character
      adds  2d0cd0c   Add Array Support For $in Operator
      adds  52544a5   Format Condense Fold
      adds  c09d8d4   Add Unit Test For In Operator Array
      adds  18c6718   Merge pull request #9 from cloudant/38863-in-operator-arrays
      adds  e9ced73   Cloudant -> Apache CouchDB in
      adds  77911e0   Update with finalised HTTP API endpoints
      adds  910a6b6   Add ASF 2.0 license file
      adds  6f661f1   Set correct copyright info
      adds  c61576c   Attempt to retrieve indexes from cache
      adds  072d3f2   Merge pull request #12 from cloudant/42707-cache-ddocs
      adds  ba40953   Avoid regex in the common case
      adds  dd5a2d5   Parse each field only once
      adds  58fc27c   Merge pull request #13 from cloudant/42709-faster-field-filters
      adds  7bad11f   Always use the DB name as the cache key
      adds  195d541   Merge pull request #16 from cloudant/42707-always-use-dbname-cache-key
      adds  11343b2   change description
      adds  9cfe0a9   Merge pull request #18 from cloudant/change-description
      adds  440856a   add license headers to source files
      adds  bb30744   Merge pull request #17 from cloudant/license-headers
      adds  fc8d7d0   Fix trailing whitespace
      adds  d1d13e6   Refactor the test suite
      adds  9ed1304   Allow cursors to add KVs to the find response
      adds  08c3320   Move key tests to their own test suite
      adds  7a9de34   Move view specific logic to mango_view_idx
      adds  06bf775   Move view specific logic to mango_cursor_view
      adds  812cf6b   Implement the _explain endpoint
      adds  1b0426a   Implement the use_index query parameter
      adds  8f3b355   Introduce the $text operator to mango_selector
      adds  bb91429   Fix queries that include {"$exists": false}
      adds  aa4edf4   Support Text Index Creation
      adds  801857d   Merge pull request #19 from cloudant/33294-query-text-search
      adds  e57dcc5   Fix text sort desc
      adds  bdf9cf7   Merge pull request #20 from cloudant/43531-mango-text-sort-desc
      adds  8af882b   Escape field name with period correctly
      adds  a7c88e5   Add tests to test for field names with period
      adds  09e4b81   Merge pull request #21 from cloudant/43621-mango-escape-period
      adds  955a42c   Remove reference to _text indexes
      adds  bf2bfa8   Upgrade to couch_mrview
      adds  571c757   Convert from twig to couch_log
      adds  46d84de   Upgrade to couch_mrview #2
      adds  931d227   Fix `mango_util:load_ddoc/2`
      adds  698e349   Handle unsatisfiable [empty] ranges
      adds  8930288   Use different comparison function
      adds  f6d4901   Return ddoc id and index name
      adds  6490184   Enable bulk deletes
      adds  fa557b7   Remove write quorum
      adds  a0cac18   Add support for index pagination
      adds  520587d   Add `mango_app` and `mango_sup`
      adds  7fa9763   Use dynamic handlers
      adds  1231788   Use a record for callback accumulator
      adds  47ee021   Buffer rows to reduce number of chunks
      adds  4abd474   Merge branch '2724-chunked-buffering'
      adds  0e35541   Remove a superfluous closing brace
      adds  08294c6   Add Makefile
      adds  0f34ae2   Integrate with Travis CI
      adds  6ba768f   Fix index name check
      adds  93a4bc1   Return HTTP 501 index_not_implemented error for text indexes
      adds  677cd2a   Merge pull request #10 from kxepal/travis
      adds  fc1e36f   Revert "Remove reference to _text indexes"
      adds  29eddf0   Remove text search limit
      adds  a8def14   Add quotes to numeric strings
      adds  ca5ff7b   Add numeric string tests
      adds  10fcac2   Handle extra <<>> when elemMatch normalizes selector
      adds  4f05552   Fix compilation error
      adds  5df74ff   Fix field_exists_query
      adds  cdc9fe5   List text indexes correctly
      adds  e80608d   Fix $all operator
      adds  85f8a2b   Fix $size operator
      adds  a814fe7   Add text index field validator
      adds  f481b56   Correctly choose index type
      adds  460fcd4   Replace element position with brackets
      adds  7032bf5   stash compiled regexs in mochiglobal
      adds  97162fd   add tests
      adds  b2f62f1   improve regex test
      adds  8d496c1   Request an EJSON body when opening documents
      adds  805fee5   Remove mango_cursor_text.erl from path if dreyfus does not exist
      adds  838c632   Modify tests for skip
      adds  6100a0b   Return 503 if dreyfus service does not exist
      adds  874e8d2   Use module_loaded instead of module_info
      adds  928d76a   Use config:get_integer
      adds  8b6d0db   Use short circuit operators
      adds  f12076f   Remove extraneous error message
      adds  17e4abf   Reinstate skip tests
      adds  1de64ea   Whitespace
      adds  ba961dc   Make testcases skip automatically when no text service
      adds  2793b9f   Use hypothesis instead of random values for num_string tests
      adds  87faac1   Shorten tests
      adds  f924032   Also append quotes for specific numeric string field
      adds  bb595d0   Fix comparison operators for strings
      adds  9eb60e7   Fix crypto deprecations
      adds  19184f3   Update to new couch_epi API
      adds  46b58a3   Pass supervisor's children to couch_epi
      adds  ea662ba   Update Erlang releases for build matrix
      adds  06cf106   Handle malformed manual design docs.
      adds  0dd2000   Fix $nin operator
      adds  0cc0fb8   validate that all POST requests with json body must have also have valid json header: {"Content-Type": "application/json"} This ensures a basic protection against CSRF
      adds  a297e2e   Correctly handle unsupported HTTP methods per resource
      adds  bf44d0f   Provide an ability to disable the indexing of array lengths.
      adds  090dc67   Add tests to verify the effect of enabling/disabling index_array_lengths Skip the array-length-field tests if text service is not running Skip creating the index doc if the text service is not up
      adds  a02f610   Fix user defined index selection
      adds  f1f816b   Return fields provided by user only
      adds  db3116c   Add filter test
      adds  01252f9   add mango catch-all feature
      adds  1a42156   Add op_field term to fix special $or case
      adds  d8432c5   Set default limit to 25
      adds  29b5944   Fix test suite check for text indexes
      adds  610ccb6   Merge remote-tracking branch 'cloudant/3143-fix-default-limit'
      adds  ddd6a4d   Configurable default limit
      adds  30b3696   remove docs for missing_is_null as the feature was removed
      adds  d8792e4   Tiny improvements for test README
      adds  50066bc   Add .rebar/ to gitignore
      adds  4afd60e   Add config parameter to reject index all text indexes
      adds  6660b37   Do not allow empty field name
      adds  a319d92   Ignore design docs when using _all_docs
      adds  312e2c4   Add `$allMatch` selector
      adds  8f39d41   Add 'src/mango/' from commit '312e2c45535913c190cdef51f6ea65066ccd89dc'
      adds  cf85661   Remove Cloudant build system remnants
      adds  1f97a2b   New build system for mem3
      adds  d796b50   Fix up copyright headers
      adds  50eb5c0   Build with rebar
      adds  eef6b84   Remove references to margaret
      adds  4a7ed8c   Add ejson_body to all mem3 open_doc attempts that need it
      adds  ce981e9   Add license headers
      adds  d42720a   Switch to couch_log
      adds  2c3b9cf   Change API to function per level
      adds  af8b04b   Add function to determine shard membership locally
      adds  8d93ca6   Don't log when ensuring dbs exist
      adds  9dbea03   Handle the #doc_info case in changes_enumerator
      adds  7fa726f   Update to use new multi rexi_server protocol
      adds  51e436f   Fix _membership/$DBNAME api endpoint
      adds  d4e7748   Add doc shard info endpoint
      adds  a77e95f   Moving shard maps _membership endpoint to _shards db handler
      adds  a0d7430   If two shards differ we need to sync
      adds  f9c2276   Choose ushards according to persistent record
      adds  8f9f58f   Update to use the new couch_event application
      adds  68ca9cd   Balance replication ownership across nodes
      adds  7706134   Fix trivial typo
      adds  43cd763   Use a private record for event listener state
      adds  d2171e9   Add function to assist with rebalancing
      adds  5aa38c6   Zero out shard caches on upgrade
      adds  f2edc41   refactor choose_ushards
      adds  0efb85e   we're not rotating by DbName any more
      adds  1d50774   Preserve key and incorporate range into rotation key
      adds  c9292bb   Fix load_shards_from_disk/2
      adds  e30659b   Support balancing across a subset of nodes
      adds  4b6f001   Move rotate_list to mem3_util
      adds  720049b   Stabilize mem3_util:owner/2
      adds  6d9983f   Ensure all shards are moved off non-target nodes
      adds  94fc763   Address comments from PR
      adds  a29e6b7   Use a consistent commenting syntax
      adds  2f62e2e   Fix latent single-shard range hack
      adds  aef5866   Rewrite rebalancing plan generator
      adds  19c3ee2   Ensure that the owner of a doc is also a host
      adds  d7a4f26   Rely on decom:true attribute to filter decom nodes
      adds  45b040b   Refuse to place shards on decom:true nodes
      adds  0b0a7e7   Allow skip straight to global phase
      adds  51838ca   Fix two bugs in the global balancing phase
      adds  5ec7d04   Stop donating once the target level is achieved
      adds  5c3c9c9   Refactor global candidate selection
      adds  a6ca5c6   Allow targets to exceed floor, add another check
      adds  f9c06d6   Suggest moves from all donor nodes in parallel
      adds  781dc89   Allow for rebalancing "special" DBs
      adds  88a6491   Remove old code_change, set module version to 1
      adds  27e315b   Update whitespace and exports formatting
      adds  ade6ab1   Reorder functions into a logical progression
      adds  fcbc821   Add a new mem3_rpc module for replication RPCs
      adds  36a1e63   Inline open_doc_revs into open_docs
      adds  bf07a7c   Include replication history on checkpoint docs
      adds  c63fc05   Allow target_uuid prefixes in find_source_seq
      adds  e147621   Write plan to /tmp/rebalance_plan.txt
      adds  e64dd02   Refactor mem3_rpc:add_checkpoint/2
      adds  fd3c7b5   Avoid decom:true nodes when fixing zoning
      adds  8665201   Fast forward internal repl. between file copies
      adds  7044f6c   Allow mem3_shards:local to take a list or binary
      adds  282e505   Get the shard suffix for a given database
      adds  ff02b9a   Remove mem3_util:owner
      adds  b3ddfca   Update mem3_rebalance to work with couch_mrview
      adds  5668712   Replace twig with couch_log
      adds  64c0c74   Update to use couch_stats
      adds  148093f   open dbs, nodes as sys dbs
      adds  be49046   fix stats paths
      adds  d92e4c4   Add and export n/2
      adds  37a57d3   Delete mem3_rebalance for now, currently useless
      adds  04345bd   Update mem3 for new changes API
      adds  3f229b2   Use ADMIN_CTX macro from couch_db.hrl
      adds  7a66ec1   Update config_listener behaviuor
      adds  97d9581   Don't restart event handler on termination
      adds  7f59504   Merge remote-tracking branch 'iilyak/2561-make-config-API-consistent'
      adds  c685590   Rename "shard_db" option to "shards_db" and "node_db" one to "nodes_db"
      adds  6e3254e   Add underscore prefix for nodes and dbs database names
      adds  ee36909   Merge remote-tracking branch 'kxepal/rename-system-databases'
      adds  a9608cf   add license file
      adds  f62d438   change readme for the couchdb project
      adds  fb5f56c   reformat to 80 chars/line
      adds  a8cf4df   Use dynamic http handlers
      adds  07c8656   Fix crypto deprecations
      adds  ae6fe15   Update to new couch_epi API
      adds  7f8ec0f   Fix typo in behaviour name
      adds  8b27392   Fix code formating
      adds  62ac9b2   Pass supervisor's children to couch_epi
      adds  2b71bc9   Fix EUnit tests.
      adds  de5f328   Merge remote-tracking branch 'cloudant/fix-eunit-couch-log'
      adds  80fd81b   Return HTTP 405 for unsupported request method
      adds  f208437   Don't start couch_log app if we don't use it
      adds  deed2f0   Remove maintenace modes from ushards
      adds  699308f   Revert "Remove maintenace modes from ushards"
      adds  d3ce227   Refactor mem3_sync events to dedicated module
      adds  d5e0a4a   Reduce frequency of mem3_sync:push/2 calls
      adds  130efcd   Use ets:select/2 to retrieve shards by name
      adds  0b70afb   Add read_concurrency option to mem3_shards table
      adds  8614279   Pass ADMIN_CTX when opening dbs
      adds  94ebe26   Make sure mem3_rep autocreates target shards
      adds  3865451   Merge remote branch 'cloudant:43260-create-target-shard-if-missing'
      adds  3a60de6   Fix type spec for range field in #shard{}
      adds  cea3db5   Merge remote branch 'cloudant:fix-type-spec-for-range-field'
      adds  1a176b0   Fix type-spec of mem3_sync:next_replication/3
      adds  15615b2   Merge remote branch 'cloudant:fix-type-spec'
      adds  432264a   Update handle_config_terminate API
      adds  252467c   Merge remote branch 'cloudant:3102-fix-config_subscription'
      adds  c4da61c   Chunk missing revisions before attempting to save on target
      adds  c3c5429   Merge remote branch 'cloudant:79066-port-chunkified-replicate_batch'
      adds  81ad700   Add 'src/mem3/' from commit 'c3c5429180de14a2b139f7741c934143ef73988c'
      adds  6068dc9   Remove Cloudant build system remnants
      adds  1d28932   New build system for rexi
      adds  f68f724   Fix up copyright headers
      adds  a0bd404   Build with rebar
      adds  00d0303   Remove references to margaret
      adds  f37c5b5   Switch to couch_log
      adds  6cd3b81   Change API to function per level
      adds  f5907c4   [1/3] Start a rexi_server per remote node
      adds  837f045   [2/3] Start a rexi_server per remote node
      adds  752921b   Add a temporary feature flag for server-per-node
      adds  ad79591   Use the unadulterated node name in server name
      adds  d1995a5   Start per-node servers regardless of feature flag
      adds  4c99447   Handle rexi-tagged messages
      adds  c275f92   Tag all replies to the coordinator
      adds  b28cbb7   Use '$initial_call' instead of initial_call
      adds  8f2c295   Implement new streaming APIs
      adds  945bfca   Exit with timeout instead of returning an atom
      adds  7733957   Allow callbacks to update their list of workers
      adds  cae29fe   Implement new stream2 API
      adds  11b3859   Remove old code_change, set module version to 1
      adds  1030906   Rejigger the governor implementation
      adds  ffb6dad   Start a supervised rexi_governor per node
      adds  b295083   Remove gov_manager from supervision
      adds  664f0b8   Try to start per-node servers immediately
      adds  8f9d160   Don't block the governor to send a message
      adds  5b58996   Rename governor to buffer
      adds  f938055   Revert "Tag all replies to the coordinator"
      adds  e271ae4   Removed upgrade statement in rexi:kill/2
      adds  e13e16f   Hibernate rexi_buffer when becoming idle
      adds  23cda37   Slight style tweaks to rexi_buffer hibernation
      adds  cd07cb8   Configure buffer limit by message count
      adds  4551014   Fix counting bug in buffer
      adds  9a1bbd0   Add max_count to state record
      adds  096f0cf   Fix error_limit = 0, and make it the default
      adds  535941d   Allow for timeout message while waiting for sender
      adds  6ba8701   Remove vestigal call to margaret
      adds  77dd2be   The couch_log functions are all two-arity
      adds  7d64200   Replace twig with couch_log
      adds  a853c32   Return ok for pattern matching in client code
      adds  bbf59a2   Update to use couch_stats
      adds  a327b7d   Remove useless eunit include
      adds  bb187a2   Add 'src/rexi/' from commit 'a327b7dbeb2b0050f7ca9072047bf8ef2d282833'
      adds  f4c6113   feat: monorepo fixes
      adds  b9e7e12   fix: update to folsom with github deps, fixes configure warning
      adds  69efaf5   Add Travis and Jenkins build status images to README
      adds  5bd0b65   Merge pull request #463 from apache/add-status-images
      adds  018ad8a   Fix mango full text detection
      adds  7349bd9   Reorganize exports from couch_db.erl
      adds  6a0b4b2   Move calculate_start_seq and owner_of
      adds  831932b   Update couch_server to not use the db record
      adds  4086f6d   Add a test helper for creating fake db records
      adds  8b682a1   Remove public access to the db record

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (13a511f)
             N -- N -- N   refs/heads/COUCHDB-3288-remove-public-db-record (8b682a1)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omits" are not gone; other references still
refer to them.  Any revisions marked "discards" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/                   |   41 +
 .gitignore                                         |  115 +-                                    |    2 +-
 Makefile                                           |   14 +-                                       |   10 +-
 README-DEV.rst                                     |   25 +-
 README.rst                                         |   10 +
 Vagrantfile                                        |    6 +-
 build-aux/                 |    9 +-
 build-aux/sphinx-build                             |   33 -
 configure                                          |   91 +-
 configure.ps1                                      |   10 +-
 dev/run                                            |    4 +-
 rebar.config.script                                |   78 +-
 rel/overlay/etc/default.ini                        |    4 +-
 rel/snap.ini                                       |   10 +
 rel/snap_run                                       |    9 +
 rel/snapcraft.yaml                                 |   47 +
 share/server/views.js                              |   23 +-
 snapcfg/snap.ini                                   |   10 +
 snapcfg/snap_run                                   |    9 +
 snapcraft.yaml                                     |   81 +
 src/chttpd/.travis.yml                             |   23 +
 src/chttpd/LICENSE                                 |  202 +++
 .../eunit.config => src/chttpd/include/chttpd.hrl  |   20 +-
 src/chttpd/include/chttpd_cors.hrl                 |   81 +
 src/chttpd/priv/stats_descriptions.cfg             |   24 +
 src/chttpd/src/                      |   46 +
 src/chttpd/src/chttpd.erl                          | 1229 +++++++++++++
 .../eunit.config => src/chttpd/src/chttpd_app.erl  |   17 +-
 src/chttpd/src/chttpd_auth.erl                     |   80 +
 src/chttpd/src/chttpd_auth_cache.erl               |  232 +++
 src/chttpd/src/chttpd_auth_request.erl             |   92 +
 src/chttpd/src/chttpd_cors.erl                     |  409 +++++
 src/chttpd/src/chttpd_db.erl                       | 1703 +++++++++++++++++
 src/chttpd/src/chttpd_epi.erl                      |   54 +
 src/chttpd/src/chttpd_external.erl                 |  219 +++
 src/chttpd/src/chttpd_handlers.erl                 |   86 +
 src/chttpd/src/chttpd_httpd_handlers.erl           |   43 +
 src/chttpd/src/chttpd_misc.erl                     |  441 +++++
 src/chttpd/src/chttpd_plugin.erl                   |   63 +
 src/chttpd/src/chttpd_rewrite.erl                  |  476 +++++
 src/chttpd/src/chttpd_show.erl                     |  260 +++
 src/chttpd/src/chttpd_sup.erl                      |  100 +
 .../chttpd/src/chttpd_test_util.erl                |   16 +-
 src/chttpd/src/chttpd_view.erl                     |  133 ++
 src/chttpd/test/chttpd_cors_test.erl               |  564 ++++++
 src/chttpd/test/chttpd_db_bulk_get_test.erl        |  340 ++++
 src/chttpd/test/chttpd_db_doc_size_tests.erl       |  173 ++
 src/chttpd/test/chttpd_db_test.erl                 |   99 +
 src/chttpd/test/chttpd_error_info_tests.erl        |  168 ++
 src/chttpd/test/chttpd_handlers_tests.erl          |   87 +
 src/chttpd/test/chttpd_open_revs_error_test.erl    |  105 ++
 src/chttpd/test/chttpd_plugin_tests.erl            |  187 ++
 src/chttpd/test/chttpd_welcome_test.erl            |   83 +
 src/couch/.gitignore                               |   15 +
 src/couch/.travis.yml                              |   23 +
 src/couch/LICENSE                                  |  201 +++
 src/couch/include/couch_db.hrl                     |  213 +++
 src/couch/include/couch_eunit.hrl                  |   76 +
 src/couch/include/couch_js_functions.hrl           |  170 ++
 .../priv/couch_ejson_compare/couch_ejson_compare.c |  443 +++++
 src/couch/priv/couch_js/help.h                     |   85 +
 src/couch/priv/couch_js/http.c                     |  701 +++++++
 .../couch/priv/couch_js/http.h                     |   27 +-
 src/couch/priv/couch_js/main.c                     |  489 +++++
 src/couch/priv/couch_js/utf8.c                     |  297 +++
 .../validate.js => src/couch/priv/couch_js/utf8.h  |   20 +-
 src/couch/priv/couch_js/util.c                     |  298 +++
 src/couch/priv/couch_js/util.h                     |   37 +
 src/couch/priv/icu_driver/couch_icu_driver.c       |  184 ++
 .../couch/priv/spawnkillable/ |   12 +-
 .../priv/spawnkillable/couchspawnkillable_win.c    |  145 ++
 src/couch/priv/stats_descriptions.cfg              |  228 +++
 src/couch/rebar.config.script                      |  147 ++
 src/couch/src/                        |   52 +
 src/couch/src/couch.erl                            |   65 +
 .../sys.config => src/couch/src/couch_app.erl      |   20 +-
 src/couch/src/couch_att.erl                        |  837 +++++++++
 src/couch/src/couch_auth_cache.erl                 |  491 +++++
 src/couch/src/couch_base32.erl                     |  127 ++
 src/couch/src/couch_btree.erl                      |  790 ++++++++
 src/couch/src/couch_changes.erl                    |  910 ++++++++++
 src/couch/src/couch_compaction_daemon.erl          |  542 ++++++
 src/couch/src/couch_compress.erl                   |   85 +
 src/couch/src/couch_crypto.erl                     |   79 +
 src/couch/src/couch_db.erl                         | 1906 ++++++++++++++++++++
 src/couch/src/couch_db_epi.erl                     |   51 +
 src/couch/src/couch_db_header.erl                  |  405 +++++
 src/couch/src/couch_db_int.hrl                     |   38 +
 src/couch/src/couch_db_plugin.erl                  |   83 +
 src/couch/src/couch_db_updater.erl                 | 1452 +++++++++++++++
 src/couch/src/couch_debug.erl                      |   52 +
 src/couch/src/couch_doc.erl                        |  465 +++++
 src/couch/src/couch_drv.erl                        |   63 +
 src/couch/src/couch_ejson_compare.erl              |  107 ++
 src/couch/src/couch_emsort.erl                     |  318 ++++
 src/couch/src/couch_event_sup.erl                  |   74 +
 src/couch/src/couch_external_manager.erl           |  120 ++
 src/couch/src/couch_external_server.erl            |   90 +
 src/couch/src/couch_file.erl                       |  747 ++++++++
 src/couch/src/couch_hotp.erl                       |   30 +
 src/couch/src/couch_httpd.erl                      | 1242 +++++++++++++
 src/couch/src/couch_httpd_auth.erl                 |  501 +++++
 src/couch/src/couch_httpd_db.erl                   | 1252 +++++++++++++
 src/couch/src/couch_httpd_external.erl             |  178 ++
 .../couch/src/couch_httpd_handlers.erl             |   18 +-
 src/couch/src/couch_httpd_misc_handlers.erl        |  323 ++++
 src/couch/src/couch_httpd_multipart.erl            |  263 +++
 src/couch/src/couch_httpd_oauth.erl                |  391 ++++
 src/couch/src/couch_httpd_proxy.erl                |  426 +++++
 src/couch/src/couch_httpd_rewrite.erl              |  481 +++++
 src/couch/src/couch_httpd_vhost.erl                |  419 +++++
 src/couch/src/couch_key_tree.erl                   |  504 ++++++
 src/couch/src/couch_lru.erl                        |   73 +
 src/couch/src/couch_native_process.erl             |  416 +++++
 src/couch/src/couch_os_daemons.erl                 |  395 ++++
 src/couch/src/couch_os_process.erl                 |  255 +++
 src/couch/src/couch_passwords.erl                  |  137 ++
 src/couch/src/couch_primary_sup.erl                |   42 +
 src/couch/src/couch_proc_manager.erl               |  548 ++++++
 src/couch/src/couch_query_servers.erl              |  569 ++++++
 src/couch/src/couch_secondary_sup.erl              |   43 +
 src/couch/src/couch_server.erl                     |  615 +++++++
 .../couch/src/couch_server_int.hrl                 |   15 +-
 src/couch/src/couch_stream.erl                     |  307 ++++
 src/couch/src/couch_sup.erl                        |  169 ++
 src/couch/src/couch_task_status.erl                |  162 ++
 .../eunit.config => src/couch/src/couch_totp.erl   |   15 +-
 src/couch/src/couch_users_db.erl                   |  137 ++
 src/couch/src/couch_util.erl                       |  607 +++++++
 src/couch/src/couch_uuids.erl                      |  122 ++
 src/couch/src/couch_work_queue.erl                 |  188 ++
 src/couch/src/test_request.erl                     |   97 +
 src/couch/src/test_util.erl                        |  272 +++
 src/couch/test/chttpd_endpoints_tests.erl          |  184 ++
 src/couch/test/couch_auth_cache_tests.erl          |  356 ++++
 .../couch/test/couch_base32_tests.erl              |   20 +-
 src/couch/test/couch_btree_tests.erl               |  567 ++++++
 src/couch/test/couch_changes_tests.erl             |  936 ++++++++++
 src/couch/test/couch_compress_tests.erl            |   74 +
 src/couch/test/couch_db_doc_tests.erl              |   94 +
 src/couch/test/couch_db_mpr_tests.erl              |  133 ++
 src/couch/test/couch_db_plugin_tests.erl           |  202 +++
 src/couch/test/couch_db_tests.erl                  |  130 ++
 src/couch/test/couch_doc_json_tests.erl            |  418 +++++
 src/couch/test/couch_doc_tests.erl                 |  136 ++
 src/couch/test/couch_etag_tests.erl                |   30 +
 src/couch/test/couch_file_tests.erl                |  500 +++++
 src/couch/test/couch_hotp_tests.erl                |   28 +
 src/couch/test/couch_key_tree_tests.erl            |  420 +++++
 src/couch/test/couch_lru_tests.erl                 |  109 ++
 src/couch/test/couch_passwords_tests.erl           |   54 +
 src/couch/test/couch_server_tests.erl              |   89 +
 src/couch/test/couch_stream_tests.erl              |  120 ++
 src/couch/test/couch_task_status_tests.erl         |  233 +++
 src/couch/test/couch_totp_tests.erl                |   55 +
 src/couch/test/couch_util_tests.erl                |  170 ++
 src/couch/test/couch_uuids_tests.erl               |  155 ++
 src/couch/test/couch_work_queue_tests.erl          |  402 +++++
 src/couch/test/couchdb_attachments_tests.erl       |  633 +++++++
 src/couch/test/couchdb_auth_tests.erl              |   94 +
 src/couch/test/couchdb_compaction_daemon_tests.erl |  297 +++
 src/couch/test/couchdb_cors_tests.erl              |  344 ++++
 src/couch/test/couchdb_csp_tests.erl               |   82 +
 src/couch/test/couchdb_design_doc_tests.erl        |   88 +
 src/couch/test/couchdb_file_compression_tests.erl  |  224 +++
 src/couch/test/couchdb_http_proxy_tests.erl        |  454 +++++
 src/couch/test/couchdb_location_header_tests.erl   |   78 +
 src/couch/test/couchdb_mrview_cors_tests.erl       |  139 ++
 src/couch/test/couchdb_mrview_tests.erl            |  199 ++
 src/couch/test/couchdb_os_daemons_tests.erl        |  250 +++
 src/couch/test/couchdb_os_proc_pool.erl            |  305 ++++
 src/couch/test/couchdb_update_conflicts_tests.erl  |  231 +++
 src/couch/test/couchdb_vhosts_tests.erl            |  440 +++++
 src/couch/test/couchdb_views_tests.erl             |  709 ++++++++
 .../fixtures/3b835456c235b1827e012e25666152f3.view |  Bin 0 -> 4192 bytes
 src/couch/test/fixtures/couch_stats_aggregates.cfg |   19 +
 .../couch/test/fixtures/couch_stats_aggregates.ini |    7 +-
 src/couch/test/fixtures/logo.png                   |  Bin 0 -> 3010 bytes
 src/couch/test/fixtures/multipart.http             |   13 +
 .../couch/test/fixtures/      |   10 +-
 .../couch/test/fixtures/    |    8 +-
 src/couch/test/fixtures/os_daemon_configer.escript |   98 +
 .../couch/test/fixtures/   |    8 +-
 .../couch/test/fixtures/   |    8 +-
 .../couch/test/fixtures/os_daemon_looper.escript   |   18 +-
 src/couch/test/fixtures/test.couch                 |  Bin 0 -> 16482 bytes
 src/couch/test/global_changes_tests.erl            |  158 ++
 src/couch/test/json_stream_parse_tests.erl         |  151 ++
 src/couch/test/test_web.erl                        |  112 ++
 src/couch_epi/.gitignore                           |    4 +
 src/couch_epi/.travis.yml                          |   34 +
 src/couch_epi/LICENSE                              |  203 +++
 src/couch_epi/                            |  133 ++
 src/couch_epi/rebar.config                         |    3 +
 .../couch_epi/src/         |   21 +-
 src/couch_epi/src/couch_epi.erl                    |  178 ++
 .../couch_epi/src/couch_epi.hrl                    |    9 +-
 .../couch_epi/src/couch_epi_app.erl                |   14 +-
 src/couch_epi/src/couch_epi_codechange_monitor.erl |   63 +
 src/couch_epi/src/couch_epi_codegen.erl            |   80 +
 src/couch_epi/src/couch_epi_data.erl               |  114 ++
 src/couch_epi/src/couch_epi_data_gen.erl           |  266 +++
 src/couch_epi/src/couch_epi_functions.erl          |   49 +
 src/couch_epi/src/couch_epi_functions_gen.erl      |  402 +++++
 src/couch_epi/src/couch_epi_module_keeper.erl      |  161 ++
 src/couch_epi/src/couch_epi_plugin.erl             |  386 ++++
 src/couch_epi/src/couch_epi_sup.erl                |  235 +++
 src/couch_epi/src/couch_epi_util.erl               |   37 +
 src/couch_epi/test/couch_epi_tests.erl             |  636 +++++++
 src/couch_epi/test/fixtures/app_data1.cfg          |    4 +
 src/couch_epi/test/fixtures/app_data2.cfg          |    8 +
 src/couch_event/.gitignore                         |    2 +
 src/couch_event/LICENSE                            |  202 +++
 src/couch_event/                          |    3 +
 src/couch_event/rebar.config                       |    1 +
 .../couch_event/src/            |   17 +-
 src/couch_event/src/couch_event.erl                |   65 +
 .../couch_event/src/couch_event_app.erl            |   16 +-
 .../couch_event/src/couch_event_int.hrl            |    8 +-
 src/couch_event/src/couch_event_listener.erl       |  238 +++
 src/couch_event/src/couch_event_listener_mfa.erl   |  107 ++
 src/couch_event/src/couch_event_os_listener.erl    |   76 +
 src/couch_event/src/couch_event_os_sup.erl         |   82 +
 src/couch_event/src/couch_event_server.erl         |  156 ++
 src/couch_event/src/couch_event_sup2.erl           |   51 +
 src/couch_index/.gitignore                         |    3 +
 src/couch_index/.travis.yml                        |   43 +
 src/couch_index/LICENSE                            |  202 +++
 .../couch_index/src/            |   18 +-
 src/couch_index/src/couch_index.erl                |  578 ++++++
 .../couch_index/src/couch_index_app.erl            |   17 +-
 src/couch_index/src/couch_index_compactor.erl      |  121 ++
 .../couch_index/src/couch_index_epi.erl            |   43 +-
 src/couch_index/src/couch_index_plugin.erl         |   51 +
 src/couch_index/src/couch_index_server.erl         |  265 +++
 .../couch_index/src/couch_index_sup.erl            |   20 +-
 src/couch_index/src/couch_index_updater.erl        |  211 +++
 src/couch_index/src/couch_index_util.erl           |   78 +
 .../test/couch_index_compaction_tests.erl          |   96 +
 src/couch_log/.gitignore                           |    3 +
 src/couch_log/.travis.yml                          |   43 +
 src/couch_log/LICENSE                              |  202 +++
 .../couch_log/include/couch_log.hrl                |   11 +-
 src/couch_log/priv/stats_descriptions.cfg          |   48 +
 src/couch_log/rebar.config                         |    2 +
 .../couch_log/src/                |   14 +-
 src/couch_log/src/couch_log.erl                    |   75 +
 .../couch_log/src/couch_log_app.erl                |   13 +-
 src/couch_log/src/couch_log_config.erl             |  100 +
 .../couch_log/src/couch_log_config_dyn.erl         |   20 +-
 src/couch_log/src/couch_log_error_logger_h.erl     |   57 +
 src/couch_log/src/couch_log_formatter.erl          |  432 +++++
 src/couch_log/src/couch_log_monitor.erl            |   66 +
 src/couch_log/src/couch_log_server.erl             |  106 ++
 src/couch_log/src/couch_log_sup.erl                |   89 +
 src/couch_log/src/couch_log_trunc_io.erl           |  838 +++++++++
 src/couch_log/src/couch_log_trunc_io_fmt.erl       |  552 ++++++
 src/couch_log/src/couch_log_util.erl               |  149 ++
 src/couch_log/src/couch_log_writer.erl             |   83 +
 src/couch_log/src/couch_log_writer_file.erl        |  140 ++
 src/couch_log/src/couch_log_writer_stderr.erl      |   54 +
 src/couch_log/src/couch_log_writer_syslog.erl      |  159 ++
 .../test/couch_log_config_listener_test.erl        |   67 +
 src/couch_log/test/couch_log_config_test.erl       |  110 ++
 .../test/couch_log_error_logger_h_test.erl         |   45 +
 src/couch_log/test/couch_log_formatter_test.erl    |  796 ++++++++
 src/couch_log/test/couch_log_monitor_test.erl      |   67 +
 src/couch_log/test/couch_log_server_test.erl       |  118 ++
 src/couch_log/test/couch_log_test.erl              |   85 +
 src/couch_log/test/couch_log_test_util.erl         |  153 ++
 src/couch_log/test/couch_log_trunc_io_fmt_test.erl |   92 +
 src/couch_log/test/couch_log_util_test.erl         |   55 +
 src/couch_log/test/couch_log_writer_ets.erl        |   49 +
 src/couch_log/test/couch_log_writer_file_test.erl  |  169 ++
 .../test/couch_log_writer_stderr_test.erl          |   58 +
 .../test/couch_log_writer_syslog_test.erl          |  122 ++
 src/couch_log/test/couch_log_writer_test.erl       |   54 +
 src/couch_mrview/.travis.yml                       |   23 +
 src/couch_mrview/LICENSE                           |  202 +++
 src/couch_mrview/include/couch_mrview.hrl          |  116 ++
 src/couch_mrview/priv/stats_descriptions.cfg       |   24 +
 .../couch_mrview/src/          |   23 +-
 src/couch_mrview/src/couch_mrview.erl              |  700 +++++++
 .../couch_mrview/src/couch_mrview_changes.erl      |   10 +-
 src/couch_mrview/src/couch_mrview_cleanup.erl      |   47 +
 src/couch_mrview/src/couch_mrview_compactor.erl    |  337 ++++
 src/couch_mrview/src/couch_mrview_http.erl         |  630 +++++++
 src/couch_mrview/src/couch_mrview_index.erl        |  193 ++
 src/couch_mrview/src/couch_mrview_show.erl         |  469 +++++
 src/couch_mrview/src/couch_mrview_test_util.erl    |  119 ++
 .../src/couch_mrview_update_notifier.erl           |   49 +
 src/couch_mrview/src/couch_mrview_updater.erl      |  486 +++++
 src/couch_mrview/src/couch_mrview_util.erl         | 1098 +++++++++++
 .../test/couch_mrview_all_docs_tests.erl           |  140 ++
 .../test/couch_mrview_changes_since_tests.erl      |  166 ++
 .../test/couch_mrview_collation_tests.erl          |  207 +++
 .../test/couch_mrview_compact_tests.erl            |   86 +
 .../test/couch_mrview_ddoc_validation_tests.erl    |  387 ++++
 src/couch_mrview/test/couch_mrview_http_tests.erl  |   28 +
 .../test/couch_mrview_index_changes_tests.erl      |  226 +++
 .../test/couch_mrview_index_info_tests.erl         |   75 +
 .../test/couch_mrview_map_views_tests.erl          |  123 ++
 .../test/couch_mrview_red_views_tests.erl          |   95 +
 src/couch_mrview/test/couch_mrview_util_tests.erl  |   39 +
 src/couch_peruser/.gitignore                       |    9 +
 src/couch_peruser/.travis.yml                      |   24 +
 src/couch_peruser/LICENSE                          |  202 +++
 src/couch_peruser/                        |   17 +
 .../couch_peruser/src/        |   15 +-
 src/couch_peruser/src/couch_peruser.erl            |  218 +++
 src/couch_peruser/test/couch_peruser_test.erl      |  279 +++
 src/couch_plugins/LICENSE                          |  202 +++
 src/couch_plugins/                      |   40 +
 src/couch_plugins/                        |  159 ++
 .../couch_plugins/src/        |   16 +-
 src/couch_plugins/src/couch_plugins.erl            |  304 ++++
 src/couch_plugins/src/couch_plugins_httpd.erl      |   65 +
 src/couch_replicator/.gitignore                    |    4 +
 src/couch_replicator/.travis.yml                   |   44 +
 src/couch_replicator/LICENSE                       |  202 +++
 src/couch_replicator/priv/stats_descriptions.cfg   |   56 +
 src/couch_replicator/src/  |   46 +
 src/couch_replicator/src/couch_replicator.erl      | 1044 +++++++++++
 .../couch_replicator/src/couch_replicator.hrl      |   17 +-
 .../src/couch_replicator_api_wrap.erl              |  992 ++++++++++
 .../src/couch_replicator_api_wrap.hrl              |   29 +-
 .../couch_replicator/src/couch_replicator_app.erl  |   14 +-
 .../src/couch_replicator_changes_reader.erl        |  131 ++
 .../src/couch_replicator_httpc.erl                 |  450 +++++
 .../src/couch_replicator_httpc_pool.erl            |  192 ++
 .../src/couch_replicator_httpd.erl                 |   65 +
 .../src/couch_replicator_job_sup.erl               |   29 +
 .../src/couch_replicator_js_functions.hrl          |  178 ++
 .../src/couch_replicator_manager.erl               | 1043 +++++++++++
 .../src/couch_replicator_notifier.erl              |   58 +
 .../src/couch_replicator_stats.erl                 |   83 +
 src/couch_replicator/src/couch_replicator_sup.erl  |   43 +
 .../src/couch_replicator_utils.erl                 |  554 ++++++
 .../src/couch_replicator_worker.erl                |  547 ++++++
 src/couch_replicator/src/json_stream_parse.erl     |  432 +++++
 .../test/couch_replicator_compact_tests.erl        |  445 +++++
 .../test/couch_replicator_filtered_tests.erl       |  244 +++
 .../test/couch_replicator_httpc_pool_tests.erl     |  174 ++
 .../test/couch_replicator_id_too_long_tests.erl    |   94 +
 .../test/couch_replicator_large_atts_tests.erl     |  124 ++
 .../test/couch_replicator_many_leaves_tests.erl    |  220 +++
 .../test/couch_replicator_missing_stubs_tests.erl  |  157 ++
 .../test/couch_replicator_modules_load_tests.erl   |   40 +
 .../test/couch_replicator_selector_tests.erl       |  121 ++
 ...ch_replicator_small_max_request_size_target.erl |  186 ++
 .../test/couch_replicator_test_helper.erl          |  119 ++
 .../couch_replicator_use_checkpoints_tests.erl     |  189 ++
 src/couch_stats/.gitignore                         |    6 +
 src/couch_stats/LICENSE                            |  201 +++
 src/couch_stats/                          |   29 +
 src/couch_stats/priv/sample_descriptions.cfg       |   15 +
 .../couch_stats/src/            |   17 +-
 src/couch_stats/src/couch_stats.erl                |  126 ++
 src/couch_stats/src/couch_stats_aggregator.erl     |  149 ++
 .../couch_stats/src/couch_stats_app.erl            |   15 +-
 src/couch_stats/src/couch_stats_httpd.erl          |  113 ++
 .../src/couch_stats_process_tracker.erl            |   82 +
 .../couch_stats/src/couch_stats_sup.erl            |   27 +-
 src/couch_tests/.gitignore                         |    6 +
 .../couch_tests/include/couch_tests.hrl            |   22 +-
 .../sys.config => src/couch_tests/rebar.config     |   11 +-
 src/couch_tests/setups/couch_epi_dispatch.erl      |   95 +
 .../couch_tests/src/            |   15 +-
 src/couch_tests/src/couch_tests.erl                |  228 +++
 src/couch_tests/src/couch_tests_combinatorics.erl  |  137 ++
 src/couch_tests/test/couch_tests_app_tests.erl     |  102 ++
 src/ddoc_cache/LICENSE                             |  202 +++
 src/ddoc_cache/                           |    4 +
 src/ddoc_cache/priv/stats_descriptions.cfg         |   12 +
 src/ddoc_cache/src/              |   44 +
 src/ddoc_cache/src/ddoc_cache.erl                  |  103 ++
 .../ddoc_cache/src/ddoc_cache_app.erl              |   14 +-
 src/ddoc_cache/src/ddoc_cache_opener.erl           |  292 +++
 src/ddoc_cache/src/ddoc_cache_sup.erl              |   67 +
 .../ddoc_cache/src/ddoc_cache_util.erl             |   23 +-
 src/fabric/.travis.yml                             |   23 +
 src/fabric/LICENSE                                 |  202 +++
 src/fabric/                               |   18 +
 .../eunit.config => src/fabric/include/fabric.hrl  |   36 +-
 src/fabric/priv/stats_descriptions.cfg             |   28 +
 rel/files/eunit.config => src/fabric/rebar.config  |    7 +-
 src/fabric/src/                      |   50 +
 src/fabric/src/fabric.erl                          |  589 ++++++
 src/fabric/src/fabric_db_create.erl                |  205 +++
 src/fabric/src/fabric_db_delete.erl                |   98 +
 src/fabric/src/fabric_db_doc_count.erl             |   71 +
 src/fabric/src/fabric_db_info.erl                  |  129 ++
 src/fabric/src/fabric_db_meta.erl                  |  174 ++
 src/fabric/src/fabric_db_update_listener.erl       |  177 ++
 src/fabric/src/fabric_dict.erl                     |   57 +
 src/fabric/src/fabric_doc_attachments.erl          |  155 ++
 src/fabric/src/fabric_doc_missing_revs.erl         |   97 +
 src/fabric/src/fabric_doc_open.erl                 |  539 ++++++
 src/fabric/src/fabric_doc_open_revs.erl            |  545 ++++++
 src/fabric/src/fabric_doc_update.erl               |  357 ++++
 src/fabric/src/fabric_group_info.erl               |  156 ++
 src/fabric/src/fabric_rpc.erl                      |  499 +++++
 src/fabric/src/fabric_util.erl                     |  373 ++++
 src/fabric/src/fabric_view.erl                     |  403 +++++
 src/fabric/src/fabric_view_all_docs.erl            |  273 +++
 src/fabric/src/fabric_view_changes.erl             |  566 ++++++
 src/fabric/src/fabric_view_map.erl                 |  252 +++
 src/fabric/src/fabric_view_reduce.erl              |  157 ++
 src/global_changes/.gitignore                      |    2 +
 src/global_changes/.travis.yml                     |   23 +
 src/global_changes/LICENSE                         |  203 +++
 src/global_changes/                       |   27 +
 src/global_changes/priv/stats_descriptions.cfg     |   20 +
 src/global_changes/src/      |   32 +
 .../global_changes/src/global_changes_app.erl      |   19 +-
 src/global_changes/src/global_changes_epi.erl      |   51 +
 src/global_changes/src/global_changes_httpd.erl    |  285 +++
 .../src/global_changes_httpd_handlers.erl          |   18 +-
 src/global_changes/src/global_changes_listener.erl |  165 ++
 src/global_changes/src/global_changes_plugin.erl   |   40 +
 src/global_changes/src/global_changes_server.erl   |  222 +++
 src/global_changes/src/global_changes_sup.erl      |   84 +
 .../global_changes/src/global_changes_util.erl     |   21 +-
 .../test/global_changes_hooks_tests.erl            |  156 ++
 src/mango/.gitignore                               |    5 +
 src/mango/.travis.yml                              |   29 +
 src/mango/LICENSE.txt                              |  202 +++
 src/mango/Makefile                                 |   56 +
 src/mango/                                |  372 ++++
 src/mango/                                  |    9 +
 .../eunit.config => src/mango/rebar.config.script  |   18 +-
 .../mango/src/                        |   23 +-
 rel/files/sys.config => src/mango/src/mango.hrl    |    4 +-
 .../eunit.config => src/mango/src/mango_app.erl    |   17 +-
 src/mango/src/mango_crud.erl                       |  177 ++
 src/mango/src/mango_cursor.erl                     |  136 ++
 .../sys.config => src/mango/src/mango_cursor.hrl   |   15 +-
 src/mango/src/mango_cursor_special.erl             |   61 +
 src/mango/src/mango_cursor_text.erl                |  310 ++++
 src/mango/src/mango_cursor_view.erl                |  273 +++
 src/mango/src/mango_doc.erl                        |  537 ++++++
 .../eunit.config => src/mango/src/mango_epi.erl    |   42 +-
 src/mango/src/mango_error.erl                      |  372 ++++
 src/mango/src/mango_fields.erl                     |   55 +
 src/mango/src/mango_httpd.erl                      |  306 ++++
 src/mango/src/mango_httpd_handlers.erl             |   24 +
 src/mango/src/mango_idx.erl                        |  369 ++++
 .../sys.config => src/mango/src/mango_idx.hrl      |   11 +-
 src/mango/src/mango_idx_special.erl                |   98 +
 src/mango/src/mango_idx_text.erl                   |  425 +++++
 src/mango/src/mango_idx_view.erl                   |  490 +++++
 src/mango/src/mango_json.erl                       |  121 ++
 src/mango/src/mango_native_proc.erl                |  347 ++++
 src/mango/src/mango_opts.erl                       |  314 ++++
 src/mango/src/mango_selector.erl                   |  568 ++++++
 src/mango/src/mango_selector_text.erl              |  416 +++++
 src/mango/src/mango_sort.erl                       |   75 +
 .../eunit.config => src/mango/src/mango_sup.erl    |   20 +-
 src/mango/src/mango_util.erl                       |  423 +++++
 src/mango/test/               |  302 ++++
 src/mango/test/               |  266 +++
 src/mango/test/                 |  143 ++
 src/mango/test/                     |  151 ++
 src/mango/test/          |  178 ++
 src/mango/test/               |  653 +++++++
 src/mango/test/       |   73 +
 src/mango/test/   |  158 ++
 src/mango/test/               |  137 ++
 src/mango/test/                |  101 ++
 .../test/     |   42 +
 src/mango/test/            |   39 +
 src/mango/test/                           |   12 +
 src/mango/test/                      |  604 +++++++
 src/mango/test/                       |  408 +++++
 src/mango/test/                            |  245 +++
 src/mango/test/                        |  490 +++++
 src/mem3/LICENSE                                   |  202 +++
 src/mem3/                                 |   43 +
 src/mem3/include/mem3.hrl                          |   52 +
 src/mem3/priv/stats_descriptions.cfg               |   12 +
 src/mem3/src/                          |   53 +
 src/mem3/src/mem3.erl                              |  309 ++++
 rel/files/sys.config => src/mem3/src/mem3_app.erl  |   10 +-
 .../eunit.config => src/mem3/src/mem3_epi.erl      |   44 +-
 src/mem3/src/mem3_httpd.erl                        |   66 +
 .../mem3/src/mem3_httpd_handlers.erl               |   16 +-
 src/mem3/src/mem3_nodes.erl                        |  146 ++
 src/mem3/src/mem3_rep.erl                          |  481 +++++
 src/mem3/src/mem3_rpc.erl                          |  586 ++++++
 src/mem3/src/mem3_shards.erl                       |  419 +++++
 src/mem3/src/mem3_sup.erl                          |   35 +
 src/mem3/src/mem3_sync.erl                         |  319 ++++
 src/mem3/src/mem3_sync_event.erl                   |   86 +
 src/mem3/src/mem3_sync_event_listener.erl          |  309 ++++
 src/mem3/src/mem3_sync_nodes.erl                   |  115 ++
 src/mem3/src/mem3_sync_security.erl                |  107 ++
 src/mem3/src/mem3_util.erl                         |  253 +++
 .../vm.args => src/mem3/test/01-config-default.ini |    3 +
 src/mem3/test/mem3_util_test.erl                   |  167 ++
 src/rexi/                                 |   23 +
 rel/files/sys.config => src/rexi/include/rexi.hrl  |    9 +-
 src/rexi/priv/stats_descriptions.cfg               |   24 +
 .../couch_epi.config => src/rexi/src/  |   33 +-
 src/rexi/src/rexi.erl                              |  286 +++
 .../eunit.config => src/rexi/src/rexi_app.erl      |   14 +-
 src/rexi/src/rexi_buffer.erl                       |  104 ++
 src/rexi/src/rexi_monitor.erl                      |   64 +
 src/rexi/src/rexi_server.erl                       |  178 ++
 src/rexi/src/rexi_server_mon.erl                   |  130 ++
 .../sys.config => src/rexi/src/rexi_server_sup.erl |   18 +-
 src/rexi/src/rexi_sup.erl                          |   64 +
 src/rexi/src/rexi_utils.erl                        |  103 ++
 test/build/                       |   74 +-
 test/javascript/run                                |   18 +-
 test/javascript/tests/basics.js                    |    4 +-
 test/javascript/tests/replication.js               |   23 +-
 test/javascript/tests/uuids.js                     |    2 +-
 519 files changed, 96285 insertions(+), 602 deletions(-)
 create mode 100644 .github/
 create mode 100644 rel/snap.ini
 create mode 100755 rel/snap_run
 create mode 100644 rel/snapcraft.yaml
 create mode 100644 snapcfg/snap.ini
 create mode 100755 snapcfg/snap_run
 create mode 100644 snapcraft.yaml
 create mode 100644 src/chttpd/.travis.yml
 create mode 100644 src/chttpd/LICENSE
 copy rel/files/eunit.config => src/chttpd/include/chttpd.hrl (68%)
 create mode 100644 src/chttpd/include/chttpd_cors.hrl
 create mode 100644 src/chttpd/priv/stats_descriptions.cfg
 create mode 100644 src/chttpd/src/
 create mode 100644 src/chttpd/src/chttpd.erl
 copy rel/files/eunit.config => src/chttpd/src/chttpd_app.erl (63%)
 create mode 100644 src/chttpd/src/chttpd_auth.erl
 create mode 100644 src/chttpd/src/chttpd_auth_cache.erl
 create mode 100644 src/chttpd/src/chttpd_auth_request.erl
 create mode 100644 src/chttpd/src/chttpd_cors.erl
 create mode 100644 src/chttpd/src/chttpd_db.erl
 create mode 100644 src/chttpd/src/chttpd_epi.erl
 create mode 100644 src/chttpd/src/chttpd_external.erl
 create mode 100644 src/chttpd/src/chttpd_handlers.erl
 create mode 100644 src/chttpd/src/chttpd_httpd_handlers.erl
 create mode 100644 src/chttpd/src/chttpd_misc.erl
 create mode 100644 src/chttpd/src/chttpd_plugin.erl
 create mode 100644 src/chttpd/src/chttpd_rewrite.erl
 create mode 100644 src/chttpd/src/chttpd_show.erl
 create mode 100644 src/chttpd/src/chttpd_sup.erl
 copy rel/files/sys.config => src/chttpd/src/chttpd_test_util.erl (63%)
 create mode 100644 src/chttpd/src/chttpd_view.erl
 create mode 100644 src/chttpd/test/chttpd_cors_test.erl
 create mode 100644 src/chttpd/test/chttpd_db_bulk_get_test.erl
 create mode 100644 src/chttpd/test/chttpd_db_doc_size_tests.erl
 create mode 100644 src/chttpd/test/chttpd_db_test.erl
 create mode 100644 src/chttpd/test/chttpd_error_info_tests.erl
 create mode 100644 src/chttpd/test/chttpd_handlers_tests.erl
 create mode 100644 src/chttpd/test/chttpd_open_revs_error_test.erl
 create mode 100644 src/chttpd/test/chttpd_plugin_tests.erl
 create mode 100644 src/chttpd/test/chttpd_welcome_test.erl
 create mode 100644 src/couch/.gitignore
 create mode 100644 src/couch/.travis.yml
 create mode 100644 src/couch/LICENSE
 create mode 100644 src/couch/include/couch_db.hrl
 create mode 100644 src/couch/include/couch_eunit.hrl
 create mode 100644 src/couch/include/couch_js_functions.hrl
 create mode 100644 src/couch/priv/couch_ejson_compare/couch_ejson_compare.c
 create mode 100644 src/couch/priv/couch_js/help.h
 create mode 100644 src/couch/priv/couch_js/http.c
 copy test/javascript/tests/form_submit.js => src/couch/priv/couch_js/http.h (51%)
 create mode 100644 src/couch/priv/couch_js/main.c
 create mode 100644 src/couch/priv/couch_js/utf8.c
 copy share/server/validate.js => src/couch/priv/couch_js/utf8.h (69%)
 create mode 100644 src/couch/priv/couch_js/util.c
 create mode 100644 src/couch/priv/couch_js/util.h
 create mode 100644 src/couch/priv/icu_driver/couch_icu_driver.c
 copy rel/files/README => src/couch/priv/spawnkillable/ (71%)
 create mode 100644 src/couch/priv/spawnkillable/couchspawnkillable_win.c
 create mode 100644 src/couch/priv/stats_descriptions.cfg
 create mode 100644 src/couch/rebar.config.script
 create mode 100644 src/couch/src/
 create mode 100644 src/couch/src/couch.erl
 copy rel/files/sys.config => src/couch/src/couch_app.erl (65%)
 create mode 100644 src/couch/src/couch_att.erl
 create mode 100644 src/couch/src/couch_auth_cache.erl
 create mode 100644 src/couch/src/couch_base32.erl
 create mode 100644 src/couch/src/couch_btree.erl
 create mode 100644 src/couch/src/couch_changes.erl
 create mode 100644 src/couch/src/couch_compaction_daemon.erl
 create mode 100644 src/couch/src/couch_compress.erl
 create mode 100644 src/couch/src/couch_crypto.erl
 create mode 100644 src/couch/src/couch_db.erl
 create mode 100644 src/couch/src/couch_db_epi.erl
 create mode 100644 src/couch/src/couch_db_header.erl
 create mode 100644 src/couch/src/couch_db_int.hrl
 create mode 100644 src/couch/src/couch_db_plugin.erl
 create mode 100644 src/couch/src/couch_db_updater.erl
 create mode 100644 src/couch/src/couch_debug.erl
 create mode 100644 src/couch/src/couch_doc.erl
 create mode 100644 src/couch/src/couch_drv.erl
 create mode 100644 src/couch/src/couch_ejson_compare.erl
 create mode 100644 src/couch/src/couch_emsort.erl
 create mode 100644 src/couch/src/couch_event_sup.erl
 create mode 100644 src/couch/src/couch_external_manager.erl
 create mode 100644 src/couch/src/couch_external_server.erl
 create mode 100644 src/couch/src/couch_file.erl
 create mode 100644 src/couch/src/couch_hotp.erl
 create mode 100644 src/couch/src/couch_httpd.erl
 create mode 100644 src/couch/src/couch_httpd_auth.erl
 create mode 100644 src/couch/src/couch_httpd_db.erl
 create mode 100644 src/couch/src/couch_httpd_external.erl
 copy rel/files/eunit.config => src/couch/src/couch_httpd_handlers.erl (56%)
 create mode 100644 src/couch/src/couch_httpd_misc_handlers.erl
 create mode 100644 src/couch/src/couch_httpd_multipart.erl
 create mode 100644 src/couch/src/couch_httpd_oauth.erl
 create mode 100644 src/couch/src/couch_httpd_proxy.erl
 create mode 100644 src/couch/src/couch_httpd_rewrite.erl
 create mode 100644 src/couch/src/couch_httpd_vhost.erl
 create mode 100644 src/couch/src/couch_key_tree.erl
 create mode 100644 src/couch/src/couch_lru.erl
 create mode 100644 src/couch/src/couch_native_process.erl
 create mode 100644 src/couch/src/couch_os_daemons.erl
 create mode 100644 src/couch/src/couch_os_process.erl
 create mode 100644 src/couch/src/couch_passwords.erl
 create mode 100644 src/couch/src/couch_primary_sup.erl
 create mode 100644 src/couch/src/couch_proc_manager.erl
 create mode 100644 src/couch/src/couch_query_servers.erl
 create mode 100644 src/couch/src/couch_secondary_sup.erl
 create mode 100644 src/couch/src/couch_server.erl
 copy rel/files/eunit.config => src/couch/src/couch_server_int.hrl (82%)
 create mode 100644 src/couch/src/couch_stream.erl
 create mode 100644 src/couch/src/couch_sup.erl
 create mode 100644 src/couch/src/couch_task_status.erl
 copy rel/files/eunit.config => src/couch/src/couch_totp.erl (63%)
 create mode 100644 src/couch/src/couch_users_db.erl
 create mode 100644 src/couch/src/couch_util.erl
 create mode 100644 src/couch/src/couch_uuids.erl
 create mode 100644 src/couch/src/couch_work_queue.erl
 create mode 100644 src/couch/src/test_request.erl
 create mode 100644 src/couch/src/test_util.erl
 create mode 100644 src/couch/test/chttpd_endpoints_tests.erl
 create mode 100644 src/couch/test/couch_auth_cache_tests.erl
 copy rel/files/eunit.config => src/couch/test/couch_base32_tests.erl (50%)
 create mode 100644 src/couch/test/couch_btree_tests.erl
 create mode 100644 src/couch/test/couch_changes_tests.erl
 create mode 100644 src/couch/test/couch_compress_tests.erl
 create mode 100644 src/couch/test/couch_db_doc_tests.erl
 create mode 100644 src/couch/test/couch_db_mpr_tests.erl
 create mode 100644 src/couch/test/couch_db_plugin_tests.erl
 create mode 100644 src/couch/test/couch_db_tests.erl
 create mode 100644 src/couch/test/couch_doc_json_tests.erl
 create mode 100644 src/couch/test/couch_doc_tests.erl
 create mode 100644 src/couch/test/couch_etag_tests.erl
 create mode 100644 src/couch/test/couch_file_tests.erl
 create mode 100644 src/couch/test/couch_hotp_tests.erl
 create mode 100644 src/couch/test/couch_key_tree_tests.erl
 create mode 100644 src/couch/test/couch_lru_tests.erl
 create mode 100644 src/couch/test/couch_passwords_tests.erl
 create mode 100644 src/couch/test/couch_server_tests.erl
 create mode 100644 src/couch/test/couch_stream_tests.erl
 create mode 100644 src/couch/test/couch_task_status_tests.erl
 create mode 100644 src/couch/test/couch_totp_tests.erl
 create mode 100644 src/couch/test/couch_util_tests.erl
 create mode 100644 src/couch/test/couch_uuids_tests.erl
 create mode 100644 src/couch/test/couch_work_queue_tests.erl
 create mode 100644 src/couch/test/couchdb_attachments_tests.erl
 create mode 100644 src/couch/test/couchdb_auth_tests.erl
 create mode 100644 src/couch/test/couchdb_compaction_daemon_tests.erl
 create mode 100644 src/couch/test/couchdb_cors_tests.erl
 create mode 100644 src/couch/test/couchdb_csp_tests.erl
 create mode 100644 src/couch/test/couchdb_design_doc_tests.erl
 create mode 100644 src/couch/test/couchdb_file_compression_tests.erl
 create mode 100644 src/couch/test/couchdb_http_proxy_tests.erl
 create mode 100644 src/couch/test/couchdb_location_header_tests.erl
 create mode 100644 src/couch/test/couchdb_mrview_cors_tests.erl
 create mode 100644 src/couch/test/couchdb_mrview_tests.erl
 create mode 100644 src/couch/test/couchdb_os_daemons_tests.erl
 create mode 100644 src/couch/test/couchdb_os_proc_pool.erl
 create mode 100644 src/couch/test/couchdb_update_conflicts_tests.erl
 create mode 100644 src/couch/test/couchdb_vhosts_tests.erl
 create mode 100644 src/couch/test/couchdb_views_tests.erl
 create mode 100644 src/couch/test/fixtures/3b835456c235b1827e012e25666152f3.view
 create mode 100644 src/couch/test/fixtures/couch_stats_aggregates.cfg
 copy test/random_port.ini => src/couch/test/fixtures/couch_stats_aggregates.ini (90%)
 create mode 100644 src/couch/test/fixtures/logo.png
 create mode 100644 src/couch/test/fixtures/multipart.http
 copy rel/files/vm.args => src/couch/test/fixtures/ (83%)
 copy rel/files/vm.args => src/couch/test/fixtures/ (95%)
 mode change 100644 => 100755
 create mode 100755 src/couch/test/fixtures/os_daemon_configer.escript
 copy rel/files/vm.args => src/couch/test/fixtures/ (95%)
 mode change 100644 => 100755
 copy rel/files/vm.args => src/couch/test/fixtures/ (95%)
 mode change 100644 => 100755
 copy rel/files/eunit.config => src/couch/test/fixtures/os_daemon_looper.escript (73%)
 mode change 100644 => 100755
 create mode 100644 src/couch/test/fixtures/test.couch
 create mode 100644 src/couch/test/global_changes_tests.erl
 create mode 100644 src/couch/test/json_stream_parse_tests.erl
 create mode 100644 src/couch/test/test_web.erl
 create mode 100644 src/couch_epi/.gitignore
 create mode 100644 src/couch_epi/.travis.yml
 create mode 100644 src/couch_epi/LICENSE
 create mode 100644 src/couch_epi/
 create mode 100644 src/couch_epi/rebar.config
 copy rel/files/eunit.config => src/couch_epi/src/ (51%)
 create mode 100644 src/couch_epi/src/couch_epi.erl
 copy rel/files/eunit.config => src/couch_epi/src/couch_epi.hrl (78%)
 copy rel/files/sys.config => src/couch_epi/src/couch_epi_app.erl (70%)
 create mode 100644 src/couch_epi/src/couch_epi_codechange_monitor.erl
 create mode 100644 src/couch_epi/src/couch_epi_codegen.erl
 create mode 100644 src/couch_epi/src/couch_epi_data.erl
 create mode 100644 src/couch_epi/src/couch_epi_data_gen.erl
 create mode 100644 src/couch_epi/src/couch_epi_functions.erl
 create mode 100644 src/couch_epi/src/couch_epi_functions_gen.erl
 create mode 100644 src/couch_epi/src/couch_epi_module_keeper.erl
 create mode 100644 src/couch_epi/src/couch_epi_plugin.erl
 create mode 100644 src/couch_epi/src/couch_epi_sup.erl
 create mode 100644 src/couch_epi/src/couch_epi_util.erl
 create mode 100644 src/couch_epi/test/couch_epi_tests.erl
 create mode 100644 src/couch_epi/test/fixtures/app_data1.cfg
 create mode 100644 src/couch_epi/test/fixtures/app_data2.cfg
 create mode 100644 src/couch_event/.gitignore
 create mode 100644 src/couch_event/LICENSE
 create mode 100644 src/couch_event/
 create mode 100644 src/couch_event/rebar.config
 copy rel/apps/couch_epi.config => src/couch_event/src/ (65%)
 create mode 100644 src/couch_event/src/couch_event.erl
 copy rel/files/sys.config => src/couch_event/src/couch_event_app.erl (74%)
 copy rel/files/sys.config => src/couch_event/src/couch_event_int.hrl (78%)
 create mode 100644 src/couch_event/src/couch_event_listener.erl
 create mode 100644 src/couch_event/src/couch_event_listener_mfa.erl
 create mode 100644 src/couch_event/src/couch_event_os_listener.erl
 create mode 100644 src/couch_event/src/couch_event_os_sup.erl
 create mode 100644 src/couch_event/src/couch_event_server.erl
 create mode 100644 src/couch_event/src/couch_event_sup2.erl
 create mode 100644 src/couch_index/.gitignore
 create mode 100644 src/couch_index/.travis.yml
 create mode 100644 src/couch_index/LICENSE
 copy rel/apps/couch_epi.config => src/couch_index/src/ (65%)
 create mode 100644 src/couch_index/src/couch_index.erl
 copy rel/files/eunit.config => src/couch_index/src/couch_index_app.erl (62%)
 create mode 100644 src/couch_index/src/couch_index_compactor.erl
 copy rel/files/eunit.config => src/couch_index/src/couch_index_epi.erl (50%)
 create mode 100644 src/couch_index/src/couch_index_plugin.erl
 create mode 100644 src/couch_index/src/couch_index_server.erl
 copy rel/files/eunit.config => src/couch_index/src/couch_index_sup.erl (55%)
 create mode 100644 src/couch_index/src/couch_index_updater.erl
 create mode 100644 src/couch_index/src/couch_index_util.erl
 create mode 100644 src/couch_index/test/couch_index_compaction_tests.erl
 create mode 100644 src/couch_log/.gitignore
 create mode 100644 src/couch_log/.travis.yml
 create mode 100644 src/couch_log/LICENSE
 copy rel/files/sys.config => src/couch_log/include/couch_log.hrl (79%)
 create mode 100644 src/couch_log/priv/stats_descriptions.cfg
 create mode 100644 src/couch_log/rebar.config
 copy rel/apps/couch_epi.config => src/couch_log/src/ (73%)
 create mode 100644 src/couch_log/src/couch_log.erl
 copy rel/files/sys.config => src/couch_log/src/couch_log_app.erl (76%)
 create mode 100644 src/couch_log/src/couch_log_config.erl
 copy rel/files/eunit.config => src/couch_log/src/couch_log_config_dyn.erl (60%)
 create mode 100644 src/couch_log/src/couch_log_error_logger_h.erl
 create mode 100644 src/couch_log/src/couch_log_formatter.erl
 create mode 100644 src/couch_log/src/couch_log_monitor.erl
 create mode 100644 src/couch_log/src/couch_log_server.erl
 create mode 100644 src/couch_log/src/couch_log_sup.erl
 create mode 100644 src/couch_log/src/couch_log_trunc_io.erl
 create mode 100644 src/couch_log/src/couch_log_trunc_io_fmt.erl
 create mode 100644 src/couch_log/src/couch_log_util.erl
 create mode 100644 src/couch_log/src/couch_log_writer.erl
 create mode 100644 src/couch_log/src/couch_log_writer_file.erl
 create mode 100644 src/couch_log/src/couch_log_writer_stderr.erl
 create mode 100644 src/couch_log/src/couch_log_writer_syslog.erl
 create mode 100644 src/couch_log/test/couch_log_config_listener_test.erl
 create mode 100644 src/couch_log/test/couch_log_config_test.erl
 create mode 100644 src/couch_log/test/couch_log_error_logger_h_test.erl
 create mode 100644 src/couch_log/test/couch_log_formatter_test.erl
 create mode 100644 src/couch_log/test/couch_log_monitor_test.erl
 create mode 100644 src/couch_log/test/couch_log_server_test.erl
 create mode 100644 src/couch_log/test/couch_log_test.erl
 create mode 100644 src/couch_log/test/couch_log_test_util.erl
 create mode 100644 src/couch_log/test/couch_log_trunc_io_fmt_test.erl
 create mode 100644 src/couch_log/test/couch_log_util_test.erl
 create mode 100644 src/couch_log/test/couch_log_writer_ets.erl
 create mode 100644 src/couch_log/test/couch_log_writer_file_test.erl
 create mode 100644 src/couch_log/test/couch_log_writer_stderr_test.erl
 create mode 100644 src/couch_log/test/couch_log_writer_syslog_test.erl
 create mode 100644 src/couch_log/test/couch_log_writer_test.erl
 create mode 100644 src/couch_mrview/.travis.yml
 create mode 100644 src/couch_mrview/LICENSE
 create mode 100644 src/couch_mrview/include/couch_mrview.hrl
 create mode 100644 src/couch_mrview/priv/stats_descriptions.cfg
 copy rel/apps/couch_epi.config => src/couch_mrview/src/ (55%)
 create mode 100644 src/couch_mrview/src/couch_mrview.erl
 copy rel/files/eunit.config => src/couch_mrview/src/couch_mrview_changes.erl (73%)
 create mode 100644 src/couch_mrview/src/couch_mrview_cleanup.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_compactor.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_http.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_index.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_show.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_test_util.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_update_notifier.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_updater.erl
 create mode 100644 src/couch_mrview/src/couch_mrview_util.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_all_docs_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_changes_since_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_collation_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_compact_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_ddoc_validation_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_http_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_index_changes_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_index_info_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_map_views_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_red_views_tests.erl
 create mode 100644 src/couch_mrview/test/couch_mrview_util_tests.erl
 create mode 100644 src/couch_peruser/.gitignore
 create mode 100644 src/couch_peruser/.travis.yml
 create mode 100644 src/couch_peruser/LICENSE
 create mode 100644 src/couch_peruser/
 copy rel/apps/couch_epi.config => src/couch_peruser/src/ (66%)
 create mode 100644 src/couch_peruser/src/couch_peruser.erl
 create mode 100644 src/couch_peruser/test/couch_peruser_test.erl
 create mode 100644 src/couch_plugins/LICENSE
 create mode 100644 src/couch_plugins/
 create mode 100644 src/couch_plugins/
 copy rel/files/eunit.config => src/couch_plugins/src/ (71%)
 create mode 100644 src/couch_plugins/src/couch_plugins.erl
 create mode 100644 src/couch_plugins/src/couch_plugins_httpd.erl
 create mode 100644 src/couch_replicator/.gitignore
 create mode 100644 src/couch_replicator/.travis.yml
 create mode 100644 src/couch_replicator/LICENSE
 create mode 100644 src/couch_replicator/priv/stats_descriptions.cfg
 create mode 100644 src/couch_replicator/src/
 create mode 100644 src/couch_replicator/src/couch_replicator.erl
 copy rel/files/eunit.config => src/couch_replicator/src/couch_replicator.hrl (76%)
 create mode 100644 src/couch_replicator/src/couch_replicator_api_wrap.erl
 copy rel/files/eunit.config => src/couch_replicator/src/couch_replicator_api_wrap.hrl (52%)
 copy rel/files/sys.config => src/couch_replicator/src/couch_replicator_app.erl (66%)
 create mode 100644 src/couch_replicator/src/couch_replicator_changes_reader.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_httpc.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_httpc_pool.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_httpd.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_job_sup.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_js_functions.hrl
 create mode 100644 src/couch_replicator/src/couch_replicator_manager.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_notifier.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_stats.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_sup.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_utils.erl
 create mode 100644 src/couch_replicator/src/couch_replicator_worker.erl
 create mode 100644 src/couch_replicator/src/json_stream_parse.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_compact_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_filtered_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_httpc_pool_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_id_too_long_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_large_atts_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_many_leaves_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_missing_stubs_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_modules_load_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_selector_tests.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_small_max_request_size_target.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_test_helper.erl
 create mode 100644 src/couch_replicator/test/couch_replicator_use_checkpoints_tests.erl
 create mode 100644 src/couch_stats/.gitignore
 create mode 100644 src/couch_stats/LICENSE
 create mode 100644 src/couch_stats/
 create mode 100644 src/couch_stats/priv/sample_descriptions.cfg
 copy rel/apps/couch_epi.config => src/couch_stats/src/ (63%)
 create mode 100644 src/couch_stats/src/couch_stats.erl
 create mode 100644 src/couch_stats/src/couch_stats_aggregator.erl
 copy rel/files/eunit.config => src/couch_stats/src/couch_stats_app.erl (75%)
 create mode 100644 src/couch_stats/src/couch_stats_httpd.erl
 create mode 100644 src/couch_stats/src/couch_stats_process_tracker.erl
 copy rel/files/eunit.config => src/couch_stats/src/couch_stats_sup.erl (55%)
 create mode 100644 src/couch_tests/.gitignore
 copy rel/files/eunit.config => src/couch_tests/include/couch_tests.hrl (63%)
 copy rel/files/sys.config => src/couch_tests/rebar.config (72%)
 create mode 100644 src/couch_tests/setups/couch_epi_dispatch.erl
 copy rel/apps/couch_epi.config => src/couch_tests/src/ (70%)
 create mode 100644 src/couch_tests/src/couch_tests.erl
 create mode 100644 src/couch_tests/src/couch_tests_combinatorics.erl
 create mode 100644 src/couch_tests/test/couch_tests_app_tests.erl
 create mode 100644 src/ddoc_cache/LICENSE
 create mode 100644 src/ddoc_cache/
 create mode 100644 src/ddoc_cache/priv/stats_descriptions.cfg
 create mode 100644 src/ddoc_cache/src/
 create mode 100644 src/ddoc_cache/src/ddoc_cache.erl
 copy rel/files/sys.config => src/ddoc_cache/src/ddoc_cache_app.erl (75%)
 create mode 100644 src/ddoc_cache/src/ddoc_cache_opener.erl
 create mode 100644 src/ddoc_cache/src/ddoc_cache_sup.erl
 copy rel/files/sys.config => src/ddoc_cache/src/ddoc_cache_util.erl (59%)
 create mode 100644 src/fabric/.travis.yml
 create mode 100644 src/fabric/LICENSE
 create mode 100644 src/fabric/
 copy rel/files/eunit.config => src/fabric/include/fabric.hrl (50%)
 create mode 100644 src/fabric/priv/stats_descriptions.cfg
 copy rel/files/eunit.config => src/fabric/rebar.config (84%)
 create mode 100644 src/fabric/src/
 create mode 100644 src/fabric/src/fabric.erl
 create mode 100644 src/fabric/src/fabric_db_create.erl
 create mode 100644 src/fabric/src/fabric_db_delete.erl
 create mode 100644 src/fabric/src/fabric_db_doc_count.erl
 create mode 100644 src/fabric/src/fabric_db_info.erl
 create mode 100644 src/fabric/src/fabric_db_meta.erl
 create mode 100644 src/fabric/src/fabric_db_update_listener.erl
 create mode 100644 src/fabric/src/fabric_dict.erl
 create mode 100644 src/fabric/src/fabric_doc_attachments.erl
 create mode 100644 src/fabric/src/fabric_doc_missing_revs.erl
 create mode 100644 src/fabric/src/fabric_doc_open.erl
 create mode 100644 src/fabric/src/fabric_doc_open_revs.erl
 create mode 100644 src/fabric/src/fabric_doc_update.erl
 create mode 100644 src/fabric/src/fabric_group_info.erl
 create mode 100644 src/fabric/src/fabric_rpc.erl
 create mode 100644 src/fabric/src/fabric_util.erl
 create mode 100644 src/fabric/src/fabric_view.erl
 create mode 100644 src/fabric/src/fabric_view_all_docs.erl
 create mode 100644 src/fabric/src/fabric_view_changes.erl
 create mode 100644 src/fabric/src/fabric_view_map.erl
 create mode 100644 src/fabric/src/fabric_view_reduce.erl
 create mode 100644 src/global_changes/.gitignore
 create mode 100644 src/global_changes/.travis.yml
 create mode 100644 src/global_changes/LICENSE
 create mode 100644 src/global_changes/
 create mode 100644 src/global_changes/priv/stats_descriptions.cfg
 create mode 100644 src/global_changes/src/
 copy rel/files/sys.config => src/global_changes/src/global_changes_app.erl (67%)
 create mode 100644 src/global_changes/src/global_changes_epi.erl
 create mode 100644 src/global_changes/src/global_changes_httpd.erl
 copy rel/files/eunit.config => src/global_changes/src/global_changes_httpd_handlers.erl (55%)
 create mode 100644 src/global_changes/src/global_changes_listener.erl
 create mode 100644 src/global_changes/src/global_changes_plugin.erl
 create mode 100644 src/global_changes/src/global_changes_server.erl
 create mode 100644 src/global_changes/src/global_changes_sup.erl
 copy rel/files/eunit.config => src/global_changes/src/global_changes_util.erl (56%)
 create mode 100644 src/global_changes/test/global_changes_hooks_tests.erl
 create mode 100644 src/mango/.gitignore
 create mode 100644 src/mango/.travis.yml
 create mode 100644 src/mango/LICENSE.txt
 create mode 100644 src/mango/Makefile
 create mode 100644 src/mango/
 create mode 100644 src/mango/
 copy rel/files/eunit.config => src/mango/rebar.config.script (55%)
 copy rel/apps/couch_epi.config => src/mango/src/ (60%)
 copy rel/files/sys.config => src/mango/src/mango.hrl (82%)
 copy rel/files/eunit.config => src/mango/src/mango_app.erl (63%)
 create mode 100644 src/mango/src/mango_crud.erl
 create mode 100644 src/mango/src/mango_cursor.erl
 copy rel/files/sys.config => src/mango/src/mango_cursor.hrl (71%)
 create mode 100644 src/mango/src/mango_cursor_special.erl
 create mode 100644 src/mango/src/mango_cursor_text.erl
 create mode 100644 src/mango/src/mango_cursor_view.erl
 create mode 100644 src/mango/src/mango_doc.erl
 copy rel/files/eunit.config => src/mango/src/mango_epi.erl (50%)
 create mode 100644 src/mango/src/mango_error.erl
 create mode 100644 src/mango/src/mango_fields.erl
 create mode 100644 src/mango/src/mango_httpd.erl
 create mode 100644 src/mango/src/mango_httpd_handlers.erl
 create mode 100644 src/mango/src/mango_idx.erl
 copy rel/files/sys.config => src/mango/src/mango_idx.hrl (80%)
 create mode 100644 src/mango/src/mango_idx_special.erl
 create mode 100644 src/mango/src/mango_idx_text.erl
 create mode 100644 src/mango/src/mango_idx_view.erl
 create mode 100644 src/mango/src/mango_json.erl
 create mode 100644 src/mango/src/mango_native_proc.erl
 create mode 100644 src/mango/src/mango_opts.erl
 create mode 100644 src/mango/src/mango_selector.erl
 create mode 100644 src/mango/src/mango_selector_text.erl
 create mode 100644 src/mango/src/mango_sort.erl
 copy rel/files/eunit.config => src/mango/src/mango_sup.erl (56%)
 create mode 100644 src/mango/src/mango_util.erl
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mango/test/
 create mode 100644 src/mem3/LICENSE
 create mode 100644 src/mem3/
 create mode 100644 src/mem3/include/mem3.hrl
 create mode 100644 src/mem3/priv/stats_descriptions.cfg
 create mode 100644 src/mem3/src/
 create mode 100644 src/mem3/src/mem3.erl
 copy rel/files/sys.config => src/mem3/src/mem3_app.erl (79%)
 copy rel/files/eunit.config => src/mem3/src/mem3_epi.erl (50%)
 create mode 100644 src/mem3/src/mem3_httpd.erl
 copy rel/files/sys.config => src/mem3/src/mem3_httpd_handlers.erl (52%)
 create mode 100644 src/mem3/src/mem3_nodes.erl
 create mode 100644 src/mem3/src/mem3_rep.erl
 create mode 100644 src/mem3/src/mem3_rpc.erl
 create mode 100644 src/mem3/src/mem3_shards.erl
 create mode 100644 src/mem3/src/mem3_sup.erl
 create mode 100644 src/mem3/src/mem3_sync.erl
 create mode 100644 src/mem3/src/mem3_sync_event.erl
 create mode 100644 src/mem3/src/mem3_sync_event_listener.erl
 create mode 100644 src/mem3/src/mem3_sync_nodes.erl
 create mode 100644 src/mem3/src/mem3_sync_security.erl
 create mode 100644 src/mem3/src/mem3_util.erl
 copy rel/files/vm.args => src/mem3/test/01-config-default.ini (97%)
 create mode 100644 src/mem3/test/mem3_util_test.erl
 create mode 100644 src/rexi/
 copy rel/files/sys.config => src/rexi/include/rexi.hrl (87%)
 create mode 100644 src/rexi/priv/stats_descriptions.cfg
 copy rel/apps/couch_epi.config => src/rexi/src/ (53%)
 create mode 100644 src/rexi/src/rexi.erl
 copy rel/files/eunit.config => src/rexi/src/rexi_app.erl (77%)
 create mode 100644 src/rexi/src/rexi_buffer.erl
 create mode 100644 src/rexi/src/rexi_monitor.erl
 create mode 100644 src/rexi/src/rexi_server.erl
 create mode 100644 src/rexi/src/rexi_server_mon.erl
 copy rel/files/sys.config => src/rexi/src/rexi_server_sup.erl (68%)
 create mode 100644 src/rexi/src/rexi_sup.erl
 create mode 100644 src/rexi/src/rexi_utils.erl

To stop receiving notification emails like this one, please contact
['"" <>'].

View raw message