Skip to content

Releases: livendb/liven

v0.1.0

Choose a tag to compare

@kimolalekan kimolalekan released this 23 Jul 21:41
Bumb version to 0.0.9

v0.0.9

Choose a tag to compare

@kimolalekan kimolalekan released this 03 Jul 21:22
Add PyPi and Go package badges to README

v0.0.8

Choose a tag to compare

@kimolalekan kimolalekan released this 02 Jul 13:28
Bump version to 0.0.8, add cargo audit config, fix security warnings

v0.0.7

Choose a tag to compare

@kimolalekan kimolalekan released this 02 Jul 12:42
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

Choose a tag to compare

@kimolalekan kimolalekan released this 29 Jun 22:02
Ignore tags in CI workflow triggers

v0.0.4

Choose a tag to compare

@kimolalekan kimolalekan released this 29 Jun 20:46
Remove stale Installation and Logs sections from README

v0.0.3

Choose a tag to compare

@kimolalekan kimolalekan released this 29 Jun 19:16

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.rsPipeline, Filter, Query constructors, AggregateStrategy helpers
  • Add Liven::run() — execute typed Query directly (bypass string parsing)
  • Add convenience methods on Liven and LivenClientinsert(), 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

Choose a tag to compare

@kimolalekan kimolalekan released this 29 Jun 14:06

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.