Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.5.2] - 2025-09-01
Added
- Define service startup behavior when connection with control plane is enabled
Changed
- Extend feedback metadata to contain partition id alongside its associated consumer lag
Fixed
- Update rust crate percent-encoding to 2.3.2
- Ensure proper reporting of consumer lag and consumer queue metrics
[0.5.0] - 2025-08-05
Added
- Add processor mode 'key-only' for large Kafka payloads
- Add check on open cursors in e2e tests
- Remove
jemalloc
as global allocator - Processor is allowed to output streams
- Add mongodb
appData
config to recognize client on atlas - Add init logs for filters
- Add
deferred
iu to handle sv-patches scenarios - Reframe message byte size bucket gauge and consumer lag
- Add metrics to measure msg size and introduce output mode configuration
BREAKING
- Change
__pk
hash function to ensure stability - Output aggregation mode default to
read-delete
Changed
- Separate lib and bin + removed unused features
- Complete rewrite of e2e tests and new test on deferred ui
Fixed
- Close
run_command
cursors to avoid server-side leaks - Update rust crate rand to 0.9.2
- Allow disk use on mongodb when performing upward lookups
- Ensure processor output mode is added without breaking current config
Removed
- Remove msrv from manifests
- Remove useless explicit bson dependency
[0.4.1] - 2025-07-22
BREAKING
- Remove pk from crud api
Fixed
- Use common crud sink document model to avoid trimming
- Ensure consumer lag of revoked partition is reset
- Update rust crate rdkafka to 0.38.0
[0.4.0] - 2025-07-16
Added
- Delete messages are resilient to 'd' with null before
- Add CRUD Api tests
- Add CRUD layer for database sinks
Fixed
- Move pagination start to 1
[0.3.2] - 2025-07-15
Fixed
- Parse value as JSON not as BSON when storing on MongoDB
[0.3.1] - 2025-07-15
Changed
- New filter parsing allowing resolving local filters in $match
Documentation
- Describe service configuration
[0.3.0] - 2025-07-14
Added
- Configuration may take also upward filters that can be interpreted right to left
- Introduce processing start and end metrics
- Add consumer fetchq count and size metrics
- Add support for fields containing '$' and '.' in mongodb
- Introduce consumer lag metric
- Parallel feature compilation
- Implement full-aggregation strategy
- Rework of fast aggregation introducing message guards for regular/internal updates
- Add compression rate metric
- Move server settings from env vars to config file
- Enhance processing logic
BREAKING
- Add config aggregation
id
-> to be used to name __sink collection - Unwrap one level of configuration excluding iu-aggregation from processor
- Rename repository filters from 'repo' to 'foreign'
Changed
- Update metric suffix
- Decrease the default commit interval to 500 ms
- Ensure commit errors are bubbled up
- Factor out common functions to both aggregation algos
Fixed
- Filtering variables for mongo do no repeat itself
- Correct handling of the 'read' message
- Unwrap on unknown record when doing internal-updates
- Review rd+wd without internal updates
- Avoid spawning useless producers
- Update rust crate mongodb to 3.2.4
[0.2.0] - 2025-06-26
Added
-
- merge upward requests + 2. add version to crud initial filter
- Introduce 'internal-updates' compression
Fixed
- Db collection name sanitized against reserved chars
[0.1.0] - 2025-06-10
Added
- Remove primary keys from configuration
- Add new
crud
feature - Group producers to avoid extra thread spawning
- Pk declaration is used only when the output message is on head
- Filter out nodes that don't need internal updated (leaves)
- Consumer grouping
- Runtime test ensure aggregation config is acyclic
- Add error logs on consumer shutdown
- Fix dev topics local list
- Change pk to i64
- Add hosts case
- Add secret to mongo url
- Setup service with config, server, producer and consumer
- Add aggregation processor
- Edges filters
- Add comment on edge link
- Aggregation config allow downward filters only
- Add methods to path
- Add types for filtering
- Basic struct for filters
Changed
- Add traits for repository and database
Fixed
- Remove weird impl of Hash for Node, using node name instead
- Update rust crate backon to 1.5.1
- Amend test for __pk as i64
- Update rust crate uuid to 1.17.0
- Abort unit when it shouldn't
- Amend dashboard
- Update rust crate bson to 2.15
- Make types stricter
- Add untagged ti generic filter boolean
Removed
- Remove tokio thread flags to allow 1 thread on k8s