Congratulations, Ilya & team, this surely was a herculean task.
Best
Jan
—
> On 2. Dec 2025, at 23:16, ILYA Khlopotov <[email protected]> wrote:
>
> Hello all,
>
> We’re pleased to announce the release of Clouseau 3.0.0, a major update to
> the
> Lucene-based full-text search engine that integrates with CouchDB via
> Dreyfus.
> While Clouseau has always been considered a plugin for CouchDB, it is not
> part
> of the Apache CouchDB project itself. It is maintained by the IBM Cloudant
> team, who have focused on delivering a modernization that preserves the same
> functionality and API while improving maintainability. The previous
> implementation served well for years but relied on an unsupported language
> and
> outdated runtime components. This release addresses long-standing challenges
> with outdated components and operational risk, ensuring a reliable
> foundation
> for the future.
>
> # What’s New
>
> - Modern Foundation - The legacy Scala code running on Java 8 has been
> replaced
> with a newer Scala running on Java 21. Communication between Erlang and
> the
> JVM now uses the fork of jInterface (part of Erlang/OTP), eliminating
> long-standing maintenance of unsupported Scalang library. Deprecated
> asynchronous scheduler is replaced with modern async framework.
>
> - Preserved Compatibility - Despite the architectural changes, the new
> version
> maintains existing APIs, Lucene integration, and on-disk index formats.
> This
> means no re-indexing, no client-side changes, and a seamless rollout.
>
> # Engineering Highlights
>
> - Re-implement Scalang abstractions using https://zio.dev/
> - Implemented actor framework with API similar to erlang's gen_server
> - Implement Erlang Distribution Protocol using jInterface.
> - Extended jInterface with full support of monitors.
> - Greatly improved test coverage.
> - Better introspection capabilities (via remsh and erl_call)
> - Source code is available under Apache 2.0 at cloudant-labs/clouseau.
> - clouseau-ctr application to simplify operations.
>
> # Updated components
>
> - Java - JDK 7 updated to JDK 21.0.12
> - Scala - 2.9.1 updated to 2.13.16
> - com.yammer.metrics - replaced with zio.metrics 2.0.0
> - jetlang - 0.2.12 replaced with zio 2.1.16
> - scalang 2.9.1 - removed from the stack
> - org.slf4j 1.7.32 - replaced with zio.logging 2.5.0 and tinylog 2.7.0
> - commons-configuration 1.8 - replaced with zio.config 4.0.4
>
> Feedback and questions are welcome. If you’d like to review the code or
> learn
> more about the design decisions, please check out
> https://github.com/cloudant-labs/clouseau repository.
>
> Thanks,
> ILYA Khlopotov