Skip to content

v0.0.4

Choose a tag to compare

@fedeAlterio fedeAlterio released this 10 Jan 12:20
· 78 commits to main since this release

Release Notes

New Features

BehaviorSubject

  • Added Subject.CreateBehavior<T>() factory method for creating behavior subjects
  • BehaviorSubjects cache the latest value and immediately emit it to new subscribers
  • Supports both Serial and Concurrent publishing options via BehaviorSubjectCreationOptions

AsyncContext

  • Added AsyncContext as a union type that can represent either SynchronizationContext or TaskScheduler
  • Provides unified abstraction for controlling async context across operators (ObserveOn)

ObserveOn Operator

  • Added ObserveOn() operator to switch async context for downstream observers
  • Accepts an AsyncContext as "scheduler". AsyncContext means either a SynchronizationContext or a TaskScheduler

Yield Operator

  • Added Yield() operator to introduce asynchronous yield points in the observable pipeline
  • Useful to force the producer thread to return on a sync chain

CombineLatest Operator

  • Added CombineLatest() operator for combining multiple observables
  • Emits whenever any source observable produces a value, combining it with the latest values from other sources
  • Supports combining 2-8 observables with strongly-typed tuple results

Bug Fixes

CreateAsBackgroundJob

  • Fixed CreateAsBackgroundJob() to respect the subscription's async context when no TaskScheduler is specified
  • Previously incorrectly used TaskScheduler.Default by default
  • Now properly yields on the subscription's async context, allowing context-aware execution