Skip to content

Commit

Permalink
Merge pull request #1654 from Aaronontheweb/master
Browse files Browse the repository at this point in the history
Akka.NET v1.0.6 release (PRODUCTION)
  • Loading branch information
Aaronontheweb committed Jan 18, 2016
2 parents fcf07ec + aff30fd commit 826bcd1
Show file tree
Hide file tree
Showing 314 changed files with 39,211 additions and 4,642 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@

# Needed for Mono build shell script
*.sh -text eol=lf

# Needed for API Approvals
*.txt text eol=crlf
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ bld/
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

# NBench results
[Pp]erf[Rr]esult*/

#NUNIT
*.VisualState.xml
TestResult.xml
Expand Down Expand Up @@ -221,3 +224,6 @@ resetdev.bat

# Akka.Persistence Test Output
target/

# API Approval received files
**/Akka.API.Tests/*.received.txt
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,9 @@ If we ask you to change already published commits using interactive rebase (like
git push -f origin my-new-branch-123
```

### The build server isn't picking up a Pull request that I've modified
The build server relies on git commit timestamps to keep track of new builds that it needs to perform. When updating a PR, sometimes the timestamp of the latest commit in the PR isn't updated. This leads the build server to think that the PR has already been built and tested. In order to force the build server to rebuild and test the updated PR, please follow the instructions outlined in this post [How can one change the timestamp of an old commit in Git?](http://stackoverflow.com/questions/454734/how-can-one-change-the-timestamp-of-an-old-commit-in-git/31540373#31540373).

### All my commits are on dev. How do I get them to a new branch? ###
If all commits are on _dev_ you need to move them to a new feature branch.

Expand Down
85 changes: 85 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,88 @@
#### 1.0.6 January 18 2016 ####
**Maintenance release for Akka.NET v1.0.5**
This patch consists of many bug fixes, performance improvements, as well as the addition of two brand new alpha modules for Akka.Cluster users.

**Akka.Cluster.Tools** and **Akka.Cluster.Sharding**
The biggest part of this release is the addition of [Akka.Cluster.Tools](http://getakka.net/docs/clustering/cluster-tools) and [Akka.Cluster.Sharding](http://getakka.net/docs/clustering/cluster-sharding), both of which are available now as pre-release packages on NuGet.

```
PM> Install-Package Akka.Cluster.Tools -pre
```
and

```
PM> Install-Package Akka.Cluster.Sharding -pre
```

Respectively, these two packages extend Akka.Cluster to do the following:

1. Distributed pub/sub (Akka.Cluster.Tools)
2. `ClusterClient` - subscribe to changes in cluster availability without actually being part of the cluster itself. (Akka.Cluster.Tools)
3. `ClusterSingleton` - guarantee a single instance of a specific actor throughout the cluster. (Akka.Cluster.Tools)
4. Sharding - partition data into durable stores (built on top of Akka.Persistence) in a manner that is fault-tolerant and recoverable across thecluster. (Akka.Cluster.Sharding)

Check out the documentation for more details!
* http://getakka.net/docs/clustering/cluster-tools
* http://getakka.net/docs/clustering/cluster-sharding

**Fixes & Changes - Akka.NET Core**
* [Fix incorrect serialization of Unicode characters in NewtonSoftJsonSerializer](https://github.com/akkadotnet/akka.net/pull/1508)
* [Fixed: Supervisorstrategy does not preserve stacktrace](https://github.com/akkadotnet/akka.net/issues/1499)
* [added initial performance specs using NBench](https://github.com/akkadotnet/akka.net/pull/1520)
* [Add wire back as contrib package + Serialization TestKit](https://github.com/akkadotnet/akka.net/pull/1503)
* [Implemented the RegisterOnTermination feature.](https://github.com/akkadotnet/akka.net/pull/1523)
* [Increased performance of DedicatedThreadPool](https://github.com/akkadotnet/akka.net/pull/1569)
* [#1605 updated Google.ProtocolBuffers to 2.4.1.555](https://github.com/akkadotnet/akka.net/pull/1634)
* [Clear current message - fixes #1609](https://github.com/akkadotnet/akka.net/pull/1613)
* [Rewrite of the AtomicReference ](https://github.com/akkadotnet/akka.net/pull/1615)
* [Implemented WhenTerminated and Terminate](https://github.com/akkadotnet/akka.net/pull/1614)
* [Implemented StartTime and Uptime](https://github.com/akkadotnet/akka.net/pull/1617)
* [API Diff with fixed Approval file](https://github.com/akkadotnet/akka.net/pull/1639)
* [Fixed: NullReferenceException in Akka.Util.Internal.Collections.ImmutableAvlTreeBase`2.RotateLeft](https://github.com/akkadotnet/akka.net/issues/1202)



**Fixes & Changes - Akka.Remote & Akka.Cluster**
It should be noted that we've improved the throughput from Akka.NET v1.0.5 to 1.0.6 by a factor of 8

* [Akka.Cluster.Tools & Akka.Cluster.Sharding with tests and examples](https://github.com/akkadotnet/akka.net/pull/1530)
* [Added UntrustedSpec](https://github.com/akkadotnet/akka.net/pull/1535)
* [Akka.Remote Performance - String.Format logging perf fix](https://github.com/akkadotnet/akka.net/pull/1540)
* [Remoting system upgrade](https://github.com/akkadotnet/akka.net/pull/1596)
* [PublicHostname defaults to IPAddress.Any when hostname is blank](https://github.com/akkadotnet/akka.net/pull/1621)
* [Removes code that overrides OFF log level with WARNING.](https://github.com/akkadotnet/akka.net/pull/1644)
* [fixes issue with Helios message ordering](https://github.com/akkadotnet/akka.net/pull/1638)
* [Fixed: Actor does not receive "Terminated" message if remoting is used and it is not monitored actor's parent](https://github.com/akkadotnet/akka.net/issues/1646)

**Fixes & Changes - Akka.Persistence**
* [Fixed racing conditions on sql-based snapshot stores](https://github.com/akkadotnet/akka.net/pull/1507)
* [Fix for race conditions in presistence plugins](https://github.com/akkadotnet/akka.net/pull/1543)
* [Fix #1522 Ensure extensions and persistence plugins are only registered/created once](https://github.com/akkadotnet/akka.net/pull/1648)

A special thanks to all of our contributors for making this happen!
18 contributors since release v1.0.5

| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 22 | 3564 | 28087 | Aaron Stannard |
| 15 | 1710 | 1303 | rogeralsing |
| 6 | 569 | 95 | Silv3rcircl3 |
| 6 | 53594 | 4417 | Bartosz Sypytkowski |
| 5 | 1786 | 345 | Sean Gilliam |
| 3 | 786 | 159 | maxim.salamatko |
| 2 | 765 | 277 | JeffCyr |
| 2 | 44 | 53 | Chris Constantin |
| 2 | 14 | 2 | Simon Anderson |
| 1 | 84 | 4 | Bart de Boer |
| 1 | 6051 | 27 | danielmarbach |
| 1 | 6 | 2 | tstojecki |
| 1 | 3 | 5 | Ralf1108 |
| 1 | 27 | 0 | Andrew Skotzko |
| 1 | 2 | 2 | easuter |
| 1 | 2 | 1 | Danthar |
| 1 | 182 | 0 | derwasp |
| 1 | 179 | 0 | Onat Yiğit Mercan |

#### 1.0.5 December 3 2015 ####
**Maintenance release for Akka.NET v1.0.4**
This release is a collection of bug fixes, performance enhancements, and general improvements contributed by 29 individual contributors.
Expand Down
1 change: 1 addition & 0 deletions build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ src\.nuget\NuGet.exe install FAKE -ConfigFile src\.nuget\Nuget.Config -OutputDir

src\.nuget\NuGet.exe install xunit.runner.console -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 2.0.0
src\.nuget\NuGet.exe install nunit.runners -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 2.6.4
src\.nuget\NuGet.exe install NBench.Runner -OutputDirectory src\packages -ExcludeVersion

if not exist src\packages\SourceLink.Fake\tools\SourceLink.fsx (
src\.nuget\nuget.exe install SourceLink.Fake -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion
Expand Down
47 changes: 46 additions & 1 deletion build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ printfn "Assembly version: %s\nNuget version; %s\n" release.AssemblyVersion rele

let binDir = "bin"
let testOutput = FullName "TestResults"
let perfOutput = FullName "PerfResults"

let nugetDir = binDir @@ "nuget"
let workingDir = binDir @@ "build"
Expand Down Expand Up @@ -185,6 +186,8 @@ Target "CopyOutput" <| fun _ ->
"contrib/loggers/Akka.Logger.slf4net"
"contrib/loggers/Akka.Logger.NLog"
"contrib/loggers/Akka.Logger.Serilog"
"contrib/loggers/Akka.Logger.CommonLogging"
"contrib/loggers/Akka.Logger.log4net"
"contrib/dependencyinjection/Akka.DI.Core"
"contrib/dependencyinjection/Akka.DI.AutoFac"
"contrib/dependencyinjection/Akka.DI.CastleWindsor"
Expand All @@ -194,6 +197,9 @@ Target "CopyOutput" <| fun _ ->
"contrib/testkits/Akka.TestKit.Xunit"
"contrib/testkits/Akka.TestKit.NUnit"
"contrib/testkits/Akka.TestKit.Xunit2"
"contrib/serializers/Akka.Serialization.Wire"
"contrib/cluster/Akka.Cluster.Tools"
"contrib/cluster/Akka.Cluster.Sharding"
]
|> List.iter copyOutput

Expand Down Expand Up @@ -275,6 +281,40 @@ Target "MultiNodeTests" <| fun _ ->

multiNodeTestAssemblies |> Seq.iter (runMultiNodeSpec)

//--------------------------------------------------------------------------------
// NBench targets
//--------------------------------------------------------------------------------
Target "NBench" <| fun _ ->
let testSearchPath =
let assemblyFilter = getBuildParamOrDefault "spec-assembly" String.Empty
sprintf "src/**/bin/Release/*%s*.Tests.Performance.dll" assemblyFilter

mkdir perfOutput
let nbenchTestPath = findToolInSubPath "NBench.Runner.exe" "src/packges/NBench.Runner*"
let nbenchTestAssemblies = !! testSearchPath
printfn "Using NBench.Runner: %s" nbenchTestPath

let runNBench assembly =
let spec = getBuildParam "spec"

let args = new StringBuilder()
|> append assembly
|> append (sprintf "output-directory=\"%s\"" perfOutput)
|> toText

let result = ExecProcess(fun info ->
info.FileName <- nbenchTestPath
info.WorkingDirectory <- (Path.GetDirectoryName (FullName nbenchTestPath))
info.Arguments <- args) (System.TimeSpan.FromMinutes 15.0) (* Reasonably long-running task. *)
if result <> 0 then failwithf "NBench.Runner failed. %s %s" nbenchTestPath args

nbenchTestAssemblies |> Seq.iter (runNBench)

//--------------------------------------------------------------------------------
// Clean NBench output
Target "CleanPerf" <| fun _ ->
DeleteDir perfOutput


//--------------------------------------------------------------------------------
// Nuget targets
Expand All @@ -299,6 +339,7 @@ module Nuget =
match project with
| "Akka.Cluster" -> preReleaseVersion
| persistence when persistence.StartsWith("Akka.Persistence") -> preReleaseVersion
| "Akka.Serialization.Wire" -> preReleaseVersion
| _ -> release.NugetVersion

open Nuget
Expand Down Expand Up @@ -558,7 +599,10 @@ Target "HelpMultiNodeTests" <| fun _ ->

// tests dependencies
"CleanTests" ==> "RunTests"
"BuildRelease" ==> "CleanTests" ==> "MultiNodeTests"
"CleanTests" ==> "MultiNodeTests"

// NBench dependencies
"CleanPerf" ==> "NBench"

// nuget dependencies
"CleanNuget" ==> "CreateNuget"
Expand All @@ -571,6 +615,7 @@ Target "All" DoNothing
"BuildRelease" ==> "All"
"RunTests" ==> "All"
"MultiNodeTests" ==> "All"
"NBench" ==> "All"
"Nuget" ==> "All"

Target "AllTests" DoNothing //used for Mono builds, due to Mono 4.0 bug with FAKE / NuGet https://github.com/fsharp/fsharp/issues/427
Expand Down
3 changes: 3 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ mono $SCRIPT_PATH/src/.nuget/NuGet.exe install FAKE -OutputDirectory $SCRIPT_PAT
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install xunit.runners -OutputDirectory $SCRIPT_PATH/src/packages/FAKE -ExcludeVersion -Version 2.0.0
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install nunit.runners -OutputDirectory $SCRIPT_PATH/src/packages/FAKE -ExcludeVersion -Version 2.6.4

mono $SCRIPT_PATH/src/.nuget/NuGet.exe install NBench.Runner -OutputDirectory $SCRIPT_PATH/src/packages -ExcludeVersion


if ! [ -e $SCRIPT_PATH/src/packages/SourceLink.Fake/tools/SourceLink.fsx ] ; then
mono $SCRIPT_PATH/src/.nuget/NuGet.exe install SourceLink.Fake -OutputDirectory $SCRIPT_PATH/src/packages -ExcludeVersion

Expand Down
22 changes: 22 additions & 0 deletions contributor-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
18 contributors since release v1.0.5

| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 22 | 3564 | 28087 | Aaron Stannard |
| 15 | 1710 | 1303 | rogeralsing |
| 6 | 569 | 95 | Silv3rcircl3 |
| 6 | 53594 | 4417 | Bartosz Sypytkowski |
| 5 | 1786 | 345 | Sean Gilliam |
| 3 | 786 | 159 | maxim.salamatko |
| 2 | 765 | 277 | JeffCyr |
| 2 | 44 | 53 | Chris Constantin |
| 2 | 14 | 2 | Simon Anderson |
| 1 | 84 | 4 | Bart de Boer |
| 1 | 6051 | 27 | danielmarbach |
| 1 | 6 | 2 | tstojecki |
| 1 | 3 | 5 | Ralf1108 |
| 1 | 27 | 0 | Andrew Skotzko |
| 1 | 2 | 2 | easuter |
| 1 | 2 | 1 | Danthar |
| 1 | 182 | 0 | derwasp |
| 1 | 179 | 0 | Onat Yiğit Mercan |
Loading

0 comments on commit 826bcd1

Please sign in to comment.