Oletuskokoonpanoa on parannettu.
Käynnistettäessä on nyt määritettävä admin-käyttäjä, jota ilman palvelin lopettaa virheen (voit ratkaista ongelmia sellaisten palvelimien käynnistämisessä, jotka vahingossa jättävät pääsyn ilman todennusta). Kutsut kohteeseen "/_all_dbs" vaativat nyt järjestelmänvalvojan oikeudet, ja kaikki tietokannat luodaan oletusarvoisesti vain pääkäyttäjän käytettävissä (käyttöparametreja voidaan muuttaa "_security"-objektin kautta). Oletusarvoisesti objektien muokkaaminen _users-tietokannassa on kielletty.
lisätty kyky luoda käyttäjän määrittämiä segmentoituja (osioituja) tietokantoja, joiden avulla voit määrittää omat säännöt asiakirjojen jakamiseksi segmenttien välillä (shard range). Lisätty erityisiä optimointeja sirpaloituja tietokantoja varten Mango-näkymiin ja indekseihin;
Toteutettu automaattinen jakotila segmentoinnin aikana (sharking). Tietokannassa on nyt mahdollista jakaa tiedot uudelleen segmenttien kesken ottaen huomioon erittelytason määrittämiseen käytetyn q-tekijän arvon kasvu;
lisätty ken-alijärjestelmä automaattiseen taustan indeksointiin ja toissijaisten indeksien (JavaScript, Mango, tekstihakuindeksit) pitämiseen ajan tasalla ilman, että niiden rakennustoimintaa nimenomaisesti aloitetaan;
Automaattiseen tietokannan pakkaamiseen käytetty Smoosh-prosessi on kirjoitettu kokonaan uudelleen;
Ehdotettu uusi osajärjestelmä IO-jono, jota käytetään muuttamaan I/O-prioriteettia tietyissä toiminnoissa;
Otettiin käyttöön regressiotestausjärjestelmä;
Lisätty virallinen tuki arm64v8 (aarch64) ja ppc64le (ppc64el) alustoille;
Lisätty tuki linkittämiselle JavaScript-moottoriin SpiderMonkey 1.8.5 (Firefox 60:n ESR-haara) ja parannettu tuki ES5:lle, ES6:lle ja ES2016+:lle;
Mukana hakukone Dreyfus perustuu Luceneen, mikä yksinkertaistaa huomattavasti CouchDB:hen perustuvan hakukoneen käyttöönottoa;
Lisätty taustajärjestelmä kirjaamiseen systemd-journaldilla;
Lisätty "[couchdb] single_node" -asetus, kun se on asetettu, CouchDB luo automaattisesti järjestelmätietokannat, jos ne puuttuvat.
Couch_server-prosessin suorituskyky on optimoitu;
Windows-alustan asennusohjelmaa on parannettu merkittävästi;
Katselukerrat on rajoitettu 2^28 (268435456) tulokseen. Tämä rajoitus voidaan määrittää erikseen tavallisille ja segmentoiduille näkymille käyttämällä "[query_server_config]"-osion query_limit- ja partition_query_limit-asetuksia.
Verkkoportissa 5986 käynnistetty erillinen HTTP-paikallinen solmuhallintarajapinta on poistettu, jonka toiminnallisuus on nyt käytettävissä yhteisen klusterinhallintarajapinnan kautta;
Asiakirjan enimmäiskoko on pienennetty 8 megatavuun, mikä voi aiheuttaa ongelmia tietojen replikoinnissa vanhoilta palvelimilta CouchDB 3.0 -päivityksen jälkeen. Voit suurentaa rajaa käyttämällä asetusta "[couchdb] max_document_size";
Vanhentuneiden ominaisuuksien, kuten _replicator- ja _external calls, disk_size- ja data_size-kenttien sekä delayed_commits-vaihtoehdon, suuri puhdistus on suoritettu;
CouchDB:n käyttäminen vaatii nyt Erlang/OTP 20.3.8.11+, 21.2.3+ tai 22.0.5. Teoreettisesti toiminnallisuus Erlang/OTP 19 -haaralla on säilynyt, mutta se on testattu.
Muistetaan, että CouchDB tallentaa tiedot järjestetyssä luettelomuodossa ja mahdollistaa tietojen osittaisen replikoinnin useiden tietokantojen välillä master-master-tilassa, jolloin konfliktitilanteet havaitaan ja ratkaistaan samanaikaisesti. Jokainen palvelin tallentaa oman paikallisen tietojoukkonsa, joka on synkronoitu muiden palvelimien kanssa, jotka voidaan ottaa offline-tilaan ja toisintaa muutokset säännöllisesti. Erityisesti tämä ominaisuus tekee CouchDB:stä houkuttelevan ratkaisun ohjelma-asetusten synkronointiin eri tietokoneiden välillä. CouchDB-pohjaisia ratkaisuja on otettu käyttöön sellaisissa yrityksissä kuin BBC, Apple ja CERN.
CouchDB-kyselyt ja tietojen indeksointi voidaan suorittaa paradigman mukaan MapReduce, käyttämällä JavaScriptiä tietojen näytteenottologiikan luomiseen. Järjestelmän ydin on kirjoitettu Erlangilla, joka on optimoitu luomaan hajautettuja järjestelmiä, jotka palvelevat useita rinnakkaisia pyyntöjä. Näkymäpalvelin on kirjoitettu C-kielellä ja perustuu Mozilla-projektin JavaScript-moottoriin. Pääsy tietokantaan tapahtuu HTTP-protokollalla käyttämällä RESTful JSON API:ta, jonka avulla voit käyttää tietoja, myös selaimessa käynnissä olevista verkkosovelluksista.
Tietojen tallennusyksikkö on dokumentti, jolla on yksilöllinen tunniste, versio ja joka sisältää mielivaltaisen joukon nimettyjä kenttiä avain/arvo-muodossa. Pseudostrukturoidun datajoukon järjestämiseksi mielivaltaisista asiakirjoista (aggregointi ja valinta) käytetään näkemysten (views) muodostamisen käsitettä määrittämään, mitä JavaScript-kieltä käytetään. JavaScript voi myös määrittää toimintoja tietojen vahvistamiseksi, kun uusia asiakirjoja lisätään tiettyyn näkymään.