RELEASE_NOTES_DIRECTORY.md
August 23, 2018 ยท View on GitHub
3.1.1
Bug fixes
- Handle case where client clock can be ahead of server clock
1.2.1
Bug fixes
- Fix injection configuration issue in the Directory.Standalone project
1.2.0
Features
- Switched external dependencies to NuGet, this change is synchronized with Zebus'.
1.1.7
Bug fixes
- StoragePeer deserialization is more robust to prevent a crash if the data storage is corrupt
1.1.6
Features
- Switched to Cassandra CSharp driver 2.1
1.1.5
Features
- The repository is split, from now on Zebus.Directory has its own repository
- The MessageContext can be injected in the constructor of a handler
- The new SubscriptionModeAttribute allows to control automatic subscriptions more explicitly
Bug fixes
- The "HANDLE" log is now accurate for async
1.1.4
Features
- Split the "HANDLE" log into "RECV" and "HANDLE", making the distinction between the time a message is received and the time it is handled by user code
Bug fixes
- Directories don't decommission other Directories/self
- Starting multiple Buses on the same machine simultaneously could result in identical message ids
1.1.3
Features
- MessageExecutionCompleted now logs the MessageId of the corresponding command
1.1.2
Features
- Now using Cassandra driver 2.0.3 in Directory.Cassandra
1.1.1
Features
- Now using libZmq 4.0.4 and providing the matching pdbs in the Zebus repository
1.1.0
Features
- The Cassandra backed Directory server is fully operational
- The tree-backed local Directory cache is now fully operational (routing performance improvement, faster routing rules updates, smaller memory footprint, etc.)
Bug fixes
- Dynamic subscriptions for outgoing messages can be disabled on the Cassandra Directory implementation to handle massive dynamic subscriptions (not recommended)
- The SocketConnected/SocketDisconnected feature was removed (it was largely undocumented / unused, so it made to a minor)
- The local Directory cache doesn't lose subscriptions when a Peer is decommissioned
- Reduced the Directory cache memory footprint
- Fixed a bug in the Directory cache that prevented multiple Peers from receiving the same messages
- Messages received from the Directory during the Registration procedure could be lost
- The Directory server now deletes existing dynamic subscriptions when a Peer registers
- The Directory server now handles PeerSubscriptionsForTypesUpdated with "null" BindingKeys
1.0.10
Features
- The local Directory cache now handles the new dynamic subscriptions. We will release a 1.1 after thorough testing / benchmarking.
1.0.9
Features
- The incremental subscriptions support was revamped to work on a MessageType level instead of subscription level (it couldn't handle the required load).
- The Directory server Cassandra implementation was modified to support the new dynamic subscriptions efficiently.
- All packages are now supporting SymbolSource.
1.0.8
Features
- CustomDelegatedProcessingFailed was removed (it should never have been in the public API).
1.0.7
Bug fixes
- The Cassandra Directory server implementation was ignoring some updates because the DateTime.Kind was not set and some timestamps where erroneously converted to Utc.
1.0.6
Bug fixes
- Added some logging in the Directory events to ease debugging
1.0.5
Features
- Added support for incremental subscription updates in the client Directory cache using a tree structure that allows to keep throughput stable with huge volumes of routings.
- Added a Cassandra implementation of the Directory server repository (WIP, not production ready yet)
1.0.4
Features
- Added SymbolSource support, you can now browse sources and debug from Visual Studio.
1.0.3
Features
- IMultiEventHandler is replaced by Bus.Subscribe(Subscription[], Action
) (Should have been in a major release since it is a Core breaking change, but given that it was not even documented we just changed it in a patch release). - The project is now built/tested on AppVeyor
Bug fixes
- When creating two identical dynamic subscriptions, disposing one does not dispose the other anymore.
1.0.2
Bug fixes
- Embedding libZmq in the Zebus DLL so it is packaged in the Nuget
1.0.1
Features
- All core features (Including Events, Commands, Dynamic subscriptions, etc.)
- In-memory Directory for testing purposes, but should NOT be used in production