changelog.txt 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. legend:
  2. + = added feature
  3. * = changed feature (bugfixes, changed behavior, etc.)
  4. - = removed feature
  5. *** = special note
  6. #x = refers to the JIRA issue number
  7. LARKU_x = GitHub pull request / issue number (project: larku/RakNet)
  8. RAKNET_x = GitHub pull request / issue number (project: facebookarchive/RakNet)
  9. SLNET_x = GitHub pull request / issue number (project: SLikeSoft/SLikeNet)
  10. SECURITY = special marker to indicate fixes related to security issues
  11. If you require a more detailed list on the changes, please refer to the
  12. Subversion repository history at: https://www.slikesoft.com/svn/slikenet/
  13. version 0.2.0 (xx-xx-xxxx xx:xx UTC)
  14. *** This release satisfies/processes 3 complete 3 partial GitHub pull requests
  15. *** This release resolves 1 user reported issue (1 completely)
  16. General:
  17. * extended supported compilers to VS 2017 15.4.1 (#163)
  18. * several smaller changes, fixes, and code cleanup (#130, #136, #181 - SLNET_28/SLNET_30)
  19. Core:
  20. RakNetSocket2:
  21. * revised RakNetSocket2::GetMyIP() to determine own IPs more reliably (f.e. on OSX) (#217 - SLNET_36)
  22. RakPeer:
  23. * improve handling of disconnecting peers (#123 - SLNET_16)
  24. ReliabilityLayer:
  25. * fixed case where larger bitstreams/packets would be corrupted on the receiver's side (#177 - LARKU_2/SLNET_28/SLNET_30)
  26. * provide means to ensure sending outstanding ACKs (#123 - SLNET_16)
  27. WindowsStore8:
  28. * some minor code tweaks (#195 - RAKNET_96)
  29. Samples:
  30. General:
  31. * add validation for user provided port numbers/number of connections throughout applicable samples (#145)
  32. Building:
  33. General:
  34. * change projects to consistently use warning level 4 in all configurations with Visual Studio (#128, #129, #135, #137, #138, #139, #140, #142, #144, #146, #147, #149, #151, #152, #153, #154, #155, #162)
  35. CMake:
  36. * changed default install location for SLikeNet to CMAKE_INSTALL_PREFIX-based include/lib directories (#54 - RAKNET_29, #67 - RAKNET_41)
  37. * small tweaks/improvements to CMake files (#130)
  38. iOS:
  39. * updated file name reference in XCode project (#188 - RAKNET_84)
  40. version 0.1.2 (05-06-2018 21:00 UTC)
  41. *** This release satisfies/processes 3 complete and 1 partial GitHub pull request (up to pull request RAKNET_124)
  42. *** This release resolves 3 user reported issues (1 partially and 2 completely)
  43. *** This release contains security fixes - overall CVSS score: 7.2
  44. General:
  45. * several smaller changes, fixes, and code cleanup (#186 - RAKNET_80, #207)
  46. * several documentation updates (#207)
  47. Core:
  48. General
  49. * fixed broken ABI compatibility with RakNet 4.081/4.082 (#203)
  50. DataStructures:
  51. + added DataStructures::RangeList::IsWithinRange() to easily determine whether a value is within a range (#205)
  52. * fixed DataStructures::OrderedList::GetIndexFromKey() on a RangeList not indicating correctly that an object already exists (#204)
  53. * SECURITY: fixed invalid range list being constructed via DataStructures::RangeList::Deserialize() (#204 - SLNET_19/SLNET_32/RAKNET_102 - CVSS score: 7.2)
  54. * several small improvements to DataStructures::RangeList (#205)
  55. RakNetSocket2:
  56. * fixed out of bounds read in RNS2_Berkley::BindSharedIPV4And6() with RAKNET_SUPPORT_IPV6 set to 1 (#202 - RAKNET_116)
  57. RakString:
  58. * fixed crash/stack corruption if freeing the returned wide char pointer from RakString::ToWideChar() for an empty string (#190)
  59. ReliabilityLayer:
  60. * SECURITY: overhauled ACK/NAK handling (#194 - SLNET_32/RAKNET_102 - CVSS score: 7.2)
  61. * SECURITY: prevent endless loop when retrieving NAK ranges 0-0xFFFFFE (#194 - SLNET_32/RAKNET_102 - CVSS score: 7.2)
  62. SocketLayer:
  63. * fixed socket resource leak on non-Windows platforms in an error case (#186 - RAKNET_80)
  64. Samples:
  65. NAT Punchthrough:
  66. * fixed crash when exiting the NATCompleteServer (#192 - RAKNET_91)
  67. Building:
  68. Core:
  69. * fixed build error in RakNet compatibility mode (#180 - SLNET_28/SLNET_30)
  70. CMake:
  71. * fixed build errors with CMake < 3.0.0 (#183)
  72. version 0.1.1 (03-10-2018 21:00 UTC)
  73. *** This release satisfies/processes 3 complete and 3 partial GitHub pull requests/issues
  74. *** This release contains security fixes - overall CVSS score: 4.8
  75. General:
  76. * several smaller changes, fixes, and code cleanup (#105, #156, #165 - RAKNET_29)
  77. * added new chapter about configuring SLikeNet (#105)
  78. * changed GitHub pull request markers to support pull requests from different GitHub forks (#105)
  79. * dropped optional license requirement to notifiy "Mersenne Twister"-algorithm devs due to lack of valid contact information (#105)
  80. * corrected text encoding throughout all files (#116)
  81. * several small documentation updates (#105, #112 - SLNET_10, #168)
  82. Core:
  83. General:
  84. * fixed several cases of API/ABI breakage with RakNet 4.081/4.082 (#175)
  85. FileListTransfer:
  86. * SECURITY: provide compile time setting to limit the max file size for retrieving files (#168 - SLNET_19 - CVSS score: 4.0)
  87. RakNetSocket2:
  88. * fixed certain error messages producing garbled output in unicode configurations (#119)
  89. RakPeer:
  90. * improve handling of disconnecting peers (#170 - SLNET_16)
  91. SocketLayer:
  92. * fixed certain error messages producing garbled output in unicode configurations (#119)
  93. TCPInterface:
  94. * SECURITY: fixed memory leak upon stopping TCP servers (#125 - SLNET_18 - CVSS score: 4.8)
  95. Extensions:
  96. Autopatcher:
  97. * fixed crash/undefined behavior upon file read error in postgreSQL-based Autopatcher (#143)
  98. Lobby2:
  99. * fixed Clans_GetMemberProperties::clanMemberState not being populated (#141)
  100. * fixed API/ABI breakage of ProfanityFilter::FilterProfanity() with RakNet 4.081/4.082 (#175)
  101. Samples:
  102. ComprehensiveTest:
  103. * fixed very rare occasional crash (#148)
  104. FileListTransfer:
  105. * fixed incorrect file sizes being reported (#167)
  106. Lobby3:
  107. * fixed incorrectly referenced string.h header file in VS project file (#105)
  108. NAT Punchthrough:
  109. * fixed memory/resource leak in NATCompleteServer/NATCompleteClient's ConnectBlocking() functions (#150)
  110. Ping:
  111. * removed unnecessary/unused query for client port to listen to (#161)
  112. ReplicaManager3:
  113. * fixed spelling mistake in ClientCreateible structs (#122 - SLNET_15)
  114. Building:
  115. General:
  116. * added support for Windows SDK 10.0.16299.0 (#179)
  117. * added missing libcat big_x64.o object file (#117)
  118. * fixed different compiler warnings with VS2015+ (#119)
  119. * fixed RakNet backwards compatibility and SLikeNet projects sharing the same intermediate directories (#118)
  120. CMake:
  121. * fixed make install not constructing a RakNet backwards compatible include structure (#115)
  122. * fixed installing SLikeNet without RAKNET_ENABLE_STATIC being set, not installing the header files (#165 - RAKNET_29)
  123. Core:
  124. * fixed compile error with Windows SDK >= 10.x on 64-bit (with LIBCAT_SECURITY) (#120)
  125. Autopatcher:
  126. * fixed incorrect mysql repository library references for certain configurations (#121)
  127. CrashReporter:
  128. * enabled treating compile warnings as errors in the VS project file (#105)
  129. NAT Punchthrough:
  130. * fixed server sample not building via CMake projects (#172)
  131. * fixed client sample compile errors on Linux/OSX (#174)
  132. Router2:
  133. * fixed compile errors on OSX (#174)
  134. version 0.1.0 (07-26-2017 21:00 UTC)
  135. *** This release satisfies/processes 29 complete and 3 partial GitHub pull requests (up to pull request RAKNET_78)
  136. *** This release contains security fixes - overall CVSS score: 6.0
  137. + Initial Release
  138. The following lists changes compared to RakNet 4.081/4.082:
  139. General:
  140. + added support for VS 2010-2017, GCC 4.6.4-5.4.0, and Xcode 7.3.1 (#1)
  141. + added new retail configuration (#96)
  142. * SECURITY: security fix
  143. * replaced multi-byte character set support with unicode support (#23)
  144. * fixed mixup between Unicode/MBCS/ANSI character set usage (#23)
  145. * several further changes, fixes, and code cleanup (#6, #9, #11, etc.)
  146. * several documentation updates including a more detailed Doxygen documentation (#101)
  147. - dropped support for VS < 2010 and GCC < 4.6.4 (#1)
  148. Core:
  149. General:
  150. * fixed case for Windows includes in WindowsIncludes.h (#42 - RAKNET_37)
  151. BitStream:
  152. * fixed <<-operator for BitStream not accepting const parameters (#44 - RAKNET_53)
  153. CCRakNetSlidingWindow:
  154. * use std::abs() instead of abs for proper C++11 support in CCRakNetSlidingWindow.cpp (#46 - RAKNET_64)
  155. DataStructures:
  156. * minor improvement to DataStructures::Queue:WeightedGraph::GetShortestPath() by replacing Queue::Size() calls with Queue::IsEmpty() (#34 - RAKNET_14)
  157. * fixed incorrect DataStructures::Queue-copy-ctor (#26)
  158. NatPunchthrough:
  159. * fixed NatPunchthroughClient::SendOutOfBand() producing undefined messages, if __GET_TIME_64BIT is set to 0 (#38 - RAKNET_34)
  160. * fixed TestModeToString() returning non-const char pointer (#35, #59, #65 - RAKNET_22, RAKNET_31, RAKNET_61)
  161. PacketFileLogger:
  162. * fixed incorrectly instantiating/destroying the PacketLogger class instead of the PacketFileLogger when calling PacketFileLogger::GetInstance()/DestroyInstance() (#81)
  163. RakNetSocket2:
  164. * fixed incomplete zeroing of data in RakNetSocket2_Berkley_NativeClient with RAKNET_SUPPORT_IPV6 set to 1 (#31 - RAKNET_4)
  165. RakPeer:
  166. * fixed RakPeer::GetTimeoutTime() always returning defaultTimeoutTime (#37 - RAKNET_30)
  167. * fixed incorrect delete in RakPeer::DerefAllSockets() when using a custom allocator (#48 - RAKNET_72)
  168. * fixed deadlock in ProcessOfflineNetworkPacket() when building with LIBCAT_SECURITY set to 1 (#43)
  169. RakString:
  170. * fixed undefined behavior in RakString::Assign() on non-Windows platforms if either the passed or the formated string exceeds 511 characters (#64 - RAKNET_60)
  171. * fixed undefined behavior in RakString::ToWideChar() if called with very long strings (#12)
  172. * fixed undefined behavior in RakString::FromWideChar() if called with very long strings (#102)
  173. * SECURITY: fixed memory/resource leak in RakString format-ctors and Set() method on certain platforms/compilers (#40 - RAKNET_36 - CVSS score: 6.0)
  174. ReplicaManager3:
  175. * fixed resource leak caused by ReplicaManager3::OnConstruction() (#45 - RAKNET_63)
  176. * fixed comparing pointer to boolean in ReplicaManager3::AutoCreateConnectionList() (#36, #63 - RAKNET_29, RAKNET_56)
  177. UDPProxy:
  178. * fixed crash in UDPProxyClient::OnPingServers() (#39 - RAKNET_35)
  179. * fixed wrong sort order in UDPProxyCoordinator::ForwardingRequestComp() and related incorrectly sorted UDPProxyCoordinator::forwardingRequestList (#47 - RAKNET_67)
  180. Extensions:
  181. Autopatcher:
  182. * fixed memory leak in ApplyPatch: TestPatchInMemory() (#32 - RAKNET_7)
  183. IrrlichtDemo:
  184. * fixed only partial upgrade of Irrlicht SDK to 1.8 (#91)
  185. * SECURITY: fixed potential non-null-terminated string (#104 - CVSS score: n/a)
  186. Lobby2:
  187. * SECURITY: fixed crash (dangling pointer and usage after free issue) when detaching Steam Lobby2Client plugin and destroying the instance (#95 - CVSS score: n/a)
  188. * fixed Lobby2 Steam client staying attached, even after calling RakPeer::DetachPlugin() (#95)
  189. XML:
  190. * upgraded XMLParser library from 2.41 to 2.44 (#103)
  191. Samples:
  192. Autopatcher:
  193. * fixed broken AutopatcherPostgreRepository2_WithXDelta due to non-overwritten MakePatch()-method (#14)
  194. Cloud:
  195. * fixed CloudServerHelper::OnJoinCloudResult() setting incorrect default port (#15)
  196. CrossConnectionTest:
  197. * fixed incorrect check for incoming connection in CrossConnectionTest (#33 - RAKNET_10)
  198. FileListTransfer:
  199. * fixed FileListTransfer sample passing incorrect values to TCPInterface::Start() (#21)
  200. Building:
  201. General:
  202. * resolved several compile/link errors in specific configurations/projects (#7, #13, #16, #18, #19, #20, #24, #25, #26, #28, #87, #88, #89, #90, #92, #94, #97)
  203. * resolved compile/link warnings (#11)
  204. CMake:
  205. * resolved CMake warnings/issues (#11, #78, #98, #99)
  206. * update to CMake file to support VS 2015 (#46 - RAKNET_64, RAKNET_105, RAKNET_110)
  207. * updated FindBoost CMake file from CMake 2.8.0 -> CMake 2.8.10.2 (#99)
  208. * updated CMake file to detect FMOD Ex up to version 4.44.59 (#78)
  209. * changed to not build sample projects on Linux/Mac by default (#79)
  210. * fixed CMake not compiling samples by default (#30, #62 - RAKNET_51, RAKNET_54)
  211. * fixed FindPortAudio CMake module ignoring libPortAudioCpp setting (#29 - RAKNET_48)
  212. * fixed incorrect usage of PARENT_SCOPE and missing quoting of env-variable in CMake file (#77 - RAKNET_37)