Changelog
View SourceAll notable changes to reckon-evoq will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.2.0] - 2026-02-25
Fixed
- Subscription event translation:
subscribe/5now interposes a bridge process between ReckonDB and the subscriber. ReckonDB emitters send{events, [#event{}]}(reckon_gater records). The bridge translates these to{events, [#evoq_event{}]}before forwarding to the subscriber. Previously, raw#event{}records were delivered directly, causing pattern match failures in projections expecting#evoq_event{}.
Changed
- Dependency: Require evoq ~> 1.4 (for
evoq_subscriptionsfacade)
[1.1.4] - 2026-02-13
Fixed
- Flexible key handling:
evoq_to_reckon_event/1now handles both atom and binary keys in event maps viaget_flex/3. Events coming from ReckonDB with binary keys (e.g.,<<"event_type">>) are now correctly translated.
Changed
- Dependency: Require reckon_gater ~> 1.1.2
[1.1.3] - 2026-02-06
Changed
- Dependency: Require reckon_gater ~> 1.1.1
- Ensures gater-style subscription types (by_stream, by_event_type, etc.) are available
- Required for proper type translation through the gateway layer
[1.1.2] - 2026-02-01
Fixed
- CHANGELOG: Corrected v1.1.1 entry to remove incorrect reckon_db dependency reference
- reckon_evoq depends ONLY on evoq and reckon_gater
- Does NOT depend directly on reckon_db
- Clarified dependency chain in CHANGELOG
[1.1.1] - 2026-02-01
Changed
- Compatibility: Verified compatibility with evoq v1.2.1
- Tested compilation and integration with updated evoq dependency
- Version constraints
~> 1.2for evoq already compatible with v1.2.1 - No code changes required; release confirms compatibility
- Note: reckon_evoq depends on evoq and reckon_gater, NOT directly on reckon_db
[1.1.0] - 2026-01-21
Added
- Tag-Based Querying: Cross-stream event queries using tags
read_by_tags/3,4- Query events by tags across all streams- Support for
any(union) andall(intersection) matching modes - Tags field translation between evoq and reckon-db event types
- Tags are for QUERY purposes only, NOT for concurrency control
Changed
- Dependencies: Updated evoq from
~> 1.1to~> 1.2and reckon_gater from~> 1.0.3to~> 1.1.0for tags support
[1.0.10] - 2026-01-19
Changed
- Dependencies: Updated reckon_gater from exact
1.0.0to~> 1.0.3to include critical double-wrapping bugfix indo_route_call/3
[1.0.9] - 2026-01-19
Fixed
- Double-wrapped errors: Handle edge case where gateway returns
{ok, {error, ...}}instead of{error, ...}for stream_not_found errors - Added guard
is_list(Events)toread/5to catch incorrect responses
[1.0.8] - 2026-01-19
Changed
- Dependencies: Relaxed evoq version constraint from exact
1.1.0to~> 1.1to allow compatibility with evoq 1.1.x releases
[1.0.7] - 2026-01-09
Fixed
- Documentation: Removed EDoc-incompatible backticks from source documentation
[1.0.6] - 2026-01-09
Fixed
- Empty streams:
read/5now correctly returns{ok, []}for new/empty streams instead of{error, {:stream_not_found, StreamId}} - Event format: Fixed event format transformation between reckon_gater and evoq types
[1.0.5] - 2026-01-08
Changed
- Documentation: Added Buy Me a Coffee badge to README
[1.0.4] - 2026-01-08
Dependencies
- Updated evoq to 1.1.0 (adds
evoq_bit_flagsmodule for aggregate state management)
[1.0.3] - 2026-01-06
Changed
- Type translation: Adapter now returns evoq types (
evoq_event(),evoq_snapshot(),evoq_subscription()) instead of reckon_gater types, enabling evoq to be truly independent of any specific storage backend
Dependencies
- Updated evoq to 1.0.3 (macro guard compatibility fix)
[1.0.2] - 2026-01-03
Added
- SVG diagram: Added architecture.svg replacing ASCII diagram in README
Changed
- Documentation: Updated version references in README (installation ~> 1.0, dependencies >= 1.0.0)
[1.0.1] - 2026-01-03
Changed
- Dependencies: Updated evoq to 1.0.1 (SVG diagram fixes)
[1.0.0] - 2026-01-03
Changed
- Stable Release: First stable release of reckon-evoq under reckon-db-org
- All APIs considered stable and ready for production use
- Updated source comments to use correct package names (evoq, reckon-gater)
[0.3.1] - 2025-12-22
Dependencies
- Updated reckon-gater to ~> 0.6.4 (capability opt-in mode, configuration guide)
[0.3.0] - 2025-12-22
Fixed
delete_stream/2: Now functional - callsesdb_gater_api:delete_stream/2instead of returning{error, not_implemented}get_checkpoint/2: Now functional - retrieves checkpoint from subscription viaesdb_gater_api:get_subscription/2
Changed
read_by_event_types/3: Optimized to use server-side native Khepri filtering viaesdb_gater_api:read_by_event_types/3instead of fetching all streams and filtering client-side. Significantly improved performance for type-based queries.
Dependencies
- Requires reckon-gater >= 0.6.2
- Requires reckon-db >= 0.4.3
[0.2.0] - 2025-12-20
Added
- Initial release of reckon-evoq adapter
- Implements
evoq_adapterbehavior for event store operations - Implements
evoq_snapshot_adapterbehavior for snapshot operations - Implements
evoq_subscription_adapterbehavior for subscription operations - Routes all operations through reckon-gater for load balancing and retry