Skip to main content

Apache Iggy 0.6.0 Release

· 4 min read
Piotr Gankiewicz
Apache Iggy founder

Release 0.6.0

Four months after 0.5.0, we're excited to release Apache Iggy 0.6.0 — our biggest architectural change yet.

This release represents a major architectural evolution of Apache Iggy with substantial performance improvements, new connectors, and SDK enhancements.

Iggy Server

The most significant change in 0.6.0 is the complete server rewrite using io_uring with a thread-per-core, shared-nothing architecture. This represents a fundamental shift from the previous Tokio-based poll model to a completion-based async runtime using compio.

Key aspects of this architectural change:

  • Completion-based I/O - unlike poll-based models, io_uring uses completion queues where the kernel notifies when operations finish
  • Thread-per-core design - each CPU core runs its own event loop with dedicated resources, eliminating cross-thread synchronization overhead
  • Shared-nothing model - data is partitioned across cores to minimize contention and cache invalidation

This delivers improved throughput, lower latency, and more predictable tail latencies (p99+) under load.

WebSocket Transport

Along with the io_uring migration, we've decided to implement WebSocket transport as a first-class communication protocol alongside TCP, QUIC and HTTP. This enables seamless integration with web clients and environments where WebSocket is preferred. Since existing libraries are poll-based and incompatible with compio's completion model, the solution was compio-ws, designed from the ground up for completion-based I/O.

Breaking Changes

  • Argon2 - the default password hashing algorithm is no longer using bcrypt but Argon2id for improved security and performance
  • xxHash3 replaces CRC32 - message checksums now use xxHash3 (64 bits), and UUIDv4 is used for random message IDs
  • Cluster configuration restructured - ClusterNode now uses TransportEndpoints for multi-protocol communication
  • Auto-generated root password - default root password is now auto-generated if not provided

Docker images are available on Docker Hub.


SDKs

All SDKs received significant updates:

  • Rust - builder pattern for client, unified TransportProtocol enum, cluster metadata support
  • C# - high-level IggyPublisher/IggyConsumer clients, TCP reconnection, TLS support, AES encryption
  • Java - complete async API using Netty with CompletableFutures, TLS TCP support, fixed memory leak for sync client
  • Python - connection string support, bytes data, typing stubs, musllinux wheels
  • Node.js (TypeScript) - virtual commands (ensureStream, ensureTopic), cluster metadata, added examples
  • Go - DeleteConsumerOffset, improved error handling and deserialization

Connectors

New connectors expand integration options:

The connectors runtime also gained an extensible configuration provider system, HTTP-based config provider, TCP TLS support, and a comprehensive E2E test suite.

Learn more in the documentation.


Clustering (Work in Progress)

Foundation for clustering is being laid:

  • GetClusterMetadata command - retrieve cluster topology and node status
  • Leader-aware connect - SDKs can detect and connect to cluster leader
  • TransportEndpoints - multi-protocol cluster communication (TCP, QUIC, HTTP, WebSocket)
  • Consensus and metadata modules - foundation for cluster consensus

Web UI

  • Autocomplete functionality
  • Fixed large number (u64/u128) rendering
  • Enhanced keyboard navigation
  • Security improvements (removed password persistence)
  • Fixed create stream/topic commands

Helm Charts

Server and UI combined into a unified Helm chart with environment variable support and improved Kubernetes compatibility.


What's Next

Our primary focus is clustering with Viewstamped Replication (VSR) consensus protocol. This will enable fault-tolerant, replicated deployments — a critical milestone for production workloads requiring high availability and reliability.

Other upcoming efforts:

  • Server's core optimizataions such as kTLS, DirectIO, NUMA, TCP connections transfer across shards and more
  • Expanding SDKs with synchronous clients and sans-io design
  • Enhancing the Connectors Runtime with more integrations
  • Exploring Agentic AI use cases for streaming-based agent coordination
  • Web UI improvements

Thanks to our amazing community and contributors for making Apache Iggy better with every release.

Join us on Discord and help shape the future of the project!