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.1.3 production release #2479

Merged
merged 86 commits into from
Jan 23, 2017

Conversation

Aaronontheweb
Copy link
Member

1.1.3 January 22 2017

Maintenance release for Akka.NET v1.1

Akka.NET v1.1.3 features some new libraries and an enormous number of bug fixes.

Akka.DistributedData Beta
First, we've introduced an alpha of a new module intended for use with Akka.Cluster: Akka.DistributedData. The goal of this library is to make it possible to concurrently read and write replicated copies of the same entity across different nodes in the cluster using conflict-free replicated data types, often referred to as "CRDTs." These replicas can eventually be merged together in a fully consistent manner and are excellent choices for applications that require a high level of availability and partition tolerance.

The library is still a bit of a work in progress at the moment, but you are free to use it via the following command:

PS> Install-Package Akka.DistributedData -pre

Akka.Serialization.Wire Deprecated; Replaced with Akka.Serialization.Hyperion
Wire recently changed its license to GPLv3, which is a poor fit for a technology like Akka.NET. Therefore, our default serializer beginning in Akka.NET 1.5 will be Hyperion instead. You can see how to set it up here: http://getakka.net/docs/Serialization#how-to-setup-hyperion-as-default-serializer

Other bug fixes, performance improvements, and changes
You can see the full list of changes in Akka.NET 1.1.3 here.

COMMITS LOC+ LOC- AUTHOR
19 878 228 Aaron Stannard
10 41654 3428 Sean Gilliam
5 11983 4543 Marc Piechura
4 37 33 Arjen Smits
4 12742 300 Bartosz Sypytkowski
3 144 74 Max
2 99 8 ZigMeowNyan
2 7 7 zbynek001
2 4 2 Andrey Leskov
2 225 767 Alex Valuyskiy
2 212 8 Gordey Doronin
1 8 499 Sean Farrow
1 5 5 tomanekt
1 4 2 Andrew Young
1 3 2 boriskreminskimoldev
1 28 3 Roman Eisendle
1 24 36 Maxim Salamatko
1 2 2 Jeff
1 190 38 Sergey
1 15 9 voltcode
1 12 2 Alexander Pantyukhin
1 107 0 Mikhail Kantarovskiy
1 101 0 derrickcrowne

Marc Piechura and others added 30 commits October 5, 2016 12:15
* only accept -1 for infinite retries in recoverWithRetries

* groupBy should be a Graph stage

* Converts DelimiterFramingStage from PushPullStage to GraphStage

* fix GroupBy

* Fixing wrong initial buffer sizes in delay, and one logic bug

* Return failed IOResult for non-existint file

* fix memory leaks in tests

* Fix onSubscribe-request-onNext reentrancy in VirtualProcessor

* Remove obsolete RestartTestStage

* Increase LayoutSpec stresstest patience

* Remove obsolete OneToManyTestStage

* Fix racy RecoverWithSpec

* check that the server has started before trying to connect

* Fix compose method of EmptyModule to be able to Keep.left or right

* Adding docs for KillSwitch

* replace all Thread.Interrupt calls

* fix OutputStreamSourceStage

* fix Throttle spec
* Update Streams to 2.4.8

* Fix log messages

* Fix failure message
Added missing type registrations in DiResolverSpec to resolve an issue
where some DI libraries would fail tests because the actor being
resolved through the DI system was not registered (autofac to name one)
Fixed missing type registrations in DiResolverSpec
* fix IllegalMonitorStateException in Source.queue

* make RunnableGraph.addAttributes return a RunnableGraph

* json part 1

* make Select a GraphStage

* optimize Aggregate supervision

* Microoptimizaitons in the interpreter

* Event chasing implemented

* reducing array load pressure by making connections an explicit object

* Json part 2

* Add FusedGraphBenchmark

* named should not replace all attributes

* Merge grabs empty input

* fix SinkSpec

* Fixes for the JsonFraming stage

* Correctly handle parsing of JSON strings containing single quotes

* fix up docs for Sink

* Deprecate InvalidAbsorbTermination In favour of GraphStage

* Harden TickSourceSpec

* Track pending requests properly on expectRequest

* Add spec for failing tcp connection

* Balancer should not
push to a closed out

* spaces
…readSafe

TestScheduler should use ConcurrentQueue for work items
…kkadotnet#2356)

* Fix Serialization KeyNotFoundException when looking up serializers.

