Releases: benoitc/couchbeam
version 2.0.0
Major Release - Breaking Changes
This is a major release with significant architectural changes.
Breaking Changes
- Requires OTP 27+: Uses the built-in
jsonmodule instead of jsx/jiffy - Requires hackney 2.0.1+: Uses hackney's new process-per-connection model
- Documents are native Erlang maps: All documents use binary keys
- Connection handles are now PIDs: Changed from references
New Features
- Comprehensive integration tests (29 new tests covering views, changes, replication, Mango queries, etc.)
- Streaming attachment support with
stream_attachment/3 - Improved changes feed and view streaming with low memory overhead
- Mango query support (
couchbeam:find/3)
Improvements
- Simplified architecture using hackney's process-per-connection model
- Removed supervisor trees in favor of direct process management
- CI tests on OTP 27.3, 28.0 across Linux, macOS, and FreeBSD
- Integration tests with real CouchDB in GitHub Actions
Installation
{deps, [
{couchbeam, "2.0.0"}
]}.See CHANGELOG.md for full details.
See Migration Guide for upgrading from 1.x.
version 1.7.0 / 2025-05-28
Changes
- fix resource leaks and race conditions in stream modules
- fix unclosed hackney connections on error paths
- add proper cleanup for monitor references using try-finally
- fix ETS table race conditions by checking process liveness
- improve stream initialization order to prevent races
- add error handling for hackney operations to prevent leaks
- fix changes stream registration race condition by registering before parent notification
Hex.pm : https://hex.pm/packages/couchbeam
version 1.6.0 / 2025-01-26
Changes
- add support for CouchDB _find endpoint
- add ability to query _show functions
- add option for disabling view_stream usage (enabled by default)
- fix error handling in gen_changes callback handling
- fix resource cleanup in stream modules to prevent connection leaks
- improve replication test reliability and timeout handling
- update hackney dependency to 1.23
- update jsx dependency
- add GitHub Actions for CouchDB testing
- fix dialyzer complaints and pattern matching issues
- OTP 27 compatibility improvements
Hex.pm : https://hex.pm/packages/couchbeam
1.5.0
version 1.5.0 / 2023-10-11
- use hackney 2.20
- fix compatibility with couchdb 3
- fix compatibility with Erlang >= 23
Config
- rebar:
{couchbeam, "1.5.0"} - erlang.mk:
dep_couchbeam = hex 1.5.0 - mix.exs:
{:couchbeam, "~> 1.5"}
hex.pm : https://hex.pm/packages/couchbeam
1.3.1
1.3.0
couchbeam 1.2.1 has been released
couchbeam 1.2.1 has been released. This is a patch release.
Enjoy!
Changes
- also support hackney 1.4.4 for rebar2.
- fix hex.pm release to really use 1.4.4
The full changelog is available here: https://github.com/benoitc/couchbeam/compare/1.2.0..1.2.1
couchbeam 1.2.0 has been released
couchbeam 1.2.0 has been released. This is a maintenance release.
Enjoy!
Changes
- move to eunit for tests.
- hex.pm support
- mix & rebar3 build tools support
- bump hackney to 1.4.4
- bump jsx to 2.2.8
The full changelog is available here: 1.1.8...1.2.0
Breaking change
erlang-oauth is now optionnal and won't be installed by default.
couchbeam 1.1.8 has been released
couchbeam 1.1.8 has been released. This is a maintenance release.
Changes
- use latest 1.3.x stable branch of hackney
The full changelog is available here: 1.1.7...1.1.8
Couchbeam is also available as a source archive.
Enjoy!
couchbeam 1.1.7 has been released
couchbeam 1.1.7 has been released. This is a maintenance release.
Changes
The full changelog is available here: 1.1.6...1.1.7
Couchbeam is also available as a source archive.
Enjoy!