Skip to content

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 18 Aug 02:53
· 3 commits to main since this release

Added

  • Added a bounded lane action executor that separates reading/claiming from action execution.
  • Added ExecutionQueueCapacity globally and per lane for claimed actions waiting on execution slots.
  • Added executor diagnostics for claimed actions, waiting execution count, executing count, saturation, and oldest waiting execution age by lane.
  • Added integration coverage for non-blocking queue readers, real MaxDegreeOfParallelism enforcement, recovery through the executor, and bounded executor backpressure.
  • Added MuleIntent and IMuleClient.EnqueueManyAsync(...) for registering multiple durable intents with a single client call.
  • Added batch storage insertion support for Mule storage providers.
  • Added SQL Server integration coverage for batch enqueue, direct completion updates, and batch cleanup deletes.
  • Added Mule.DurableActions.FastLane.InMemory, an optional in-process buffer that acknowledges enqueue after buffer write and flushes intents and terminal states to durable storage in batches.
  • Added Mule.DurableActions.FastLane.Redis, an optional Redis-backed FastLane buffer for multi-replica high-throughput workloads.
  • Added IMuleDurableStorage so optional buffering providers can decorate active storage without losing access to the final durable provider.
  • Added IMuleBatchTerminalStorage so durable providers can persist terminal state transitions in batches.
  • Added FastLane InMemory integration coverage for buffered execution and ordered intent-before-terminal durable flushes.
  • Added optional Redis integration coverage for buffered execution and ordered durable flushes.

Changed

  • Changed immediate dispatch and recovery workers to lock/claim actions, enqueue them into the lane executor, and continue admitting work instead of executing actions inline.
  • Changed WorkerCount semantics to represent readers/claimers per lane while MaxDegreeOfParallelism controls actual concurrent execution.
  • Changed recovery dispatch to pass claimed actions to the lane executor as a batch.
  • Changed SQL Server completion, failure, and cleanup paths to use direct SQL statements instead of loading tracked entities for each operation.
  • Changed EF Core indexes to include status-based locked recovery and completed cleanup paths.
  • Changed FastLane Redis claim and completion paths to use Lua scripts and batched flush confirmation to reduce Redis round trips.