## couchbase/couchbase-lite-core — android-2.7.0…orphan-219a0c1

_2096+ commits._

### Features
- **Add missing header in SyncListenerTest** (8f1a22a)
- **Support v3 protocol in P2P sync** (1acdfa2)
- **CBL-6400: Port the changes to QueryParser in 3.2 branch (to support U… (#2186)** (c3ecb46)
- **Add an option to make fat macOS debug builds (#2165)** (753d598)
- **QueryTranslator: Implemented predictive index support (#2141)** (a177348)
- **CBL-5170: Support Inner Unnest Query in SQL++ (#2133)** (5184267)
- **CBL-6156: Support Inner Unnest Query in JSON (#2131)** (65039a6)
- **Update Jenkins configuration to support C++20** (47cc9ad)

### Fixes
- **Better TLS thread-safety fix [CBL-6640][CBL-6649]** (0c6f6e2)
- **Bug-fix for DatabaseRegistry::borrowCollection [CBL-6637]** (0be731e)
- **Fix Android build issue** (d9971cb)
- **Attempt to fix MSVC link error w/ kC4Cpp_DefaultLog** (bd30be1)
- **Fixed nasty use-after-free bug in Headers move-assignment** (55cd859)
- **CBL-6591: Fix expiration upgrade (#2196)** (6b639a7)
- **CBL-6302: Fix N1QL parser rejects `META(scope.coll)` (#2188)** (a79ab49)
- **Xcode fix.** (c5bae05)
- **CBL-6416: Regression - VS LIMIT query should throw for out of range (#2181)** (d2b20e2)
- **Fix whoopsie with function def** (4a674d6)
- **CBL-6375: fix a bug in validateQuery in c4ArrayIndexTest.cc. (#2175)** (a34d197)
- **CBL-6245: Query parser regression related to brackets. (#2157)** (d68b4ba)
- **Fix DateFormat.cc some more (for GCC)** (458def5)
- **Fix a problem building with GCC 11 (#2126)** (0e34a72)
- **CBL-6193 : Fix address conversion for request when using proxy (#2127)** (163b832)
- **clang-format (fix broken rebased commit)** (43cc324)

### Backend
- **Update mbedTLS to latest** (219a0c1)
- **mbedTLS logs should never be warnings or errors** (f60d148)
- **Fixed thread-safety issue with simultaneous TLS handshakes [CBL-6640]** (7adf7f1)
- **Updated Fleece now that its PR 246 was merged** (b0da73d)
- **formatting in DatabaseRegistry.cc** (eb37714)
- **Downgrade warnings when peer closes a socket** (eb0ebe7)
- **Body::bodyAsJSON() didn't understand charset on Content-Type** (d162704)
- **DatabasePool: Updated doc-comments** (d05c1af)
- **Added missing includes to DatabasePool** (fa67863)
- **DatabasePool allows multiple borrows of r/o db on the same thread** (dd652d3)
- **Fixed DatabasePool deadlock** (9b20020)
- **Updated fleece** (1c575cb)
- **Ensure sequence indexes are created when DBAccess starts** (b2f9c7f)
- **effin' clang-format again** (b74628b)
- **Some HTTP fixes** (15babd1)
- **Removed unnecessary/conflicting change in Replicator.cc** (9a38075)
- **CMake: Fixed LITECORE_SANITIZE** (7745991)
- **Switch to official cbdeps build of icu** (b5c3dbf)
- **HTTPListener: use "age_sece" not "started_on" in _active_tasks** (e093cb2)
- **Added C4Collection::getPurgeCount() [API]** (ba39e89)
- **Fixed UBSan error calling C4Listener::shareDB()** (ff3a540)
- **Refactor the CMake project** (5dd8ae7)
- **C4DocEnumerator: Added `startKey` option [API]** (93a773e)
- **HTTPListener: use task_id not pid in Task JSON description** (e6a4b2b)
- **C4Listener: Made stopping more robust** (28d25d4)
- **Avoid GCC multi-line comment warning in c4ReplicatorTypes** (fafd07e)
- **TCPSocket: Don't log multiple identical errors** (c9690ca)
- **Simplified implementation of Headers** (2e94064)
- **cleanup** (344a62f)
- **Resolved GCC warnings w/CBL_CORE_API** (156a28f)
- **Fixing Xcode and Windows builds** (75acf1f)
- **Fixed warnings, reformatted** (a944ee2)
- **Added HTTPListener::findMatchingSyncProtocol()** (2492748)
- **Added missing include to HTTPListener.hh** (98c5743)
- **C4Collection::createIndex() now returns bool [API]** (3911fdc)
- **Fixed misleading comment in c4ReplicatorTypes.h** (3c7776d)
- **Fixed uninitialized ptr in BorrowedCollection struct** (3628503)
- **Added HTTPListener::Task::listed()** (e9e3561)
- **Internal API to start replicator with DatabasePool** (6a4a2ff)
- **DatabasePool: Proper error if pool is read-only** (87b6d25)
- **REST: Refactoring. Moved more code into EdgeServer.** (8adef9c)
- **C4Listener: Per-database configuration** (058dbc9)
- **clang-format** (a258028)
- **Request/Response improvements** (1b92967)
- **DatabasePool improvements (Transaction)** (25f0964)
- **Make WITH_ERROR info more visible in test output** (562ea12)
- **CppTests pass again** (3f7e1b8)
- **DatabasePool logging** (160d290)
- **SyncListener uses Task. Ensure Tasks get stopped.** (23afbe7)
- **SyncListener creates Replicator w/DatabasePool** (07ed8f2)
- **Changes for EdgeServer** (e05d434)
- **build fixes for CE and Xcode** (61caeb4)
- **c4ReplicatorImpl now supports DatabasePool** (7a7aec8)
- **more db pool in replicator** (2c7e048)
- **Replicator's DBAccess now uses a database pool** (f41c5eb)
- **CBL-6642: Invalid version string error when inserting merged version pushed by active replicator (#2212)** (6d3748c)
- **CBL-6636: Rev message contains the full history in the revID field (#2211)** (e07892a)
- **CBD-6163: BSL License updates - Couchbase Lite Version 4.0 (#2208)** (1de9781)
- **CBL-6629: Invalid binary version ID (looks like a legacy revID) error when pushing rev-tree doc before upgrading to version vector (#2204)** (fa290aa)
- **bump Project version to 4.0 (#2203)** (98f3b08)
- **CBL-6597: The proposeChange not include remote revision id for the up… (#2200)** (89151de)
- **CBL-6592: active pusher should always send proposeChanges regardless … (#2199)** (e6ca3aa)
- **CBL-6289: Re-enable Actions Replication tests (#2190)** (27d3530)
- **CBL-6442: Re-instate Unnest Group By test. (#2191)** (21f864c)
- **Update the reference to the fleece submodule. (#2189)** (842c8c9)
- **Merge pull request #2185 from couchbase/cbl-6422** (231bd7a)
- **CBL-6422: Some tests of VectorSearch are failing in 4.0** (08451a8)
- **Merge pull request #2184 from couchbase/CBL-6398** (4732b9e)
- **Delete QueryParser files.** (4b008d1)
- **Formatting.** (38dcfb6)
- **CBL-6332: Implicit key change in query results (#2182)** (5940795)
- **Disable unnest / array index tests.** (dd8a4fd)
- **Merge branch 'master' of github.com:couchbase/couchbase-lite-core** (b2a51ee)
- **Merge release/3.2 into master.** (28eba91)
- **Catch2 V3 does not work for the option "-r quiet" (the tests hang). Change it "-r list". (#2183)** (63f0ed1)
- **Updated Catch2 to v3.7.1, from v2.13.8 (#2155)** (41dba61)
- **CBL-6404: Update fleece submodule to the master branch of fleece. (#2180)** (5358edb)
- **CBL-6243: JOIN requires AS (#2152)** (dfcfb26)
- **CBL-6337: LiteCore Replicator uses the previous logPrefix passed by the platform replicator (#2179)** (7da00b2)
- **CBL-6378: Crash when calling onWebSocketGotTLSCertificate callback after the connection is closed (#2177)** (c67cbd3)
- **CBL-6131: Race creating the `expiration` column in a collection table (#2160)** (6c0e685)
- **CBL-5175: Test multi level array index - High Level (#2173)** (66d66a4)
- **CBL-6370: Query parser fails if we combine indexed unnest with unindexed unnest (#2172)** (ead2f9a)
- **CBL-6155: Improve LiteCore Log (#2164)** (00a637a)
- **CBL-6369: Recreate Array Index fails (#2171)** (3e89836)
- **CBL-6359: C4 APIs for the ArrayIndex (#2170)** (781a30e)
- **CBL-6292: BLIP message log may contain document's content (#2166)** (045c8e3)
- **CBL-6335: LiteCore Replicator uses the previous logPrefix passed by the platform replicator (#2169)** (fb6e666)
- **CBL-6158: Remove c4SocketTrace as instrumentation for debugging (#2168)** (7db2d5c)
- **CBL-6255: fl_each with group-by not working (#2167)** (126938c)
- **CBL-6320: Test multi level array index - Low Level (#2163)** (87ce29b)
- **CBL-6293: BLIP message log may contain document's content** (f5ac824)
- **README: Improved Linux build instructions (#2142)** (3ce201b)
- **CBL-6326: c4coll_createIndex crashes when creating a value index with non null options (#2162)** (da8b267)
- **CBL-6295: UnnestPath property is not part of c4index getOptions (#2159)** (e589bd6)
- **CBL-6305: LiteCore API for Enabling and Disabling SQLite's mmap (#2158)** (7d77c8a)
- **CBL-6082: IndexSpec of ArrayIndex with multi-level (#2156)** (63c43f6)
- **CBL-6148: Update Replication Protocol for 4.0 (#2140)** (e911d90)
- **Fixed incorrect SchemaVersion::Current (#2153)** (683737c)
- **Make test logs readable in CLion (#2143)** (44a0d4a)
- **More compiler warnings, and sanitizers, in CMake builds (#2138)** (d53db2e)
- **CBL-6288: Disable Replication tests in Actions. (#2151)** (23441ce)
- **CBL-6208: IndexSpec of ArrayIndex with multi-level (#2149)** (55ddf2c)
- **Fixed UB when a CollectionChangeObserver deletes itself in its callback (#2123)** (56f7749)
- **Pick up latest from the master branch of fleece. (#2145)** (6eb8ec8)
- **CBL-5616: Update SG docker version (again)** (3fadf90)
- **CBL-6207: Test multi-level unnest w/o index. (#2137)** (ced8f59)
- **CBL-5616: Update SG version in docker-compose.yml (#2121)** (57962fe)
- **CBL-6239: Fixed c4doc_getRevisionBody in a 2.x db (#2136)** (848e05f)
- **Make sync work across VV upgrades (#1913)** (92fc5cc)
- **Merge pull request #2135 from couchbase/merge/3.2_master** (abe9759)
- **Merge commit '163b832d936f795c2c2a3cf15990c03787616294' into merge/3.2_master** (f00ef2c)
- **Merge 3.2 into master.** (492c11a)
- **Statically link to libstdc++ (#2134)** (8009302)
- **CBL-6169: DataFile::documentKeys() is not thread-safe (#2132)** (02a5393)
- **CBL-6189: Annotation of thread-safety, filling in the missing ones after the first pass. (#2129)** (01d195b)
- **Allow a Timer to destruct itself during its callback (#2124)** (471e5ec)
- **Fixed C4CollectionSpec hash and equality (#2122)** (b090363)
- **LogEncoder cleanup (#2130)** (cba409e)
- **Rewritten query translator (#1966)** (cf53ccd)
- **Xcode: Don't break at an expected exception in CookieStoreTest** (fb78816)
- **clang-format** (988d939)
- **Updated Fleece now that its PR is merged** (9f75fab)
- **Fixes for Windows and Linux** (be623c9)
- **Update Android NDK even more** (d6c2091)
- **oops, formatting for previous changes** (f0571b9)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/couchbase/couchbase-lite-core?utm_source=github-action)._