Releases: MidLevel/Ruffles
Releases · MidLevel/Ruffles
v8.1.0
v8.0.0
8.0.0 (2020-01-13)
Bug Fixes
- Added safe MemoryManager GC dealloc on shutdown (bba52d7)
- Fixed calls in HeapableFastWindow (c59836f)
- Fixed disconnect deadlocks (c338fef)
- Fixed Example (e2fed44)
- Fixed example sending when connection is not alive (eea81e1)
- Fixed FastWindow index calculations (4fa45ba)
- Fixed invalid IPAddress when null socket (d0d2e74)
- Fixed LastMessageOut not being updated (55920e5)
- Fixed logic scheduling running too early (b320d73)
- Fixed logic sleep (1a3da06)
- Fixed lowest NetTime (39d1669)
- Fixed MTU not going through (6c54c55)
- Fixed NetTime becoming StartTime (ecf82e5)
- Fixed path MTU throwing Send exceptions (c9b3702)
- Fixed ReliableChannel not allocating memory wrapper (5ef337d)
- Fixed ReliableSequencedFragmented not setting (14b3a26)
- Fixed SendNow not locking state (ebb2de0)
- Fixed timeout lock recursion (4f60077)
- Ignore certain ICMP packets (30528b1)
- Removed unused internal IO queue (a3ae870)
- Updated example (36064ce)
Code Refactoring
- Removed delayed calls (1aaf8ec)
Features
- Added connection state lock (eb77161)
- Added FastWindow (13a7d43)
- Added HeapableFastWindow (33ec19e)
- Added HeapableFixedDictionary collection (cc1a3fe)
- Added overflow queue to reliable channel windows (66161cb)
- Added thread configuration (661fee5)
- Added warning when not creating threads (cfaf598)
- Isolated connection properties (36de762), closes #11
Performance Improvements
- Increased stacktrace capture performance for memory allocs (8452119)
- Made connections a doubly linked list (9b72d4f)
- Reduced channel lock scope (fbb1023), closes #15
- Updated channels to use faster window collections (eac14a4), closes #16
- Upgraded ReliableChannel to FastWindow (6208304)
- Upgraded ReliableSequenced to FastWindow (913e916)
- Upgraded ReliableSequencedChannel to FastWindow (590d06e)
- Upgraded ReliableSequencedFragmentedChannel to FastWindow (013b444)
- Upgraded ReliableSequencedFragmentedChannel to FastWindow (1eba75f)
BREAKING CHANGES
- Removed InternalEventQueueSize
- Removed Connection statistics
- Removed RuffleSocket.ConnectLater
BREKAING CHANGE: Removed RuffleSocket.SendNow - Removed RuffleSocket.SendLater
- Made Connection.Socket readonly
- Replaced SocketPollTime with LogicDelay
- Removed Connection.Id
- Removed RuffleSocket.SendNow(connectionId)
- Removed RuffleSocket.SendLater(connectionId)
- Removed MaxConnections
- Removed EnableQueuedIOEvents
- Removed RuffleSocket.DisconnectNow(connectionId)
- Removed SocketConfig.ReuseConnections
- Removed SocketConfig.ConnectionQualityGracePeriod
- Removed SocketConfig.MaxRoundtripTime
- Removed SocketConfig.MaxPacketLossPercentage
- Removed SocketConfig.MaxPendingConnections
- Removed Connection.Dead
- Made Connection.EndPoint readonly
- Removed RuffleSocket.DisconnectLater(connectionId)
v7.1.5
v7.1.4
7.1.4 (2019-12-18)
Bug Fixes
- Fixed last packet resend not given enough time (735d41d)
- Fixed last packet resend not given enough time (ffefe21)
- Fixed last packet resend not given enough time (ebf22ff)
- Fixed last packet resend not given enough time (e624bc8)
- Fixed last packet resend not given enough time (8bdcced)
- Fixed Reliable using receivers counter when recieving (131d876)
- Fixed ReliableFragmented using receivers counter when recieving (19b764b)
- Fixed ReliableOrdered using receivers counter when recieving (6679bed)
- Fixed ReliableSequenced channel sequencing not killing acked outgoing messages (a5141c4)
- Fixed ReliableSequencedFragmented using receivers counter when recieving (4eb7a06)
- Reliable not wrapping unsafe checks properly (242365a)
- ReliableFragmented not wrapping unsafe checks properly (343c8dc)
v7.1.3
v7.1.2
v7.1.1
v7.1.0
7.1.0 (2019-12-17)
Bug Fixes
- Added safety check for dead channels (31473c1)
- Fixed channels array not being alloced (82c3b2a)
- Fixed connection being recycled before disconnect event is consumed (defbae6)
- Fixed disconnect releasing events before marking a connection as dead (28f8e19)
- Fixed enum type checking when sending ChannelTypes (d23628a)
- Fixed typo in logging (29e24d4)
- Removed realloc of channels array (3cd0fdc)
Features
- Added option to disable reusing of channels (24a3695)
Performance Improvements
- Removed channel pool alloc when ReuseChannels is disabled (4b729f9)
v7.0.0
7.0.0 (2019-12-16)
Bug Fixes
- Changed socket poll behaviour to always empty the buffer before running logic (65d5eb8)
- Fixed memory wrapper allocs (6512fde)
- Fixed sending of initial packets (4894d41)
- Fixed unsynced ack collection not being properly reset for ReliableFragmented channels (12d3cb3)
- Increased default .NET socket buffer sizes to 1 megabyte (142c185)
- Removed empty log (9f9c7dd)
Features
- Added channel pooling (5f87d72), closes #10
- Added custom time implementation (2bdb17f)
- Added ReliableFragmented channel (67da823)
- Added warning when the time does not support high resolution (I.E uses DateTime backing) (7c55271)
- Added way to send without locking channel (3a1ea80)
- Made NetTime IComparable and IEquatable (3f0ea34)
- Unified memory structure and fixed potential race in channel sequencing (b0ac06f)
BREAKING CHANGES
- Changes the names of the MemoryManager settings in SocketConfig
- All times are now represented in NetTime. Use NetTime.Date
- Send has been renamed to SendNow
v6.0.0
6.0.0 (2019-12-12)
Bug Fixes
- Fixed Unity log hooking (1af824e)
Features
- Added min resend delay for reliable channels (f2567f1)
- Added non blocking Connect and Disconnect calls (edb64bc)
- Added protocol identification to filter unwanted garbage data (d74f325)
Performance Improvements
- MemoryManager no longer locks (84778dd)
BREAKING CHANGES
- Connect has been renamed to ConnectNow and Disconnect has been renamed to DisconnectNow