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

Akka.NET v0.7.1 #530

Merged
merged 1 commit into from
Dec 13, 2014
Merged

Akka.NET v0.7.1 #530

merged 1 commit into from
Dec 13, 2014

Conversation

Aaronontheweb
Copy link
Member

Brand New F# API. The entire F# API has been updated to give it a
more native F# feel while still holding true to the Erlang / Scala
conventions used in actor systems. Read more about the F# API
changes
.

Multi-Node TestKit (Alpha). Not available yet as a NuGet package,
but the first pass at the Akka.Remote.TestKit is now available from
source, which allow you to test your actor systems running on multiple
machines or processes.

A multi-node test looks like this

public class InitialHeartbeatMultiNode1 : InitialHeartbeatSpec
{
}

public class InitialHeartbeatMultiNode2 : InitialHeartbeatSpec
{
}

public class InitialHeartbeatMultiNode3 : InitialHeartbeatSpec
{
}

public abstract class InitialHeartbeatSpec : MultiNodeClusterSpec
The MultiNodeTestRunner looks at this, works out that it needs to create
3 processes to run 3 nodes for the test.
It executes NodeTestRunner in each process to do this passing parameters
on the command line. Read more about the multi-node testkit
here
.

Breaking Change to the internal api: The Next property on
IAtomicCounter<T> has been changed into the function Next()
This
was done as it had side effects, i.e. the value was increased when the
getter was called. This makes it very hard to debug as the debugger kept
calling the property and causing the value to be increased.

Akka.Serilog SerilogLogMessageFormatter has been moved to the
namespace Akka.Logger.Serilog (it used to be in
Akka.Serilog.Event.Serilog).
Update your using statements from using Akka.Serilog.Event.Serilog;
to using Akka.Logger.Serilog;.

Breaking Change to the internal api: Changed signatures in the
abstract class SupervisorStrategy
. The following methods has new
signatures: HandleFailure, ProcessFailure. If you've inherited from
SupervisorStrategy, OneForOneStrategy or AllForOneStrategy and
overriden the aforementioned methods you need to update their
signatures.

TestProbe can be implicitly casted to ActorRef. New feature. Tests
requring the ActorRef of a TestProbe can now be simplified:

var probe = CreateTestProbe();
var sut = ActorOf<GreeterActor>();
sut.Tell("Akka", probe); // previously probe.Ref was required
probe.ExpectMsg("Hi Akka!");

Bugfix for ConsistentHashableEvenlope. When using
ConsistentHashableEvenlope in conjunction with
ConsistentHashRouters, ConsistentHashableEvenlope now correctly
extracts its inner message instead of sending the entire
ConsistentHashableEvenlope directly to the intended routee.

Akka.Cluster group routers now work as expected. New update of
Akka.Cluster - group routers now work as expected on cluster
deployments. Still working on pool routers. Read more about
Akka.Cluster routers
here
.

__Brand New F# API__. The entire F# API has been updated to give it a
more native F# feel while still holding true to the Erlang / Scala
conventions used in actor systems. [Read more about the F# API
changes](akkadotnet#526).

__Multi-Node TestKit (Alpha)__. Not available yet as a NuGet package,
but the first pass at the Akka.Remote.TestKit is now available from
source, which allow you to test your actor systems running on multiple
machines or processes.

A multi-node test looks like this

public class InitialHeartbeatMultiNode1 : InitialHeartbeatSpec
{
}

public class InitialHeartbeatMultiNode2 : InitialHeartbeatSpec
{
}

public class InitialHeartbeatMultiNode3 : InitialHeartbeatSpec
{
}

public abstract class InitialHeartbeatSpec : MultiNodeClusterSpec
The MultiNodeTestRunner looks at this, works out that it needs to create
3 processes to run 3 nodes for the test.
It executes NodeTestRunner in each process to do this passing parameters
on the command line. [Read more about the multi-node testkit
here](akkadotnet#497).

__Breaking Change to the internal api: The `Next` property on
`IAtomicCounter<T>` has been changed into the function `Next()`__ This
was done as it had side effects, i.e. the value was increased when the
getter was called. This makes it very hard to debug as the debugger kept
calling the property and causing the value to be increased.

__Akka.Serilog__ `SerilogLogMessageFormatter` has been moved to the
namespace `Akka.Logger.Serilog` (it used to be in
`Akka.Serilog.Event.Serilog`).
Update your `using` statements from `using Akka.Serilog.Event.Serilog;`
to `using Akka.Logger.Serilog;`.

__Breaking Change to the internal api: Changed signatures in the
abstract class `SupervisorStrategy`__. The following methods has new
signatures: `HandleFailure`, `ProcessFailure`. If you've inherited from
`SupervisorStrategy`, `OneForOneStrategy` or `AllForOneStrategy` and
overriden the aforementioned methods you need to update their
signatures.

__TestProbe can be implicitly casted to ActorRef__. New feature. Tests
requring the `ActorRef` of a `TestProbe` can now be simplified:
``` C#
var probe = CreateTestProbe();
var sut = ActorOf<GreeterActor>();
sut.Tell("Akka", probe); // previously probe.Ref was required
probe.ExpectMsg("Hi Akka!");
```

__Bugfix for ConsistentHashableEvenlope__. When using
`ConsistentHashableEvenlope` in conjunction with
`ConsistentHashRouter`s, `ConsistentHashableEvenlope` now correctly
extracts its inner message instead of sending the entire
`ConsistentHashableEvenlope` directly to the intended routee.

__Akka.Cluster group routers now work as expected__. New update of
Akka.Cluster - group routers now work as expected on cluster
deployments. Still working on pool routers. [Read more about
Akka.Cluster routers
here](akkadotnet#489).
Aaronontheweb added a commit that referenced this pull request Dec 13, 2014
@Aaronontheweb Aaronontheweb merged commit 750bbfe into akkadotnet:dev Dec 13, 2014
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

Successfully merging this pull request may close these issues.

1 participant