Skip to content

Releases: MidLevel/Ruffles

v8.1.0

13 Jan 18:17
a91a071
Compare
Choose a tag to compare

8.1.0 (2020-01-13)

Features

  • Disabled SIO_UDP_CONNRESET (a91a071)

v8.0.0

13 Jan 17:55
664d6b3
Compare
Choose a tag to compare

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

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

18 Dec 17:56
af9692b
Compare
Choose a tag to compare

7.1.5 (2019-12-18)

Bug Fixes

  • Dont disconnect when incoming packet window is exhausted (70be6ef)

v7.1.4

18 Dec 17:51
ffefe21
Compare
Choose a tag to compare

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

17 Dec 20:45
79290b0
Compare
Choose a tag to compare

7.1.3 (2019-12-17)

Bug Fixes

  • Added workaround for Unity IL2CPP (79290b0)

v7.1.2

17 Dec 17:48
d63f624
Compare
Choose a tag to compare

7.1.2 (2019-12-17)

Bug Fixes

  • Fixed message merger expansion past MaxSize (d63f624)

v7.1.1

17 Dec 16:44
c8d263c
Compare
Choose a tag to compare

7.1.1 (2019-12-17)

Bug Fixes

  • Fixed channel allocation (8b5093b)
  • Fixed merger not changing with MTU (c8d263c)

v7.1.0

17 Dec 07:43
defbae6
Compare
Choose a tag to compare

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

16 Dec 20:11
5f5ca24
Compare
Choose a tag to compare

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

12 Dec 18:21
Compare
Choose a tag to compare

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