All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.0 - 2026-01-17
- Prometheus/OpenMetrics metrics support (#9)
- Consumer lag tracking per topic/partition (
kafka_backup_lag_records) - Records and bytes throughput counters (
kafka_backup_records_total,kafka_backup_bytes_total) - Compression ratio gauge (
kafka_backup_compression_ratio) - Storage write latency histogram (
kafka_backup_storage_write_latency_seconds) - Storage I/O bytes counter (
kafka_backup_storage_write_bytes_total) - Error counting by type (
kafka_backup_errors_total)
- Consumer lag tracking per topic/partition (
- HTTP metrics server with
/metricsendpoint (default port 8080) /healthendpoint for liveness checks- New
metricsconfiguration section in config file MetricsServerConfig::new()constructor for programmatic configuration
- Breaking: Added
metrics: Option<MetricsConfig>field toConfigstruct- Existing code constructing
Configwith struct literals must addmetrics: None - YAML configs are unaffected (field is optional with serde default)
- Existing code constructing
- Marked
MetricsConfigas#[non_exhaustive]to prevent future breaking changes
- Added Metrics & Monitoring section to README
- Full metrics reference available at kafka-backup-docs
- Monitoring stack (Prometheus + Grafana) available in kafka-backup-demos
0.4.0 - 2026-01-09
- TLS/SSL support for custom CA certificates (
ssl_ca_location) - Mutual TLS (mTLS) authentication with client certificates (
ssl_certificate_location,ssl_key_location) - TLS test infrastructure with Docker Compose for integration testing
- Comprehensive TLS documentation in configuration guide
- Breaking: Fixed TLS certificate configuration being ignored (#3)
- Previously,
ssl_ca_location,ssl_certificate_location, andssl_key_locationwere parsed but never used - Connections to Kafka with self-signed or internal CA certificates now work correctly
- Added new error variants to
KafkaError:TlsConfig,CertificateLoad,PrivateKeyLoad
- Previously,
- Breaking: Added new variants to
KafkaErrorenum. Code that exhaustively matches on this enum without a wildcard will need updating.
0.1.4 - 2025-12-03
- crates.io publishing for
kafka-backup-corelibrary - Semantic version checking workflow for breaking change detection
- Dependabot configuration for operator repository
- Crate-specific README for kafka-backup-core
- Updated kafka-backup-core package metadata for crates.io compatibility
0.1.3 - 2025-12-01
- Try It Yourself section linking to demos repository
- Suggest Features link to Contributing section
- GitHub issue templates for bugs and feature requests
- Contributing section in README
- Improved issue templates structure
0.1.2 - 2025-11-30
- Scoop package manager support for Windows installation
- Docker Hub automated publishing on releases
- Comprehensive installation guide in README
- Simplified Homebrew install to one-liner (
brew install osodevops/tap/kafka-backup) - Renamed Homebrew formula to
kafka-backup - Updated README installation instructions
- Fixed Docker image naming to use semantic versions
0.1.0 - 2025-11-30
- Initial release of kafka-backup
BackupEnginefor backing up Kafka topics to cloud storageRestoreEnginewith point-in-time recovery (PITR) support- Multi-cloud storage support:
- Amazon S3
- Azure Blob Storage
- Google Cloud Storage
- Local filesystem
- In-memory (for testing)
- Consumer group offset recovery with multiple strategies:
skip- restore data onlyheader-based- extract offset from message headerstimestamp-based- query target by timestampcluster-scan- scan target__consumer_offsetsmanual- operator-driven reset
- Three-phase restore orchestration for exact offset recovery
- Offset snapshot and rollback functionality
- Compression support: zstd, lz4, gzip, snappy
- Prometheus metrics integration
- Circuit breaker pattern for fault tolerance
- SQLite-based offset tracking with cloud sync
- CLI with commands: backup, restore, list, describe, validate, offset-reset
- cargo-dist release workflow with cross-platform binaries
- Homebrew tap for macOS/Linux installation