duraq 0.0.1
duraq: ^0.0.1 copied to clipboard
A durable queuing system implemented in Dart
Changelog #
All notable changes to DuraQ will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
Changed #
- BREAKING CHANGE:
IsarStoragenow requires an external Isar instance instead of creating its own IsarStorage.create()factory method has been removedIsarStorageconstructor now accepts anIsarinstance parameterIsarStorage.dispose()no longer closes the Isar instance (caller responsibility)- Added
IsarStorage.requiredSchemasstatic getter to help users configure Isar with required schemas
Added #
- Support for shared Isar instances across multiple components
- Better integration with external systems that manage Isar lifecycle
- Comprehensive documentation for new Isar usage patterns
Migration Guide #
Before:
final storage = await IsarStorage.create(dbPath: 'path/to/queue.isar');
// ... use storage
await storage.dispose(); // Closed Isar automatically
After:
await Isar.initializeIsarCore(download: true);
final isar = await Isar.open([
...IsarStorage.requiredSchemas,
// Add your other schemas here
], directory: 'path/to/db');
final storage = IsarStorage(isar);
// ... use storage
await storage.dispose(); // Releases locks only
await isar.close(); // Caller manages Isar lifecycle