Releases: mujib77/rift
Release list
v0.4.0 - JS Filtering + Redis Destination
What's new
JS Filtering at source
Write a simple JavaScript function to filter or drop
events before they leave your server. Save bandwidth
and downstream processing costs.
Example:
function filter(event) {
if (event.data.plan !== 'enterprise') return false
return true
}
Redis destination
Stream changes to Redis via pub/sub channels and
maintain a rolling list of recent events per table.
Destinations now supported
- Webhook ✅
- HTTP ✅
- Postgres ✅
- Redis ✅
What's next
v0.5.0 - DDL schema tracking
v1.0.0 - production ready release
v0.2.0 - Embedded Disk Queue
What's new
Rift now has an embedded disk queue powered by BoltDB.
When a destination goes down — webhook unreachable,
network partition, server restart — Rift automatically
switches to air-gap mode. Events write to local disk
instead of being dropped.
When the destination comes back, Rift drains the queue
and resumes automatically. No manual intervention.
No events lost.
This is what Kafka does as a buffer.
Rift does it in a single binary with zero dependencies.
What's included
- BoltDB embedded disk queue
- Automatic air-gap mode on destination failure
- Auto-drain when destination recovers
- Queue size limit configurable in rift.yaml
- Events persist across Rift restarts
Install
go install github.com/mujib77/rift@latest
v0.1.0 - Initial Release
First working release of Rift.
What works
- Real-time PostgreSQL WAL reading
- Logical replication via pgoutput
- Webhook destination
- HTTP destination
- Graceful shutdown
- Single binary, zero external dependencies
Quickstart
Create rift.yaml with your Postgres URL and
webhook destination, then:
go run main.go
Requirements
- PostgreSQL with wal_level = logical
- Go 1.26+
What's next
v0.2.0 — embedded BoltDB disk queue
resilience without Kafka