couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <>
Subject The BigCouch merge, CouchDB 2.0, 3.0 and later
Date Sat, 30 Mar 2013 19:29:31 GMT
Hi all,

It is time to think about how to square the upcoming changes to CouchDB and the next releases.

Robert Newson and I hashed out this plan:

1. Compile a list of API changes between now and after the BigCouch merge (
2. Ship CouchDB 1.4.0 with a `X-CouchDB-Deprecated: true` header for features that will go
3. Ship CouchDB 2.0.0 with the API changes done, so it is API compatible with the BigCouch
4. Merge BigCouch and ship that as 3.0.0.

Spread over our new quarterly release schedule:

Early April: 1.3.0. 
Early July: 1.4.0. With API deprecation warnings.
Early October: 2.0.0. With API changes.
Early January: 3.0.0. With BigCouch.

Alternatively, we can ship 1.4.0 and 2.0.0 concurrently, so the BigCouch merge work doesn’t
get a chance to get stale:

Early April: 1.3.0. 
Early July: 1.4.0. With API deprecation warnings.
Early July: 2.0.0. With API changes.
Early October: 3.0.0. With BigCouch.

Monthly minor- and patch-level-versions will continue as usual.

If we want to ship new features before BigCouch but after 1.4.0, we can roll 1.5.0 / 2.1.0
before 3.0.0.

Anything up to the BigCouch merge should be trivial, so we can be confident we get that right
(modulo forgetting to deprecate something). If the actual technical issues to get BigCouch
merged aren’t done by October in the way we are satisfied with shipping, we can wait to
ship 3.0.0 until we think it is ready.

In an ideal world, if 2.0.0 and BigCouch merge are API compatible, we *could* ship BigCouch
in say, 2.5.0 or something, but I think the underlying things change enough to warrant a full
major version increase.

The only open question I’d have is how to square that against the ongoing work on bringing
rcouch in. I hope Benoit can comment on this.

Bikeshed away! :)


View raw message