A KeyNotFoundException can occur if the serializer dll is not present
in the search paths for binaries. This can occure when there is a
proj A that depends on B and B depends on Akka. There is no direct
reference to any of the serializers in either A or B besides being
referenced in HOCON. MSBuild likes to optimize dlls out of the out-
put if they are not directly referenced in code.

* Better use of .TryGetValue()
* fail fast in mapAsync for completed failed future

* OrElse stage for fallback when no elements emitted

* One2OneBidi pulling closed port

* Refactoring to avoid distinct handler instantiation for stage logics

* fix SelectAsync and SelectAsyncUnordered

* add AggregateAsync operation

* Reduce GC pressure by compacting to reduce long lived garbage

* Fix fuzzing mode

* fix getStageActor docs typo (remove not)

* Stream Hubs

* API approval
* close akkadotnet#2280 - added Cluster.LeaveAsync for graceful exit

* expanding test time

* fixed ExceptNoMsg call

* debugging Mono spec failures
* implemented akka.ddata

* local crdts & fixed tests

* fixed tests & local-context ddata
* Get events from write db in right sequence

* CircuitBreaker does not swallow exception cased it to transit to OpenState
* Delay should not pull when buffer is full with Backpressure strategy

* Completion events must not be swallowed if chasing

* Fix initialization order in BroadcastHub caused by an otherwise innocent race.
closes akkadotnet#2370
[WIP] fix static analized high priority issues
Disable cluster client specs
* Unregister temp actor if ask operation got canceled.

