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

v1.3.2 stable release #3169

Merged
merged 45 commits into from
Oct 21, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
1644420
upgrade version placeholder for nightlies
Aaronontheweb Sep 5, 2017
da6ebc2
Merge pull request #3074 from Aaronontheweb/v1.3.2-placeholder
sean-gilliam Sep 6, 2017
9288b53
Improved Streams Error-Handling docs (#3085)
alexvaluyskiy Sep 8, 2017
bc3fdb8
Update to NetCoreSdk 2.0.0 (#3066)
alexvaluyskiy Sep 12, 2017
89fd85a
Fixed Sharding serialization bug (#3094)
alexvaluyskiy Sep 14, 2017
ccf7b6a
sharding c# 7 (#3033)
zbynek001 Sep 15, 2017
c2f1008
InternalApi and ApiMayChange annotations (#3101)
Horusiath Sep 15, 2017
e9c5dc9
Updated Dynamic Streams article (#3107)
alexvaluyskiy Sep 17, 2017
198cad7
Obsoleted actor producer pipeline extensions
Horusiath Sep 15, 2017
ae2c811
Merge pull request #3104 from Horusiath/obsoleted-actor-creator-pipeline
Horusiath Sep 20, 2017
6aa282c
Disable inline optimization pending #3092 (#3115)
mmoussikhine Sep 21, 2017
d971549
Added timeout parameter to Probe.RequestNext and ManualProbe.ExpectNext
alexvaluyskiy Sep 23, 2017
b9af0c9
Added RestartSource/Flow/Sink (#3103)
alexvaluyskiy Sep 24, 2017
e7f43f6
Fixed broken links in README.md (#3125)
sbacquet Sep 25, 2017
63cd4d7
Fixed tutorials (#3124)
sbacquet Sep 25, 2017
8405696
MergePrioritized graph stage (#3113)
alexvaluyskiy Sep 25, 2017
baf65ea
fix deadlock after .Ask (#3120)
0x53A Sep 26, 2017
1a3ea81
Human-friendly streams assertions (#3126)
Horusiath Sep 26, 2017
20ae171
Doc redirect (#3046)
Danthar Sep 29, 2017
716d330
Fix FSharp projects. Part One (#3095)
alexvaluyskiy Sep 30, 2017
67bced3
Improve Streams IO docs (#3127)
alexvaluyskiy Oct 2, 2017
4874386
Add Serilog docs page to the table of contents
pmbanka Oct 2, 2017
b81e6a6
Fixed performance degradation if recovering with big numbers of snaps…
planerist Oct 3, 2017
0ce05f0
Fixed Akka.Cluster.TestKit nuget package by removing reference to Akk…
derrickcrowne Oct 4, 2017
20cae0d
fixed bug with DistributedPubSub automatic extension loading docs
Aaronontheweb Oct 3, 2017
5033644
When the underlying assertion api allows, don't drop user messages (#…
kennethito Oct 4, 2017
8f5790b
Updated xunit to the stable version
alexvaluyskiy Oct 8, 2017
89a1d6b
Fix in resolving serializer id (#3135)
Danthar Oct 10, 2017
9796dc3
Merge branch 'dev' into xunitrelease
alexvaluyskiy Oct 10, 2017
fec9589
Fix broken links and style in documentation (#3146)
samneirinck Oct 10, 2017
e51769e
Merge branch 'dev' into xunitrelease
Aaronontheweb Oct 10, 2017
719335a
Merge pull request #3145 from alexvaluyskiy/xunitrelease
Horusiath Oct 11, 2017
1d9eadb
Remove subscribtion by the publisher
wbradney Oct 16, 2017
6a460ba
close #3150 - resolved issue with missing runtime assembly loaded dep…
Aaronontheweb Oct 16, 2017
9281d22
refactored getIncrementalMNTRTests into method so it's not invoked au…
Aaronontheweb Oct 17, 2017
e8872d3
fixed F# method calls
Aaronontheweb Oct 17, 2017
48204e2
Ensure ByteStrings are compact when calling ToString. (#3148)
tintoy Oct 18, 2017
3d970b9
Fixed issue #3143 (#3154)
sbacquet Oct 18, 2017
7eef2c3
Update documentation for ForContext() extension method in Serilog pac…
arturosevilla Oct 18, 2017
85dae97
Fix an inconstant ToString on ConsistentRoutee when the node is remot…
annymsMthd Oct 19, 2017
dcc6fd8
close #3061 - fixed Unbounded_Priority_Mailbox_Supports_Unbounded_Sta…
Aaronontheweb Oct 19, 2017
56d8b01
fixed mailbox wait calls
Aaronontheweb Oct 19, 2017
d7b0b91
Merge pull request #3166 from Aaronontheweb/fix-3061-mailbox-spec
Horusiath Oct 20, 2017
316a0fd
disabled Hyperion warning (#3165)
Aaronontheweb Oct 20, 2017
3feaa9c
V1.3.2 release notes [dev] (#3168)
Aaronontheweb Oct 21, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@ PM> Install-Package Akka.FSharp
> *All contributions are welcome! Please consider the [issues categorized in the `Help!` column](http://waffle.io/akkadotnet/akka.net) first, as they are areas we could really use your help :)*

#### Contribution Guidelines
If you are interested in helping porting Akka to .NET please take a look at [Contributing to Akka.NET](http://getakka.net/docs/Contributing%20to%20Akka).
If you are interested in helping porting Akka to .NET please take a look at [Contributing to Akka.NET](http://getakka.net/community/contributor-guidelines.html).

Our [docs](http://getakka.net/docs/) are always a work in progress—to contribute to docs, please see the [docs contribution guidelines here](http://getakka.net/docs/Documentation%20guidelines).
Our [docs](http://getakka.net/articles/intro/what-is-akka.html) are always a work in progress—to contribute to docs, please see the [docs contribution guidelines here](http://getakka.net/community/documentation-guidelines.html).


#### Builds
Please see [Building Akka.NET](http://getakka.net/docs/Building%20and%20Distributing%20Akka).
Please see [Building Akka.NET](http://getakka.net/community/building-akka-net.html).

To access unstable nightly builds, please [see the instructions here](http://getakka.net/docs/akka-developers/nightly-builds).
To access unstable nightly builds, please [see the instructions here](http://getakka.net/community/getting-access-to-nightly-builds.html).

### Support
<a href="http://www.jetbrains.com/resharper"><img src="http://i61.tinypic.com/15qvwj7.jpg" alt="ReSharper" title="ReSharper"></a>
Expand Down
39 changes: 39 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
#### 1.3.2 October 20 2017 ####
**Maintenance Release for Akka.NET 1.3**

**Updates and bugfixes**:
- Bugfix: Akka incorrectly schedules continuations after .Ask, causing deadlocks and/or delays
- Bugfix: ByteString.ToString is sometimes broken for Unicode encoding
- Bugfix: ClusterShardingMessageSerializer Exception after upgrade from 1.2.0 to 1.3.1
- Bugfix: Fix an inconstant ToString on ConsistentRoutee when the node is remote vs. local
- Various documentation fixes
- Akka.Streams: Implement MergePrioritized
- Akka.Streams: Implement Restart Flow/Source/Sink
- Akka.TestKit.Xunit: updated `xunit` dependency to 2.3.0 stable.
- Akka.Cluster.TestKit: removed dependency on Akka.Tests.Shared.Internals

| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 9 | 137 | 59 | Aaron Stannard |
| 8 | 2713 | 997 | Alex Valuyskiy |
| 3 | 486 | 95 | Bartosz Sypytkowski |
| 3 | 12 | 12 | Sebastien Bacquet |
| 2 | 33 | 7 | ravengerUA |
| 2 | 184 | 102 | Arjen Smits |
| 1 | 71 | 7 | Adam Friedman |
| 1 | 7 | 4 | Sam Neirinck |
| 1 | 604 | 481 | zbynek001 |
| 1 | 6 | 6 | Kenneth Ito |
| 1 | 42 | 3 | Lukas Rieger |
| 1 | 40 | 2 | Joshua Benjamin |
| 1 | 4 | 5 | derrickcrowne |
| 1 | 3 | 2 | Mikhail Moussikhine |
| 1 | 20 | 0 | Arturo Sevilla |
| 1 | 2 | 0 | Paweł Bańka |
| 1 | 17 | 11 | planerist |
| 1 | 1 | 4 | lesscode |



You can [view the full v1.3.2 change set here](https://github.com/akkadotnet/akka.net/milestone/20).

#### 1.3.1 September 5 2017 ####
**Maintenance Release for Akka.NET 1.3**

Expand Down
16 changes: 8 additions & 8 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,12 @@ Target "RunTests" (fun _ ->
let projects =
match getBuildParamOrDefault "incremental" "" with
| "true" -> log "The following test projects would be run under Incremental Test config..."
getIncrementalUnitTests() |> Seq.map (fun x -> printfn "\t%s" x; x)
getIncrementalUnitTests Net |> Seq.map (fun x -> printfn "\t%s" x; x)
| "experimental" -> log "The following test projects would be run under Incremental Test config..."
getIncrementalUnitTests() |> Seq.iter log
getUnitTestProjects()
(getIncrementalUnitTests Net) |> Seq.iter log
getUnitTestProjects Net
| _ -> log "All test projects will be run..."
getUnitTestProjects()
getUnitTestProjects Net

let runSingleProject project =
let result = ExecProcess(fun info ->
Expand All @@ -140,12 +140,12 @@ Target "RunTestsNetCore" (fun _ ->
let projects =
match getBuildParamOrDefault "incremental" "" with
| "true" -> log "The following test projects would be run under Incremental Test config..."
getIncrementalUnitTests() |> Seq.map (fun x -> printfn "\t%s" x; x)
getIncrementalUnitTests NetCore |> Seq.map (fun x -> printfn "\t%s" x; x)
| "experimental" -> log "The following test projects would be run under Incremental Test config..."
getIncrementalUnitTests() |> Seq.iter log
getUnitTestProjects()
getIncrementalUnitTests NetCore |> Seq.iter log
getUnitTestProjects NetCore
| _ -> log "All test projects will be run..."
getUnitTestProjects()
getUnitTestProjects NetCore

let runSingleProject project =
let result = ExecProcess(fun info ->
Expand Down
10 changes: 5 additions & 5 deletions build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ Param(
[string[]]$ScriptArgs
)

$FakeVersion = "4.61.2"
$FakeVersion = "4.63.0"
$NBenchVersion = "1.0.1"
$DotNetChannel = "preview";
$DotNetVersion = "1.0.4";
$DotNetInstallerUri = "https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1";
$NugetVersion = "4.1.0";
$DotNetVersion = "2.0.0";
$DotNetInstallerUri = "https://raw.githubusercontent.com/dotnet/cli/v$DotNetVersion/scripts/obtain/dotnet-install.ps1";
$NugetVersion = "4.3.0";
$NugetUrl = "https://dist.nuget.org/win-x86-commandline/v$NugetVersion/nuget.exe"
$ProtobufVersion = "3.2.0"
$ProtobufVersion = "3.4.0"
$DocfxVersion = "2.21.1"

# Make sure tools folder exists
Expand Down
10 changes: 5 additions & 5 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
NUGET_EXE=$TOOLS_DIR/nuget.exe
NUGET_URL=https://dist.nuget.org/win-x86-commandline/v4.0.0/nuget.exe
FAKE_VERSION=4.61.2
NUGET_URL=https://dist.nuget.org/win-x86-commandline/v4.3.0/nuget.exe
FAKE_VERSION=4.63.0
FAKE_EXE=$TOOLS_DIR/FAKE/tools/FAKE.exe
DOTNET_EXE=$SCRIPT_DIR/.dotnet/dotnet
DOTNET_VERSION=1.0.4
DOTNET_INSTALLER_URL=https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.sh
PROTOBUF_VERSION=3.3.0
DOTNET_VERSION=2.0.0
DOTNET_INSTALLER_URL=https://raw.githubusercontent.com/dotnet/cli/v$DOTNET_VERSION/scripts/obtain/dotnet-install.sh
PROTOBUF_VERSION=3.4.0

# Define default arguments.
TARGET="Default"
Expand Down
46 changes: 32 additions & 14 deletions buildIncremental.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,16 @@ module IncrementalTests =
| Linux
| All

type Runtime =
| NetCore
| Net

let SkippedTest name runtime =
match (name, runtime) with
| (EndsWith "Sqlite.Tests.csproj", NetCore) -> false
| _ -> true


let (|IsRunnable|_|) name platform (csproj:string) =
let isSupported =
match platform with
Expand All @@ -30,19 +40,21 @@ module IncrementalTests =
| IsRunnable "Akka.API.Tests.csproj" Linux proj -> false
| _ -> true

let getUnitTestProjects() =
let getUnitTestProjects runtime =
let allTestProjects = !! "./**/core/**/*.Tests.csproj"
++ "./**/contrib/**/*.Tests.csproj"
-- "./**/serializers/**/*Wire*.csproj"
allTestProjects
|> Seq.filter IsRunnable
|> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences

let isBuildScript (file:string) =
match file with
| EndsWith "fsx" -> true
| EndsWith "ps1" -> true
| EndsWith "cmd" -> true
| EndsWith "sh" -> true
| EndsWith "props" -> true // use common.props to trigger full build
| _ -> false

let getHeadHashFor repositoryDir branch =
Expand Down Expand Up @@ -131,16 +143,18 @@ module IncrementalTests =
// MultiNodeTestRunner incremental test selection
//--------------------------------------------------------------------------------

let getMntrProjects() =
let getMntrProjects runtime =
!! "./src/**/*Tests.MultiNode.csproj"
|> Seq.map (fun x -> x.ToString())
|> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences

let getAllMntrTestAssemblies() = // if we're not running incremental tests
getMntrProjects()
getMntrProjects Net
|> Seq.map (fun x -> getAssemblyForProject x)
|> Seq.filter (fun p -> SkippedTest p Net) // filter out specs that should not be run based on .NET Core / .NET differences

let getAllMntrTestNetCoreAssemblies() = // if we're not running incremental tests
getMntrProjects()
getMntrProjects NetCore
|> Seq.map (fun x -> getNetCoreAssemblyForProject x)

//--------------------------------------------------------------------------------
Expand Down Expand Up @@ -215,18 +229,21 @@ module IncrementalTests =
//logfn "%s references %s but is not a test project..." proj.parentProject.projectName project
yield! findTestProjectsThatHaveDependencyOn proj.parentProject.projectName testMode }

let getIncrementalTestProjects2 testMode =
let getIncrementalTestProjects2 testMode runtime =
logfn "Searching for incremental tests to run in %s test mode..." (testMode.ToString())
let updatedFiles = getUpdatedFiles()
log "The following files have been updated since forking from dev branch..."
updatedFiles |> Seq.iter (fun x -> logfn "\t%s" x)
log "The following test projects will be run..."
if (updatedFiles |> Seq.exists (fun p -> isBuildScript p)) then
log "Full test suite"
match testMode with
| Unit -> getUnitTestProjects()
| MNTR -> getMntrProjects()
| Perf -> getPerfTestProjects()
let specs =
match testMode with
| Unit -> getUnitTestProjects runtime
| MNTR -> getMntrProjects runtime
| Perf -> getPerfTestProjects()
specs
|> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences
else
updatedFiles
|> generateContainingProjFileCollection
Expand All @@ -236,18 +253,19 @@ module IncrementalTests =
|> Seq.map (fun p -> p.parentProject.projectPath)
|> Seq.distinct
|> Seq.filter IsRunnable
|> Seq.filter (fun p -> SkippedTest p runtime) // filter out specs that should not be run based on .NET Core / .NET differences

let getIncrementalUnitTests() =
getIncrementalTestProjects2 Unit
let getIncrementalUnitTests runtime =
getIncrementalTestProjects2 Unit runtime

let getIncrementalMNTRTests() =
getIncrementalTestProjects2 MNTR
getIncrementalTestProjects2 MNTR Net
|> Seq.map (fun p -> getAssemblyForProject p)

let getIncrementalNetCoreMNTRTests() =
getIncrementalTestProjects2 MNTR
getIncrementalTestProjects2 MNTR NetCore
|> Seq.map (fun p -> getNetCoreAssemblyForProject p)

let getIncrementalPerfTests() =
getIncrementalTestProjects2 Perf
getIncrementalTestProjects2 Perf Net
|> Seq.map (fun p -> getAssemblyForProject p)
7 changes: 2 additions & 5 deletions docs/articles/clustering/distributed-publish-subscribe.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,6 @@ public class Publisher : ReceiveActor
// activate the extension
var mediator = DistributedPubSub.Get(Context.System).Mediator;

// subscribe to the topic named "content"
mediator.Tell(new Subscribe("content", Self));

Receive<string>(str =>
{
var upperCase = str.ToUpper();
Expand Down Expand Up @@ -242,5 +239,5 @@ akka.cluster.pub-sub {
It is recommended to load the extension when the actor system is started by defining it in akka.extensions configuration property. Otherwise it will be activated when first used and then it takes a while for it to be populated.

```hocon
akka.extensions = ["akka.cluster.pubsub.DistributedPubSub"]
```
akka.extensions = ["Akka.Cluster.Tools.PublishSubscribe.DistributedPubSubExtensionProvider,Akka.Cluster.Tools"]
```
4 changes: 2 additions & 2 deletions docs/articles/intro/what-are-actors.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ involved (where message losses are to be expected).**
(a long queue), delays caused by garbage collection, etc. In face of these, concurrent systems should handle response
deadlines in the form of timeouts, just like networked/distributed systems.**

## How the actor model meets the needs of concurrent, distributed systems
### How the actor model meets the needs of concurrent, distributed systems

As described in the sections above, common programming practices cannot properly address the needs of modern concurrent
and distributed systems.
Expand Down Expand Up @@ -186,7 +186,7 @@ In this way, actors actually achieve the execution we imagined for objects:
![actors interact with each other by sending messages](/images/actor_graph.png)

An important difference of passing messages instead of calling methods is that messages have no return value.
By sending a message, an actor delegates work to another actor. As we saw in @ref:[The illusion of a call stack](actors-intro.md#the-illusion-of-a-call-stack),
By sending a message, an actor delegates work to another actor. As we saw in @ref:[The illusion of a call stack](what-are-actors.md#the-illusion-of-a-call-stack),
if it expected a return value, the sending actor would either need to block or to execute the other actor's work on the same thread.
Instead, the receiving actor delivers the results in a reply message.

Expand Down
Loading