Releases: RiptideNetworking/Riptide
v0.8.0
• Added a modular transport system
• [BREAKING CHANGE] Separated out Riptide's built-in transport
• Fixed collection was modified errors on client disconnect
With the addition of the transport system, setting up Servers and Clients (among other things) has changed bit, so check the demos to see how things should be done now.
v0.7.1
• Fixed threading issues when disconnecting a Client from a Server running within the same application
• Fixed message handler-related error logs being printed when they shouldn't be (when running a Server and a Client in the same application)
v0.7.0
• Added [MessageHandler]
attribute, which is used to mark a method as a message handler
• Removed the need to manually build your own message handlers dictionary
• The MessageReceived event is still invoked when receiving a message, but is no longer required to be used for handling messages
Riptide now builds the message handlers dictionary internally using all methods with the MessageHandler attribute on them. This involves quite a few changes to how Riptide is set up and used in your own projects, so I strongly recommend checking the demos (specifically the Unity ones) to see how things have changed.
One major thing to note is that instead of creating an ActionQueue and calling its ExecuteAll method, you'll now need to call the Tick method of the Server/Client you're using.
v0.6.0
• Changed the way messages are reused to avoid threading issues when running multiple Server/Client instances in the same application
• Improved error clarity when adding big arrays to messages without setting isBigArray
to true
• Multiple formatting changes and code cleanup
XML file not attached because GitHub won't let me upload it, grab it here.
v0.5.0
• Updated demos to Unity 2020.3.12f1
• Added optional inclusion of array length to Message.Add/Get methods for byte arrays
• Adding/getting bool arrays from messages no longer allocates BitArray
s
• [BREAKING CHANGE] Shortened names of array retrieval methods (GetBoolArray
-> GetBools
, GetFloatArray
-> GetFloats
, etc.)
• Message.Add/Get array methods for will now use a byte to write/read the length, unless isBigArray
is set to true
• Added non-allocating overloads for Message's array retrieval methods (to use these, just pass an existing array to the method)
v0.4.0
Added an option to disable informational log messages on a per server/client-basis by setting ShouldOutputInfoLogs = false
on the desired instance.
Also replaced most BitConverter method calls with faster, non-allocating alternatives, so adding values to/getting values from messages should be faster and generate less garbage.
v0.3.0
Fixed major issues with loss detection which made the reliable channel not-so-reliable and revamped the console app demos to make running reliability tests easier and more straightforward.
v0.2.3
Fixed a multitude of issues that could cause a client/server to crash, and improved error logging and XML documentation.
v0.2.2
Fixed major issue that caused reliably sent messages' data to be overwritten (and therefore not properly delivered) if not delivered on the first attempt, and fixed 2 issues that could cause crashes.
v0.2.1
Minor fixes