stem_redis 0.3.1
stem_redis: ^0.3.1 copied to clipboard
Redis broker, result backend, and scheduler utilities for Stem.
Changelog #
0.3.1 #
- Replace an earlier dead-letter record when the same logical task ID is dead-lettered again.
0.3.0 #
- Require Dart
>=3.13.0 <4.0.0. - Preserve error data and timestamps for every terminal run. Use explicit topic
prefixes for cleanup, including terminal failures and caller-supplied IDs
containing
:wf:. Reject malformed journal writes and empty journal fences. - Add separate Lua-backed workflow journals with atomic execution/revision CAS, checkpoint ordering, compensation ordering, and atomic journal-aware rewind.
- Add Lua-atomic first-terminal-wins completion/cancellation and prevent ordinary workflow mutations from resurrecting terminal runs.
- Add Redis workflow execution fencing with a fresh
executionIdper claim, conditional lease renewal/release, and managed terminal-failure recording. Non-terminal error recording preserves the run status and lease for retry; terminal failure clears the lease only for the current execution. - Require Stem
>=0.5.0 <1.0.0and the shared adapter contract>=0.3.0 <1.0.0, allowing later pre-1.0 releases.
0.2.1 #
- Widened Stem compatibility to include the 0.4 portable runtime line.
- Updated the Redis adapter for the Stem 0.3.0 release train and Dart 3.12 minimum.
- Added an atomic Redis Lua terminal-result write that preserves the first terminal task state across concurrent workers.
- Updated the Redis adapter for Stem 0.3.0 and the capability-aware broker contract.
- Retained the production distributed Redis rate limiter and added its focused unit and integration coverage.
- Redis lock acquisition now allocates an atomic, monotonic fencing token while retaining owner-checked renewal and release behavior.
0.1.3 #
- Added the production
RedisRateLimiter, an atomic Redis Lua token bucket with Redis-server time, retry-after decisions, TLS support, and namespaced keys. - Removed the prerelease core dependency range from the published-package manifest.
0.1.2 #
- Added the production
RedisRateLimiter, an atomic Redis Lua token bucket with Redis-server time, retry-after decisions, TLS support, and namespaced keys.
0.1.1 #
- Updated the Redis workflow store to honor caller-provided run ids, matching the runtime metadata/manifests contract used by the core workflow views.
- Rejected duplicate caller-provided workflow run ids atomically so existing run and checkpoint state is preserved on collisions.
- Enabled broadcast fan-out broker contract coverage in Redis integration tests by wiring additional broker instances for shared-namespace fan-out checks.
0.1.0 #
- Added workflow run lease tracking and claim/renew helpers to distribute workflow execution safely across workers.
- Maintenance updates to adapter tooling and formatting (no runtime changes).
- Added Redis workflow store support with runnable discovery and metadata paging improvements.
- Migrated IDs to UUID v7 and updated datasource handling.
- Added workflow store contract tests and refreshed dependencies/docs.
0.1.0-alpha.4 #
- Added durable watcher storage and atomic event delivery so Durable Workflows resume with persisted payloads and metadata.
- Treat
saveStepas a heartbeat, auto-version checkpoints in sorted sets, and propagate suspensionresumeAt/deadlinedata across Redis structures. - Improved queue maintenance by purging priority streams and shutting down claim timers when consumers stop, preventing spurious reclaims.
- Published
redisWorkflowStoreFactoryso CLI tooling and integration tests can spin up Redis-backed Durable Workflow stores with one helper. - Added lock-store contract coverage for
RedisLockStore, validating the semantics required byTaskOptions.uniqueand scheduler coordination.
0.1.0-alpha.3 #
- Initial release containing Redis Streams broker, result backend, scheduler
helpers, and contract tests extracted from the core
stempackage.