Skip to content

Releases: gonuit/isolated_stream

v2.1.0

Choose a tag to compare

@gonuit gonuit released this 25 Aug 17:32
  • Fixed: an unsendable handler error no longer kills the worker isolate and hangs compute() — it is delivered as a RemoteError fallback.
  • Fixed: worker isolates are monitored via onExit/onError — unexpected death fails in-flight compute() calls with a descriptive error and the pool re-spawns a fresh isolate on the next call.
  • Fixed: an unsendable input to compute() no longer leaks the reply port or causes an unhandled async error on a later dispose().

v2.0.0

Choose a tag to compare

@gonuit gonuit released this 03 Oct 11:16
  • BREAKING CHANGE: Replaced concurrency, and isolates parameters with strategy-based API
  • Added IsolatedProcessingStrategy pattern for better type safety and extensibility
  • Added IsolatedProcessingStrategy.concurrent(), .droppable(), .restartable(), .sequential() factories
  • Improved broadcast stream handling with shared isolates across listeners
  • Fixed concurrency tracking issues in isolate boundaries
  • Enhanced lazy initialization for better resource management

Migration example:

// Before (v1.x)
stream.isolatedMap(handler, concurrency: 3, isolates: 2)
// After (v2.x)
stream.isolatedMap(
  handler,
  strategy: IsolatedProcessingStrategy.concurrent(
    concurrency: 3,
    isolates: 2,
  ),
);

v1.0.0

Choose a tag to compare

@gonuit gonuit released this 02 Oct 00:38

Changes:

  • Initial release
  • Added isolatedMap() extension for streams
  • Added IsolatedHandler abstract class
  • Support for sync and async transformations
  • Configurable concurrency with order preservation
  • Isolate pooling for high-throughput scenarios