[ANNOUNCE] Apache CouchDB 2.1.0 released

2017-08-07 Thread Joan Touzet
Dear community,

Apache CouchDB %VERSION% has been released and is available for
download.

CouchDB is a database that completely embraces the web. Store your data
with JSON documents. Access your documents with your web browser, via
HTTP. Query, combine, and transform your documents with JavaScript.
CouchDB works well with modern web and mobile apps. You can distribute
your data, efficiently using CouchDB’s incremental replication. CouchDB
supports master-master setups with automatic conflict detection.

CouchDB comes with a suite of features, such as on-the-fly document
transformation and real-time change notifications, that make web
development a breeze. It even comes with an easy to use web
administration console, served directly out of CouchDB! We care a lot
about distributed scaling. CouchDB is highly available and partition
tolerant, but is also eventually consistent. And we care a lot about
your data. CouchDB has a fault-tolerant storage engine that puts the
safety of your data first.

Download your copy here:

https://couchdb.apache.org/#download

Pre-built convenience binaries for Windows, macOS, Debian/Ubuntu and
RHEL/CentOS are available.

CouchDB 2.1.0 is a feature release, and was originally published on
2017-08-07.

The community would like to thank all contributors for their part in
making this release, from the smallest bug report or patch to major
contributions in code, design, or marketing, we couldn’t have done it
without you!

The release notes follow. A formatted version of them can be viewed
at http://docs.couchdb.org/en/2.1.0/whatsnew/2.1.html

On behalf of the CouchDB PMC,
Joan Touzet

---

Version 2.1.0

The Mango _find endpoint supports a new combination operator, $allMatch, 
which matches and returns all documents that contain an array field with all 
its elements matching all the specified query criteria.

New scheduling replicator. The core of the new replicator is a scheduler 
which allows running a large number of replication jobs by switching between 
them, stopping some and starting others periodically. Jobs which fail are 
backed off exponentially. There is also an improved inspection and querying 
API: _scheduler/jobs and _scheduler/docs:
_scheduler/jobs : This endpoint shows active replication jobs. These 
are jobs managed by the scheduler. Some of them might be running, some might be 
waiting to run, or backed off (penalized) because they crashed too many times. 
Semantically this is somewhat equivalent to _active_tasks but focuses only on 
replications. Jobs which have completed or which were never created because of 
malformed replication documents will not be shown here as they are not managed 
by the scheduler. _replicate replications, started form _replicate endpoint not 
from a document in a _replicator db, will also show up here.
_scheduler/docs : This endpoint is an improvement on having to go back 
and read replication documents to query their state. It represents the state of 
all the replications started from documents in _replicator db. Unlike 
_scheduler/jobs it will also show jobs which have failed or have completed.

By default, scheduling replicator will not update documents with transient 
states like triggered or error anymore, instead _scheduler/docs API should be 
used to query replication document states.

Other scheduling replicator improvements

Network resource usage and performance was improved by implementing a 
shared connection pool. This should help in cases of a large number of 
connections to the same sources or target. Previously connection pools were 
shared only withing a single replication job.
Improved request rate limit handling. Replicator requests will 
auto-discover rate limit capacity on targets and sources based on a proven 
Additive Increase / Multiplicative Decrease feedback control algorithm.
Improved performance by having exponential backoff for all replication 
jobs failures. Previously there were some scenarios were failure led to 
continuous repeated retries, consuming CPU and disk resources in the process.
Improved recovery from long but temporary network failure. Currently if 
replications jobs fail to start 10 times in a row, they will not be retried 
anymore. This is sometimes desirable, but in some cases, for example, after a 
sustained DNS failure which eventually recovers, replications reach their retry 
limit, stop retrying and never recover. Previously it required user 
intervention to continue. Scheduling replicator will never give up retrying a 
valid scheduled replication job and so it should recover automatically.
Better handling of filtered replications. Failing user filter code 
fetches from the source will not block replicator manager and stall other 
replications. Failing filter fetches will also be backed off exponentially. 
Another improvement is when filter code changes on the source, a running 
replication will detect

[ANNOUNCE] Apache CouchDB 2.3.0 released

2018-12-06 Thread Joan Touzet
Dear community,

Apache CouchDB 2.3.0 has been released and is available for download.

Apache CouchDB™ lets you access your data where you need it. The Couch 
Replication Protocol is implemented in a variety of projects and products that 
span every imaginable computing environment from globally distributed 
server-clusters, over mobile phones to web browsers.

Store your data safely, on your own servers, or with any leading cloud 
provider. Your web- and native applications love CouchDB, because it speaks 
JSON natively and supports binary data for all your data storage needs.

The Couch Replication Protocol lets your data flow seamlessly between server 
clusters to mobile phones and web browsers, enabling a compelling offline-first 
user-experience while maintaining high performance and strong reliability. 
CouchDB comes with a developer-friendly query language, and optionally 
MapReduce for simple, efficient, and comprehensive data retrieval.

https://couchdb.apache.org/#download

Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are 
available.

CouchDB 2.3.0 is a feature release, and was originally published on 2018-12-06.

The community would like to thank all contributors for their part in making 
this release, from the smallest bug report or patch to major contributions in 
code, design, or marketing, we couldn’t have done it without you!

See the official release notes document for an exhaustive list of all changes:

http://docs.couchdb.org/en/stable/whatsnew/2.3.html

Release Notes highlights:

  - (Multiple) Clustered purge is now available. This feature restores the 
