Releases: Clustron/zaris
Release list
Zaris 1.1.0
Clustron Zaris 1.1.0
The first release since 0.9.0 — a major performance pass on the read path, near‑linear multi‑node scaling, several reliability fixes (including two Kubernetes attach‑mode console bugs), and a one‑time binary‑breaking client API change that makes the hot path allocation‑free.
Upgrading from 0.9.0. Wire protocol is unchanged (mixed‑version clusters are fine), but the client hot‑path now returns
ValueTask— recompile your app against 1.1.0 (see Breaking changes).
Highlights
- ⚡ Redesigned read path — shard dispatch, lock‑free reads, an env‑gated inline‑IOCP fast path, and
ValueTask+ pooled GET responses. Removes the previous single‑node throughput plateau. - 📈 Near‑linear scale‑out — measured on Azure AKS (512‑byte GET, RF=1): ~630K → ~1.0M → ~1.3M ops/sec across 1 → 2 → 3 nodes.
- 🛠️ Attach‑mode console fixes — a serving Kubernetes store no longer shows as “Stopped / 0 nodes”, and the Nodes page lists every member instead of one “Lost” node.
- 📊 Live throughput chart — the web‑console chart now renders a real time‑series trend instead of a flat line.
Performance
- Read‑path redesign: sharded dispatch, lock‑free reads, and an optional inline‑IOCP fast path (env‑gated).
ValueTaskGET chain with a pooled GET response payload — allocation‑free on synchronous completion.- Server dispatch worker pool is now tunable and defaults higher:
ZARIS_SERVER_MIN_WORKERS/ZARIS_SERVER_MAX_WORKERS. - Fixed a partition‑balancer stall that could cap throughput under load.
Reliability & correctness
- Attach‑mode membership (Kubernetes): in single‑seed adoption the manager identifies a node by its host, but the node’s diagnostics guard only accepted its node‑id — so every diagnostic probe was rejected, the manager reported
DegradedBootstrap, and the console showed the store as Stopped / 0 nodes with nodes marked Lost. The node now accepts a direct diagnostics request addressed by node‑id or its own host. Validated end‑to‑end on Kubernetes (attach mode, RF=1) under live load. - Nodes page enumeration: the console now lists every membership member (deduplicated by id and host), so the Nodes page count matches the dashboard.
- Throughput chart: the manager retained only ~60 s of metric snapshots and the console kept only the latest per node, collapsing the chart to a single flat point. The console now reconstructs a continuous per‑second timeline from all retained snapshots, and retention is raised to 10 minutes (configurable via
ZARIS_METRICS_RETENTION_SECONDS, 60 s–24 h). - Migration: re‑stamp stale‑version pending migrations to break a withheld‑cutover livelock.
- Security: the deterministic ownership backbone is now on by default with fail‑closed node security; closed a data‑plane fail‑open false‑assurance; fixed
New-ZrTokensilently returning empty.
Observability
- Shorter metric keys (dropped the
zaris.prefix). - OpenTelemetry metrics bridge (exports the internal metric catalog via the OTel Meter) and OTLP/console log export — both config‑gated.
Breaking changes
- Client hot path now returns
ValueTaskinstead ofTask—Get,Put,Delete,Expire,Persist,TTL, and the fluent chain. This is a one‑time, deliberate binary‑breaking change for allocation‑free synchronous completion.await‑style usage is source‑compatible; recompiling against 1.1.0 is required. Bulk, transaction, and scan APIs remainTask. The wire protocol is unchanged.
Packages
| Package(s) | Version |
|---|---|
Clustron.Zaris.* (Abstractions, Client, InProc, SDK, DistributedCache, HybridCache) |
1.1.0 |
Clustron.Nodus.* (Abstractions, Client) |
1.1.0 — license text corrected (no code change) |
Clustron.Keyvus.* (7 packages) |
1.1.0 — license text corrected (no code change) |
Clustron.Numerous.* (Abstractions, Sdk) |
0.9.0 — unchanged |
dotnet add package Clustron.Zaris.Client --version 1.1.0Server / operator package: clustron-zaris-1.1.0-win-x64.zip (attached below) — management service, node runtime, web console, and the AdminShell/ClientShell PowerShell modules.
Verification
Unit tests green (2,779 passing); 10‑minute cluster certification passed (154K ops, 0 missing / 0 wrong‑owner / 0 replica failures, 8 migration cycles validated); API‑variation certification, in‑proc + remote samples (26/26), and a live Kubernetes attach‑mode e2e all passed. Published NuGets are dependency‑vulnerability clean.
Known issues
- The bundled web‑console SPA carries three low‑severity advisories (
nanoid,react-router) scheduled for a follow‑up. The published NuGets are unaffected.
Zaris 0.9.0
Zaris 0.9.0 — Generally Available
Zaris is a distributed, in-memory key/value store for .NET — fast, replicated, and operable from a browser,
PowerShell, or your app. This release marks Zaris's general availability: production-ready, cross-platform,
and now with commercial support.
Distributed replication & high availability
- Partitioned, replicated storage. Data is split into partitions, each kept on multiple nodes at a
configurable replication factor. - Automatic failover & self-healing. Lose a node and the cluster keeps serving; replicas are restored
automatically once capacity returns. - Elastic scaling. Add or remove nodes and the partition map grows and rebalances — no downtime.
- Sizing for durability: each partition needs RF distinct instances, so run enough nodes for every partition
to reach RF (on Kubernetes, one node per pod → a pod count that's a multiple of RF; RF2 → an even count).
Web Console
A browser-based management UI for your cluster:
- Live cluster, node, and partition health, throughput and latency metrics, and active connections.
- Store management — create, start, scale, and inspect stores.
- Encryption (TLS/CA) management — download, import, and verify certificates with guided, plain-language steps.
- Workspaces for connecting to and switching between clusters.
First-class PowerShell tooling
Redesigned AdminShell and ClientShell modules:
- Workspace-based connections —
New-ZrWorkspace/Use-ZrWorkspace(no more manager wiring). - Store lifecycle & scaling —
New-ZrStore,Start-ZrStore,Add-ZrServer/Remove-ZrServer. - Live operations —
Watch-ZrStoreMetricswith operator-first metric ordering, clearer connection errors,
and automatic CA fetch.
A cleaner, richer client API
- Connection strings everywhere — one API across in-process, remote, Docker, and Kubernetes:
zaris://host:7861/store(orzariss://…for TLS), with comma-separated seed hosts and failover, and tokens
supplied safely viaenv:/file:. - Rich data operations — get / put / delete, compare-and-swap, bulk and batch, scan and search, prefix
operations, transactions, leases, leader election, distributed counters, rate limiting, and a distributed job
queue. - ASP.NET Core caching — drop-in
IDistributedCacheandHybridCacheproviders. - Resilient clients — topology-aware routing with automatic retry and reconnection.
Runs everywhere: Windows, Linux, Docker, Kubernetes
- Windows — one installer for the server, Management Service, Web Console, and PowerShell modules.
- Linux & Docker — published container images, plus a one-command Docker Compose cluster.
- Kubernetes — an official Helm chart with a StatefulSet, convergence-gated readiness, a
PodDisruptionBudget, and drain-safe termination; published images; external (out-of-cluster) client access; TLS.
Security & observability
- TLS for both client and node-to-node traffic, with pluggable CA trust — auto-issued, bring-your-own-CA,
intermediate-signed, or pre-issued certificates — and token-based authentication. - OpenTelemetry — export traces, metrics, and logs to any OTLP-compatible backend, all config-gated.
Install
NuGet
dotnet add package Clustron.Zaris.Client --version 0.9.0Windows — download clustron-zaris-0.9.0-win-x64.zip below (verify against SHA256SUMS.txt).
Docker
docker pull clustron/zaris-node:0.9.0
docker pull clustron/zaris-manager:0.9.0Kubernetes (Helm)
helm install zaris oci://registry-1.docker.io/clustron/zaris --version 0.9.0 \
-n zaris --create-namespaceSupport
Zaris is open and free to run. Commercial support plans and professional services are available for teams
running Zaris in production — see clustron.io/support.
Telemetry & privacy
Zaris reports lightweight usage telemetry to help guide the roadmap:
- Install events are recorded on first run per install, including basic host identity (hostname / OS user /
domain) and a server-derived coarse location (country / region / city). - Feature-usage events record which control-plane features get used — anonymous, and deduplicated per day.
Opt out completely by setting CLUSTRON_TELEMETRY=false (also 0 / no) in the node or manager environment.
License: Business Source License 1.1 (BSL 1.1).
v0.2.3
Release Notes
🚀 DI-Based Client Model
This release introduces a modern dependency injection (DI) based
client model for Clustron DKV.
✨ Highlights
- Register and resolve clients via DI
- Support for multiple stores in a single application
- Unified configuration for InProc and Remote modes
- Seamless transition from embedded to distributed setups
- Alignment with modern .NET application patterns
🔄 Migration
Old (Legacy):
var client = await DKVClient.InitializeInProc("demo");New (Recommended):
services.AddClustronDkvStores(cfg =>
{
cfg.AddStore("demo", s => s.UseInProc());
});
var client = await provider.GetAsync("demo");⚠️ Note
Legacy initialization APIs are still supported but may be deprecated in
future releases.
Clustron DKV v0.2.2
- Improved logging across the runtime and management services for better diagnostics.
- Enhanced PowerShell CLI experience with improved command output and metrics display.
- Added real-time store metrics monitoring using
Watch-DkvStoreMetrics. - Improved documentation including updated Getting Started guide and .NET quick start.
- Various stability improvements and internal performance optimizations.
Clustron DKV v0.2.1
Clustron DKV v0.2.1
This release introduces transaction support along with improvements to the logging system for better diagnostics and observability.
✨ New Features
Transactions
Clustron DKV now supports multi-key optimistic transactions, enabling atomic operations across distributed keys.
Transactions provide:
- Atomic multi-key updates
- Optimistic concurrency control
- Conflict detection
- Rollback support
- Read-your-writes consistency
🔧 Improvements
Improved Logging
Logging has been enhanced to provide clearer operational visibility.
These changes make it easier to troubleshoot issues in both InProc and cluster deployments.
v0.2.0
This release focuses on correctness, concurrency safety, API reliability, and developer experience improvements.
It also introduces a complete and standardized sample suite covering core distributed patterns.
Core Improvements
Store Name Case Insensitivity
- Store names are now treated as case-insensitive.
- Ensures consistent store lookup behavior across environments.
- Improves cross-platform predictability.
Clear API Fix
- Fixed an issue where Clear was not fully clearing the store.
- Prefix-based clears
CAS & Locking Fixes
- Fixed race conditions in Compare-And-Swap (CAS) operations.
- Improved version validation under concurrent writes.
- Addressed locking edge cases to ensure:
- Correct conflict detection
- No stale overwrites
- Safe optimistic concurrency
Sample Suite Expansion
v0.2.0 introduces a comprehensive sample set demonstrating real-world distributed patterns:
- Core API Samples
- Basic Operations
- Bulk Operations
- Compare-And-Swap (CAS)
- Distributed Counters
- Distributed Coordination Samples
- Lease (Expiry & Revoke)
- Leader Election via Lease
- Watch (Key & Prefix Subscriptions)
- Distributed Pattern Samples
- Distributed Rate Limiter
- Distributed Search
- Simplified Enterprise Job Queue
Documentation Improvements
All sample READMEs standardized
- Migrated to unified Seeds-based configuration model
- Removed legacy RemoteHost / RemotePort
- Improved structure and clarity across all documentation
- Updated Shared project documentation
Overall Impact
v0.2.0 significantly improves:
- Concurrency correctness
- Store consistency
- Developer experience
- Documentation quality
- Distributed pattern coverage
This release strengthens Clustron DKV as a reliable foundation for building distributed systems in .NET.
Clustron DKV v0.1.0 – First Public Preview
Clustron DKV v0.1.1 – Initial Preview Release
This is the first public preview release of Clustron DKV, a distributed key-value store built on the Clustron cluster foundation.
✨ Included in this release
- Distributed store creation and management-
- Multi-instance support per node-
- PowerShell 7 cmdlets-
- Store start / stop management-
- Real-time metrics monitoring-
- Stress testing cmdlet-
- Windows x64 self-contained distribution
📦 Package
- clustron-dkv-0.1.1-win-x64.zip
⚙ Requirements
- Windows x64-
- PowerShell 7.5.4 or later
🚧 Status
- This is an early preview intended for:
- Evaluation-
- Testing-
- Development experimentation-
- Not yet recommended for production environments.
🚀 Getting Started
- See the Getting Started guide included in the repository for installation and setup instructions.
Version: 0.1.1
Build Type: Preview
Platform: Windows x64
License: Business Source License 1.1