Skip to content

Commit

Permalink
Merge pull request #1495 from Aaronontheweb/v1.0.5-release-notes
Browse files Browse the repository at this point in the history
V1.0.5 STABLE RELEASE
  • Loading branch information
Aaronontheweb committed Dec 3, 2015
2 parents 4819b9b + c0b2f57 commit fcf07ec
Show file tree
Hide file tree
Showing 348 changed files with 17,345 additions and 2,185 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -214,3 +214,10 @@ FakesAssemblies/
/src/.Akka.boltdata/TestResults.json
resetdev.bat
/src/packages/repositories.config
/src/.nuget

# FAKE build folder
.fake/

# Akka.Persistence Test Output
target/
70 changes: 70 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,73 @@
#### 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.

**Fixes & Changes - Akka.NET Core**
* [Bugfix: Make the Put on the SimpleDnsCache idempotent](https://github.com/akkadotnet/akka.net/commit/2ed1d574f76491707deac236db3fd7c1e5af5757)
* [Add CircuitBreaker Initial based on akka 2.0.5](https://github.com/akkadotnet/akka.net/commit/7e16834ef0ff8551cdd3530eacb1016d40cb1cb8)
* [Fix for receive timeout in async await actor](https://github.com/akkadotnet/akka.net/commit/6474bd7dc3d27756e255d12ef21f331108d9922d)
* [akka-io: fixed High CPU load using the Akka.IO TCP server](https://github.com/akkadotnet/akka.net/commit/4af2cfbcaafa33ea04a1a8b1aa6486e78bd6f821)
* [akka-io: Stop select loop on idle](https://github.com/akkadotnet/akka.net/commit/e545780d36cfb805b2014746a2e97006894c2e00)
* [Serialization fixes](https://github.com/akkadotnet/akka.net/commit/6385cc20a3d310efc0bb2f9e29710c5b7bceaa87)
* [Fix issue #1301 - inprecise resizing of resizable routers](https://github.com/akkadotnet/akka.net/commit/cf714333b25190249f01d79bad606d4ce5863e47)
* [Stashing now checks message equality by reference](https://github.com/akkadotnet/akka.net/commit/884330dfb5d69b523f25a59b98450322fe3b34f4)
* [rewrote ActorPath.TryParseAddrss to now test Uris by try / catch and use Uri.TryCreate instead](https://github.com/akkadotnet/akka.net/commit/8eaf32147a08f213db818bf19d74ed9d1aadaed2)
* [Port EventBusUnsubscribers](https://github.com/akkadotnet/akka.net/commit/bd91bcd50d918e5e8ee4b085e53d603cfd46c89a)
* [Add optional PipeTo completion handlers](https://github.com/akkadotnet/akka.net/commit/dfb7f61026d5d0b2d23efe1dd73af820f70a1d1c)
* [Akka context props output to Serilog](https://github.com/akkadotnet/akka.net/commit/409cd7f4ed0b285827b681685af59ec19c5a4b73)


**Fixes & Changes - Akka.Remote, Akka.Cluster**
* [MultiNode tests can now be skipped by specifying a SkipReason](https://github.com/akkadotnet/akka.net/commit/75f966cb7d2f2c0d859e0e3a90a38d251a10c5e5)
* [Akka.Remote: Discard msg if payload size > max allowed.](https://github.com/akkadotnet/akka.net/commit/05f57b9b1ff256145bc085f94d49a591e51e1304)
* [Throw `TypeLoadException` when an actor type or dependency cannot be found in a remote actor deploy scenario](https://github.com/akkadotnet/akka.net/commit/ffed3eb088bc00f90a5e4b7367d4598fda007401)
* [MultiNode Test Visualizer](https://github.com/akkadotnet/akka.net/commit/7706bb242719b7f7197058e89f8579af5b82dfc3)
* [Fix for Akka.Cluster.Routing.ClusterRouterGroupSettings Mono Linux issue](https://github.com/akkadotnet/akka.net/commit/dbbd2ac9b16772af8f8e35d3d1c8bf5dcf354f42)
* [Added RemoteDeploymentWatcher](https://github.com/akkadotnet/akka.net/commit/44c29ccefaeca0abdc4fd1f81daf1dc27a285f66)
* [Akka IO Transport: framing support](https://github.com/akkadotnet/akka.net/commit/60b5d2a318b485652e0888190aaa930fe43b1bbc)
* [#1443 fix for cluster shutdown](https://github.com/akkadotnet/akka.net/commit/941688aead57266b454b76530a7fb5446f68e15d)

**Fixes & Changes - Akka.Persistence**
* [Fixes the NullReferenceException in #1235 and appears to adhere to the practice of including an addres with the serialized binary.](https://github.com/akkadotnet/akka.net/commit/3df119ff614c3298299f863e18efd6e0fa848858)
* [Port Finite State Machine DSL to Akka.Persistence](https://github.com/akkadotnet/akka.net/commit/dce684d907df86f5039eb2ca20727ab48d4b218a)
* [Become and BecomeStacked for ReceivePersistentActor](https://github.com/akkadotnet/akka.net/commit/b11dafc86eb9284c2d515fd9da3599fe463a5681)
* [Persistent actor stops on recovery failures](https://github.com/akkadotnet/akka.net/commit/03105719a8866e8eadac268bc8f813e738f989b9)
* [Fixed: data races inside sql journal engine](https://github.com/akkadotnet/akka.net/commit/f088f0c681fdc7ba1b4eaf7f823c2a9535d3045d)
* [fix sqlite.conf and readme](https://github.com/akkadotnet/akka.net/commit/c7e925ba624eee7e386855251169aecbafd6ae7d)
* [#1416 created ReceiveActor implementation of AtLeastOnceDeliveryActor base class](https://github.com/akkadotnet/akka.net/commit/4d1d79b568bdae6565423c3ed914f8a9606dc0e8)

A special thanks to all of our contributors, organized below by the number of changes made:

23369 5258 18111 Aaron Stannard
18827 16329 2498 Bartosz Sypytkowski
11994 9496 2498 Steffen Forkmann
6031 4637 1394 maxim.salamatko
1987 1667 320 Graeme Bradbury
1556 1149 407 Sean Gilliam
1118 1118 0 moliver
706 370 336 rogeralsing
616 576 40 Marek Kadek
501 5 496 Alex Koshelev
377 269 108 Jeff Cyr
280 208 72 willieferguson
150 98 52 Christian Palmstierna
85 63 22 Willie Ferguson
77 71 6 Emil Ingerslev
66 61 5 Grover Jackson
60 39 21 Alexander Pantyukhin
56 33 23 Uladzimir Makarau
55 54 1 rdavisau
51 18 33 alex-kondrashov
42 26 16 Silv3rcircl3
36 30 6 evertmulder
33 19 14 Filip Malachowicz
13 11 2 Suhas Chatekar
7 6 1 tintoy
4 2 2 Jonathan
2 1 1 neekgreen
2 1 1 Christopher Martin
2 1 1 Artem Borzilov

#### 1.0.4 August 07 2015 ####
**Maintenance release for Akka.NET v1.0.3**

Expand Down
26 changes: 23 additions & 3 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -1,20 +1,40 @@
@echo off

pushd %~dp0

SETLOCAL
SET CACHED_NUGET=%LocalAppData%\NuGet\NuGet.exe

IF EXIST %CACHED_NUGET% goto copynuget
echo Downloading latest version of NuGet.exe...
IF NOT EXIST %LocalAppData%\NuGet md %LocalAppData%\NuGet
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest 'https://www.nuget.org/nuget.exe' -OutFile '%CACHED_NUGET%'"

:copynuget
IF EXIST src\.nuget\nuget.exe goto restore
md src\.nuget
copy %CACHED_NUGET% src\.nuget\nuget.exe > nul

:restore

src\.nuget\NuGet.exe update -self


pushd %~dp0

src\.nuget\NuGet.exe update -self

src\.nuget\NuGet.exe install FAKE -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion -Version 3.28.8
src\.nuget\NuGet.exe install FAKE -ConfigFile src\.nuget\Nuget.Config -OutputDirectory src\packages -ExcludeVersion -Version 4.1.0

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

if not exist src\packages\SourceLink.Fake\tools\SourceLink.fsx (
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
)
rem cls

set encoding=utf-8
src\packages\FAKE\tools\FAKE.exe build.fsx %*

popd
popd
63 changes: 48 additions & 15 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ printfn "Assembly version: %s\nNuget version; %s\n" release.AssemblyVersion rele
// Directories

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

let nugetDir = binDir @@ "nuget"
let workingDir = binDir @@ "build"
Expand Down Expand Up @@ -213,7 +213,7 @@ Target "CleanTests" <| fun _ ->
//--------------------------------------------------------------------------------
// Run tests

open XUnit2Helper
open Fake.Testing
Target "RunTests" <| fun _ ->
let msTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.VsTest.Tests.dll"
let nunitTestAssemblies = !! "src/**/bin/Release/Akka.TestKit.NUnit.Tests.dll"
Expand All @@ -233,7 +233,7 @@ Target "RunTests" <| fun _ ->
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
printfn "Using XUnit runner: %s" xunitToolPath
xUnit2
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
(fun p -> { p with XmlOutputPath = Some (testOutput + @"\XUnitTestResults.xml"); HtmlOutputPath = Some (testOutput + @"\XUnitTestResults.HTML"); ToolPath = xunitToolPath; TimeOut = System.TimeSpan.FromMinutes 30.0; Parallel = ParallelMode.NoParallelization })
xunitTestAssemblies

Target "RunTestsMono" <| fun _ ->
Expand All @@ -244,26 +244,37 @@ Target "RunTestsMono" <| fun _ ->
let xunitToolPath = findToolInSubPath "xunit.console.exe" "src/packages/xunit.runner.console*/tools"
printfn "Using XUnit runner: %s" xunitToolPath
xUnit2
(fun p -> { p with OutputDir = testOutput; ToolPath = xunitToolPath })
(fun p -> { p with XmlOutputPath = Some (testOutput + @"\XUnitTestResults.xml"); HtmlOutputPath = Some (testOutput + @"\XUnitTestResults.HTML"); ToolPath = xunitToolPath; TimeOut = System.TimeSpan.FromMinutes 30.0; Parallel = ParallelMode.NoParallelization })
xunitTestAssemblies

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

mkdir testOutput
let multiNodeTestPath = findToolInSubPath "Akka.MultiNodeTestRunner.exe" "bin/core/Akka.MultiNodeTestRunner*"
let multiNodeTestAssemblies = !! testSearchPath
printfn "Using MultiNodeTestRunner: %s" multiNodeTestPath

let spec = getBuildParam "spec"
let runMultiNodeSpec assembly =
let spec = getBuildParam "spec"

let args = new StringBuilder()
|> append "Akka.MultiNodeTests.dll"
let args = new StringBuilder()
|> append assembly
|> append "-Dmultinode.enable-filesink=on"
|> append (sprintf "-Dmultinode.output-directory=\"%s\"" testOutput)
|> appendIfNotNullOrEmpty spec "-Dmultinode.test-spec="
|> toText

let result = ExecProcess(fun info ->
info.FileName <- multiNodeTestPath
info.WorkingDirectory <- (Path.GetDirectoryName (FullName multiNodeTestPath))
info.Arguments <- args) (System.TimeSpan.FromMinutes 60.0) (* This is a VERY long running task. *)
if result <> 0 then failwithf "MultiNodeTestRunner failed. %s %s" multiNodeTestPath args
let result = ExecProcess(fun info ->
info.FileName <- multiNodeTestPath
info.WorkingDirectory <- (Path.GetDirectoryName (FullName multiNodeTestPath))
info.Arguments <- args) (System.TimeSpan.FromMinutes 60.0) (* This is a VERY long running task. *)
if result <> 0 then failwithf "MultiNodeTestRunner failed. %s %s" multiNodeTestPath args

multiNodeTestAssemblies |> Seq.iter (runMultiNodeSpec)


//--------------------------------------------------------------------------------
// Nuget targets
Expand Down Expand Up @@ -400,12 +411,18 @@ let publishNugetPackages _ =
!! (nugetDir @@ "*.nupkg")
-- (nugetDir @@ "*.symbols.nupkg") |> Seq.sortBy(fun x -> x.ToLower())
for package in normalPackages do
publishPackage (getBuildParamOrDefault "nugetpublishurl" "") (getBuildParam "nugetkey") 3 package
try
publishPackage (getBuildParamOrDefault "nugetpublishurl" "") (getBuildParam "nugetkey") 3 package
with exn ->
printfn "%s" exn.Message

if shouldPushSymbolsPackages then
let symbolPackages= !! (nugetDir @@ "*.symbols.nupkg") |> Seq.sortBy(fun x -> x.ToLower())
for package in symbolPackages do
publishPackage (getBuildParam "symbolspublishurl") (getBuildParam "symbolskey") 3 package
try
publishPackage (getBuildParam "symbolspublishurl") (getBuildParam "symbolskey") 3 package
with exn ->
printfn "%s" exn.Message


Target "Nuget" <| fun _ ->
Expand Down Expand Up @@ -433,12 +450,14 @@ Target "Help" <| fun _ ->
" * Build Builds"
" * Nuget Create and optionally publish nugets packages"
" * RunTests Runs tests"
" * MultiNodeTests Runs the slower multiple node specifications"
" * All Builds, run tests, creates and optionally publish nuget packages"
""
" Other Targets"
" * Help Display this help"
" * HelpNuget Display help about creating and pushing nuget packages"
" * HelpDocs Display help about creating and pushing API docs"
" * HelpDocs Display help about creating and pushing API docs"
" * HelpMultiNodeTests Display help about running the multiple node specifications"
""]

Target "HelpNuget" <| fun _ ->
Expand Down Expand Up @@ -517,6 +536,19 @@ Target "HelpDocs" <| fun _ ->
" Build and publish docs to http://fooaccount.blob.core.windows.net/docs/unstable"
""]

Target "HelpMultiNodeTests" <| fun _ ->
List.iter printfn [
"usage: "
"build MultiNodeTests [spec-assembly=<filter>]"
"Just runs the MultiNodeTests. Does not build the projects."
""
"Arguments for MultiNodeTests target:"
" [spec-assembly=<filter>] Restrict which spec projects are run."
""
" Alters the discovery filter to enable restricting which specs are run."
" If not supplied the filter used is '*.Tests.Multinode.Dll'"
" When supplied this is altered to '*<filter>*.Tests.Multinode.Dll'"
""]
//--------------------------------------------------------------------------------
// Target dependencies
//--------------------------------------------------------------------------------
Expand All @@ -526,6 +558,7 @@ Target "HelpDocs" <| fun _ ->

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

// nuget dependencies
"CleanNuget" ==> "CreateNuget"
Expand Down
16 changes: 16 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
#!/bin/bash
SCRIPT_PATH="${BASH_SOURCE[0]}";
if ([ -h "${SCRIPT_PATH}" ]) then
while([ -h "${SCRIPT_PATH}" ]) do SCRIPT_PATH=`readlink "${SCRIPT_PATH}"`; done
fi
pushd . > /dev/null
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`;
popd > /dev/null

if ! [ -f $SCRIPT_PATH/src/.nuget/nuget.exe ]
then
wget "https://www.nuget.org/nuget.exe" -P $SCRIPT_PATH/src/.nuget/
fi

mono $SCRIPT_PATH/src/.nuget/nuget.exe update -self


SCRIPT_PATH="${BASH_SOURCE[0]}";
if ([ -h "${SCRIPT_PATH}" ]) then
Expand Down
3 changes: 1 addition & 2 deletions src/.nuget/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="FAKE" version="3.17.0" />
</packages>
</packages>
Loading

0 comments on commit fcf07ec

Please sign in to comment.