Skip to content

2.5.0

Compare
Choose a tag to compare
@yevhen yevhen released this 12 Dec 11:08
· 144 commits to master since this release

Breaking changes:

  • All actor interfaces are now required to inherit IGrainWithStringKey together with IActorGrain (#148)
  • StorageProviderFacet and [UseStorageProvider] attribute were removed in favor of native PersistentStateFactory (get it from container) and PersistentState attribute respectively (doc)
  • Less strict signature for actor ref middleware (object instead of TResult)
  • Naming symmetry between ActorRefMiddleware and ActorMiddleware (ie Receive instead of Send-Receive pair)
  • Unified design of Next handling between ActorRefMiddleware and ActorMiddleware. Now subclasses need to call base.Receive to call next handler in a chain
  • Per-type middlewares were removed as a feature to avoid confusion. Use global pipeline and type filtering inside the middleware
  • Direct client middleware configuration was removed. Now single actor ref middleware is used for all clients

New api:

  • Exposed function to get actor grain interface from actor class
  • Additional method overload for extracting messages from InvokeMethodRequest to simplify matching in F#