Releases: livendb/liven
Release list
v0.1.0
v0.0.9
Add PyPi and Go package badges to README
v0.0.8
Bump version to 0.0.8, add cargo audit config, fix security warnings
v0.0.7
Bump version to 0.0.7 and fix security issues - Fix parse error handling in check_query_capabilities to reject malformed queries (fail closed) instead of allowing them - Add re-validation of session roles on every request for auth_key mode, ensuring role downgrades and revocations take effect immediately - Update test references from list_streams() to streams() - Add comprehensive test for session role downgrade enforcement
v0.0.6
v0.0.4
Remove stale Installation and Logs sections from README
v0.0.3
v0.0.4 — Typed Rust API & Comprehensive Documentation
This release introduces a fully typed query API for the Rust crate — no string parsing required. All query operations are now available as direct methods on Liven (embedded) and LivenClient (wire protocol), plus a complete API reference published to docs.rs.
New: Typed Rust API
Write queries with Rust types and builder patterns instead of raw DSL strings:
use liven::query::{Pipeline, Filter};
db.filter("events", Filter::field("type").eq("click"))?;
db.run(Pipeline::from("orders").filter(Filter::field("amount").gte(100)).limit(10))?;Added to Liven (embedded) and LivenClient (wire):
- CRUD:
insert,upsert,update,delete,get,clear,drop_stream,insert_many,upsert_many - Pipeline:
filter,limit,count,sort,page,page_cursor,map,window,group,distinct - Joins:
enrich,correlate,chain,sequence - Vector:
vector_filter - Meta:
streams,status,explain - Pipeline mutations:
pipeline_update,pipeline_delete - Pipeline builder with
.build(),.build_listen(),.build_update(),.build_delete()
New: Typed Filter Builder
Filter::field("status").eq("active")
Filter::field("amount").between(10.0, 100.0)
Filter::and(vec![Filter::field("role").eq("admin"), Filter::field("age").gte(18)])New: Comprehensive API Reference
A complete usage guide covering all functions for both embedded and wire modes is now included in the crate documentation at docs.rs/liven.
Wire Protocol Serialization
All typed queries can be serialized back to the LIVEN DSL string for wire transmission via Query::to_dsl_string(). This enables the LivenClient to use the same typed API as the embedded mode.
Full changelog
- Add
src/query.rs—Pipeline,Filter,Queryconstructors,AggregateStrategyhelpers - Add
Liven::run()— execute typedQuerydirectly (bypass string parsing) - Add convenience methods on
LivenandLivenClient—insert(),get(),filter(),enrich(), etc. - Add
Query::to_dsl_string(),PipelineStage::to_dsl_string(),FilterExpr::to_dsl_string()— serialize typed queries back to DSL strings for wire transmission - Add
#![doc = include_str!("rust-crate-api.md")]— full API reference published to docs.rs - Fix rustdoc HTML tag warning in
types.rs
v0.0.2
LIVEN v0.0.2 · Enhanced stability and platform coverage
What's New
Bug Fixes & Improvements
- Enhanced binary stability – Improved error handling and reduced memory footprint
- Cross-platform fixes – Addressed platform-specific compatibility issues
- Performance optimizations – Faster startup and reduced latency for streaming operations
Platform Support
This release provides binaries for all major platforms:
| Platform | Architecture | File |
|---|---|---|
| Linux | x86_64 | liven-x86_64-unknown-linux-gnu |
| Linux | ARM64 | liven-aarch64-unknown-linux-gnu |
| macOS | x86_64 | liven-x86_64-apple-darwin |
| macOS | ARM64 | liven-aarch64-apple-darwin |
| Windows | x86_64 | liven-x86_64-pc-windows-msvc |
| Windows | ARM64 | liven-aarch64-pc-windows-msvc |
For issues or feature requests, please open an issue on GitHub.