CouchDB 1.x ability to completely remove any record of a document from a 
database. Conditions apply; to use the feature safely, and for full details, 
read the complete Clustered Purge documentation.

  - A new config setting is available, allowing an administrator to configure 
an initial list of nodes that should be contacted when a node boots up. Nodes 
in the seedlist that are successfully reached will be added to that node’s 
_nodes database automatically, triggering a distributed Erlang connection and 
replication of the internal system databases to the new node. This can be used 
instead of manual config or the cluster setup wizard to bootstrap a cluster. 
The progress of the initial seeding of new nodes is exposed at the GET /_up 
endpoint.

  - Replication supports ipv6-only peers.

  - The UUID of the server/cluster is once again exposed in the GET / response. 
This was a regression from CouchDB 1.x.

  - Stats counts between job runs of the replicator are no longer reset on job 
restart.

  - CouchDB’s _bulk_get implementation now supports the multipart/mixed and 
multipart/related content types if requested, extending compatibility with 
third-party replication clients.

  - CouchDB no longer forces the TCP receive buffer to a fixed size of 256KB, 
allowing the operating system to dynamically adjust the buffer size. This can 
lead to significantly improved network performance when transferring large 
attachments.

  - To improve security, there have been major changes in the configuration of 
query servers, SSL support, and HTTP global handlers. See the release notes for 
important upgrade information.

  - All python scripts shipped with CouchDB, including couchup and the dev/run 
development cluster script, now specify and require Python 3.x.

  - CouchDB is now compatible with Erlang 21.x.

  - The embedded version of rebar used to build CouchDB has been updated to the 
last version of rebar2 available. This assists in building on non-x86 platforms.

  - Plus many other performance improvements, bugfixes, and UI improvements!

On behalf of the CouchDB PMC,
Joan Touzet


[ANNOUNCE] Apache CouchDB 3.0.1 and 3.1.0 released

2020-05-06 Thread Joan Touzet

Dear community,

Apache CouchDB® 3.0.1 and 3.1.0 have been released and are available for 
download.

Apache CouchDB® lets you access your data where you need it. The Couch 
Replication Protocol is implemented in a variety of projects and products that 
span every imaginable computing environment from globally distributed 
server-clusters, over mobile phones to web browsers.

Store your data safely, on your own servers, or with any leading cloud 
provider. Your web- and native applications love CouchDB, because it speaks 
JSON natively and supports binary data for all your data storage needs.

The Couch Replication Protocol lets your data flow seamlessly between server 
clusters to mobile phones and web browsers, enabling a compelling offline-first 
user-experience while maintaining high performance and strong reliability. 
CouchDB comes with a developer-friendly query language, and optionally 
MapReduce for simple, efficient, and comprehensive data retrieval.

https://couchdb.apache.org/#download

Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are 
available.

CouchDB 3.0.1 is a maintenance release, and was originally published on 
2020-05-05.

CouchDB 3.1.0 is a feature release, and was originally published on 2020-05-05.

The community would like to thank all contributors for their part in making 
this release, from the smallest bug report or patch to major contributions in 
code, design, or marketing, we couldn’t have done it without you!

See the official release notes document for an exhaustive list of all changes:

http://docs.couchdb.org/en/stable/whatsnew/3.1.html

Release Notes highlights from 3.0.1:

  - A memory leak when encoding large binary content was patched
  
  - Improvements in documentation and defaults
  
  - JavaScript will no longer corrupt UTF-8 strings in various JS functions
  
Release Notes highlights from 3.1.0:


Everything from 3.0.1, plus...

  - Support for Java Web Tokens

  - Support for SpiderMonkey 68, including binaries for Ubuntu 20.04 (Focal 
Fossa)

  - Up to a 40% performance improvement in the database compactor

  -
On behalf of the CouchDB PMC,
Joan Touzet



[ANNOUNCE] Apache CouchDB 3.1.1 released

2020-09-18 Thread Joan Touzet

Dear community,

Apache CouchDB® 3.1.1 has been released and is available for download.

Apache CouchDB® lets you access your data where you need it. The Couch 
Replication Protocol is implemented in a variety of projects and 
products that span every imaginable computing environment from globally 
distributed server-clusters, over mobile phones to web browsers.


Store your data safely, on your own servers, or with any leading cloud 
provider. Your web- and native applications love CouchDB, because it 
speaks JSON natively and supports binary data for all your data storage 
needs.


The Couch Replication Protocol lets your data flow seamlessly between 
server clusters to mobile phones and web browsers, enabling a compelling 
offline-first user-experience while maintaining high performance and 
strong reliability. CouchDB comes with a developer-friendly query 
language, and optionally MapReduce for simple, efficient, and 
comprehensive data retrieval.


https://couchdb.apache.org/#download

Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are 
available, along with the apache/couchdb and couchdb Docker containers.


CouchDB 3.1.1 is a maintenance release, and was originally published on 
2020-09-18.


The community would like to thank all contributors for their part in 
making this release, from the smallest bug report or patch to major 
contributions in code, design, or marketing, we couldn’t have done it 
without you!


See the official release notes document for an exhaustive list of all 
changes:


https://docs.couchdb.org/en/stable/whatsnew/3.1.html

Release Notes highlights:

  - No more {"unknown" : "normal"} errors.

  - Buffered responses may be enabled, optionally, to delay starting
a response until the end has been calculated.

  - Many minor bugfixes.

On behalf of the CouchDB PMC,
Joan "Friday, Friday, something something Friday" Touzet