durable_outbox 0.2.0 copy "durable_outbox: ^0.2.0" to clipboard
durable_outbox: ^0.2.0 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.2.0 - 2025-12-05 #

Added #

  • Enhanced State Tracking: New methods for accurate status-specific entry counts
    • OutboxStore.getCountsByStatus() - Get counts grouped by entry status
    • OutboxStore.watchCountsByStatus() - Stream real-time status-specific counts
    • Support for channel-based filtering in count methods
  • New example state_tracking_example.dart demonstrating real-time state monitoring
  • Comprehensive test suite for state tracking (6 new tests)

Changed #

  • Breaking: DurableOutbox.watch() now provides accurate counts for processingCount and failedCount
    • Previously these fields were always 0
    • Now they reflect actual entry counts in each status
  • Improved OutboxState accuracy with real-time status tracking

Fixed #

  • Fixed inaccurate state reporting in DurableOutbox.watch() stream
  • Fixed missing getCountsByStatus() and watchCountsByStatus() implementations in SqliteStore stub
  • Fixed unused import warning in state_tracking_example.dart

0.1.1 - 2025-01-13 #

Changed #

  • Replaced sqflite with sqlite3 package for pure Dart support
  • Removed path_provider dependency to enable pure Dart compatibility
  • Improved drain() method to process all queued entries, not just up to concurrency limit
  • Enhanced markFailed() logic: entries with nextAttempt are now marked as queued for retry instead of failed

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.dev package requirements
  • Improved API documentation with usage examples

0.1.0 - 2025-01-13 #

Added #

  • Core API with DurableOutbox facade
  • OutboxStore interface with SQLite and Memory implementations
  • OutboxTransport interface with HTTP implementation
  • RetryPolicy with 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)
0
likes
150
points
36
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

A reliable offline queue library with guaranteed delivery for Flutter/Dart applications.

Repository (GitHub)
View/report issues

Topics

#durable #offline #queue

License

BSD-3-Clause (license)

Dependencies

path, sqlite3, uuid

More

Packages that depend on durable_outbox