Repository navigation
Releases: skyaktech/tlq-client-rust
Releases · skyaktech/tlq-client-rust
Release list
release: v0.4.0
What's New
This release aligns the Rust client with TLQ server v0.4.0, adding queue statistics support, simplified message states, and an improved builder API.
Added
QueueStatstype andstats()method for retrieving queue statistics viaGET /stats(ready, processing, dead counts)ConfigBuilder::build_config()method for directConfigaccess when needed
Changed
ConfigBuilder::build()now returnsTlqClientdirectly — no moreTlqClient::with_config(builder.build())boilerplatelock_untilfield type changed fromOption<String>toOption<u64>(Unix timestamp in milliseconds), matching server v0.4.0 format- Updated dependencies: tokio 1.50, uuid 1.22
Removed
MessageState::Failedvariant — server v0.4.0 handles expired messages automatically via background reaper; dead message counts are available throughstats()
Migration Guide
Builder pattern (simplification, not breakage for most users):
// Before (0.2.0)
let config = TlqClient::builder().host("localhost").port(1337).build();
let client = TlqClient::with_config(config);
// After (0.4.0)
let client = TlqClient::builder().host("localhost").port(1337).build();MessageState::Failed — remove any pattern matches or filters on Failed. The server's reaper now handles stuck messages automatically. Use client.stats().await? to monitor dead message counts.
lock_until — if you read this field, update your code from Option<String> to Option<u64> (Unix timestamp in milliseconds).
Full Changelog: 0.2.0...0.4.0
0.2.0
Added
- Comprehensive API documentation following Rust best practices
- Complete documentation for all public APIs with examples
- Crate-level documentation with quick start guide and feature overview
- Method-level documentation with parameters, returns, examples, and error conditions
- Error type documentation with detailed descriptions and retryable classification
- Configuration builder pattern documentation with usage examples
- Internal retry mechanism documentation explaining exponential backoff
Documentation
- Added 32+ working documentation examples that are tested with
cargo test --doc - All examples follow
no_runpattern for network-dependent operations - Cross-references between related types using proper Rust doc links
- Comprehensive error documentation with usage patterns
- Professional docs.rs compatible documentation structure
Full Changelog: 0.1.1...0.2.0
0.1.1
Updated dependencies.
Full Changelog: 0.1.0...0.1.1
0.1.0
Initial Release
Added
- Async/await support with Tokio
- Builder pattern for client configuration
- Comprehensive error handling with custom error types
- Automatic retry with exponential backoff
- Full API coverage:
- Health check
- Add message
- Get messages (single and batch)
- Delete messages (single and batch)
- Retry messages (single and batch)
- Purge queue
- Message size validation (64KB limit)
- UUID v7 support for message IDs
- Comprehensive test suite (62 tests)
- Example applications (basic usage, worker, batch processing)
- CI/CD with GitHub Actions
Technical Details
- Minimal dependencies (tokio, serde, serde_json, uuid, thiserror)
- Zero-copy where possible for performance
- Production-ready with comprehensive error handling
- Compatible with TLQ server API
Full Changelog: https://github.com/skyaktech/tlq-client-rust/commits/0.1.0