Apache Iggy 0.6.0 Release
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 -
ClusterNodenow usesTransportEndpointsfor 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:
- Iceberg sink - S3-compatible storage, REST catalogs, single destination table, and multiple-table fan-out
- Elasticsearch sink and source - Full Elasticsearch integration with rustls TLS support
- Flink processor - Stream processing integration with Apache Flink
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!
