## couchbase/couchbase-lite-core — CBL2.7.0…CBL2.8.0

_773+ commits._

### Features
- **Add c4db_getCookies and c4db_setCookie symbol (#1050)** (b60c811)
- **CBL-1165: Add digital signature to default key usage of server** (d39f12b)
- **CBL-1163: Add note about the format of the data in the sign callback** (8e6bde9)
- **Add std prefix in header** (2cc78a9)
- **CBL-1044 Add self-signed validation mode (#1017)** (637f54f)
- **Remove the Support library and aggregate other PRs (#1010)** (552c101)
- **CBL-1003: Add key in replicator options for server certification verification mode** (14f1b35)
- **Add N1QLParserTests to CMake project** (efaa585)
- **Bump Fleece and add test for lack of precision in some math results** (a06190a)
- **add ability to build debug build without -fsanitize on macos** (f41c6f4)
- **Add some interface linking definitions** (7cad989)
- **Reindexing, via new c4db_maintenance fn [API]** (b3a4d1c)
- **CBL-960 Add enableDeltaSync parameter to listener config** (86817bf)

### Fixes
- **Fix header comparison casing** (7e24e2a)
- **CBL-1208: Fix an rare improper changes response** (01dc1b7)
- **CBL-1174: Correct regression when dealing with conflicts and SequenceTracker (#1048)** (f603543)
- **Previous fix for UWP didn't work as planned** (e7a87be)
- **Fix a really strange error on UWP** (1437bc7)
- **Bump sockpp again for another fix** (3aa417e)
- **Bump sockpp for UWP fix** (1db3f08)
- **Bump sockpp for Android client cert fix** (ca751f5)
- **CBL-1112: Port backpressure hotfix to master (#1039)** (32c958d)
- **Fix a deadlock that was revealed in the LogEncoder** (1e5bdb9)
- **C++ iterator fix** (382f704)
- **fix: archive failure (#1030)** (67bd964)
- **Merge pull request #1025 from couchbase/gbm/raw-data-fix** (1feefca)
- **fix callbacks** (95493e1)
- **CBL-1107: Fix bad interpretation of '$' properties** (084001f)
- **Fix capitalization typo in Android project** (c9c134a)
- **Added C4CertificateTest.cc, and fixed a bug** (0711e49)
- **Fix regression when stopped called during connecting phase (#1011)** (4ceb824)
- **CBL-1008: Fix IPv6 addresses being reported, but not connectable (#1008)** (7f1e4e9)
- **Fix random failure with -34018 error when removing keys (#1001)** (7ec9dd0)
- **Fix code coverage job** (a54c3a1)
- **Fix cert validation on iOS (CBL-995)** (611096d)
- **Fix regression in query distance tests** (6ead91f)
- **Update SQLiteCpp to pick up compile fix** (775893e)
- **fix memory leak in c4db_findDocAncestors tests (#980)** (d1fa363)
- **fix memory leak in RevFinder::_findOrRequestRevs** (04dbf3a)
- **Fixed stack-corrupting bug in Actor (crashed in BackgroundDB::close)** (c9513d7)
- **fix misleading comments in c4Socket.h** (18d0d95)
- **Fix withPublicKey() when the public key is not in the KeyChain (#970)** (e42a974)
- **fix SIGSEGV if interface is up, but have no IP address** (e64d9a9)
- **Revert the fix that causes “Persistent key and cert” test to fail** (392fab3)
- **Fix potential crash in c4cert_getValidTimespan (#966)** (7ce4e2c)
- **Fix how to get public key from private key and remove key (#958)** (dd77f65)

### Backend
- **CBL-1291: Expanded failed delta recovery handling (#1067)** (e258843)
- **CBL-977: Skip "hidden" columns when calculating missing columns (#1064)** (8f2f49b)
- **Don't include host name in listener URL list (#1060)** (4413862)
- **Remove raw pointer assignment to ref (#1057)** (d08fd63)
- **CBL-1243: Freeing listener should stop running replicators (#1058)** (7558717)
- **CBL-1033: c4::ref move assignment operator must release existing object (#1055)** (64c2031)
- **CBL-1205: Treat an empty address as a root address** (4866c7d)
- **Check the domain of the 4002 code too** (a5ec534)
- **CBL-1178: Suppress the recording of kWebSocketCloseAppPermanent** (951a2b8)
- **CBL-936: Make sure Puller's counters react to a failed delta (#1047)** (517b83f)
- **Fixed assertion failure parsing {'FROM':[{'AS':'db'}],'WHAT':[['.']]}** (003288a)
- **CBL-1088: Make sure onClose is called after stop while connecting** (a2595b0)
- **Fixed iOS/Mac crash in CFAutorelease** (25a4d6e)
- **Fixed a 32-bit iOS compile issue** (a86b8af)
- **Xcode: Added iOS perf test target/scheme** (bcb1f62)
- **CBL-1084: Don't allow direct calls to BLIPIO::start** (66dcb4c)
- **Activate mode to stop mbedTLS from sending CA list to client** (44a88cb)
- **CBL-1045: Plug a data race in the dylog method** (2efe5c2)
- **Moved get/save peer checkpoint code to Checkpointer** (b0d1ffe)
- **API: Added c4db_mayHaveExpiration** (9ae2c4f)
- **Log all net interfaces in "Listen on interface" test** (55f3661)
- **Fixed some MSVC warnings (struct vs class)** (b76e99b)
- **Cleaned up time in ReplicatorTuning etc.** (ad6e313)
- **Removed unnecessary Replicator::_remoteURL** (da2bdd2)
- **Logging changes to track down a test failure** (c7917ae)
- **debug log when connection closing, and state is busy (#1035)** (15c752c)
- **Expose BLIP zip compression level option** (11863d4)
- **Fixed a formatting error in sync protocol docs** (dc3ec91)
- **CBL-1141: Defer SQLite temporary file unlinking for Android (#1031)** (5fd61fe)
- **Fixed thread-safety issue in DBAccess::_tempSharedKeys** (2b9bc47)
- **Changed how peer cert is passed up to c4Replicator** (e5f9f41)
- **Xcode: Configure Profile settings for C++ tests schemes** (1e2e1f8)
- **ReplicatorAPITest: Don't load cert file until needed** (8677bf9)
- **Fixed CE ReplicatorAPITest** (faedae5)
- **Got iOS on-device unit tests working** (2f361f9)
- **Fixed problems when getting public key data in ExternalKeyPair (#1027)** (2c17b21)
- **CBL-1061: Always set delegate to null in terminate() (#1026)** (a6e6eac)
- **CBL-1089: Pusher should ignore conflicted documents** (4b77cb4)
- **Create the long and arduous path to extracting a peer certificate (#1022)** (0da7c9a)
- **Fixes needed to compile cbl-log and cblite (#1021)** (84f6c01)
- **Handle KeyStore creation in an aborted transaction** (df9752d)
- **Windows implementation of persistent private keys (#1018)** (fff0d2d)
- **CentOS 6 build fixes** (d26b2e9)
- **Edit line that causes MSVC2019 failure** (8ece768)
- **Remove the SANITIZE_FOR_DEBUG_ENABLED option** (0e1d79d)
- **CBL-1054: Don't do offline handling after c4repl_stop (#1015)** (3dc2514)
- **API: Added c4keypair_fromExternal()** (981b1d6)
- **Update c4db_maintenance, c4cert, c4keypair bindings** (67a608b)
- **Windows will not export externs by default** (bafa82a)
- **CMake: Added c4DatabaseEncryptionTest.cc** (5d56458)
- **EE: Export C4Certificate API from dynamic library** (f39d055)
- **Server::~Server() should be declared `override`** (9f6b743)
- **CBL-954: Return 403 and stop for readonly violation (#1007)** (e7834f9)
- **CBL-988: Stop replicator immediately in connecting state (#1005)** (2ea5fde)
- **Fixed potential deadlock in pending-docs API** (6e63f2c)
- **Fixed race condition in Puller** (a011c7b)
- **Semicolon got removed somehow...** (d0ea36d)
- **Improved threading in replicator tests** (f3b642a)
- **Fixed race condition in Database constructor** (f4c7f97)
- **Fixed data races detected by Thread Sanitizer** (9bd88f5)
- **Disabled timeout of C4Test::importJSONLines** (b7f007a)
- **build sqlite3 as separate library** (8643a8d)
- **Small memory optimization in Document ctor** (63a88db)
- **Fixed memory leaks (most were in tests)** (72de4a7)
- **CBL-1036 : Rollback when update label to cert failed on MacOS (#998)** (4c97a0a)
- **Use HTTP 422 as BLIP error for delta failure** (7534406)
- **Retry revs that couldn't be inserted due to delta failures** (69161e7)
- **Improved delta handling on push and pull side** (0bf07a2)
- **Update NDK** (823d446)
- **"TLS" logging domain for TLS/Cert/Key stuff** (c9904e1)
- **CBL-1007: 32 bit config for simulator (#965)** (e22bb63)
- **API: Added c4cert_isSelfSigned()** (dcdbad3)
- **Revert back to always double results for prediction** (f06bce0)
- **Bump fleece again for test fixes** (774055c)
- **Fixed a leak in c4listener_getURLs** (c937f91)
- **Upgrade to SQLite 3.32.1 and deal with fallout** (53e5407)
- **[API] CBL-948: Make listener return correct scheme for server mode (#984)** (7166d06)
- **Migrate iOS build script from build repo** (aa6110e)
- **Compile LiteCoreREST and LiteCoreWebsocket into shared lib (#976)** (7d53738)
- **Revert test script change that broke build server** (dd8edf3)
- **Don't leave rev bodies behind after a merge** (772c4d1)
- **Remove losing branch when resolving a conflict** (5acbd9a)
- **Added "Database BackgroundDB torture test"** (3d0afc9)
- **Fixed deadlock in BackgroundDB** (5d2e55d)
- **Fixed a crash in Housekeeper closing a database** (e42d8d6)
- **Move Malloc environment variables into script** (fce18f2)
- **Enable sanitizers in PR validation** (1e9eb16)
- **Ref-count C++ Listeners** (6472cf5)
- **Made test_unix.sh work from any directory** (449b20b)
- **Suppress internal exception thrown by KeyChain** (2360716)
- **Prevent SIGILL on macOS by retaining "this" in BackgroundDB** (48e0c51)
- **Log the link between C4Replicator and Replicator** (58744df)
- **More c4db_maintenance options: compact & integrityCheck [API]** (8648d96)
- **ReplicatorAPITest: Stop checking the state right after starting** (3d14d99)
- **Added kC4ReplicatorOptionMaxRetryInterval [API]** (2ae3926)
- **Remove kSecAttrKeySizeInBit setting per code review** (0d04bcd)
- **Xcode 11.4 upgrade check** (9813b77)
- **Fleece update (for CBL-C)** (a7989b9)
- **C4Listener: added auth callbacks & connection-count (#935)** (2c0a634)
- **Update .Net binding** (acc6364)
- **CBL-895: Provide reset option to c4repl_start (#961)** (c9da2fc)
- **CBL-848: Don't allow two listeners on the same port (#954)** (498a509)
- **CBL-910: Reimplement save, load, and delete certs using Keychain (#959)** (153a801)

### Docs
- **Docs: Add subChanges activeOnly property to replication protocol** (21e7d47)

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