stem 0.1.0 copy "stem: ^0.1.0" to clipboard
stem: ^0.1.0 copied to clipboard

Stem is a Dart-native background job platform with Redis Streams, retries, scheduling, observability, and security tooling.

0.1.0 #

  • Added workflow run leasing APIs (claimRun, renewRunLease, releaseRun, listRunnableRuns) and runtime ownership tracking to safely spread workflows across workers.
  • Added TaskRetryPolicy and TaskEnqueueOptions for per-enqueue overrides (timing, retries, callbacks), plus TaskContext/TaskInvocationContext enqueue, spawn, and retry helpers including isolate entrypoint support and a fluent TaskEnqueueBuilder.
  • Added inline FunctionTaskHandler execution (runInIsolate toggle) to simplify choosing between inline vs. isolate task execution.
  • Added workflow/task annotations and a registry builder to streamline declarative workflow setup with existing Flow/WorkflowScript APIs.
  • Added StemClient as a single entrypoint for configuring workers and workflow apps with shared broker/backend registries.
  • Added TaskContext demos and refreshed docs/snippets for enqueue options and SQLite guidance.
  • Added typed workflow, task, and canvas result APIs with customizable encoders (TaskResultEncoder and payload encoders).
  • Added new example suites (progress heartbeat, worker control lab, and the feature-complete set) plus refreshed docs/Justfiles for running them.
  • Added signals registry/configuration for worker, task, scheduler, and workflow lifecycle events.
  • Improved worker runtime (isolate pool, config, heartbeats/autoscaling) plus scheduler behavior (timezone alias handling, in-memory schedule store).
  • Exposed lock ownership in interfaces and migrated IDs to UUID v7.
  • Removed sqlite migrations from core and updated dependencies (collection, contextual, crypto, cryptography, timezone, uuid).
  • Expanded internal docs and example suites, plus broader unit/property and workflow store contract coverage.

0.1.0-alpha.4 #

  • Introduced Durable Workflows end-to-end: auto-versioned steps, iteration- aware contexts, and durable event watchers so long-running flows replay safely and resume with persisted payloads.
  • Added a WorkflowClock abstraction (with FakeWorkflowClock) so runtimes and stores can record deterministic timestamps during testing.
  • Refined sleep/await behaviour: persisted wake timestamps now prevent re-suspending once a delay has elapsed, and saveStep refreshes run heartbeats so active workers retain ownership.
  • Updated all workflow stores to consume injected clock metadata, ensuring suspension payloads include resumeAt/deadline values without relying on DateTime.now().
  • Wired TaskOptions.unique into the runtime via the new UniqueTaskCoordinator, allowing clusters to deduplicate submissions using shared LockStores and surface duplicate metadata when a clash occurs.
  • Workers now coordinate chord callbacks through ResultBackend.claimChord, persisting callback ids and dispatch timestamps so fan-in callbacks run exactly once even after crashes or retry storms.

0.1.0-alpha.3 #

  • Split Redis/Postgres adapters and CLI into dedicated packages (stem_redis, stem_postgres, stem_cli) so the core package only exposes platform-agnostic runtime APIs.
  • Updated examples, docs, and integration guides to reference the new packages.

0.1.0-alpha.2 #

  • Replace the legacy opentelemetry dependency with dartastic_opentelemetry and update tracing/metrics integrations.
  • Add _init_test_env helper to start dockerised dependencies and export integration env vars.
  • Refresh project docs to mention the new telemetry stack and test environment workflow.
  • Bump direct dependencies (dartastic_opentelemetry 0.9.2, postgres 3.5.9, timezone 0.10.1) and align transitive packages.

0.1.0-alpha #

  • Initial version.
0
likes
150
points
197
downloads

Publisher

unverified uploader

Weekly Downloads

Stem is a Dart-native background job platform with Redis Streams, retries, scheduling, observability, and security tooling.

Repository (GitHub)
View/report issues

Topics

#background-processing #message-queue #observability

Documentation

API reference

License

MIT (license)

Dependencies

collection, contextual, crypto, cryptography, dartastic_opentelemetry, dartastic_opentelemetry_api, glob, meta, timezone, uuid, yaml

More

Packages that depend on stem