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 v0.7 live release #483

Merged
merged 299 commits into from
Oct 20, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
299 commits
Select commit Hold shift + click to select a range
eb3a7e9
Merge pull request #367 from Aaronontheweb/dev
Aaronontheweb Sep 3, 2014
6b228be
Merge branch 'master' into akka-cluster
Aaronontheweb Sep 3, 2014
9f3613c
finished MetricsGossipSpec
Aaronontheweb Sep 3, 2014
a92a49d
finished adding MetricsGossip to message serializer and spec
Aaronontheweb Sep 4, 2014
afe37d8
Merge pull request #364 from rogeralsing/dev
rogeralsing Sep 4, 2014
e50d9b2
Increased version number to 0.6.5
HCanber Sep 4, 2014
30565b2
Add CONTRIBUTING.md
HCanber Sep 5, 2014
4449805
Merge pull request #369 from Aaronontheweb/akka-cluster
Aaronontheweb Sep 5, 2014
78ce27e
implemented all clusterheartbeat materials
Aaronontheweb Sep 6, 2014
3b96aca
Implement EventFilter in TestKit
HCanber Aug 31, 2014
7b9f501
Add "Use a feature branch" in checklist
HCanber Sep 8, 2014
5cb9fb1
Add section on how to move commits from dev to a new branch
HCanber Sep 8, 2014
8de883f
Increase version in shared AssemblyInfo
HCanber Sep 8, 2014
ce716b3
Act created
Horusiath Sep 4, 2014
cc93d7b
skipped unimplemented specs
Horusiath Sep 4, 2014
d111f90
base method wrappers for actor dsl lifecycle with tests
Horusiath Sep 6, 2014
919ac90
Merge pull request #379 from HCanber/increase-version
Aaronontheweb Sep 8, 2014
8fdadd8
Merge pull request #373 from HCanber/contributing-md-372
Aaronontheweb Sep 8, 2014
babdcbb
ClusterHeartbeatSenderStateSpec implemented and passes
Aaronontheweb Sep 8, 2014
0a9a5d2
implemented HeartbeatNodeRingSpec
Aaronontheweb Sep 8, 2014
3c775c6
Merge pull request #370 from Horusiath/dev
HCanber Sep 9, 2014
e5100d5
Update projects to output xml files for Configuration=Release
HCanber Sep 9, 2014
01f9ba3
Complete ClusterDaemon and port AutoDown and AutoDownSpec
smalldave Sep 9, 2014
4bc4051
Merge branch 'akka-cluster' of https://github.com/akkadotnet/akka.net…
smalldave Sep 9, 2014
85e2aac
Merge pull request #2 from smalldave/akka-cluster
Aaronontheweb Sep 9, 2014
ed9d208
implemented ClusterRoutingConfig
Aaronontheweb Sep 10, 2014
8fd1431
Merge pull request #380 from Aaronontheweb/akka-cluster
Aaronontheweb Sep 10, 2014
a679db7
Merge pull request #376 from HCanber/eventfilter-323
Aaronontheweb Sep 10, 2014
6423b51
added ClusterRouterSupervisorSpec
Aaronontheweb Sep 10, 2014
994c4d1
Merge branch 'akka-cluster' of https://github.com/Aaronontheweb/akka.…
smalldave Sep 10, 2014
08bc3f5
Push symbols to server
HCanber Sep 9, 2014
349a07e
Add "No build warnings"
HCanber Sep 10, 2014
11886e8
Port ClusterSpec. Still two failing tests
smalldave Sep 10, 2014
0308f79
Merge pull request #384 from HCanber/build
HCanber Sep 10, 2014
1159299
Merge remote-tracking branch 'upstream/dev' into dev
Aaronontheweb Sep 10, 2014
03b45c7
Flag Warn as Obsolete
stefansedich Sep 10, 2014
6051eea
Flag Warn as Obsolete and update all usages of Warn to move to using …
stefansedich Sep 10, 2014
de41a49
introduce LogMessage as a container for passing around Format + Args
stefansedich Sep 10, 2014
cbe73ac
Merge pull request #3 from smalldave/akka-cluster-clusterspec
Aaronontheweb Sep 10, 2014
e8e55f9
fixed bugs with failing unit tests in ClusterSpec
Aaronontheweb Sep 11, 2014
e056d5c
Start porting Akka.Remote.TestKit
smalldave Sep 11, 2014
f1bd103
F# API - extended tell operators for right associavity and actor path…
Horusiath Sep 11, 2014
743c649
Merge pull request #4 from smalldave/akka-cluster-multi-node-testkit
Aaronontheweb Sep 11, 2014
dae927a
Port Member, VectorClock, Reachability and Gossip
smalldave Jul 16, 2014
19cdba5
ClusterDomainEventPublisher and more
smalldave Jul 23, 2014
fdb413a
Implement ClusterDaemon (unfinished)
smalldave Aug 21, 2014
08fcfcb
fixed some post-merge compilation issues
Aaronontheweb Aug 25, 2014
eb6d391
ported all Akka.Cluster tests to XUnit
Aaronontheweb Aug 25, 2014
346cdc3
Whoops, left out some files
Aaronontheweb Aug 25, 2014
6c5f5f1
filled in some missing assertion types to get other Cluster tests to …
Aaronontheweb Aug 25, 2014
c6446c9
implemented Cluster methods
Aaronontheweb Aug 25, 2014
d35e3e8
implemented ClusterReadView
Aaronontheweb Aug 26, 2014
289bf19
implemented GossipStats and JoinSeedNodeProcess
Aaronontheweb Aug 26, 2014
dcef10d
implemented FirstSeedNodeProcess
Aaronontheweb Aug 26, 2014
5ec1c07
implemented Cluster wire formats
Aaronontheweb Aug 26, 2014
19c6ae4
adjusted the namespace on ClusterMessages
Aaronontheweb Aug 26, 2014
1c87326
implemented the first half of the ClusterMessageSerializer
Aaronontheweb Aug 26, 2014
8d3b297
finished most of the ClusterMessageSerializer for Gossip
Aaronontheweb Aug 26, 2014
90efa5d
working on adding ClusterMessageSerializerSpec
Aaronontheweb Aug 27, 2014
a77c2d5
hooking up the reference.conf for cluster
Aaronontheweb Aug 27, 2014
06ded55
integrated Cluster.conf into unit tests and Akka.Cluster
Aaronontheweb Aug 27, 2014
9861314
overrode the Equals operator for a number of messages to check for va…
Aaronontheweb Aug 27, 2014
415701d
finished implemented ClusterMessageSerializerSpec
Aaronontheweb Aug 27, 2014
ef18900
implementing ClusterMetrics
Aaronontheweb Aug 29, 2014
f844626
finished first implementation of the ClusterMetricsCollector
Aaronontheweb Sep 2, 2014
a37f364
implemented MetricsCollectorSpec
Aaronontheweb Sep 2, 2014
7b566bd
finished EWMA spec
Aaronontheweb Sep 2, 2014
65d8bc7
finished NodeMetricsSpec
Aaronontheweb Sep 2, 2014
af509f3
implemented MetricValuesSpec
Aaronontheweb Sep 3, 2014
9b7ca5b
finished most of the ClusterMetricsCollector
Aaronontheweb Sep 3, 2014
7bc505c
MetricsGossipSpec
Aaronontheweb Sep 3, 2014
d2e1e9e
finished MetricsGossipSpec
Aaronontheweb Sep 3, 2014
82590ff
finished adding MetricsGossip to message serializer and spec
Aaronontheweb Sep 4, 2014
4ed3f25
implemented all clusterheartbeat materials
Aaronontheweb Sep 6, 2014
3dc69d3
ClusterHeartbeatSenderStateSpec implemented and passes
Aaronontheweb Sep 8, 2014
ea46ccc
implemented HeartbeatNodeRingSpec
Aaronontheweb Sep 8, 2014
93a49fd
Complete ClusterDaemon and port AutoDown and AutoDownSpec
smalldave Sep 9, 2014
a3d11ae
Port ClusterSpec. Still two failing tests
smalldave Sep 10, 2014
fcc77b3
fixed bugs with failing unit tests in ClusterSpec
Aaronontheweb Sep 11, 2014
a3c8097
Start porting Akka.Remote.TestKit
smalldave Sep 11, 2014
9da3d28
created initial remote testkit
Aaronontheweb Sep 11, 2014
6aca563
cleaned up the tail-end of the merge
Aaronontheweb Sep 11, 2014
91ec93d
cleaned up solution file
Aaronontheweb Sep 11, 2014
0ec2901
Merge pull request #385 from Aaronontheweb/akka-cluster-routers
Aaronontheweb Sep 11, 2014
a5cb620
Merge pull request #396 from Aaronontheweb/akka-cluster
Aaronontheweb Sep 11, 2014
46d0598
fixed merge residue from akka-cluster
Aaronontheweb Sep 11, 2014
edf43b9
added barrier coordinator
Aaronontheweb Sep 12, 2014
592112e
implemented RemoteConnection and decoders
Aaronontheweb Sep 12, 2014
959fcb9
implemented the conductor handler
Aaronontheweb Sep 12, 2014
ffe3aa9
Start tests for Akka.Remote.TestKit
smalldave Sep 12, 2014
3dbf6af
Merge pull request #5 from smalldave/akka-cluster
Aaronontheweb Sep 12, 2014
d7de5e4
Adding better support for logging when using serilog by providing a w…
stefansedich Sep 15, 2014
243417c
change to serilog logger to unwrap the LogMessage correctly to get th…
stefansedich Sep 15, 2014
26932d1
Change the way we match args to property tokens to more closely match…
stefansedich Sep 15, 2014
75f1829
fixed a bug with BarrierCoordinator
Aaronontheweb Sep 16, 2014
f6ffee8
BarrierSpec Coordinator tests
smalldave Sep 16, 2014
f5e0c4c
added a simple cluster sample
Aaronontheweb Sep 16, 2014
fea63a3
fixed two severe Akka.Cluster bugs
Aaronontheweb Sep 16, 2014
f0bb797
rolled back to Helios 1.3.5
Aaronontheweb Sep 17, 2014
96985c5
merged changes with smalldave
Aaronontheweb Sep 17, 2014
93b0ee1
Merge branch 'smalldave-akka-cluster' into akka-cluster
Aaronontheweb Sep 17, 2014
199e3de
Merge branch 'akka-cluster-samples-dave' into akka-cluster
Aaronontheweb Sep 17, 2014
fdb7255
added a role-based example
Aaronontheweb Sep 17, 2014
758e088
Merge pull request #402 from stefansedich/dev
Aaronontheweb Sep 18, 2014
c225b3b
Implement Remote Testkit controller
smalldave Sep 18, 2014
8dbdc7f
Move current ActorCell field out of ActorCell to new class
HCanber Sep 10, 2014
741dfb2
TestActor is always implicit sender
HCanber Sep 10, 2014
43da4a1
Merge pull request #388 from HCanber/testkit-implicit-sender
HCanber Sep 18, 2014
7aecf3b
Merge pull request #7 from smalldave/akka-cluster-controller
Aaronontheweb Sep 19, 2014
e0286ef
Implement ServerFSM and start on Player
smalldave Sep 19, 2014
6cc9d20
made HCanber recommended changes for PR #400
Aaronontheweb Sep 19, 2014
ec1925e
Merge pull request #394 from Horusiath/fsharp-api-selectors
Aaronontheweb Sep 19, 2014
56ff35d
resolved mergeconflict with dev (/src/core/Akka/Actor/Futures.cs)
Aaronontheweb Sep 19, 2014
cca3063
integrated testkit changes (implicit sender #388) into Akka.Cluster.T…
Aaronontheweb Sep 19, 2014
2017979
resolved Collection modified while enumerating bug
Aaronontheweb Sep 19, 2014
b002fa8
Merge pull request #400 from Aaronontheweb/akka-cluster
Aaronontheweb Sep 19, 2014
34fa947
Installs Akka.TestKit.TestEventListener as default logger for TestKit
HCanber Sep 21, 2014
a2c1a72
Remove EventFilter from AkkaSpec and use TestKit's
HCanber Sep 21, 2014
5c31793
Refactor Mailbox.Post to include Receiver
HCanber Sep 21, 2014
7dfb49e
Rename GetMillisDuration to GetTimeSpan and provide Obsolete-marked f…
HCanber Sep 21, 2014
e23596b
Implement Remote Test Kit Player
smalldave Sep 23, 2014
7a95aff
Merge pull request #408 from HCanber/rename-GetMillisDuration-332
Aaronontheweb Sep 23, 2014
013702f
Merge pull request #407 from HCanber/mailbox-post-include-receiver
Aaronontheweb Sep 23, 2014
8780d2c
Merge pull request #412 from HCanber/testeventlistener-default-logger…
rogeralsing Sep 23, 2014
c3223c0
Logging: rename arg "IActorContext cell" to "IActorContext context"
HCanber Sep 24, 2014
3211ace
Add documentation to SetReceiveTimeout() and ReceiveTimeout
HCanber Sep 24, 2014
acbd5db
Merge pull request #415 from HCanber/receive-timeout-doc
rogeralsing Sep 24, 2014
02ff6c7
Merge pull request #414 from HCanber/logging
Aaronontheweb Sep 24, 2014
8a17e5a
Merge pull request #413 from HCanber/remove-akkaspec-eventfilter-377
Aaronontheweb Sep 24, 2014
75bba3a
Merge pull request #8 from smalldave/akka-cluster-serverfsm
Aaronontheweb Sep 24, 2014
72d75d3
Merge pull request #9 from smalldave/akka-cluster-player
Aaronontheweb Sep 24, 2014
bdeed23
Merge remote-tracking branch 'upstream/dev' into dev
Aaronontheweb Sep 25, 2014
38f7d74
integrated EventFilter into BarrierSpec
Aaronontheweb Sep 25, 2014
7d40875
fixed failing BarrierSpec test and added ControllerSpec
Aaronontheweb Sep 25, 2014
f402579
TestActorRef should not be an actual ActorRef
HCanber Sep 18, 2014
4b158a3
Move Equivalent from XunitAssertions to XAssert.
HCanber Sep 20, 2014
69c7663
Incorporate TestBarrier into TestKit
HCanber Sep 20, 2014
4929168
Make TestKit non abstract and everything public.
HCanber Sep 20, 2014
6723781
Move files from src/core/Akka.Testkit.Tests to src/core/Akka.TestKit.…
HCanber Sep 20, 2014
eea8ac6
Make TestKit an ActorRefFactory and add ActorOfAsTestActorRef
HCanber Sep 20, 2014
e23cd3d
Remove obsolete members from TestKit
HCanber Sep 20, 2014
02807d8
Moved classes from Internals namespace to Internal
HCanber Sep 21, 2014
f646512
Split AwaitCondition with optional args to overloads
HCanber Sep 21, 2014
76da10e
Merge pull request #406 from HCanber/testactorref-with-composition
HCanber Sep 25, 2014
babecd3
Implement TestFSMRef
HCanber Sep 21, 2014
c24ce48
Merge pull request #411 from HCanber/testfsmref-312
HCanber Sep 25, 2014
92c4b5e
Log a debug message when system is shutting down
HCanber Sep 25, 2014
1108a38
Better Mailbox debug logging
HCanber Sep 25, 2014
5ffdf29
Override ToString for SystemMessages for better logging
HCanber Sep 25, 2014
0335ec9
Removed invalid TestEventListener from FullDebugConfig in TestKit.
HCanber Sep 25, 2014
75157b1
Do not check if Current is set before setting TestActor as implicit s…
HCanber Sep 25, 2014
fe498a3
Merge pull request #417 from Aaronontheweb/dev
Aaronontheweb Sep 25, 2014
204e4c8
Merge pull request #420 from HCanber/testkit-implicitsender-bug
Aaronontheweb Sep 25, 2014
ceaa725
rebased on dev
Aaronontheweb Sep 25, 2014
cf960e0
LocalActorRef cleanup
rogeralsing Sep 5, 2014
2384f16
Making WithBoundedStash and WithUnboundedStash inherit from RequiresM…
rogeralsing Sep 19, 2014
b49670d
cleaned up merges from #404
Aaronontheweb Sep 25, 2014
9de0900
Merge pull request #421 from Aaronontheweb/rogeralsing-configurable-m…
Aaronontheweb Sep 25, 2014
74f365e
resolves #422
Aaronontheweb Sep 26, 2014
b31c607
Implement MultiNodeConfig
smalldave Sep 23, 2014
10bb176
merged
Aaronontheweb Sep 26, 2014
bc7ca2a
Reference namespace for extension method
smalldave Sep 25, 2014
8a6166f
fixed bug with leader changes
Aaronontheweb Sep 25, 2014
b7ec383
Merge pull request #419 from HCanber/better-logging
HCanber Sep 26, 2014
4f65637
Inbox.ReceiveWhere() throws a NullReferenceException #427
Sep 26, 2014
d2b0838
Implement MultiNodeSpec
smalldave Sep 25, 2014
ad3f4a4
Added missing using
HCanber Sep 26, 2014
5395cdc
Merge pull request #424 from Aaronontheweb/stashing-fix
HCanber Sep 26, 2014
2e326f9
Merge pull request #428 from sibex/Inbox.ReceiveWhere-NullReferenceEx…
HCanber Sep 26, 2014
c0f8694
Adds a test that confirms bug #427
HCanber Sep 26, 2014
b29ade8
Merge pull request #430 from HCanber/test-for-bug-427
HCanber Sep 26, 2014
9358fad
Supervise messages should be sent from self.
HCanber Sep 25, 2014
31ddc85
Merge pull request #418 from HCanber/supervise-from-self
HCanber Sep 26, 2014
7291729
Implement MultiNodeClusterSpec.cs
smalldave Sep 26, 2014
96afce6
Merge pull request #11 from smalldave/akka-cluster-player
Aaronontheweb Sep 26, 2014
2c1a891
Fixes two problems with how mailboxes are created
HCanber Sep 28, 2014
c4b0aa1
Merge pull request #434 from HCanber/mailbox-stashing-fixes
rogeralsing Sep 28, 2014
8aae97a
Update CONTRIBUTING.md
HCanber Sep 29, 2014
212acf9
FSharp API: fixed parse methods
Horusiath Sep 29, 2014
e4090d5
fixed try parse api
Horusiath Sep 29, 2014
b2aa078
Add tests for Router.AddRoutee
HCanber Sep 29, 2014
6c16e75
Add Router.RemoveRoutee & implicit casting ActorRef -> ActorRefRoutee
HCanber Sep 29, 2014
18d4031
Clearer tests
HCanber Sep 29, 2014
e102898
Make InternalRef protected as it was accidentally made public.
HCanber Sep 29, 2014
bf061a4
Issues 292 & 403 : loggers moved to Akka.Logger.* . ensured NLogLogge…
mmisztal1980 Sep 24, 2014
539ef02
Add TestKit.CreateTestLatch
HCanber Sep 29, 2014
7ed927d
Merge pull request #443 from HCanber/testactorref
Aaronontheweb Sep 29, 2014
acdad76
Merge pull request #440 from mmisztal1980/i403_292
HCanber Sep 30, 2014
644b7ec
Merge pull request #441 from HCanber/router-439
HCanber Sep 30, 2014
9b607b5
Added UnhandledMessageForwarder, a UnhandledMessage.ToDebug() extension
mmisztal1980 Sep 30, 2014
ab75c3c
Mailbox race condition fix 375
rogeralsing Sep 30, 2014
084e89b
added a test verifying that unhandled message debugging works.
mmisztal1980 Oct 1, 2014
db0814c
Merge pull request #426 from Aaronontheweb/akka-cluster
Aaronontheweb Oct 1, 2014
6ef6d76
Merge pull request #444 from HCanber/testkit-testlatch
Aaronontheweb Oct 1, 2014
1d4a131
Merge pull request #438 from Horusiath/fsharp-api-parse-fix
Aaronontheweb Oct 1, 2014
378208d
Merge pull request #445 from mmisztal1980/i391
HCanber Oct 2, 2014
8996d45
Fix issues from #426
smalldave Oct 2, 2014
e36699a
Merge pull request #448 from travelrepublic/akka-loggingadapter
HCanber Oct 2, 2014
ed5f0f2
Fix compile error in BusLogging
HCanber Oct 2, 2014
c4c3c53
Merge pull request #449 from HCanber/dev
HCanber Oct 2, 2014
aab2ff5
Merge pull request #446 from rogeralsing/mailbox-rc-fix-375
Aaronontheweb Oct 2, 2014
1c03b5f
Fixed issue #447 - where NLog loggers wouldn't be created based on th…
mmisztal1980 Oct 2, 2014
1d5542c
Move Stash.cs to Stash\Stash.cs
HCanber Sep 28, 2014
10f63d0
Move types in Stash.cs to separate files
HCanber Sep 28, 2014
fe2bd05
Move stash.cs to Internal
HCanber Sep 28, 2014
74ed5e7
Move BoundedStashImpl & UnboundedStashImpl to internal namespace
HCanber Sep 28, 2014
0c6922c
Move BoundedStashImpl & UnboundedStashImpl to Internal folder
HCanber Sep 28, 2014
18a1d7a
Simplify AbstractStash. Add IStash.ClearStash(). Remove IStashSupport
HCanber Oct 5, 2014
9d3041f
When unstashing, Terminated messages must be handled specially.
HCanber Oct 2, 2014
6ecf5ce
Let ActorCell create a Stash for IActorStash actors.
HCanber Sep 30, 2014
aa70842
Add overloads for filtering DeadLetters and add DeadLetter.ToString()
HCanber Oct 4, 2014
2c91e16
Add ActorWithStashSpec
HCanber Sep 30, 2014
0a3fb24
Add BoundedXYZ versions of all UnboundedXYZ
HCanber Oct 5, 2014
de41772
Merge pull request #450 from mmisztal1980/i447
HCanber Oct 5, 2014
b55a9ca
Merge pull request #451 from HCanber/stashing-429
Aaronontheweb Oct 7, 2014
1607e8a
Fixes #459. ImplicitSender should not change when creating TestProbes
HCanber Oct 8, 2014
d81e7e2
Make it possible to specify testprobe name when creating probes
HCanber Oct 7, 2014
b229cec
Add ActorOf overload that uses ActorDsl syntax
HCanber Oct 7, 2014
a35df71
Log to stdout in colors
HCanber Oct 8, 2014
58138bd
Merge pull request #462 from HCanber/stdout-in-color
Aaronontheweb Oct 8, 2014
48d5da2
Merge pull request #460 from HCanber/testkit-testprobe-noimplicitsender
Aaronontheweb Oct 8, 2014
e01e40a
Merge pull request #463 from HCanber/testprobe-name
Aaronontheweb Oct 8, 2014
72b2a5f
Merge pull request #458 from HCanber/testkit-actor-dsl
HCanber Oct 9, 2014
ff100ea
Reduce the number of ExpectMsg overloads from 15 to 5
HCanber Oct 7, 2014
31f64fe
Add ExpectMsgFrom that also tests the sender
HCanber Oct 7, 2014
8cad070
Split ActorOf with optional name argument to two separate functions
HCanber Oct 8, 2014
71281c8
Merge pull request #464 from HCanber/testkit-expect
HCanber Oct 9, 2014
49eb14e
Turn LoggingAdapter to an interface and add new baseclass
HCanber Oct 8, 2014
dc613cb
Make Logging.GetLogger an extension method on IActorContext
HCanber Oct 8, 2014
63489aa
Move all loggers Akka.Xyz to Akka.Loggers.Xyz
HCanber Oct 8, 2014
4566b2a
Remove LastWasNoMsg from TestKit
HCanber Oct 9, 2014
75c224a
Merge pull request #467 from HCanber/remove-lastwasnomsg
Aaronontheweb Oct 10, 2014
1a69be3
Merge pull request #454 from HCanber/ilogger
Aaronontheweb Oct 10, 2014
7f7a835
Test that proves #469 ReceiveTimeout isn't cancelled on termination
HCanber Oct 11, 2014
315976b
Cancel ReceiveTimeout when actor terminates
HCanber Oct 11, 2014
dbd9f55
Timeouts should always be cancelled on CheckReceiveTimeout calls
HCanber Oct 11, 2014
8537883
Merge pull request #470 from HCanber/receivetimeout-cancelled-on-term…
rogeralsing Oct 12, 2014
abbb24c
Move fault handling related in ActorCell to ActorCell.FaultHandling.cs
HCanber Oct 15, 2014
d696c56
Merge branch 'new-logger-package-names-292' of https://github.com/HCa…
Aaronontheweb Oct 15, 2014
9355d29
Merge pull request #475 from Aaronontheweb/dev
Aaronontheweb Oct 15, 2014
0073c46
added nuget build support for Akka.Cluster
Aaronontheweb Oct 16, 2014
8177d47
Merge pull request #476 from Aaronontheweb/akka-cluster-hashing
HCanber Oct 16, 2014
1063866
Use preReleaseVersion for Akka.Cluster
HCanber Oct 16, 2014
48cb070
Merge pull request #474 from HCanber/faulthandling
rogeralsing Oct 16, 2014
080d3ad
Merge pull request #477 from HCanber/akka-cluster-packagename
Aaronontheweb Oct 16, 2014
c30a340
Akka.NET v0.7
Aaronontheweb Oct 16, 2014
2aaa111
Actor PreRestart(): wrong message and sender #456
rogeralsing Oct 18, 2014
7e6c8bd
Updated release notes to mention Akka.TestKit
Aaronontheweb Oct 20, 2014
e0920f7
Merge pull request #481 from rogeralsing/wrong-message-and-sender-456
Aaronontheweb Oct 20, 2014
e925cb8
Merge pull request #479 from Aaronontheweb/dev
Aaronontheweb Oct 20, 2014
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
130 changes: 130 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Contributing to Akka.NET
Akka.NET is a large project and contributions are more than welcome, so thank you for wanting to contribute to Akka.NET!

---

### Checklist before creating a Pull Request
Submit only relevant commits. We don't mind many commits in a pull request, but they must be relevant as explained below.

- __Use a feature branch__ The pull request should be created from a feature branch, and not from _dev_. See below for why.
- __No merge-commits__
If you have commits that looks like this _"Merge branch 'my-branch' into dev"_ or _"Merge branch 'dev' of github .com/akkadotnet/akka.net into dev"_ you're probaly using merge instead of [rebase](https://help.github.com/articles/about-git-rebase) locally. See below on _Handling updates from upstream_.
- __Squash commits__ Often we create temporary commits like _"Started implementing feature x"_ and then _"Did a bit more on feature x"_. Squash these commits together using [interactive rebase](https://help.github.com/articles/about-git-rebase). Also see [Squashing commits with rebase](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html).
- __Descriptive commit messages__ If a commit's message isn't descriptive, change it using [interactive rebase](https://help.github.com/articles/about-git-rebase). Refer to issues using `#issue`. Example of a bad message ~~"Small cleanup"~~. Example of good message: _"Removed Security.Claims header from FSM, which broke Mono build per #62"_. Don't be afraid to write long messages, if needed. Try to explain _why_ you've done the changes. The Erlang repo has some info on [writing good commit messages](https://github.com/erlang/otp/wiki/Writing-good-commit-messages).
- __No one-commit-to-rule-them-all__ Large commits that changes too many things at the same time are very hard to review. Split large commits into smaller. See this [StackOverflow question](http://stackoverflow.com/questions/6217156/break-a-previous-commit-into-multiple-commits) for informatin on how to do this.
- __Tests__ Add relevant tests and make sure all existing ones still passes. Tests can be run using the command
- __No Warnings__ Make sure your code do not produce any build warnings.

After reviewing a Pull request, we might ask you to fix some commits. After you've done that you need to force push to update your branch in your local fork.

---

### Getting started
Make sure you have a [GitHub](https://github.com/) account.

- Fork, clone, add upstream to the Akka.NET repository. See [Fork a repo](https://help.github.com/articles/fork-a-repo) for more detailed instructions or follow the instructions below.

- Fork by clicking _Fork_ on https://github.com/akkadotnet/akka.net
- Clone your fork locally.
```
git clone https://github.com/YOUR-USERNAME/akka.net
```
- Add an upstream remote.
```
git remote add upstream https://github.com/akkadotnet/akka.net
```
You now have two remotes: _upstream_ points to https://github.com/akkadotnet/akka.net, and _origin_ points to your fork on GitHub.

- Make changes. See below.

Unsure where to start? Issues marked with [_up for grabs_](https://github.com/akkadotnet/akka.net/labels/up%20for%20grabs) are things we want help with.

See also: [Contributing to Open Source on GitHub](https://guides.github.com/activities/contributing-to-open-source/)

New to Git? See https://help.github.com/articles/what-are-other-good-resources-for-learning-git-and-github

### Making changes
__Never__ work directly on _dev_ or _master_ and you should never send a pull request from master - always from a feature branch created by you.

- Pick an [issue](https://github.com/akkadotnet/akka.net/issues). If no issue exists (search first) create one.
- Get any changes from _upstream_.
```
git checkout dev
git fetch upstream
git merge --ff-only upstream/dev
git push origin dev #(optional) this makes sure dev in your own fork on GitHub is up to date
```

See https://help.github.com/articles/fetching-a-remote for more info

- Create a new feature branch. It's important that you do your work on your own branch and that it's created off of _dev_. Tip: Give it a descriptive name and include the issue number, e.g. `implement-testkits-eventfilter-323` or `295-implement-tailchopping-router`, so that others can see what is being worked on.
```
git checkout -b my-new-branch-123
```
- Work on your feature. Commit.
- Rebase often, see below.
- Make sure you adhere to _Checklist before creating a Pull Request_ described above.
- Push the branch to your fork on GitHub
```
git push origin my-new-branch-123
```
- Send a Pull Request, see https://help.github.com/articles/using-pull-requests to the _dev_ branch.

See also: [Understanding the GitHub Flow](https://guides.github.com/introduction/flow/) (we're using `dev` as our master branch)

### Handling updates from upstream

While you're working away in your branch it's quite possible that your upstream _dev_ may be updated. If this happens you should:

- [Stash](http://git-scm.com/book/en/Git-Tools-Stashing) any un-committed changes you need to
```
git stash
```
- Update your local _dev_ by fetching from _upstream_
```
git checkout dev
git fetch upstream
git merge --ff-only upstream/dev
```
- Rebase your feature branch on _dev_. See [Git Branching - Rebasing](http://git-scm.com/book/en/Git-Branching-Rebasing) for more info on rebasing
```
git checkout my-new-branch-123
git rebase dev
git push origin dev #(optional) this makes sure dev in your own fork on GitHub is up to date
```
This ensures that your history is "clean" i.e. you have one branch off from _dev_ followed by your changes in a straight line. Failing to do this ends up with several "messy" merges in your history, which we don't want. This is the reason why you should always work in a branch and you should never be working in, or sending pull requests from _dev_.

If you're working on a long running feature then you may want to do this quite often, rather than run the risk of potential merge issues further down the line.

### Making changes to a Pull request
If you realize you've missed something after submitting a Pull request, just commit to your local branch and push the branch just like you did the first time. This commit wil automatically be included in the Pull request.
If we ask you to change already published commits using interactive reabse (like squashing or splitting commits or rewriting commit messages) you need to force push using `-f`:
```
git push -f origin my-new-branch-123
```

### 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.

You can rebase your local _dev_ on _upstream/dev_ (to remove any merge commits), rename it, and recreate _dev_
```
git checkout dev
git rebase upstream/dev
git branch -m my-new-branch-123
git branch dev upstream/dev
```
Or you can create a new branch off of _dev_ and then cherry pick the commits
```
git checkout -b my-new-branch-123 upstream/dev
git cherry-pick rev #rev is the revisions you want to pick
git cherry-pick rev #repeat until you have picked all commits
git branch -m dev old-dev #rename dev
git branch dev upstream/dev #create a new dev
```

## Code guidelines

See [Contributor Guidelines](http://akkadotnet.github.io/wiki/Contributor%20guidelines) on the wiki.

---
Props to [NancyFX](https://github.com/NancyFx/Nancy) from which we've "borrowed" some of this text.
99 changes: 98 additions & 1 deletion RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,100 @@
#### 0.7.0 Oct 16 2014
Major new changes and additions in this release, including some breaking changes...

__Akka.Cluster__ Support (pre-release) - Akka.Cluster is now available on NuGet as a pre-release package (has a `-pre` suffix) and is available for testing. After installing the the Akka.Cluster module you can add take advantage of clustering via configuration, like so:

akka {
actor {
provider = "Akka.Cluster.ClusterActorRefProvider, Akka.Cluster"
}

remote {
log-remote-lifecycle-events = DEBUG
helios.tcp {
hostname = "127.0.0.1"
port = 0
}
}

cluster {
seed-nodes = [
"akka.tcp://[email protected]:2551",
"akka.tcp://[email protected]:2552"]

auto-down-unreachable-after = 10s
}
}


And then use cluster-enabled routing on individual, named routers:

/myAppRouter {
router = consistent-hashing-pool
nr-of-instances = 100
cluster {
enabled = on
max-nr-of-instances-per-node = 3
allow-local-routees = off
use-role = backend
}
}

For more information on how clustering works, please see https://github.com/akkadotnet/akka.net/pull/400

__Breaking Changes: Improved Stashing__ - The old `WithUnboundedStash` and `WithBoundedStash` interfaces have been slightly changed and the `CurrentStash` property has been renamed to `Stash`. Any old stashing code can be replaced with the following in order to continue working:

public IStash CurrentStash { get { return Stash; } set { Stash=value; } }

The `Stash` field is now automatically populated with an appropriate stash during the actor creation process and there is no need to set this field at all yourself.

__Breaking Changes: Renamed Logger Namespaces__ - The namespaces, DLL names, and NuGet packages for all logger add-ons have been changed to `Akka.Loggers.Xyz`. Please install the latest NuGet package (and uninstall the old ones) and update your Akka HOCON configurations accordingly.

__Serilog Support__ - Akka.NET now has an official [Serilog](http://serilog.net/) logger that you can install via the `Akka.Logger.Serilog` package. You can register the serilog logger via your HOCON configuration like this:

loggers=["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]

__New Feature: Priority Mailbox__ - The `PriorityMailbox` allows you to define the priority of messages handled by your actors, and this is done by creating your own subclass of either the `UnboundedPriorityMailbox` or `BoundedPriorityMailbox` class and implementing the `PriorityGenerator` method like so:

public class ReplayMailbox : UnboundedPriorityMailbox
{
protected override int PriorityGenerator(object message)
{
if (message is HttpResponseMessage) return 1;
if (!(message is LoggedHttpRequest)) return 2;
return 3;
}
}

The smaller the return value from the `PriorityGenerator`, the higher the priority of the message. You can then configure your actors to use this mailbox via configuration, using a fully-qualified name:


replay-mailbox {
mailbox-type: "TrafficSimulator.PlaybackApp.Actors.ReplayMailbox,TrafficSimulator.PlaybackApp"
}

And from this point onward, any actor can be configured to use this mailbox via `Props`:

Context.ActorOf(Props.Create<ReplayActor>()
.WithRouter(new RoundRobinPool(3))
.WithMailbox("replay-mailbox"));

__New Feature: Test Your Akka.NET Apps Using Akka.TestKit__ - We've refactored the testing framework used for testing Akka.NET's internals into a test-framework-agnostic NuGet package you can use for unit and integration testing your own Akka.NET apps. Right now we're scarce on documentation so you'll want to take a look at the tests inside the Akka.NET source for reference.

Right now we have Akka.TestKit adapters for both MSTest and XUnit, which you can install to your own project via the following:

MSTest:

install-package Akka.TestKit.VsTest

XUnit:

install-package Akka.TestKit.Xunit

#### 0.6.5
* Logging to Standard Out is now done in color. To disable it set `StandardOutLogger.UseColors = false;`.
Colors can be customized: `StandardOutLogger.DebugColor = ConsoleColor.Green;`.
If you need to print to stdout use `Akka.Util.StandardOutWriter.Write()` instead of `Console.WriteLine`, otherwise your messages might get printed in the wrong color.

#### 0.6.4 Sep 9 2014
* Introduced `TailChoppingRouter`
* All `ActorSystem` extensions now take an `ExtendedActorSystem` as a dependency - all thirdy party actor system extensions will need to update accordingly.
Expand Down Expand Up @@ -27,4 +124,4 @@
* Added ReceiveBuilder support

#### 0.2.1-beta Mars 22 2014
* Nuget package
* Nuget package
8 changes: 6 additions & 2 deletions build.cmd
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
@echo off

pushd %~dp0

src\.nuget\NuGet.exe update -self

src\.nuget\NuGet.exe install FAKE -OutputDirectory src\packages -ExcludeVersion -Version 2.10.24
src\.nuget\NuGet.exe install FAKE -OutputDirectory src\packages -ExcludeVersion -Version 3.4.1

src\.nuget\NuGet.exe install xunit.runners -OutputDirectory src\packages\FAKE -ExcludeVersion -Version 1.9.2

if not exist src\packages\SourceLink.Fake\tools\SourceLink.fsx (
src\.nuget\nuget.exe install SourceLink.Fake -OutputDirectory src\packages -ExcludeVersion
)
cls
rem cls

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

popd


Loading