[RELEASE] Apache CouchDB 3.3.0 released

29 views
Skip to first unread message

Jan Lehnardt

unread,
Jan 3, 2023, 5:42:41 AM1/3/23
to anno...@apache.org, CouchDB Developers, us...@couchdb.apache.org, anno...@couchdb.apache.org
Dear community,

Apache CouchDB® 3.3.0 has been released and is available for download. It is a feature release, and was originally published on 2023-01-03.

Release Notes highlights:
• Improve replication performance by at least 3x for certain workloads by…
• …speeding up the _bulk_get & _revs_diff endpoints
• …making use of the faster _bulk_get endpoint in the replicator
• …statistically skip calling the _revs_diff endpoint if it is not needed
• this speeds up replications into empty databases significantly
• …more efficiently encoding all occurrences of _rev values
• A new winning_revs_only replicator option to create a database copy without any conflicts occurring in the source database
• Start using SHA256 for session cookie HMAC calculation
• Support Erlang 25 with its improved JIT support for ARM64
• For a more in-depth discussion see this recording of the November Berlin CouchDB User Group online meetup: https://vi.to/hubs/couchdb-berlin/pages/state-of-the-couch-november-2022-jan-lehnardt-nov-16-2022?v=%2Fvideos%2F5904 (free signup required, no spam)
• CouchDB is on Mastodon now: https://fosstodon.org/@couchdb

See the official release notes document for an exhaustive list of all changes:
http://docs.couchdb.org/en/stable/whatsnew/3.3.html

Pre-built packages for Windows, macOS, Debian/Ubuntu and RHEL/CentOS are available alongside the source code distribution: https://couchdb.apache.org/#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.

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!

On behalf of the CouchDB PMC,
Jan Lehnardt

Rick Jarvis

unread,
Jan 3, 2023, 7:32:08 AM1/3/23
to us...@couchdb.apache.org
Thanks Jan

Did I read somewhere that there is a new more powerful search coming to either this version or perhaps 3.4.0? Any info on this / timescales if so?

R

Jan Lehnardt

unread,
Jan 5, 2023, 4:38:27 AM1/5/23
to us...@couchdb.apache.org
Wip here: https://github.com/apache/couchdb/pull/4291

But no timelines, as per usual :) — The initial focus will be on feature parity with the existing search, while allowing for more powerful features later on. How many of these advanced features will be available when will depend on folks contributing to this.

If you wanna help, do give that branch a spin and report back on the PR.

Best
Jan

Rick Jarvis

unread,
Jan 7, 2023, 7:00:45 AM1/7/23
to us...@couchdb.apache.org
I would love to… Erlang & Java are outside my comfort zones sadly. If it were JS, I’d be all over it :) If I can help with testing / anything else though, I’d be happy to...

Paul Milner

unread,
Apr 17, 2023, 11:08:23 AM4/17/23
to us...@couchdb.apache.org
Hello there

I am trying to install this version of couchdb on Ubuntu 22.0 following the
instructions in the documentation, but unfortunately it fails. It says no
sources for couchdb exist. I have done the pre-step and run apt update and
apt upgrade. It is a totally clean server. When I try to download and run
the deb, it complains that libicu67 or greater doesn't exist. I'm on amd.

I've seen other people having the same issue, but no fixes work.

Thanks for your help
Best regards
Paul

Paul Milner

unread,
Apr 17, 2023, 11:27:52 AM4/17/23
to us...@couchdb.apache.org
Hello again

After a bit of digging, I got to this:

Ubuntu switched the default compression of Debian packages to zstd
(observed in 22.04). This will now result in files containing
control.tar.zst and data.tar.zst.

Artifactory does not seem to handle this packages, they do not show up
inside the Debian repo and no Debian metadata is displayed when I view the
package.

As a workaround I forced the package to another compression method by
adding the following lines to debian/rules:

override_dh_builddeb:
dh_builddeb -- -Zgzip

Can you tell me if this helps and if you can do anything about it please?

Thanks a lot
Paul

Nick Vatamaniuc

unread,
Apr 17, 2023, 11:03:47 PM4/17/23
to us...@couchdb.apache.org
Hi Paul,

Thanks for the update.

We do use Zgzip when building our packages:
https://github.com/apache/couchdb-pkg/blob/main/debian/rules#L45-L47

Trying to install couchdb on ubuntu jammy worked on my VM. I noticed
it pulled in libmozjs-78 and libicu70 (70.1-2) was already present on
the server:

---
$ sudo apt install -y couchdb
...
The following additional packages will be installed:
libmozjs-78-0
The following NEW packages will be installed:
couchdb libmozjs-78-0
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
...
Get:1 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64
libmozjs-78-0 amd64 78.15.0-4ubuntu1 [8,350 kB]
Get:2 https://apache.jfrog.io/artifactory/couchdb-deb jammy/main amd64
couchdb amd64 3.3.1.1-1~jammy [30.9 MB]
---

Are you using the latest 3.3.1.* version from
https://apache.jfrog.io/artifactory/couchdb-deb ?

Regards,
-Nick

Paul Milner

unread,
Apr 18, 2023, 1:17:25 AM4/18/23
to us...@couchdb.apache.org
Hi Nick

Thanks

In the end I gave up with deb and built the source code. That seems to have
worked, but wasn't plain sailing as not all the dependencies were
there, but I was able to get them without much hassle. I just have to
create the 3 databases. Interesting that the error message that comes for
the missing databases is as per the install instructions and the
documentation says we'll fix that in a minute, but never does unless I
missed something ;-) I googled!!

Thanks again
Paul
Reply all
Reply to author
Forward
0 new messages