Releases: agents-net/agents.net
Releases · agents-net/agents.net
2021.6.2
Added
PushAndExecute
accepts aCancellationToken
now. With this it is possible to stop the wait operation
Fixed
2021.6.1
Notice
There was no 2021.6.0 as I made a mistake in the last release and created the 2021.6.0 by accident. This version is unlisted on nuget but I cannot overwrite it on nuget. That is why this is a 2021.6.1.
Changed
- Breaking Change: Removed the
Predecessors
andGetPredecessor
members fromMessage
. This was a huge unfixable memory leak. Instead of itMessageDomain
andMessageCollector
should be used to address scenarios where the predecessor message must be evaluated - Breaking Change: The
Agent
class implements nowIDisposable
. Disposables can now be added with the newAddDisposable
method MessageAggregator
automatically terminates the message domains of the aggregated messages. Can be disabled with optional constructor parameterMessageCollector
automatically removes messages from a terminated domain. This was a huge memory leak
Added
MessageCollector.PushAndExecute
is a replacement forMessageCollector.FindSetsForDomain
. It adds a message to the collector and waits for a complete set with that message to execute an actionAgent.AddDisposable
marks the passed object for disposal in a thread-safe way
Removed
- Breaking Change: Removed useless
MessageDomainsCreatedMessage
andMessageDomainsTerminatedMessage
- Breaking Change: Removed the
MessageCollector.FindSetsForDomain
method. Use the newMessageCollector.PushAndExecute
method instead
Fixed
MessageDomain
did not dispose replaced messages. This is now fixed- Several memory leaks fixed
2021.0
Added
- Integration tests
- Community health files and appropriate readme
- It is now possible to register to all messages by using the type Message for the ConsumeAttribute or InterceptsAttribute
- Messages have now a defined lifecycle. This can be used to dispose objects during execution safely
- XML Documentation for all public classes in Agents.Net project - should be visible in nuget package
- Getting Started guide and documentation website
Changed
- Breaking Change: Switch from magic string based agent definition to type based agent definition
- Breaking Change: Change execution method of aggregator to
IReadonlyCollection
so that it can be passed directly to TerminateDomainsOf - Breaking Change: Switched logging framework from NLog to Serilog
MessageCollector
messages can know be consumed directly, so that they are removed from the collectorMessage
predecessor property visibility changed to public
Removed
- Breaking Change: Removed
Community
class. Register agents directly withIMessageBoard
- Breaking Change: Removed Terminate methods from MessageDomain helper
- Breaking Change: Removed HandledExceptionMessageDecorator as it is useless unless there is a default exeception message agent
- Breaking Change: Removed children from Message constructor. Each message can have only one child and only by using the MessageDecorator class.