Kuzu V0 120 Better «FULL · 2025»
Absolutely, if:
Maybe hold off if you rely heavily on the experimental clustering features in production – the beta is stable, but the team is still polishing it.
Upgrading from v0.1.15+ requires no database dump/restore – the storage format remains backward compatible. However, users relying on recursive pattern leaks as a “feature” (unlikely) should note the corrected behavior.
To upgrade via pip:
pip install --upgrade kuzu
Kuzu is an embedded property graph database designed for speed, simplicity, and scalability. With the release of v0.1.20, the development team has introduced several optimizations and stability improvements that significantly enhance query execution, memory management, and developer experience.
This write-up highlights the key advancements in v0.1.20, benchmarks against prior versions, and explains why this release marks a meaningful step forward for Kuzu users.
Kuzu now builds adaptive adjacency indexes on the fly when a query repeatedly scans a particular edge direction. The index materialises in memory, then evicts automatically if it’s not used for 10 minutes. kuzu v0 120 better
Result: no more manual index tuning; the engine decides what you need.
To ensure you experience why the Kuzu V0 120 is better, follow these four setup rules:
Tip: If you use custom extensions (UDFs), re‑compile them against the 0.12 API – the ABI changed slightly (added
QueryContextargument). Absolutely, if:
The Rust SDK is now the primary language for building Kuzu clients. It offers:
use kuzu::Client;
let client = Client::connect("localhost:8080").await?;
let mut rows = client
.query("MATCH (p:Person) WHERE p.age > $age RETURN p.name")
.param("age", 30_i64)
.await?
.stream();
while let Some(row) = rows.next().await {
println!("Name: {}", row.get::<String>("p.name")?);
}
The Python, Go, and JavaScript bindings have been regenerated from the same Rust core, guaranteeing API parity across languages.