Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #11

Open
raymens opened this issue Aug 31, 2015 · 7 comments
Open

Roadmap #11

raymens opened this issue Aug 31, 2015 · 7 comments

Comments

@raymens
Copy link

raymens commented Aug 31, 2015

I see some great enhancements added as issues, could you add a roadmap on what issues you (or others) are working on?

@Horusiath
Copy link
Owner

Right now I'm working on them alone and in irregular manner, so no explicit roadmap was necessary. But it's acutally a good idea, no matter if we speak about single person or collaboration development.

@raymens
Copy link
Author

raymens commented Aug 31, 2015

Yeah it would be great to see what you (or anyone) are actually working on and which of them are just idea floating around for now. It's also easier for any potential contributors to know what they can grab for a PR.

What are you thinking of? A table with the names on whose working on what, or?

@Horusiath
Copy link
Owner

Horusiath commented Nov 28, 2015

While this will need to wait for a proper documentation, initial roadmap looks like this:

[Edited: 2016-06-10]

> 0.4

  • Vagabond hot functions loading.
  • Integration of async inside actor computation expression.

0.4

  • Make an AtLeastOnceDelivery semantic working in cooperation with method combinators and based on function composability. (TODO: everything is ready on Akka.NET side)
  • Introduce Akkling.Streams library (TODO: better graph API, actor publisher and subscriber implementations).
  • Keep library up-to-date with Akka 1.1 - therefore release date will be after 1.1 will came out.

0.3

  • Publish Akkling.TestKit package to make F#-idiomatic API over Akka.TestKit
  • Publish Akkling.Cluster.Sharding package with helpers for working with Akka.NET cluster plugins, mainly Akka.Cluster.Sharding.
  • New typed version of Props. This also includes some changes in existing spawn methods.
  • actorOf and actorOf2 will operate on functions returning effects.
  • Receive method combinators <|> and <&>.

0.2

  • Simplified existing Akka.FSharp API to necessary minimum.
  • Introduced effects - this way actor can return special kind of effect to trigger some behavior on actor like Unhandled, Stop or Ignore.
  • Introduced actor's lifecycle events: a way to hook to PreStart, PostStop, PreRestart, PostRestart actions through dedicated messages. This also replaces mailbox.Defer callbacks.
  • Created whole new API for Akkling.Persistence: now it works as single uniform function, which is invoked on both OnCommand, OnRecover, and on persist and deffer callbacks. Those phases can be distinguished using correlated active patterns.

0.1

  • Initial release - fork from Akka.FSharp
  • Implemented typed actor refs.

@gsomix
Copy link

gsomix commented Jun 21, 2018

@Horusiath Could you please give us update on the current roadmap? Thanks!

@Horusiath
Copy link
Owner

@gsomix right now I'm mostly occupied with implementing changes in akka.net core repository. Some of the changes I was thinking about changing how actor handles incoming messages - split this behavior in two (one for user-defined messages and one for system-defined ones). This would allow us to avoid retyping actor refs in situations when your actor needs to react on both user and system messages. Problem with that is that is a breaking change and Akkling is already used in many production systems.

@Kavignon
Copy link

Since Akkling is being used in many production environment, do you still consider this as an experimental project?

@Swoorup
Copy link
Contributor

Swoorup commented May 10, 2020

I don't really mind the breaking changes, as long as major version is changed? As is, it feels odd to use Actor to use System messages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants