This is an automated email from the ASF dual-hosted git repository.

ronny pushed a change to branch fix/readme-dev-mac
in repository https://gitbox.apache.org/repos/asf/couchdb.git


    omit bf8a3a065 chore(readme): update mac dev install instructions
     add aff7a6e71 docs(mango): match description of `$mod` with reality
     add bcfaa82c3 Merge pull request #4379 from pgj/mango-doc-fix
     add deb8ef271 Adding build-report makefile target on Windows (#4384)
     add 4b2d3dc62 Bump recon to 2.5.3
     add 3b6ebdeb3 ci(mac): re-enable mac CI for the full build
     add 5f2d5b135 Show mango_selector:match/2 call using test
     add 00e24b0df Push down field projection in mango to shard
     add 3181d928e Allow to run only specific EUnit tests on Windows (#4399)
     add 262e4d161 Enforce docs ids _changes filter optimization limit
     add e5f6c581b Docs: Fix example code in Partitioned Databases
     add f11491568 return 503 immediately if search is not available
     add 88ebc65c0 Merge pull request #4404 from 
apache/503-if-search-not-available
     add 9536b9796 chore(configure): be more defensive about SpiderMonkey 
location
     add 576ab21c6 Unify style of `if` blocks
     add 23efd8e5b Port the SpiderMonkey check to Windows
     add a7551aac2 docs(INSTALL.Unix): update instructions
     add 832f58a7a Employ `make python-black-update`
     add 1eef73952 Remove json2 JS script and the try except around seal
     add 80b68a053 Use pip3 instead of pip in docs setup
     add 0fa595531 Allow _local doc writes to the replicator dbs
     add bf0903087 Remove all javascript tests
     add 0a49ffcda Convert ExUnit tests back to EUnit
     add a73388452 Disable execution of ExUnit tests
     add c79d82f10 Fix Dreyfus Elixir test suite
     add 4185bc094 Document the `dreyfus-test` `make` target
     add 8bc485d9b Improve directory structure for Dreyfus EUnit tests
     add f4311014f Stop citing the JavaScript integration tests
     add 8a6c3bce2 Update the list of the available test suite types
     add 0867d1b21 Reorder top-level smoosh-settings to the correct section 
(#4420)
     add d3b0bcbf3 Test the update_docs=true case in replicator scheduler docs 
test
     add 58e5825c6 mango: Remove unused imports
     add b08dc7ac7 mango: Remove unused parameter from the JSON index selection
     add 1c90b504a mango: Add type specification for the JSON index selection
     add a650b4461 mango: Cover JSON index selection with unit tests
     add 3fa8f72ac mango: Match comments with implementation for JSON index 
selection
     add 97fdac3af mango: Fix specification of `choose_best_index/1`
     add 395c08302 Move elixir search tests to be with other elixir tests
     add 50dd63176 Chase rename of `dreyfus-test` to `elixir-search` in 
documentation
     add df0699a60 Clean up `make help` output
     add 065b86fab Remove the inactive uploader action from `build-report`
     add 0feedb66f Fix the `list-eunit-apps` target
     add 9b86e7130 Overhaul the Windows Makefile
     add 645912d0c Fix typo
     add 9f8cf48e9 docs/api: use {params} consistently in titles (#4426)
     add b38885114 Allow definition of JWT roles claim as comma-seperated list 
(#4431)
     add c866b488d Unifying the notation of dynamic parameters in the docs 
(#4436)
     add f7cafa30a Fix typo in "feature_flags" section comment (#4433)
     add b3890b5d3 Fix and extend developer instructions
     add 9cde18150 mango: skip the `$keymapMatch` test for text indexes
     add 1278cf19f mango: switch to UTF-8 encoding for every test
     add 187d9337e Consolidate Mango integration tests
     add ae3d2971e Upgrade hash algorithm for proxy auth (#4438)
     add 9c1278dbc Show ini code-block correctly (#4440)
     add cc674a85e Unifying the notation of dynamic parameters in the docs 2 
(#4441)
     add 301797c56 Update Erlang 24 for CI
     add 7a2705ac6 hide shard-sync and purge documents from `_local_docs`
     add b702a5edf inspect the document more precisely to avoid skipping user 
docs
     add 8f519ba04 add tests to cover hiding resp showing system docs
     add ac600d1bb add a notice that purge documents are only visible with 
`include_system=true`
     add 4df37bc8c Update last_check in file logger record
     add f677dd5e8 Use persistent terms for features
     add 54879f9a5 This enables configuring FIPS mode at runtime without the 
need for a custom build.
     add c0b8839bf Only allow POST request for /{db}/_view_cleanup (#4449)
     add b8abb4aad Fix bad prometheus section name
     add 7ec5f645f Fix flaky LRU test
     add 6e9834564 Fix flaky elixir users_db_tests
     add 5aed161e9 Remove duplicate parts of doc note (#4455)
     add 0db915475 Documentation: Add `adm:pass` to replication endpoint URL 
(#4457)
     add 0c49292a8 Improve documentation of source code format checks
     add edded9618 Tweak formatting and style of `_find` API documentation 
(#4460)
     add 774acb85d Fix erlfmt-format on Windows (#4463)
     add 8ec7b5788 Bump snappy to CouchDB-1.0.9 (#4464)
     add f40147b26 mango: correct text index selection for queries with 
`$regex` (#4458)
     add bd1d8dc8b Modify conflict ruby example
     add 5b5a1c2de Remove stale links from documentation comments
     add dff01446c Prepare for Erlang OTP/26 (#4465)
     add 138163147 fix: remove duplicate couchdb_erlang* from _prometheus
     add 6d7cfe892 Avoid re-compiling filter view functions
     add 5cdc0aa1b Fix list ordering and indentation in "Search" docs (#4476)
     add 0aedd9384 fix: prometheus counter metric naming (#4474)
     add b9762479f Improve couch_js_tests
     add a25336f91 Migrate configure settings to Windows (#4479)
     add bb0f37bf0 feat: add type and descriptions to prometheus output (#4475)
     add 8c0a177c7 docs(typo): Fix server name duplicate (#4484)
     add 937ccb6ef catch and log any error from mem3:local_shards
     add 2c129d167 Merge pull request #4485 from apache/couch_index_crashes
     add 1df0f4f40 Bump Erlang 24 and 25 in CI
     add 189db657f fix(doc): reverse definition of `all_nodes` and 
`cluster_nodes` to match reality
     add 65ad03c0f Revert "catch and log any error from mem3:local_shards"
     add 451d4bdd6 log the original stack trace if Mod:Func throws
     add f82d96173 don't crash in handle_db_event
     add 224d6764e track index pids during open and don't crash if they do
     add 0073e764b Merge pull request #4491 from apache/couch_index_fixes
     add 09dca4e5b Suppress sasl_error_logger output on Windows (#4492)
     add 27af79c4a Add log directory to eunit setup template (#4493)
     add 07c1433d3 eunit test to assert ddoc_updated clause doesn't throw
     add 3f0d86f99 Increase index crash test cover a bit
     add 35b1adc48 Merge pull request #4495 from apache/add_db_event_crash_test
     add 467e14ef1 docs(_find): catch up with the implementation and further 
fixes
     add 25d6e7dfc add error_info clause for 410 Gone
     add 75ee0f0fb Merge pull request #4503 from apache/410-gone
     add cd77b07cf Treat javascript internal errors as fatal
     add d1412552f docs(hosts): Remove misleading /etc/hosts info (#4506)
     add bef20f357 feat (prometheus): metrics for individual message queues
     add f4fd6b5d3 feat (prometheus): internal_replication_jobs metric
     add ee11952c8 feat (prometheus): membership metric
     add 8c1ef5bfe fix (prometheus): gauge types for metrics that can be 
decremented
     add a9bce2f59 Merge pull request #4507 from apache/prometheus_metrics
     add 23f4e628d treat single-element keys as the key for `_view`
     add 31e3f64e6 Merge pull request #4494 from jiahuili430/treat-key-as-keys
     add 5c99df170 allow configurable timeouts for _view and _search
     add 762277f3d Merge pull request #4513 from apache/configurable-timeouts
     add f4d7d19de docs(_find): Remove redundancy from sample `_explain` 
response
     add db38da4af Add s390x back into the CI matrix
     add 1432717b1 docs: Fixed `_compact/{ddoc}` and `_shards/{docid}` examples
     add e32cfd63d Improve compression eunit test suite
     add a6ab75b43 Querying `_all_docs` with non-string `key` should return an 
empty list
     add e755e2352 Make remsh work with quoted cookie
     add 865d5f898 Bind python-black to specific version (#4528)
     add b7686a9da feat (prometheus): include aggregated couch/index message 
queues
     add bb3314262 feat (prometheus): couch_db_updater and couch_file queue 
stats
     add 16a350b97 feat (prometheus): add Erlang distribution stats
     add daecd3f50 fix (prometheus): do not emit ophaned HELP/TYPE lines
     add 98a356c32 Merge pull request #4525 from apache/prometheus_erlang_dist
     add 4b8b7ec9f Improve couch_proc_manager
     add c5a7809f0 Remove limit parameter from ken
     add 1ed0519a1 Remove explicit import
     add c83b5ccb6 mango: introduce support for covering indexes
     add 42deb8471 mango: add type information for better self-documentation
     add 3351a2647 mango: increase coverage of the `choose_best_index/1` test
     add 313b74e92 mango: add eunit tests
     add e6af4924c _find: mention the `covered` attribute in the `_explain` 
response
     add f5371aab7 mango: add integration tests for keys-only covering indexes
     add cc500adc1 mango: mark fields with the `$exists` operator indexable
     add 8b1e1837d mango: enhance compositionality of 
`consider_index_coverage/3`
     add 28480f9a4 mango: fix definition of index coverage
     add df52be577 mango: refactor
     add c1195e43c fix(mango): GET invalid path under `_index` should not cause 
500
     add a28b75a9d Import nouveau (#4291)
     add 4c741a94d put lucene 9 indexes in subdir
     add 6f568480c Merge pull request #4539 from apache/nouveau-lucene9-subdir
     add 3c90100de remove unused facet property
     add ac300497b Merge pull request #4540 from 
apache/nouveau-remove-facet-field
     add be07ff799 simplify analyzer factory
     add e956ce523 Merge pull request #4541 from 
apache/nouveau-simplify-analyzer-factory
     add 3f0ed0c9a doc(cve): add 2023-26268 placeholder
     add 2ee4f659f doc(cve): add 2023-26268 placeholder & backport release notes
     add eeca93c94 declare dependency on nouveau
     add e4bc2b51c Merge pull request #4550 from apache/mango-nouveau-dep
     add e6dcf443f Noticed the new internal error couchjs test was flaky
     add 0d1175a4f Another flaky couch_js fix
     add 5096243ff enable nouveau tests in CI
     add 3ea049d64 allow PUT to existing index if definition identical
     add 57fc9047a OTP 23 support
     add f240adc8a Add log dumping to build-report make target
     add f4f04e092 enhance out of order message
     add 6f39ae734 mango end-to-end tests for nouveau
     add 210e80e03 enhance test diagnostics
     add 5df9dbe8c capture warn/error in entirety
     add 2e4563115 disable ken
     add 67e17afd9 maven batch mode
     add 307450c3c cache (immutable) maven artifacts
     add 8e03f9766 Merge pull request #4543 from 
apache/jenkins-enable-nouveau-ci
     add 23dfab503 fix race condition when creating indexes
     add 6f4711fe7 Merge pull request #4555 from 
apache/nouveau-race-condition-creating-index
     add 07546f506 remove afterburner
     add 82aa1625c Merge pull request #4556 from 
apache/nouveau-remove-afterburner
     add d5c78e6be finish partitioned support for nouveau
     add aa8eb076c Merge pull request #4557 from 
apache/nouveau-partition-support
     add fe445bb95 Make Erlang 24 the minimum version
     add a9831a676 fix ken_server:nouveau_updated
     add 3044528d5 Merge pull request #4559 from apache/fix-ken-server-nouveau
     add 2430728f5 Clarify encoding length in performance.rst
     add e659a971c CVE-2023-2626 details doc update
     add 17a99712e Nouveau doc fixes (#4572)
     add f1ab0cabf Add report logging (#4483)
     add 4083f7b1b mention flag and new dependencies
     add bb633a712 Import xxHash
     add bc49cef4b Encapsulate MD5 file checksums bits in couch_file
     add 1a59e5d70 Remove duplicate etag generation function
     add 92c338a3a Add new configure option and restore --dev behavior (#4582)
     add 039da4a8b remove Content-MD5 header support
     add 4a8c8b52f Merge pull request #4574 from 
apache/remove-content-md5-header
     add 6371cd0a0 Revert "fix(mango): GET invalid path under `_index` should 
not cause 500"
     add 2543590f3 Merge pull request #4584 from apache/revert-invalid-path-fix
     add 9b3fbf4c3 Remove extra unused variable (#4577)
     add 6bb4fbd78 upgrade nouveau to lucene 9.6.0
     add 67c7f6025 Merge pull request #4585 from apache/nouveau-lucene-9.6.0
     add bc3eb6717 switch to Gradle
     add 9851bb396 Merge pull request #4587 from apache/nouveau-gradle
     add 51267a5fd Improve nouveau mango integration
     add f5935c65d Merge pull request #4589 from 
apache/nouveau-mango-string-text
     add a9d8cda2b Merge changes from 3.3.x into main
     add 8600e46f2 mango: extend execution statistics with keys examined (#4569)
     add 4c80583e3 fix dreyfus after 'Improve nouveau mango integration'
     add abd129fac Merge pull request #4595 from apache/dreyfus-default-field
     add 75316aedb add test and code quality plugins
     add 80b8f24e6 apply spotless changes
     add 98fc76d67 Merge pull request #4596 from apache/nouveau-quality-plugins
     add a854625d7 fix(mango): covering indexes for partitioned databases
     add 85e1fa791 Speed up internal replicator
     add 54b8c7322 add nouveau and java tools to dev container
     add 6ddeac80a Merge pull request #4599 from apache/nouveau-dev-container
     add f74572775 add tests for QueryDeserializer
     add a58684f42 Merge pull request #4600 from 
apache/nouveau-query-deserializer-tests
     add dcf57c710 Add a simple fabric benchmark
     add b195f3734 mango: address missing parts of the `_index` API
     add 6b4cbaa72 Update default vm.args settings
     add ba54c635b Optimize mem3:dbname/1 function
     add 68ef23311 Fix rebar3 version to 3.21.0
     add e6939557b ARM64 worker went away.
     add 116c5b0a9 Revert "ARM64 worker went away."
     add 951f1b946 Add a few more commit and query engine metrics
     add 834a2d31e Add missing stats description for Mango keys examined
     add 751c14dc3 mango: fix the faulty `index_array_length` tests
     add 649f47310 mango: remove redundant text service checks from the tests
     add 3ff87fafc optionally suppress version info in server response header
     add 2bbc89ce1 Use milliseconds for fsync time histogram
     add a4bad8d8e Bump requests from 2.27.1 to 2.31.0 in /src/mango
     add 1f363b764 Improve fsync metrics time calculation
     add 0748a1e7a Use a faster sets implementation available since OTP 24
     add 79b2b7c11 Revert "Bump requests from 2.27.1 to 2.31.0 in /src/mango"
     add 4cfdf3062 Fix warning: variable bound multiple times
     add 6194cfc68 Git ignore mango .hypothesis directory
     add a4bbb87d1 Remove excl_archive_filters
     add b7de21f46 Support OTP 26 base64 decode error
     add 7f13f640c Sort lists from maps
     add 453c698a5 Convert `term_to_binary` to `?term_to_bin`
     add bf5868890 Merge pull request #4581 from apache/otp-26-compat
     add f7db54c41 Rename NonRep -> Local and merge_conflicts -> 
replicated_changes
     add 0bc0839ac Add OTP 26 to pull request CI list
     add c75c31d38 Handle replicator instance start time during upgrades better
     add 1a45bc211 Use xxHash for couch_file document and attachment summary 
checksums
     add c742d9c7c Fix purge infos replicating to the wrong shards during shard 
splitting.
     add 8b6b3e9b3 Fix typo POST -> PUT
     add 0fa9a07f0 Add extra assert in flaky couch_file test
     add e996fa07b Fix prometheus to survive mem3_sync termination
     add 416c1cd8d TLS: add `{verify, verify_peer}` to enable verification
     add eb6a74d56 mango: revisit test database recreation logic
     add 604526f5f Add optional logging of security issues when replicating 
(#4625)
     add bb1216593 clarify default quorum calculation
     add 38b00c900 Merge pull request #4636 from apache/clarify-quorum
     add bca3ab09f Clean up fabric_bench_test databases
     add 3690f9e24 Improve emitted change feed sequence after a split
     add be2eeccdc docs: update sphinx resource hyperlink
     add 290ea87b8 docs: add `adm:pass` to URL examples
     add fafa982c5 Fix the ability to use ; in config values
     add d9b4c199e upgrade nouveau to lucene 9.7.0
     add 16f47d758 Merge pull request #4654 from apache/lucene-9.7.0
     add f5897635e mango: replace `foldl` with a `map`
     add 8dbb021aa Fix undefined range in mem3_rep purge replication logic
     add e3eb6dfca upgrde to dropwizard 4.0.1
     add c892a2619 Merge pull request #4664 from apache/dropwizard-4.0.1
     add d7a082af2 mango: chase changes in `mango_idx_text`
     add 2d0e6a585 Merge pull request #4660 from pgj/fix/mango_idx_nouveau-regex
     add 4a68234e7 mango: simplify implementation of empty selector tests
     add fca1969ae split all
     add 05df4bb41 Merge pull request #4669 from apache/replicator-split-all
     add ac8cb3779 Fix updating values via the Server Configuration API
     add 882e7161a allow setting of some ibrowse options
     add e7f67c846 Merge pull request #4670 from 
apache/replicator-ibrowse-options
     add 890c26d5c deps: upgrade proper (#4671)
     add 5df7fee19 Conditionally exclude nouveau from elixir make target
     add 377e71304 Merge pull request #4674 from 
apache/nouveau-elixir-conditional
     add e89219848 Fix multipart parser "attachment longer than expected" error
     add d4d49077d Crash replication jobs on unexpected 4xx errors
     add 3e8155e6c Replace Folsom and improve performance
     add c3e67eec8 Fix: `_design_docs/queries` with `keys` should only return 
design docs
     add 29f79d5ab docs: `_design_docs/queries` and `_local_docs/queries`
     add a19d8a9ea allow locale setting for number detection
     add 63672afb4 Merge pull request #4685 from apache/nouveau-locale
     add b7ca600e8 run haproxy and nouveau without shell
     add 36cb5f06e Merge pull request #4689 from apache/dev-run-no-shell
     add 4df0dc45e docs: add Centos/RHEL9+, thanks for nothing RedHat
     add d2edfd9a3 feat: allow restarting of failed jobs
     add 480d3a3cb feat: make rexi timeouts and replication batches for shard 
split topoff configurable
     add 795d37afe set nouveau minimum java version
     add 48338247b Merge pull request #4692 from 
apache/nouveau-minimum-java-version
     add cfee5236b send cookie on successful basic auth
     add e35fb2032 Merge pull request #4687 from apache/preemptive-cookie
     add ea737d908 Revert "send cookie on successful basic auth"
     add d609a9f32 Merge pull request #4694 from apache/revert-preemptive-cookie
     add 1c9dbdb14 Build Nouveau on Windows (#4678)
     add 3a4c2606a Add "CouchDB-Replicator/..." user agent to replicator 
/_session requests
     add 2df79d0f3 Try to fix the full CI checkout
     add ff2fea6c8 Read the Docs configuration file (#4233)
     add bd5781dfd Update docs badge icon (#4699)
     add 50c69a0c6 send a session cookie after successful basic auth
     add 9d44e311e Merge pull request #4702 from apache/basic-auth-to-session
     add 42142f895 mango: remove duplicate elements from `indexable_fields/1` 
results
     add 526e203d3 dreyfus: make faceting produce maps on empty results
     add 5e5ac9edd mango: tweak the formatting of option r in the _explain 
output
     add 3294a72ac test(make): remove `elixir` target, rename `elixir-suite` to 
`elixir`
     add 7313c4aa7 dreyfus: amend the fix for faceting on zero values
     add aef083c59 Merge pull request #4707 from 
pgj/fix/dreyfus-faceting-on-zero-part-deux
     add 1f2994e7c ci(freebsd): re-enable full platform ci on FreeBSD
     add 64af302f6 Handle invalid field errors in Mango
     add 6b9e5bfee feat(build): fail build if xref complains
     add f9d4dccfa Introduce optional countermeasures as we run out of disk 
space
     add 14a8d5c1c Merge pull request #4681 from apache/out-of-disk-handler
     add a1ca6d75d Upgrade sphinx-rtd-theme
     add 5f26ab1c1 docs: fix markdown for Mango configuration options
     add 996e257ee docs: correct the order of fields in the sample _explain 
output
     add 64faef7a5 Fix pending count for the reverse changes feed
     add 259e64173 support clustered purge in nouveau
     add 954b57356 Merge pull request #4717 from apache/nouveau-purge
     add 42a62b235 Update README.md
     add 55589b7d3 Merge pull request #4721 from apache/rnewson-patch-1
     add 33235273f Fix badmatch error when purge requests time out
     add e69178d3f More Makefile.win adjustments to match Makefile (#4731)
     add e60e27554 Unlock build using Elixir 1.15 (#4726)
     add c32ceea43 Try to fix deb package builds in the main CI
     add 1b09a3b3a Use GNU make vars for paths (#4732)
     add d5701f437 Stop client process and clean up if client disconnects
     add 9a6bba88e Ban the last monster (#4743)
     new a51250c20 chore(readme): update mac dev install instructions

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   (bf8a3a065)
            \
             N -- N -- N   refs/heads/fix/readme-dev-mac (a51250c20)

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 "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .asf.yaml                                          |    6 +
 .devcontainer/devcontainer.json                    |   13 +-
 .gitignore                                         |    7 +-
 .readthedocs.yaml                                  |   37 +
 INSTALL.Unix.md                                    |   38 +-
 LICENSE                                            |   41 +
 Makefile                                           |  159 +-
 Makefile.win                                       |  196 +-
 README-DEV.rst                                     |  141 +-
 README.rst                                         |    4 +-
 build-aux/Jenkinsfile.full                         |   74 +-
 build-aux/Jenkinsfile.pr                           |    8 +-
 build-aux/print-committerlist.sh                   |    2 +-
 build-aux/show-test-results.py                     |    4 +-
 build-aux/xref-helper.sh                           |   24 +
 configure                                          |   74 +-
 configure.ps1                                      |   29 +-
 dev/format_lib.py                                  |    4 +-
 dev/remsh-tls                                      |    8 +-
 dev/run                                            |   84 +-
 mix.exs                                            |    6 +-
 nouveau/.gitattributes                             |    1 +
 nouveau/.gitignore                                 |    8 +
 nouveau/LICENSE                                    |  201 +
 nouveau/README.md                                  |  118 +
 nouveau/TODO                                       |    8 +
 nouveau/build.gradle                               |   91 +
 nouveau/gradle/wrapper/gradle-wrapper.jar          |  Bin 0 -> 62076 bytes
 nouveau/gradle/wrapper/gradle-wrapper.properties   |    6 +
 nouveau/gradlew                                    |  245 +
 nouveau/gradlew.bat                                |   92 +
 nouveau/nouveau.yaml                               |   27 +
 nouveau/settings.gradle                            |    5 +
 .../apache/couchdb/nouveau/NouveauApplication.java |   80 +
 .../nouveau/NouveauApplicationConfiguration.java   |   71 +
 .../apache/couchdb/nouveau/api/AnalyzeRequest.java |   48 +
 .../couchdb/nouveau/api/AnalyzeResponse.java       |   41 +
 .../couchdb/nouveau/api/DocumentDeleteRequest.java |   55 +
 .../couchdb/nouveau/api/DocumentUpdateRequest.java |   69 +
 .../apache/couchdb/nouveau/api/DoubleField.java    |   52 +
 .../apache/couchdb/nouveau/api/DoubleRange.java    |   27 +
 .../java/org/apache/couchdb/nouveau/api/Field.java |   44 +
 .../couchdb/nouveau/api/IndexDefinition.java       |   89 +
 .../org/apache/couchdb/nouveau/api/IndexInfo.java  |   68 +
 .../couchdb/nouveau/api/IndexInfoRequest.java      |   45 +
 .../java/org/apache/couchdb/nouveau/api/Range.java |  130 +
 .../org/apache/couchdb/nouveau/api/SearchHit.java  |   60 +
 .../apache/couchdb/nouveau/api/SearchRequest.java  |  160 +
 .../apache/couchdb/nouveau/api/SearchResults.java  |   92 +
 .../apache/couchdb/nouveau/api/StoredField.java    |   45 +
 .../apache/couchdb/nouveau/api/StringField.java    |   53 +
 .../org/apache/couchdb/nouveau/api/TextField.java  |   53 +
 .../org/apache/couchdb/nouveau/core/IOUtils.java   |   63 +
 .../org/apache/couchdb/nouveau/core/Index.java     |  217 +
 .../apache/couchdb/nouveau/core/IndexFunction.java |   22 +
 .../apache/couchdb/nouveau/core/IndexLoader.java   |   24 +
 .../apache/couchdb/nouveau/core/IndexManager.java  |  338 ++
 .../apache/couchdb/nouveau/core/StripedLock.java   |   42 +
 .../nouveau/core/UpdatesOutOfOrderException.java   |   28 +
 .../couchdb/nouveau/core/ser/ByteArrayWrapper.java |   23 +
 .../couchdb/nouveau/core/ser/DoubleWrapper.java    |   23 +
 .../couchdb/nouveau/core/ser/FloatWrapper.java     |   23 +
 .../couchdb/nouveau/core/ser/IntWrapper.java       |   23 +
 .../couchdb/nouveau/core/ser/LongWrapper.java      |   23 +
 .../couchdb/nouveau/core/ser/PrimitiveWrapper.java |   45 +
 .../couchdb/nouveau/core/ser/StringWrapper.java    |   23 +
 .../couchdb/nouveau/health/AnalyzeHealthCheck.java |   43 +
 .../couchdb/nouveau/health/IndexHealthCheck.java   |   60 +
 .../nouveau/lucene9/Lucene9AnalyzerFactory.java    |  139 +
 .../couchdb/nouveau/lucene9/Lucene9Index.java      |  513 ++
 .../couchdb/nouveau/lucene9/Lucene9Module.java     |   29 +
 .../nouveau/lucene9/NouveauQueryParser.java        |  184 +
 .../nouveau/lucene9/ParallelSearcherFactory.java   |   34 +
 .../couchdb/nouveau/lucene9/QueryDeserializer.java |  134 +
 .../couchdb/nouveau/lucene9/QuerySerializer.java   |  168 +
 .../lucene9/SimpleAsciiFoldingAnalyzer.java        |   37 +
 .../couchdb/nouveau/resources/AnalyzeResource.java |   69 +
 .../couchdb/nouveau/resources/IndexResource.java   |  163 +
 .../couchdb/nouveau/tasks/CloseAllIndexesTask.java |   35 +
 nouveau/src/main/resources/banner.txt              |    7 +
 nouveau/src/main/resources/openapi.yaml            |    9 +
 .../couchdb/nouveau/api/SearchRequestTest.java     |   57 +
 .../nouveau/health/AnalyzeHealthCheckTest.java     |   29 +
 .../nouveau/health/IndexHealthCheckTest.java       |   48 +
 .../lucene9/Lucene9AnalyzerFactoryTest.java        |  281 +
 .../couchdb/nouveau/lucene9/Lucene9IndexTest.java  |  246 +
 .../nouveau/lucene9/NouveauQueryParserTest.java    |  116 +
 .../nouveau/lucene9/QuerySerializationTest.java    |  106 +
 .../resources/fixtures/DocumentUpdateRequest.json  |   22 +
 .../src/test/resources/fixtures/SearchRequest.json |   17 +
 rebar.config.script                                |   11 +-
 rel/apps/couch_epi.config                          |    1 +
 rel/files/eunit.ini                                |    4 +-
 rel/overlay/bin/remsh                              |   21 +-
 rel/overlay/etc/default.ini                        |   73 +-
 rel/overlay/etc/vm.args                            |   35 +
 rel/plugins/eunit_plugin.erl                       |    4 +-
 rel/reltool.config                                 |   13 +-
 setup_eunit.template                               |    3 +-
 share/server/filter.js                             |    5 -
 share/server/json2.js                              |  482 --
 share/server/loop.js                               |   29 +-
 share/server/nouveau.js                            |  108 +
 share/server/state.js                              |   12 +-
 share/server/util.js                               |   12 +-
 share/server/views.js                              |    2 +
 src/chttpd/priv/stats_descriptions.cfg             |    4 +
 src/chttpd/src/chttpd.erl                          |   49 +-
 src/chttpd/src/chttpd_db.erl                       |   49 +-
 src/chttpd/src/chttpd_misc.erl                     |   15 +-
 src/chttpd/src/chttpd_node.erl                     |   79 +-
 src/chttpd/src/chttpd_show.erl                     |    5 +-
 src/chttpd/src/chttpd_util.erl                     |  125 +-
 src/chttpd/test/eunit/chttpd_auth_tests.erl        |   87 +
 src/chttpd/test/eunit/chttpd_changes_test.erl      |  656 ++
 src/chttpd/test/eunit/chttpd_db_test.erl           |  939 +--
 src/chttpd/test/eunit/chttpd_local_docs_tests.erl  |  198 +
 src/chttpd/test/eunit/chttpd_util_test.erl         |   89 +
 src/chttpd/test/eunit/chttpd_view_test.erl         |  473 +-
 src/config/src/config.erl                          |   82 +-
 src/config/test/config_tests.erl                   |    6 +
 src/couch/include/couch_db.hrl                     |   11 +-
 src/couch/priv/stats_descriptions.cfg              |   56 +
 src/couch/rebar.config.script                      |    3 +
 src/couch/src/couch.app.src                        |    3 +-
 src/couch/src/couch_att.erl                        |   10 +-
 src/couch/src/couch_bt_engine.erl                  |    4 +-
 src/couch/src/couch_changes.erl                    |   22 +-
 src/couch/src/couch_db.erl                         |   60 +-
 src/couch/src/couch_db_split.erl                   |   47 +-
 src/couch/src/couch_db_updater.erl                 |   44 +-
 src/couch/src/couch_disk_monitor.erl               |  241 +
 src/couch/src/couch_doc.erl                        |   10 +-
 src/couch/src/couch_file.erl                       |  150 +-
 src/couch/src/couch_hash.erl                       |   30 +-
 src/couch/src/couch_httpd.erl                      |   19 +-
 src/couch/src/couch_httpd_auth.erl                 |   99 +-
 src/couch/src/couch_httpd_db.erl                   |   31 +-
 src/couch/src/couch_httpd_multipart.erl            |    2 +-
 .../src/couch_lists.erl}                           |   40 +-
 src/couch/src/couch_native_process.erl             |    4 +-
 src/couch/src/couch_os_process.erl                 |    9 +-
 src/couch/src/couch_proc_manager.erl               |  664 +-
 src/couch/src/couch_query_servers.erl              |  108 +-
 src/couch/src/couch_secondary_sup.erl              |    3 +-
 src/couch/src/couch_server.erl                     |    8 -
 src/couch/src/couch_util.erl                       |    5 +-
 src/couch/src/test_util.erl                        |    6 +
 src/couch/test/eunit/couch_auth_cache_tests.erl    |    3 +-
 src/couch/test/eunit/couch_compress_tests.erl      |  128 +
 src/couch/test/eunit/couch_etag_tests.erl          |    4 +-
 src/couch/test/eunit/couch_file_tests.erl          |  297 +-
 src/couch/test/eunit/couch_flags_config_tests.erl  |    2 +-
 src/couch/test/eunit/couch_hash_test.erl           |   52 +
 src/couch/test/eunit/couch_js_tests.erl            |  219 +-
 .../test/eunit/couch_lists_tests.erl}              |   25 +-
 src/couch/test/eunit/couch_query_servers_tests.erl |    2 +-
 src/couch/test/eunit/couch_totp_tests.erl          |   37 +-
 src/couch/test/eunit/couchdb_attachments_tests.erl |   30 +-
 .../test/eunit/couchdb_file_compression_tests.erl  |  116 +-
 src/couch/test/eunit/couchdb_os_proc_pool.erl      |  796 ++-
 src/couch/test/eunit/same_site_cookie_tests.erl    |   88 +
 src/couch/test/exunit/couch_compress_tests.exs     |  113 -
 src/couch/test/exunit/same_site_cookie_tests.exs   |   44 -
 src/couch/test/exunit/test_helper.exs              |    2 -
 src/couch_dist/.gitignore                          |    4 +
 src/couch_dist/README.md                           |  162 +
 src/couch_dist/certs/certs                         |   11 +
 src/couch_dist/certs/certs.exs                     |  209 +
 src/couch_dist/certs/parse_cert.escript            |    8 +
 src/couch_dist/gen_certs                           |   43 +
 src/couch_epi/src/couch_epi.hrl                    |    3 +
 src/couch_epi/src/couch_epi_util.erl               |    4 +-
 src/couch_event/src/couch_event_listener_mfa.erl   |   25 +-
 src/couch_index/src/couch_index_server.erl         |  150 +-
 .../test/eunit/couch_index_crash_tests.erl         |  233 +
 .../test/eunit/couch_index_ddoc_updated_tests.erl  |    3 +-
 src/couch_log/include/couch_log.hrl                |    3 +-
 src/couch_log/priv/stats_descriptions.cfg          |    8 +
 src/couch_log/src/couch_log.erl                    |   14 +-
 src/couch_log/src/couch_log_config.erl             |    3 +
 src/couch_log/src/couch_log_config_dyn.erl         |    1 +
 src/couch_log/src/couch_log_formatter.erl          |   65 +
 src/couch_log/src/couch_log_sup.erl                |    2 +
 src/couch_log/src/couch_log_trunc_io.erl           |    2 +-
 src/couch_log/src/couch_log_util.erl               |   13 +-
 src/couch_log/src/couch_log_writer_file.erl        |    9 +-
 src/couch_log/src/couch_log_writer_stderr.erl      |    4 +-
 src/couch_log/src/couch_log_writer_syslog.erl      |   28 +-
 src/couch_log/test/eunit/couch_log_config_test.erl |   18 +
 .../test/eunit/couch_log_formatter_test.erl        |   17 +
 src/couch_log/test/eunit/couch_log_writer_ets.erl  |    7 +-
 .../test/eunit/couch_log_writer_syslog_test.erl    |   40 +
 src/couch_mrview/src/couch_mrview.erl              |   94 +-
 src/couch_mrview/src/couch_mrview_http.erl         |   37 +-
 src/couch_mrview/src/couch_mrview_show.erl         |    5 +-
 src/couch_mrview/src/couch_mrview_util.erl         |   38 +-
 .../test/eunit/couch_mrview_all_docs_tests.erl     |   39 +
 .../test/eunit/couch_mrview_http_tests.erl         |   29 +
 src/couch_prometheus/src/couch_prometheus.app.src  |    2 +-
 src/couch_prometheus/src/couch_prometheus.erl      |  362 ++
 src/couch_prometheus/src/couch_prometheus_http.erl |    5 +-
 .../src/couch_prometheus_server.erl                |  236 -
 src/couch_prometheus/src/couch_prometheus_sup.erl  |    4 +-
 src/couch_prometheus/src/couch_prometheus_util.erl |  185 +-
 .../test/eunit/couch_prometheus_e2e_tests.erl      |   63 +-
 .../test/eunit/couch_prometheus_util_tests.erl     |   70 -
 .../src/cpse_test_read_write_docs.erl              |    5 +-
 src/couch_pse_tests/src/cpse_util.erl              |    4 +-
 .../include/couch_replicator_api_wrap.hrl          |    3 +-
 src/couch_replicator/src/couch_replicator.erl      |    1 +
 .../src/couch_replicator_api_wrap.erl              |   30 +-
 .../src/couch_replicator_auth_session.erl          |   20 +-
 .../src/couch_replicator_doc_processor.erl         |    1 +
 src/couch_replicator/src/couch_replicator_docs.erl |    2 +
 src/couch_replicator/src/couch_replicator_ids.erl  |    2 +-
 .../src/couch_replicator_parse.erl                 |   89 +-
 .../src/couch_replicator_scheduler_job.erl         |   26 +-
 .../src/couch_replicator_utils.erl                 |  111 +-
 .../src/couch_replicator_worker.erl                |  104 +-
 .../test/eunit/couch_replicator_doc_ids_tests.erl  |   82 +
 .../couch_replicator_error_reporting_tests.erl     |  204 +-
 .../couch_replicator_scheduler_docs_tests.erl      |  262 +-
 .../test/eunit/couch_replicator_test_helper.erl    |   12 +-
 src/couch_stats/README.md                          |   21 +-
 src/couch_stats/src/couch_stats.app.src            |    2 +-
 src/couch_stats/src/couch_stats.erl                |  209 +-
 src/couch_stats/src/couch_stats.hrl                |   14 -
 src/couch_stats/src/couch_stats_aggregator.erl     |  162 -
 src/couch_stats/src/couch_stats_counter.erl        |   67 +
 src/couch_stats/src/couch_stats_gauge.erl          |   54 +
 src/couch_stats/src/couch_stats_histogram.erl      |  457 ++
 src/couch_stats/src/couch_stats_httpd.erl          |    9 -
 src/couch_stats/src/couch_stats_math.erl           |  406 ++
 src/couch_stats/src/couch_stats_server.erl         |  250 +
 src/couch_stats/src/couch_stats_sup.erl            |    2 +-
 src/couch_stats/src/couch_stats_util.erl           |  190 +
 .../src/ddoc_cache_entry_validation_funs.erl       |    2 +-
 src/ddoc_cache/src/ddoc_cache_value.erl            |    4 +-
 src/docs/README.md                                 |    4 +-
 src/docs/ext/configdomain.py                       |    2 -
 src/docs/requirements.txt                          |    2 +-
 src/docs/setup.sh                                  |    4 +-
 src/docs/src/api/database/bulk-api.rst             |  108 +-
 src/docs/src/api/database/changes.rst              |    6 +-
 src/docs/src/api/database/common.rst               |    6 +-
 src/docs/src/api/database/compact.rst              |   28 +-
 src/docs/src/api/database/find.rst                 |  326 +-
 src/docs/src/api/database/index.rst                |    4 +-
 src/docs/src/api/database/misc.rst                 |   26 +-
 src/docs/src/api/database/security.rst             |    8 +-
 src/docs/src/api/database/shard.rst                |   23 +-
 src/docs/src/api/ddoc/common.rst                   |   18 +-
 src/docs/src/api/ddoc/index.rst                    |    1 +
 src/docs/src/api/ddoc/nouveau.rst                  |  145 +
 src/docs/src/api/ddoc/render.rst                   |   38 +-
 src/docs/src/api/ddoc/rewrites.rst                 |    2 +-
 src/docs/src/api/ddoc/search.rst                   |   12 +-
 src/docs/src/api/ddoc/views.rst                    |   91 +-
 src/docs/src/api/document/attachments.rst          |   14 +-
 src/docs/src/api/document/common.rst               |    6 +-
 src/docs/src/api/local.rst                         |  165 +-
 src/docs/src/api/partitioned-dbs.rst               |   28 +-
 src/docs/src/api/server/authn.rst                  |   50 +-
 src/docs/src/api/server/common.rst                 |   53 +-
 src/docs/src/best-practices/forms.rst              |    6 +-
 src/docs/src/best-practices/iso-date.rst           |    4 +-
 src/docs/src/best-practices/reverse-proxies.rst    |    2 +-
 src/docs/src/cluster/purging.rst                   |    8 +-
 src/docs/src/cluster/sharding.rst                  |   15 +-
 src/docs/src/cluster/tls_erlang_distribution.rst   |   53 +-
 src/docs/src/config/auth.rst                       |   20 +-
 src/docs/src/config/compaction.rst                 |    2 +-
 src/docs/src/config/couch-peruser.rst              |    2 +-
 src/docs/src/config/couchdb.rst                    |   17 +
 src/docs/src/config/disk-monitor.rst               |   76 +
 src/docs/src/config/http.rst                       |   32 +
 src/docs/src/config/index.rst                      |    1 +
 src/docs/src/config/intro.rst                      |    6 +-
 src/docs/src/config/query-servers.rst              |   37 +-
 src/docs/src/config/replicator.rst                 |   65 +-
 src/docs/src/cve/2023-26268.rst                    |   61 +
 src/docs/src/ddocs/index.rst                       |    1 +
 src/docs/src/ddocs/nouveau.rst                     |  692 +++
 src/docs/src/ddocs/search.rst                      |   90 +-
 src/docs/src/ddocs/views/collation.rst             |    2 +-
 src/docs/src/ddocs/views/pagination.rst            |    4 +-
 src/docs/src/experimental.rst                      |   10 +
 src/docs/src/install/index.rst                     |    1 +
 src/docs/src/install/nouveau.rst                   |   69 +
 src/docs/src/install/search.rst                    |    2 +-
 src/docs/src/install/unix.rst                      |   21 +-
 src/docs/src/intro/api.rst                         |   43 +-
 src/docs/src/intro/curl.rst                        |   19 +-
 src/docs/src/intro/security.rst                    |    8 +-
 src/docs/src/maintenance/compaction.rst            |   29 +-
 src/docs/src/maintenance/performance.rst           |    4 +-
 src/docs/src/partitioned-dbs/index.rst             |   22 +-
 src/docs/src/replication/conflicts.rst             |  107 +-
 src/docs/src/replication/replicator.rst            |   70 +-
 src/docs/src/setup/cluster.rst                     |    6 +-
 src/docs/src/setup/single-node.rst                 |    6 +-
 src/docs/src/whatsnew/0.11.rst                     |    2 +-
 src/docs/src/whatsnew/2.3.rst                      |    4 +-
 src/docs/src/whatsnew/3.2.rst                      |   18 +-
 src/docs/src/whatsnew/3.3.rst                      |   56 +-
 src/dreyfus/src/dreyfus_fabric_search.erl          |    4 +-
 src/dreyfus/src/dreyfus_httpd.erl                  |   20 +-
 src/dreyfus/src/dreyfus_index.erl                  |    6 +-
 src/dreyfus/test/elixir/mix.exs                    |   30 -
 src/dreyfus/test/elixir/mix.lock                   |    5 -
 src/dreyfus/test/elixir/run                        |    4 -
 src/dreyfus/test/elixir/test/test_helper.exs       |    4 -
 .../{ => eunit}/dreyfus_blacklist_await_test.erl   |    0
 .../{ => eunit}/dreyfus_blacklist_request_test.erl |    0
 .../test/{ => eunit}/dreyfus_config_test.erl       |    0
 .../test/{ => eunit}/dreyfus_purge_test.erl        |    0
 src/dreyfus/test/{ => eunit}/dreyfus_test_util.erl |    0
 src/ets_lru/test/ets_lru_test.erl                  |    6 +
 src/exxhash/.gitignore                             |    7 +
 src/{b64url => exxhash}/Makefile                   |    0
 src/exxhash/README.md                              |   27 +
 src/exxhash/c_src/exxhash.c                        |   31 +
 src/exxhash/c_src/xxhash.c                         |   43 +
 src/exxhash/c_src/xxhash.h                         | 6415 ++++++++++++++++++++
 src/exxhash/rebar.config                           |   32 +
 .../couch_epi.hrl => exxhash/src/exxhash.app.src}  |    9 +-
 src/exxhash/src/exxhash.erl                        |   55 +
 src/exxhash/test/exxhash_tests.erl                 |   54 +
 src/fabric/src/fabric.erl                          |    7 +-
 src/fabric/src/fabric_bench.erl                    |  371 ++
 src/fabric/src/fabric_db_create.erl                |    3 +-
 src/fabric/src/fabric_db_update_listener.erl       |   16 +-
 src/fabric/src/fabric_doc_purge.erl                |  591 +-
 src/fabric/src/fabric_rpc.erl                      |   60 +-
 src/fabric/src/fabric_streams.erl                  |  225 +-
 src/fabric/src/fabric_util.erl                     |    2 +-
 src/fabric/src/fabric_view.erl                     |   17 +-
 src/fabric/src/fabric_view_all_docs.erl            |   44 +-
 src/fabric/src/fabric_view_changes.erl             |   42 +-
 src/fabric/src/fabric_view_map.erl                 |    8 +-
 src/fabric/src/fabric_view_reduce.erl              |    6 +-
 src/fabric/test/eunit/fabric_bench_test.erl        |   91 +
 src/global_changes/src/global_changes_listener.erl |    6 +-
 src/global_changes/src/global_changes_server.erl   |    6 +-
 src/ken/src/ken_server.erl                         |   71 +-
 src/ken/test/ken_server_test.erl                   |   10 +-
 src/mango/README.md                                |    2 +-
 src/mango/requirements.txt                         |    3 +-
 src/mango/src/mango.app.src                        |    3 +-
 src/mango/src/mango.hrl                            |   30 +
 src/mango/src/mango_cursor.erl                     |   14 +-
 ...go_cursor_text.erl => mango_cursor_nouveau.erl} |  139 +-
 src/mango/src/mango_cursor_special.erl             |    4 +-
 src/mango/src/mango_cursor_text.erl                |    8 +-
 src/mango/src/mango_cursor_view.erl                | 1452 ++++-
 src/mango/src/mango_error.erl                      |   37 +
 src/mango/src/mango_execution_stats.erl            |   78 +-
 src/mango/src/mango_httpd.erl                      |   49 +-
 src/mango/src/mango_idx.erl                        |   36 +-
 .../{mango_idx_text.erl => mango_idx_nouveau.erl}  |   26 +-
 src/mango/src/mango_idx_text.erl                   |  150 +-
 src/mango/src/mango_idx_view.erl                   |  137 +-
 src/mango/src/mango_native_proc.erl                |  119 +-
 src/mango/src/mango_selector.erl                   |   74 +-
 src/mango/src/mango_selector_text.erl              |  435 +-
 src/mango/test/01-index-crud-test.py               |   51 +
 src/mango/test/02-basic-find-test.py               |   19 +-
 src/mango/test/03-operator-test.py                 |    4 +
 src/mango/test/04-key-tests.py                     |    4 +-
 src/mango/test/05-index-selection-test.py          |   33 +-
 src/mango/test/06-basic-text-test.py               |    3 +-
 src/mango/test/06-text-default-field-test.py       |    3 -
 src/mango/test/07-text-custom-field-list-test.py   |    2 -
 .../test/10-disable-array-length-field-test.py     |    5 +-
 src/mango/test/13-users-db-find-test.py            |    1 -
 src/mango/test/15-execution-stats-test.py          |   17 +-
 src/mango/test/16-index-selectors-test.py          |   59 +-
 src/mango/test/21-empty-selector-tests.py          |  129 +-
 src/mango/test/22-covering-index-test.py           |  183 +
 src/mango/test/README.md                           |   29 -
 src/mango/test/mango.py                            |   97 +-
 src/mango/test/user_docs.py                        |   18 +-
 src/mem3/src/mem3.erl                              |   53 +-
 src/mem3/src/mem3_hash.erl                         |    3 +-
 src/mem3/src/mem3_rep.erl                          |  156 +-
 src/mem3/src/mem3_reshard.erl                      |    2 +-
 src/mem3/src/mem3_reshard_index.erl                |   44 +-
 src/mem3/src/mem3_reshard_job.erl                  |   26 +-
 src/mem3/src/mem3_rpc.erl                          |    3 +
 src/mem3/src/mem3_sync.erl                         |   15 +-
 src/mem3/src/mem3_sync_event_listener.erl          |    6 +-
 src/mem3/src/mem3_util.erl                         |    2 +-
 src/mem3/test/eunit/mem3_rep_test.erl              |  229 +-
 src/mem3/test/eunit/mem3_reshard_api_test.erl      |   32 +
 src/mem3/test/eunit/mem3_reshard_test.erl          |  108 +-
 src/nouveau/include/nouveau.hrl                    |   23 +
 .../priv/stats_descriptions.cfg                    |   17 +-
 src/nouveau/src/nouveau.app.src                    |   29 +
 .../src/nouveau.erl}                               |   11 +-
 src/nouveau/src/nouveau_api.erl                    |  257 +
 src/nouveau/src/nouveau_app.erl                    |   30 +
 src/nouveau/src/nouveau_bookmark.erl               |   68 +
 src/nouveau/src/nouveau_epi.erl                    |   52 +
 src/nouveau/src/nouveau_fabric.erl                 |   36 +
 src/nouveau/src/nouveau_fabric_cleanup.erl         |   43 +
 src/nouveau/src/nouveau_fabric_info.erl            |   99 +
 src/nouveau/src/nouveau_fabric_search.erl          |  227 +
 src/nouveau/src/nouveau_httpd.erl                  |  288 +
 src/nouveau/src/nouveau_httpd_handlers.erl         |   35 +
 src/nouveau/src/nouveau_index_manager.erl          |  161 +
 src/nouveau/src/nouveau_index_updater.erl          |  213 +
 .../src/nouveau_plugin_couch_db.erl}               |   14 +-
 src/nouveau/src/nouveau_rpc.erl                    |   57 +
 src/nouveau/src/nouveau_sup.erl                    |   31 +
 src/nouveau/src/nouveau_util.erl                   |  198 +
 src/smoosh/operator_guide.md                       |    4 +-
 src/smoosh/src/smoosh_persist.erl                  |   14 +-
 support/build_js.escript                           |    4 +-
 test/elixir/lib/couch.ex                           |   25 +-
 test/elixir/test/attachments_test.exs              |   23 -
 test/elixir/test/config/nouveau.elixir             |   29 +
 test/elixir/test/config/search.elixir              |   36 +
 test/elixir/test/config/suite.elixir               |    8 +-
 test/elixir/test/config/test-config.ini            |    9 +
 test/elixir/test/config_test.exs                   |   12 +
 test/elixir/test/cookie_auth_test.exs              |   42 +
 test/elixir/test/disk_monitor.exs                  |   55 +
 test/elixir/test/jwt_roles_claim_test.exs          |   40 +-
 test/elixir/test/nouveau_test.exs                  |  599 ++
 .../elixir/test/partition_search_test.exs          |    0
 .../test => test}/elixir/test/search_test.exs      |   77 +-
 test/elixir/test/users_db_test.exs                 |    8 +-
 test/fixtures/allowed-xref.txt                     |    2 +
 test/javascript/tests/list_views.js                |  502 --
 test/javascript/tests/proxyauth.js                 |  137 -
 test/javascript/tests/replicator_db_bad_rep_id.js  |  103 -
 test/javascript/tests/replicator_db_by_doc_id.js   |  128 -
 test/javascript/tests/rewrite.js                   |  513 --
 test/javascript/tests/rewrite_js.js                |  366 --
 test/javascript/tests/security_validation.js       |  330 -
 test/javascript/tests/show_documents.js            |  376 --
 test/javascript/tests/users_db_security.js         |  418 --
 version.mk                                         |    2 +-
 444 files changed, 31772 insertions(+), 8191 deletions(-)
 create mode 100644 .readthedocs.yaml
 create mode 100755 build-aux/xref-helper.sh
 create mode 100644 nouveau/.gitattributes
 create mode 100644 nouveau/.gitignore
 create mode 100644 nouveau/LICENSE
 create mode 100644 nouveau/README.md
 create mode 100644 nouveau/TODO
 create mode 100644 nouveau/build.gradle
 create mode 100644 nouveau/gradle/wrapper/gradle-wrapper.jar
 create mode 100644 nouveau/gradle/wrapper/gradle-wrapper.properties
 create mode 100755 nouveau/gradlew
 create mode 100644 nouveau/gradlew.bat
 create mode 100644 nouveau/nouveau.yaml
 create mode 100644 nouveau/settings.gradle
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplication.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeRequest.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/AnalyzeResponse.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentDeleteRequest.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/DocumentUpdateRequest.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/DoubleField.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/DoubleRange.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/Field.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexDefinition.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfo.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/Range.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchHit.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchRequest.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/SearchResults.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/StoredField.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/StringField.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/api/TextField.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/IOUtils.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/Index.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexFunction.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexLoader.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/IndexManager.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/StripedLock.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/UpdatesOutOfOrderException.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/ByteArrayWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/DoubleWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/FloatWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/IntWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/LongWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/PrimitiveWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/core/ser/StringWrapper.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheck.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9AnalyzerFactory.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9Index.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/Lucene9Module.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParser.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/ParallelSearcherFactory.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/QueryDeserializer.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/QuerySerializer.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/lucene9/SimpleAsciiFoldingAnalyzer.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/resources/AnalyzeResource.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
 create mode 100644 
nouveau/src/main/java/org/apache/couchdb/nouveau/tasks/CloseAllIndexesTask.java
 create mode 100644 nouveau/src/main/resources/banner.txt
 create mode 100644 nouveau/src/main/resources/openapi.yaml
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/api/SearchRequestTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/health/AnalyzeHealthCheckTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/health/IndexHealthCheckTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/Lucene9AnalyzerFactoryTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/Lucene9IndexTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/NouveauQueryParserTest.java
 create mode 100644 
nouveau/src/test/java/org/apache/couchdb/nouveau/lucene9/QuerySerializationTest.java
 create mode 100644 
nouveau/src/test/resources/fixtures/DocumentUpdateRequest.json
 create mode 100644 nouveau/src/test/resources/fixtures/SearchRequest.json
 delete mode 100644 share/server/json2.js
 create mode 100644 share/server/nouveau.js
 create mode 100644 src/chttpd/test/eunit/chttpd_changes_test.erl
 create mode 100644 src/chttpd/test/eunit/chttpd_local_docs_tests.erl
 create mode 100644 src/couch/src/couch_disk_monitor.erl
 copy src/{couch_stats/src/couch_stats_sup.erl => couch/src/couch_lists.erl} 
(52%)
 create mode 100644 src/couch/test/eunit/couch_compress_tests.erl
 create mode 100644 src/couch/test/eunit/couch_hash_test.erl
 copy src/{couch_mrview/test/eunit/couch_mrview_http_tests.erl => 
couch/test/eunit/couch_lists_tests.erl} (55%)
 create mode 100644 src/couch/test/eunit/same_site_cookie_tests.erl
 delete mode 100644 src/couch/test/exunit/couch_compress_tests.exs
 delete mode 100644 src/couch/test/exunit/same_site_cookie_tests.exs
 delete mode 100644 src/couch/test/exunit/test_helper.exs
 create mode 100644 src/couch_dist/.gitignore
 create mode 100644 src/couch_dist/README.md
 create mode 100755 src/couch_dist/certs/certs
 create mode 100644 src/couch_dist/certs/certs.exs
 create mode 100755 src/couch_dist/certs/parse_cert.escript
 create mode 100755 src/couch_dist/gen_certs
 create mode 100644 src/couch_index/test/eunit/couch_index_crash_tests.erl
 create mode 100644 src/couch_prometheus/src/couch_prometheus.erl
 delete mode 100644 src/couch_prometheus/src/couch_prometheus_server.erl
 delete mode 100644 
src/couch_prometheus/test/eunit/couch_prometheus_util_tests.erl
 create mode 100644 
src/couch_replicator/test/eunit/couch_replicator_doc_ids_tests.erl
 delete mode 100644 src/couch_stats/src/couch_stats.hrl
 delete mode 100644 src/couch_stats/src/couch_stats_aggregator.erl
 create mode 100644 src/couch_stats/src/couch_stats_counter.erl
 create mode 100644 src/couch_stats/src/couch_stats_gauge.erl
 create mode 100644 src/couch_stats/src/couch_stats_histogram.erl
 create mode 100644 src/couch_stats/src/couch_stats_math.erl
 create mode 100644 src/couch_stats/src/couch_stats_server.erl
 create mode 100644 src/couch_stats/src/couch_stats_util.erl
 create mode 100644 src/docs/src/api/ddoc/nouveau.rst
 create mode 100644 src/docs/src/config/disk-monitor.rst
 create mode 100644 src/docs/src/cve/2023-26268.rst
 create mode 100644 src/docs/src/ddocs/nouveau.rst
 create mode 100644 src/docs/src/install/nouveau.rst
 delete mode 100644 src/dreyfus/test/elixir/mix.exs
 delete mode 100644 src/dreyfus/test/elixir/mix.lock
 delete mode 100755 src/dreyfus/test/elixir/run
 delete mode 100644 src/dreyfus/test/elixir/test/test_helper.exs
 rename src/dreyfus/test/{ => eunit}/dreyfus_blacklist_await_test.erl (100%)
 rename src/dreyfus/test/{ => eunit}/dreyfus_blacklist_request_test.erl (100%)
 rename src/dreyfus/test/{ => eunit}/dreyfus_config_test.erl (100%)
 rename src/dreyfus/test/{ => eunit}/dreyfus_purge_test.erl (100%)
 rename src/dreyfus/test/{ => eunit}/dreyfus_test_util.erl (100%)
 create mode 100644 src/exxhash/.gitignore
 copy src/{b64url => exxhash}/Makefile (100%)
 create mode 100644 src/exxhash/README.md
 create mode 100644 src/exxhash/c_src/exxhash.c
 create mode 100644 src/exxhash/c_src/xxhash.c
 create mode 100644 src/exxhash/c_src/xxhash.h
 create mode 100644 src/exxhash/rebar.config
 copy src/{couch_epi/src/couch_epi.hrl => exxhash/src/exxhash.app.src} (76%)
 create mode 100644 src/exxhash/src/exxhash.erl
 create mode 100644 src/exxhash/test/exxhash_tests.erl
 create mode 100644 src/fabric/src/fabric_bench.erl
 create mode 100644 src/fabric/test/eunit/fabric_bench_test.erl
 copy src/mango/src/{mango_cursor_text.erl => mango_cursor_nouveau.erl} (68%)
 copy src/mango/src/{mango_idx_text.erl => mango_idx_nouveau.erl} (94%)
 create mode 100644 src/mango/test/22-covering-index-test.py
 delete mode 100644 src/mango/test/README.md
 create mode 100644 src/nouveau/include/nouveau.hrl
 copy src/{chttpd => nouveau}/priv/stats_descriptions.cfg (64%)
 create mode 100644 src/nouveau/src/nouveau.app.src
 rename src/{couch_prometheus/src/couch_prometheus.hrl => 
nouveau/src/nouveau.erl} (70%)
 create mode 100644 src/nouveau/src/nouveau_api.erl
 create mode 100644 src/nouveau/src/nouveau_app.erl
 create mode 100644 src/nouveau/src/nouveau_bookmark.erl
 create mode 100644 src/nouveau/src/nouveau_epi.erl
 create mode 100644 src/nouveau/src/nouveau_fabric.erl
 create mode 100644 src/nouveau/src/nouveau_fabric_cleanup.erl
 create mode 100644 src/nouveau/src/nouveau_fabric_info.erl
 create mode 100644 src/nouveau/src/nouveau_fabric_search.erl
 create mode 100644 src/nouveau/src/nouveau_httpd.erl
 create mode 100644 src/nouveau/src/nouveau_httpd_handlers.erl
 create mode 100644 src/nouveau/src/nouveau_index_manager.erl
 create mode 100644 src/nouveau/src/nouveau_index_updater.erl
 copy src/{ddoc_cache/src/ddoc_cache_value.erl => 
nouveau/src/nouveau_plugin_couch_db.erl} (68%)
 create mode 100644 src/nouveau/src/nouveau_rpc.erl
 create mode 100644 src/nouveau/src/nouveau_sup.erl
 create mode 100644 src/nouveau/src/nouveau_util.erl
 create mode 100644 test/elixir/test/config/nouveau.elixir
 create mode 100644 test/elixir/test/config/search.elixir
 create mode 100644 test/elixir/test/disk_monitor.exs
 create mode 100644 test/elixir/test/nouveau_test.exs
 rename {src/dreyfus/test => test}/elixir/test/partition_search_test.exs (100%)
 rename {src/dreyfus/test => test}/elixir/test/search_test.exs (75%)
 create mode 100644 test/fixtures/allowed-xref.txt
 delete mode 100644 test/javascript/tests/list_views.js
 delete mode 100644 test/javascript/tests/proxyauth.js
 delete mode 100644 test/javascript/tests/replicator_db_bad_rep_id.js
 delete mode 100644 test/javascript/tests/replicator_db_by_doc_id.js
 delete mode 100644 test/javascript/tests/rewrite.js
 delete mode 100644 test/javascript/tests/rewrite_js.js
 delete mode 100644 test/javascript/tests/security_validation.js
 delete mode 100644 test/javascript/tests/show_documents.js
 delete mode 100644 test/javascript/tests/users_db_security.js

Reply via email to