durable_outbox 0.1.1
durable_outbox: ^0.1.1 copied to clipboard
A reliable offline queue library with guaranteed delivery for Flutter/Dart applications.
Changelog #
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.1.1 - 2025-01-13 #
Changed #
- Replaced
sqflitewithsqlite3package for pure Dart support - Removed
path_providerdependency to enable pure Dart compatibility - Improved
drain()method to process all queued entries, not just up to concurrency limit - Enhanced
markFailed()logic: entries withnextAttemptare now marked asqueuedfor retry instead offailed
Fixed #
- Fixed
drain()method to work correctly when scheduler is not running (autoStart: false) - Fixed retry logic: failed entries with retry schedule are now properly requeued
- Fixed test timing issues with retry backoff delays
Added #
- Comprehensive dartdoc documentation for public API (20%+ coverage)
- Example file (
example/example.dart) for pub.flutter-io.cn package requirements - Improved API documentation with usage examples
0.1.0 - 2025-01-13 #
Added #
- Core API with
DurableOutboxfacade OutboxStoreinterface with SQLite and Memory implementationsOutboxTransportinterface with HTTP implementationRetryPolicywith Decorrelated Jitter Backoff- Idempotency key support
- Pause/Resume functionality
- Watch streams for queue state and counts
- Basic metrics support
- Foreground runtime with scheduler
- Examples and tests
Features #
- Offline queue with guaranteed delivery
- Automatic retry with configurable backoff
- Priority-based processing
- Delayed start support (
notBefore) - Channel-based queue organization
- Cross-platform support (mobile, desktop, web)