* Add spec to verify resource leak in temp container when ask operation times out.
Aaronontheweb and others added 28 commits January 12, 2017 09:31
…op (akkadotnet#2439)

* Escalating the original exception instead of re-throwing (akkadotnet#2438)

* 1. EndpointManager's SupervisionStrategy logging turned off by default. Error logging will be done inside the Decider only in case of unknown exception.
2. Graceful shutdown test added
 (akkadotnet#2438)

* Socket operation aborted  exception is expected if we shutdown while reading, hence we don't log the exception and send the actual reason of disassociation - Shutdown. The rest - we log as error and unknown disassociation reason  (akkadotnet#2438)

* 1. Public API change approved
2. loggingEnabled param description added
(akkadotnet#2438)

* Changing back to the old method definition plus adding overload. Overload added to the api approved.txt (akkadotnet#2438)
…#2448)

This PR is part of an ongoing commit for akkadotnet#2407. It adds placeholders for
missing/incomplete xmldoc comments.

[5/23]
…eoutspec

 fixes race condition with AskTimeoutSpec
swapped out Wire references for Hyperion package
… be instantiated (akkadotnet#2451)

Merged. some perf tests are failing. But only by a very small margin. And would attribute those to build server busyness.
* dedicated serializers for ddata

* minor bug fixes

* minor bug fixed & richer collections API

* simplified API to remove irritating casting
…#2462)

This PR is part of an ongoing commit for akkadotnet#2407. It adds placeholders for
missing/incomplete xmldoc comments.

[6/23]
…kadotnet#2464)

This PR is part of an ongoing commit for akkadotnet#2407. It adds placeholders for
missing/incomplete xmldoc comments.

[7/23]
* Remove the packages.config from the .NuGet folder.

* Remove the NuGet binary, ensuring it is in the .gitignore file.

* Remove the NuGet binary and packages.config, fixes akkadotnet#2440

Remove the packages.config from the .NuGet folder.

Remove the NuGet binary, ensuring it is in the .gitignore file.

* Remove the Nuget.targets file and update the PersistenceBenchmark project.

* Update the PingPong project to remove the use of the NuGet targets.

* Remove any reference to NuGet package restore from the Akka.Cluster.Sharding.Tests.MultiNode project.

* Remove legacy NuGet package restore from the Akka.Cluster.Tools.Tests project.

* Remove legacy NuGet package restore from the Akka.Cluster.Tools.Tests.Multinode project.

* Remove legacy NuGet package restore from the Akka.DistributedData project.

* Remove the legacy NuGet package restore from the Akka.DI.TestKit project.

* Remove the legacy NuGet package restore from the Akka.Persistence.Sqlite project.

* Remove the legacy NuGet package restore from the Akka.Persistence.Sqlite.Tests project.

* Remove the legacy NuGet package restore from the Akka.Serialization.TestKit project.

* Remove the legacy NuGet package restore from the Akka.Serialization.WireTests project.

* Remove the legacy NuGet package restore from the Akka.TestKit.Xunit project.

* Remove the legacy NuGet package restore from the Akka.TestKit.Xunit2 project.

* Remove the legacy NuGet package restore from the Akka.Remote.AkkaIOTransport project.

* Remove the legacy NuGet package restore from the Akka project.

* Remove the legacy NuGet package restore from the Akka.API.Tests project.

* Remove the legacy NuGet package restore from the Akka.Cluster project.

* Remove the legacy NuGet package restore from the Akka.Cluster.TestKit project.

* Remove the legacy NuGet package restore from the Akka.Cluster.Tests project.

* Remove the legacy NuGet package restore from the Akka.Cluster.Tests.MultiNode project.

* Remove the legacy NuGet package restore from the Akka.FSharp project.

* Remove the legacy NuGet package restore from the Akka.FSharp.Tests project.

* Remove the legacy NuGet package restore from the Akka.MultiNodeTestRunner project.

* Remove the legacy NuGet package restore from the Akka.MultiNodeTestRunner.Shared project.

* Remove the legacy NuGet package restore from the Akka.MultiNodeTestRunner.Shared.Tests project.

* Remove the legacy NuGet package restore from the Akka.NodeTestRunner project.

* Remove the legacy NuGet package restore from the Akka.Persistence project.

* Remove the legacy NuGet package restore from the Akka.Persistence.Query.Tests project.

* Remove the legacy NuGet package restore from the Akka.Persistence.TestKit project.

* Remove the legacy NuGet package restore from the Akka.Persistence.TestKit.Tests project.

* Remove the legacy NuGet package restore from the Akka.Persistence.Tests project.

* Remove the legacy NuGet package restore from the Akka.Remote project.

* Remove the legacy NuGet package restore from the Akka.Remote.TestKit project.

* Remove the legacy NuGet package restore from the Akka.Remote.TestKit.Tests project.

* Remove the legacy NuGet package restore from the Akka.Remote.Tests project.

* Remove the legacy NuGet package restore from the Akka.Remote.Tests.MultiNode project.

* Remove the legacy NuGet package restore from the Akka.Streams.TestKit.Tests project.

* Remove the legacy NuGet package restore from the Akka.Streams.Tests.Performance project.

* Remove the legacy NuGet package restore from the Akka.Streams.Tests.TCK project.

* Remove the legacy NuGet pacakge restore from the Akka.TestKit project.

* Remove the legacy NuGet package restore from the Akka.TestKit.Tests project.

* Remove the legacy NuGet package restore from the Akka.Tests project.

* Remove the legacy NuGet package restore from the Akka.Tests.Shared.Internals project.

* Resolve a syntax error that prevented the DI test project from loading.

* Remove the legacy NuGet package restore from the PersistenceExample.FsApi project.

* Remove the legacy NuGet package restore from the Samples.Cluster.Transformation project.

* Remove the legacy NuGet package restore from the FaultTolerance project.

* Remove the legacy NuGet package restore from the Samples.Cluster.ConsistentHashRouting project.

* Remove the legacy NuGet package restore from the Samples.Cluster.Simple project.

* Remove the legacy NuGet package restore from the TimeClient project.

* Remove the legacy NuGet package restore from the TimeServer project.

* Remove the legacy NuGet package restore for the System1 example project.

* Remove the legacy NuGet package restore from the FSharp.Api example project.

* Remove any references to the packet f# project from the cluster sharding project as there not needed.

* Update the casing of the nuget exe calls in the build.sh file.
…dotnet#2472)

This PR is part of an ongoing commit for akkadotnet#2407. It adds placeholders for
missing/incomplete xmldoc comments.

[9/23]
* added Hyperion serializer

* updated build.fsx to make Hyperion package pre-release
…adotnet#2474)

This PR is part of an ongoing commit for akkadotnet#2407. It adds placeholders for
missing/incomplete xmldoc comments.

[10/23]
* PatternMatch with result returning support. Especially useful for FSM state function definition.

* Pattern matching with result returning - api approval
…notes

Akka.NET V1.1.3 release notes (dev)
@Aaronontheweb Aaronontheweb merged commit a0b2ca6 into akkadotnet:master Jan 23, 2017
@Aaronontheweb Aaronontheweb deleted the v1.1.3-prod-release branch January 23, 2017 18:10
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.