ReleaseNotes.txt 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590
  1. 1.10.9 (2018.07.05)
  2. General
  3. -[Bugfix] Fixed a compile error under WebGL
  4. -[Improvement] HTTPRequest's GetEntityBody became public api
  5. -[Improvement] Added GetFormFields to HTTPRequest
  6. 1.10.8 (2018.07.02)
  7. General
  8. -[Improvement] Greatly reduced the TCP packets that sent out for a HTTP request
  9. WebSocket
  10. -[Improvement] Frame downloading now isn't blocked while user code is executing on current completed frames
  11. SocketIO
  12. -[Bugfix] Implemented a new ToInt function instead of char.GetNumericValue as this later one throws an exception under WebGL using the new 4.x runtime
  13. SignalR Core
  14. -[Improvement] Fixed compile errors for WSA
  15. -[Improvement] Added HubOptions to be able to set more options
  16. -[Improvement] Now it's possible to skip the negotiation process and connect straigth with the (only) WebSocket protocol
  17. -[Bugfix] Authentication provider's PrepareRequest wasn't called on the negotiation request.
  18. 1.10.7 (2018.06.05)
  19. General
  20. -[Improvement] Logger will log out time infromation too
  21. -[Improvement] HTTPRequest will send a Content-Length header with zero value when there's no data to send
  22. WebSocket
  23. -[Bugfix] Fixed a case where the connection reported closed unintentionally
  24. SignalR Core
  25. -[Improvement] Added PrepareUri function to the IAuthenticationProvider interface
  26. -[Improvement] Added negotiation request. Negotiation result now stored in the NegotiationResult property.
  27. -[Improvement] Added support for 'Close' server messages
  28. -[Improvement] More documentation and code comments
  29. -[Improvement] Code cleanup
  30. 1.10.6 (2018.05.20)
  31. General
  32. -[Bugfix] Fixed a case where aborting a request throw and exception
  33. SocketIO
  34. -[Bugfix] Will not send a ping packet while waiting for a pong
  35. WebSocket
  36. -[Bugfix] OnError OnErrorDesc events not called when the websocket's State > Connecting
  37. SignalRCore
  38. -[Improvement] New BESTHTTP_DISABLE_SIGNALR_CORE symbol to disable SignalR Core
  39. -[Bugfix] The SignalR Core implementation has no dependency on SignalR classes now
  40. 1.10.5 (2018.04.17)
  41. General
  42. -[Improvement] HTTPRequest will send Content-Length header with zero value if there's no data
  43. -[Improvement] Added timing info to logging
  44. WebSocket
  45. -[Improvement] Improved error handling
  46. SignalR Core
  47. -[Improvement] Added /negotiation request and NegotiationResult property to the HubConnection
  48. -[Improvement] More code comments and logging
  49. -[Improvement] Added support for Close server messages
  50. -[Bugfix] Removed compile warnings
  51. 1.10.4 (2018.04.15)
  52. General
  53. -[Improvement] csproj files added to the package to genereate dlls
  54. -[Improvement] Improved compatibilty with other packages that are have theirs own Utility class in the root namespace.
  55. -[Improvement] Improved compatibility with the Experimental (.NET 4.6) runtime
  56. -[Improvement] Using the HTTPRequest's CustomTLSServerNameList property now it's possible to add custom SNIs
  57. -[Bugfix] Decompressor used during streaming will buffer up data if necessary to avoid a GZip exception.
  58. -[Bugfix] Removed unnecessary logging in the HTTPUpdateDelegator
  59. -[Bugfix] TLS SNIs will not be sent if the host is an IPv4 or IPv6 address
  60. -[Bugfix] Digest authentication failed with the proxy
  61. WebSocket
  62. -[Improvement] Now it's possible to close the websocket before it connects
  63. -[Improvement] New State property to access the websocket's state
  64. -[Bugfix] [WebGL] HTTPManager.Setup() isn't called when only the WebSocket protocol is used
  65. SocketIO
  66. -[Bugfix] proper pingTimeout implementation (thanks @carsanlop for the code!)
  67. SignalR
  68. -[Bugfix] It will not try to reconnect after leaving Unity's play mode.
  69. SignalR Core
  70. -[New Feature] New SignalR Core implementation for SignalRCore 1.0.0-alpha2
  71. 1.10.3 (2017.11.11)
  72. General
  73. -[Improvement] Added OPTIONS verb
  74. -[Improvement] Better compatibility with Unity 2017.2
  75. -[Bugfix] Boundary generated for multipart/form-data will be a truely unique value that shouldn't be found in the payload
  76. WebSocket
  77. -[New Feature] Added new CloseAfterNoMesssage TimeSpan property to the WebSocket class. When StartPingThread is true, the plugin will check for messages and will close the connection and emit an OnError/OnErrorDesc event after the specified time. It's not available on WebGL platform!
  78. -[New Feature] Added Latency property. When StartPingThread is true, it will calculate the latency from the Ping-Pong message round-trip times. It's not available on WebGL platform!
  79. SignalR
  80. -[Bugfix] Group token not sent with polling requests
  81. 1.10.2 (2017.07.29)
  82. General
  83. -[Bugfix] Fixed an exception when redirected
  84. 1.10.1 (2017.07.26)
  85. General
  86. -[New Feature] Added BESTHTTP_DISABLE_GZIP to be able to disable gzip Accept-Encoding requests
  87. -[Improvement] Improved compatibility when run in an Editor window
  88. -[Improvement] DNS query is done async with timeout (Thanks goes to chriser on the forums for the code)
  89. -[Bugfix] The HTTPConnection object will not close the TCP stream when the "Connection: Close" header present and the http response handler's IsClosedManually set to true.
  90. -[Bugfix] Fixed a compilation issue in RawJsonForm.cs when both BESTHTTP_DISABLE_SOCKETIO and BESTHTTP_DISABLE_SIGNALR are defined
  91. -[Bugfix] When a request's DisableChace is set to true, it will not produce a warning if caching headers added manually
  92. -[Bugfix] When there's no connection the CookieJar will not override saved cookies with an empty one
  93. Websocket
  94. -[Bugfix] Fixed an issue where receive threads are not shut down resulting in an exception
  95. Socket.IO
  96. -[Improvement] Compatibility with Socket.IO 2.0.0
  97. Server-Sent Events
  98. -[Improvement] Added WithCredentials property to the EventSource class under WebGL
  99. -[Improvement] EventSource constructor will thrown a NotSupportedException under WebGL when the underlying browser isn't supports the EventSource protocol
  100. -[Bugfix] Subscibing to a named event (On(...)) isn't worked under WebGL
  101. 1.10.0 (2017.05.05)
  102. General
  103. -Removed support for Windows Phone 8
  104. -[New Feature] HTTPManager and HTTPRequest has a new property 'TryToMinimizeTCPLatency' to turn on/off TCP NoDelay
  105. -[New Feature] A new Form type 'RawJson' to send the fields added with AddField jon encoded
  106. -[Improvement] Added DefaultCertificationValidator to the HTTPManger
  107. -[Improvement] Improved compatibility with Unity 2017.1
  108. -[Improvement] Now the plugin capable to download files larger than 2 GB (Thanks goes to Daniel @ present4D)
  109. -[Bugfix] Accessing streaming assets now possible under WebGL builds
  110. -[Bugfix] Fixed a sneaky bug where the HTTPUpdateDelegator unloaded in builds
  111. Socket.IO
  112. -[Improvement] Sockets now have an Id property generated the same as in the JS Socket.IO lib.
  113. 1.9.17 (2017.01.29)
  114. General
  115. -[New Feature] GZip content encoding is now supported when UseStreaming is on. The plugin now will automatically decompress downloaded chunks.
  116. -[Improvement] Removed .Bind() calls from the TcpClient class to remove the need of the com.apple.security.network.server permission.
  117. -[Improvement] Added support for PATCH requests
  118. -[Improvement] Improved the Clear() function of the HTTPRequest to reset more properties
  119. -[Bugfix] Sending text fields will not include additional quotes around the charset value
  120. -[Bugfix][WebGL] Fixed multiple bugs where WebGL requests are failed early
  121. WebSocket
  122. -[New Feature] Send became non-blocking, buffered up data will be sent on a thread
  123. -[New Feature] WebSocket has a new property: BufferedAmount to get the length of the unsent, buffered up data in bytes
  124. -[Improvement] Improved compatibility with Citrix
  125. 1.9.16 (2016.10.24)
  126. General
  127. -[Improvement] Using the HTTPRequest's CacheOnly property now it's possible to download a resource into the cache only. The response object's Data will not be populated in this case! (Thanks goes to Sakari for the complete patch!)
  128. -[Bugfix] Made a workaround for a mono bug where on macOS Uri created a file:// uri from a relative path instead throwing an exception.
  129. WebSocket
  130. -[Bugfix] The client sent wrong number of frames for a large frame
  131. -[Bugfix] Fixed a bug to be able to connect to Asp .NET Core hosted WebSocket servers
  132. SignalR
  133. -[Bugfix] The plugin will wait a little now before a new reconnect attempt
  134. 1.9.15 (2016.09.22)
  135. General
  136. -[Improvement] When ConnectTimeout of the HTTPManager or HTTPRequest is set to TimeSpan.Zero, no timeout logic is executed.
  137. -[Bugfix] Removed read&write timeouts as it caused issues in some cases
  138. -[Bugfix] Fixed a compile error when BESTHTTP_DISABLE_CACHING was defined
  139. 1.9.14 (2016.09.13)
  140. General
  141. -[Improvement] Added Read and Write timeouts
  142. -[Improvement] Added diagnostic logging. They will be logged when LogLevels.All is used
  143. -[Improvement] Removed a frightening warning about lock acquisition
  144. -[Improvement] Removed an additonal BinaryWriter instantiation when sending out a request
  145. -[Bugfix] Fixed a case where uris without a leading ‘/’ would fail
  146. -[Bugfix] [WebGL] Fixed url lowercase converting
  147. -[Bugfix] No exceptions should be thrown now when quitting
  148. -[Bugfix] Fixed a case where a cache entity deleted unintentionally on startup
  149. Server-Sent Event
  150. -[Bugfix] Content-Type header check was too strict
  151. 1.9.13 (2016.07.20)
  152. General
  153. -[Improvement] Default Connection idle time lowered to 20 seconds
  154. -[Bugfix] Made workaround for mono bugs around Uri encodings
  155. -[Bugfix] Cached content wasn’t refreshed (thanks goes to Jeff Mrochuk)
  156. Server-Sent Events
  157. -[Bugfix] Fixed a case where it would produce an exception when no On function is used to subscribe to an event
  158. 1.9.12 (2016.06.21)
  159. General
  160. -[Improvement] Reading a file with the file:// protocol will not result in an “Access Denied” exception on PS4 (Thanks goes to Dong-Geun Oh for reporting and sending a patch)
  161. -[Improvement] ThreadPools are used again instead of raw Threads
  162. -[Improvement] Content-Length header’s value will be used even with chunked encoding for download progress report
  163. -[Improvement] Improved thread locking
  164. -[Bugfix] Automatic retry will be done only for GET request on erro
  165. -[Bugfix] TCP connection will be closed when the request’s IsKeepAlive set to false
  166. -[Bugfix] [WebGL] OnBeforeHeaderSend will be called now properly
  167. -[Bugfix] [WebGL] Callbacks will be called now when an error occur in the XHR_Send function
  168. -[Bugfix] HTTPRequest.AddField with null encoding will work now
  169. -[Bugfix] Callback called with request’s State Processing on application quit
  170. WebSocket
  171. -[Improvement] Documentation and code changes to emphasize that WebSocket instance can’t be reused
  172. -[Improvement] Text frames will be decoded on the read thread to further minimize cpu burden on the main Unity thread
  173. SignalR
  174. -[Improvement] New BESTHTTP_SIGNALR_WITH_JSONDOTNET compile-time directive to use Newtonsoft’s JSon.NET. Using this the plugin will default to the JsonDotnetEncoder.
  175. SocketIO
  176. -[Bugfix] Fixed a case where calling Off on an event caused an exception when the server sent that event again
  177. 1.9.11 (2016.04.04)
  178. General
  179. -[Bugfix][WebGL] Fixed a case where http requests truncated under Microsoft Edge
  180. -[Bugfix] The plugin will work again in editor windows
  181. -[Bugfix] Multiple fixes around request abortion
  182. Server-Sent Events
  183. -[Bugfix] [WebGL] Newly created event sources will not use the same id(1) over and over
  184. Socket.IO
  185. -[Improvement] Rewrote handshake processing to be able to skip the polling transport
  186. -[Improvement] Now it’s possible to inform the plugin what transport it should use to connect with through the SocketOptions’ ConnectWith property
  187. -[Improvement][PollingTransport] Will not force the server to send textual packets
  188. -[Improvement][PollingTransport] Greatly improved packet parsing speed
  189. -[Bugfix] The plugin will process messages sent with the handshake data
  190. 1.9.10 (2016.03.14)
  191. General
  192. -[New Feature] Apple TvOS support added.
  193. -[New Feature] Keep-Alive header support added
  194. -[New Feature] New OnBeforeHeaderSend event added to the HTTPRequest class to be able to access and modify headers just before they are sent out.
  195. -[Improvement] Decreased memory allocations when no encoding is used in the response
  196. -[Improvement] Updated link.xml
  197. -[Improvement] The default value for UserAlternateSSL is changed to true
  198. -[Improvement] [WebGL] The WebGL connection will use the logger’s level
  199. -[Improvement] [WebGL] The plugin will handle correctly UTF16 strings (Thanks goes to Eugen and Zorrendor)
  200. -[Bugfix] [UWP] Because of a missing Flush() call, body-less requests are not sent out
  201. SignalR
  202. -[Improvement] Connection’s PingInterval is now set to public
  203. -[Bugfix] PrepareRequest doesn’t called for Ping requests
  204. WebSocket
  205. -[Bugfix] [WebGL] Fixed a bug where checking the websocket’s IsOpen status caused an error
  206. -[Bugfix] Fixed a case where assembled frames decoded with extensions twice
  207. 1.9.9 (2016.02.16)
  208. General
  209. -[Bugfix] On redirection the plugin tried to load from the cache for the wrong uri
  210. -[Bugfix] On application exit HTTPUpdateDelegator will now shut down the update thread if it’s used
  211. -[Bugfix] Cookies will be sent for protocols other than http too
  212. -[Bugfix] Empty headers will no longer sent out
  213. -[Bugfix] Null values in headers will no longer cause an exception
  214. -[Improvement] Added some missing documentation.
  215. -[Improvement] Exception logging now will include inner exceptions too
  216. WebSockets
  217. -[New Feature] Support for extensions added
  218. -[New Feature] Per-Message Deflate compression extension added
  219. Socket.IO
  220. -[Improvement] Custom errors by middlewares are now supported
  221. -[Improvement] Socket.Options’ AdditionalQueryParams changed from Dictionary to ObservableDictionary to automatically delete the cached value when it’s changed
  222. -[Bugfix] The plugin will not decode the payload for Emit callbacks
  223. SignalR
  224. -[Improvement] AdditionalQueryParams changed from Dictionary to ObservableDictionary to automatically delete the cached value when it’s changed
  225. 1.9.8 (2016.01.04)
  226. General
  227. -[Improvement] Download progress report will be more frequent now with Chunked encoding
  228. WebSockets
  229. -[Bugfix] Sending pings will not be capped on 100ms now
  230. -[Bugfix] [WebGL] Binary data sending and receiving will be handled correctly now
  231. 1.9.7 (2015.12.13)
  232. General
  233. -[Bugfix] Improved compatibility with 5.3 coroutine changes
  234. -[Improvement] Example scripts are in a namespace too
  235. 1.9.6 (2015.12.08)
  236. General
  237. -[Improvement] Changes made to greatly improve compatibility for Windows Store builds targeting IL2CPP scripting backend
  238. Socket.IO
  239. -[Improvement] The WebSocketTransport will send and Update packet to the server without any other payload to improve compatibility
  240. 1.9.5 (2015.11.30)
  241. General
  242. -[Fix] The plugin will choose the Content-Length header when Content-Range present too
  243. -[Improvement] Improved threading of HTTPUpdateDelegator
  244. WebGL
  245. -[Fix] The plugin will not try to decode the content as chunked, as the browser done it already
  246. Socket.IO
  247. -[Fix] Fixed a rare bug where WebSocket transport tried to access a null object
  248. -[Improvement] An error event will be emitted on timeout too
  249. SignalR
  250. -[Improvement] Call functions now will return true if the plugin was able to send the message to the server
  251. 1.9.4 (2015.10.16)
  252. General
  253. -[Bugfix] Fixed a possible connection error on editors running on non-windows
  254. -[Improvement] Added two more constructors to the Cookie class
  255. 1.9.3 (2015.10.10)
  256. -WebGL support added! Check out the documentation about the limitations.
  257. General
  258. -[Improvement] Improved shutdown handling in the editor
  259. -[Improvement] Cache will work on redirect uris as expected
  260. -[Bugfix] Tcp channel disconnection is now detected much quicker
  261. SignalR
  262. -[Improvement] Added support for SignalR 2.0.x
  263. -[Improvement] Improved logging in some cases
  264. WebSocket
  265. -[Bugfix] The plugin will detect a lost connection sooner
  266. 1.9.2 (2015.09.03)
  267. General
  268. -[Improvement] WP8 support is back!
  269. -[Improvement] Improved compatibility with Windows 10 Universal App build for Unity 5.2
  270. -[Improvement] Improved shutdown handling in the editor
  271. 1.9.1 (2015.08.26)
  272. General
  273. -[Improvement] Improved error reporting on WSA platforms for TcpClient
  274. -[New feature] Initial and experimental file:// protocol support
  275. Socket.IO
  276. -[Bugfix] Emitting binary data wrongly converted
  277. SignalR
  278. -[Improvement] Improved logging
  279. ServerSentEvents
  280. -[Bugfix] Improved compatibility
  281. 1.9.0 (2015.07.29)
  282. Windows Phone 8 silverlight based build support removed!
  283. General
  284. -[New Feature] Various features can be disabled now with the following defines:
  285. --+BESTHTTP_DISABLE_COOKIES
  286. --+BESTHTTP_DISABLE_CACHING
  287. --+BESTHTTP_DISABLE_SERVERSENT_EVENTS
  288. --+BESTHTTP_DISABLE_WEBSOCKET
  289. --+BESTHTTP_DISABLE_SIGNALR
  290. --+BESTHTTP_DISABLE_SOCKETIO
  291. --+BESTHTTP_DISABLE_ALTERNATE_SSL
  292. --+BESTHTTP_DISABLE_UNITY_FORM
  293. --+Check the manual on how you can set these in Unity: http://docs.unity3d.com/Manual/PlatformDependentCompilation.html
  294. -[Improvement] Removed DLL depenencies
  295. -[Improvement] Improved HTTPConnection teardown on quitting
  296. -[Improvement] Improved compatibility when used in an editor window
  297. -[Bugfix] Cookies are stored from redirections
  298. Socket.IO
  299. -[Bugfix] WebSocketTransport not switched to secure protocol when the Uri of the socket.io endpoint is HTTPS
  300. -[BugFix] Disconnect event not fired when the server initiated the disconnect (Thx go to Takayasu Oyama)
  301. SignalR
  302. -[Bugfix] WebSocketTransport not reconnected properly (Thx go to Jaakko Jumisko)
  303. 1.8.2 (2015.06.26)
  304. General
  305. -[Improvement] HTTPResponse’s DataAsTexture2D will use the full constructor now
  306. -[Bugfix] CookieJar’s SetupFolder will check for save support now
  307. -[Bugfix] Cache service deleted all files on maitenance
  308. SignalR
  309. -[Improvement] Better compatibility with JSon .NET encoder
  310. Socket.IO
  311. -[Bugfix] Fixed a case where Disconnect event fired twice
  312. -[Bugfix] First argument on Ack callbacks are removed unintentionally
  313. -[Bugfix] Fixed a case where the ‘disconnect’ event fired twice
  314. Server-Sent Events
  315. -[Improvement] Message class qualified by its namespace everywhere to prevent compile errors
  316. 1.8.1 (2015.05.26)
  317. General
  318. -[New Feature] Server-Sent Events protocol added!
  319. -[Improvement] Updated documentation
  320. -[Improvement] Changed ICertificateVerifyer interface to receive the target server’s uri for validation
  321. -[Bugfix] Fixed a case where HTTPConnections are stuck in the Initial state blocking requests in the queue
  322. Socket.IO
  323. -[Bugfix] Much simpler protocol upgrade/downgrade code to avoid a case when a poll request received by the server after a websocket upgrade
  324. SignalR
  325. -[Improvement] Can fall back to ServerSentEvents protocol
  326. 1.8.0 (2015.05.19)
  327. General
  328. -[New Feature] SignalR protocol added!
  329. -[New Feature] Samsung Smart TV support added!
  330. -[Improvement] HTTPManager has a new UseAlternateSSLDefaultValue property to change the default UseAlternateSSL value
  331. -[Improvement] Custom Cookies added to the request now will overwrite cookies that are stored in the CookieJar, instead of merging and sending both
  332. -[Improvement] Custom Cookies can be added now to the CookieJar
  333. -[Bugfix] In some case, the HTTPManager created new connections that not used after but blocked new requests
  334. -[Bugfix] Fixes a case where a HTTRequest’s State set to Finished instead of Error
  335. -[Bugfix] Fixed a case where custom cookies are not sent
  336. -[Bugfix] Aborting a finished request will not create a stuck connection
  337. WebSocket
  338. -[Improvement] Reading speed of payload data from the wire greatly improved
  339. -[Improvement] New OnErrorDesc event added. This will receive a string errorDesc param. It has a higher chance that it’s stores a meaningfull error description then the previos OnError
  340. -[Bugfix] Fixed a case when the OnError didn’t called
  341. 1.7.11 (2015.04.27)
  342. General
  343. -[Improvement] Greatly improved chache filename generation. New filenames are much-much shorter, therefore (very) long urls can be saved now too
  344. -[Bugfix] Removed unnecessary entry in the link.xml. With this change, full stripping is supported in IL2CPP builds with the .NET 2.0 Subset Api Compatibility Level (Thanks goes to Andrew Wu from Scientific Games for catching/reporting it!)
  345. -[Bugfix] Authentication headers are transformed to lowercase
  346. WebSocket
  347. -[Bugfix] Fixed a case where server sent messages get lost when received before the OnOpen event
  348. 1.7.10(2015.04.17)
  349. General
  350. -[Improvement] The plugin will choose the best supported algorithm if multiple “Proxy-Authenticate” headers are present
  351. -[Improvement] Proxy authentication is now handled for explicit https too
  352. -[Improvement] Saved some cpu cycles and GC allocs while sending a request
  353. -[Improvement] New NonTransparentForHTTPS property in the HTTPProxy class to be able to automotacally switch proxy mode for secure protocols(https://, wss://)
  354. -[Improvement] More, and more accurate logging
  355. -[Improvement] Added some missing documentation to the HTTPProxy class
  356. -[Bugfix] Proxy authentication tried to send the wrong credentials
  357. -[Bugfix] Waiting for the request to finish with a StartCoroutine is exited sooner in some cases
  358. -[Bugfix] One of the HTTPProxy constructor doesn’t set the SendWholeUri to its default value
  359. -[Bugfix] AuthenticateAsClient called with the wrong host parameter when used with a proxy
  360. -[Bugfix] HTTPConnection class now will use the request DisableRetry property, and will not retry a post request by default
  361. -[Bugfix] Fixed a case where an Error state surfaced as Finished
  362. Socket.IO:
  363. -[Improvement] More improvements around transport fallback
  364. -[Improvement] Better error logging in WebSocketTransport
  365. WebSocket:
  366. -[Improvement] If global proxy is set (HTTPManager.Proxy) it will use it as a tunnel automatically
  367. -[Improvement] Better error logging
  368. 1.7.9 (2015.04.01)
  369. [New Feature] OnBeforeRedirection callback added to HTTPRequest. It’s called before a new request is made to the new url. In this callback the redirection can be disabled, or the request can be changed.
  370. [Improvement] Updated BouncyCastle to the latest git version
  371. [Improvement] When UseAlternateSSL is true, the client will send the hostname with the TLS handshake request to greatly improve HTTPS compatibility
  372. [Improvement] More logging
  373. [Bugfix] Fixed a case, when Socket.IO does not fall back to polling when the WebSocket transport fails to connect
  374. [Bugfix] A possible NullRef exception when the request Timed Out
  375. 1.7.8 (2015.03.25)
  376. [Bugfix] Fixed compile error in UploadStream.cs
  377. [Bugfix] Fixed compile errors on WP/WSA builds when used with JSON .NET For Unity (http://u3d.as/5q2)
  378. 1.7.7 (2015.03.17)
  379. [New Feature] Socket.IO’s SocketOptions has two new property to control additional query parameters of the requests
  380. [Improvement] New UploadStream.cs in the Examples folder to help and demonstrate uploading streams
  381. [Bugfix] UploadStream upload not worked
  382. 1.7.6 (2015.03.07)
  383. [New Feature] New CustomCertificateVerifyer property to the HTTPRequest class to be able to set custom validator for the AlternateSSL handler too
  384. [Improvement] Improved Unity5 compatibility
  385. 1.7.5 (2015.03.02)
  386. [New Feature] New Priority property in the HTTPRequest class to be able prioritize queued requests
  387. [Improvement] Additional GC alloc improvements
  388. [Bugfix] Fixed a possible crash in the plugin under iOS
  389. 1.7.4 (2015.02.25)
  390. [New Feature] New UploadStream property in the HTTPRequest class
  391. [New Feature] New OnUploadProgress callback in the HTTPRequest class
  392. [Improvement] Switched from System.Action usage to properly named delegates
  393. [Improvement] Removed some GC allocs
  394. [Bugfix] Fixed an example that tried to access an internal constant
  395. 1.7.3 (2015.02.10)
  396. [Improvement] Timeout improvement
  397. [Improvement] Unity 5 compatibility fixes
  398. 1.7.2 (2015.02.09)
  399. [Improvement] Custom cookies can be added to a HTTPRequest. More on this in the documentation
  400. [Improvement] Queued requests can be aborted too
  401. [Improvement] GetGeneralStatistics function added to the HTTPManager. This function will return a GeneralStatistics struct that contains infromations about connections, cache and cookies.
  402. [Improvement] HTTPRequest’s Callback can be set to a new value after the request’s State is changed
  403. [Improvement] New code samples with a demo-browser! Check it out live here: http://bit.ly/1AkM6gi
  404. -Texture Download Sample
  405. -Asset Bundle Download Sample
  406. -Large File Download Sample
  407. -WebSocket - Echo Sample
  408. -Socket.IO - Chat Sample
  409. -Socket.IO - WePlay Sample
  410. -Cache Maintenance Sample
  411. 1.7.1 (2015.02.03)
  412. [Improvement] Greater compatibility with IL2CPP
  413. 1.7.0 (2015.01.27)
  414. General:
  415. -[Improvement] Improved cache compatibility
  416. -[Improvement] Improved proxy compatibility
  417. -[Improvement] HTTPRequest’s Send function will return the request to be able to chain some functions
  418. -[Improvement] Logger Added to the HTTPManager. Initially the Socket.IO implementation will use it.
  419. -[Improvement] HTTPManager’s MaxConnectionIdleTime lowered to 30 secs
  420. -[Improvement] HTTPRange’s ToString is overridden for quicker debugging
  421. -[Improvement] HTTPRequest’s GetRange function will no longer throw a null exception when there is no “content-range” header. It will return with null.
  422. -[Improvement] Removed uncessary exception logging in Directory platformsupport code
  423. -[Improvement] Renamed Tree class to remove Unity warning
  424. -[Bugfix] Internal buffer size for streaming set to the wrong value
  425. WebSocket changes:
  426. -[Improvement] Added some missing documentation
  427. -[Improvement] Removed the need of a new thread to send automatic pings
  428. -[Improvement] New Send function to send a portion of a byte array
  429. Socket.IO
  430. -[New Feature] Initial Socket.IO release compatible with the latest official Socket.IO implementation
  431. 1.6.4 (2015.01.13)
  432. [Bugfix] POSTs with no data now will set the correct Content-Length header
  433. [Bugfix] Parallel POSTs to the same uri will no longer block each other
  434. 1.6.3 (2014.12.22)
  435. [Improvement] A global default proxy can be set through HTTPManager.Proxy instead of setting it per-request
  436. [Improvement] Added new callback-less constructor to the HTTPRequest (thx to eedok)
  437. [Improvement] Added some documentation
  438. [Bugfix] The proper “host:port” value will be set to the “Host” header (thx to Matthew Boehlig)
  439. [Bugfix] Removed accidentally added WP8.1 dependency
  440. 1.6.2 (2014.11.19)
  441. [Improvement] Native HTTPS support in WP8 and WinRT builds
  442. [Improvement] Removed some compiler warnings in WP8/WinRT builds
  443. [Improvement] Improved proxy compatibility
  444. [Improvement] Non-transparent proxy connection response(status code, message and headers) can be accessed through the request’s ProxyResponse property
  445. [Improvements] Added “Known Bugs/Limitations” to the documentation
  446. [Bugfix] HTTPManager.MaxConnectionPerServer will be handled correctly with proxies
  447. [Bugfix] Idle free connection will be removed correctly
  448. 1.6.1 (2014.11.09)
  449. [Bugfix] WebPlayer build failed to connect to the server
  450. [Bugfix] Two HTTPRequest states(Aborted and Error) unintentionally swapped, now they are back as supposed
  451. [Bugfix] Proxy header handling improvement
  452. [Improvement] More documentation
  453. 1.6.0 (2014.11.01)
  454. [New Feature] Windows Store Apps support added
  455. [Bugfix] Minor bugfixes
  456. 1.5.1 (2014.10.21)
  457. [Improvement] Added global ConnectTimeout and RequestTimeout properties to the HTTPManager
  458. [Improvement] Added documentation about the new features
  459. [Bugfix] multipart/form-data now sends the corrent line endings
  460. 1.5.0 (2014.10.18)
  461. [Improvement] ConnectionTimeout added to the HTTPRequest class to maximize the wait time to connect to the server.
  462. [Improvement] TimeOut added to the HTTPRequest class to maximize the wait time to finish a request.
  463. [Improvement] Updated BouncyCastle.
  464. [Improvement] Rewrote the WP8 TcpClient implementation
  465. [Improvement] Custom certification validation can be added to a HTTPRequest on iOS, Android and Desktop builds by setting the CustomCertificationValidator event.
  466. [BugFix] Fixed handling of an empty form data.
  467. 1.4.3 (2014.09.01)
  468. [Bug Fix] Various bug fixes around redirection
  469. 1.4.2 (2014.09.01)
  470. [Bug Fix] Fixed a bug that intruduced in 1.4.0 that prevented a WebSocket connection to connect to the host in a WebPlayer build
  471. [Improvement] Host header can be set now without overridden by the plugin
  472. [Improvement] Improved thread safety. Now sending requests on multiple threads are safe too.
  473. 1.4.0 (2014.08.19)
  474. [BugFix] Form sending doesn’t handled correctly in some cases
  475. [Improvement] Rewrote form sending. Now correctly supports Url-Encoded and Multipart forms
  476. [New Feature] Download aborting. An ongoing download can be aborted now through a HTTPRequest object’s Abort() function
  477. [New Feature] New HTTPRequestStates enum and State property in the HTTPRequest class to be able to check the current state of the request
  478. 1.3.7 (2014.08.03)
  479. [BugFix] In some situations a WebSocket length read incorrectly
  480. [New Feature] HTTPRequest can be used with yield return
  481. [New Feature] Install script to circumvent manual folder moving
  482. [Improvement] Improved link.xml
  483. 1.3.6 (2014.06.20)
  484. [Imp] Added some more inline ducumentation
  485. [Imp] Cookie parsing improvement if Path missing
  486. [Bugfix] Digest authentication missing "opaque="
  487. 1.3.5 (2014.06.15)
  488. [Improvement] Unknown Content-Encoding will be treated as “identity”
  489. [Improvement] Better WebSocket error handling
  490. [Improvement] Actualized examples
  491. [Improvement] link.xml in the package in case of stripping error
  492. [BugFix] Fixed WebSocket big frame reading error
  493. 1.3.x (2014.05.04)
  494. [New Feature] New OnProgress event in the HTTPRequest class to be able to track the download progress.
  495. 1.3.1 (2014.04.02)
  496. [Improvement] Improved compatibility with Good ol' Sockets
  497. 1.3.0 (2014.03.30)
  498. [New Feature] Transparent and Tunnel Proxy support with untested proxy authentication
  499. [New Feature] Cookie support! It will automatically handles all cookie sending and receiving, no additional code required!
  500. [Improvement] Handling a rare case when the server doesn’t sent Content-Length header in a regular non-chunked response
  501. [Improvement] Default User-Agent added
  502. [Bugfix] WP8 - fixed a case where reading back a response failed
  503. 1.2.3 (2014.01.06)
  504. [Improvement] WebSocket - Improvements around sending large text messages
  505. 1.2.2 (2014.01.05)
  506. [Improvement] WebSocket - Fragmented messages compatibility improvement
  507. [Improvement] WebSocket - New property in the WebSocketResponse class to control the maximum size of a fragment’s payload data (MaxFragmentSize).
  508. 1.2.1: (pro only)
  509. [Improvement] Ability to handle DHE_RSA_WITH_AES_256 certificates if UseAlternateSSL is set to true on a HTTPRequest object.
  510. 1.2.0 (2013.11.05)
  511. [New Feature] WebSockets
  512. 1.1.5 (2013.10.02)
  513. [New Feature] Basic and Digest authentication support through a new Credentials property in the HTTPRequest class
  514. [Improvement] More then one redirection supported for a single request
  515. [Improvement] New MaxRedirects property in the HTTPRequest class
  516. [Improvement] New GetFirstHeaderValue(string headerName) function in the HTTPRequest class
  517. [Improvement] New optimized parsers, for now only used for parsing the authentication header
  518. [Improvement] Some code cleanup
  519. [Bugfix] In some cases after sending the request and not receiving any data caused a new reconnect
  520. [Bugfix] Some caching proxies return with float values in Max-Age header
  521. 1.1.4 (2013.09.15)
  522. [New Feature] Unity 3.5 support added.
  523. [New Feature] WebPlayer support added.
  524. [Improvement] POST request doesn't retry the request when downloading/parsing the response fails. If something goes bad, the request object's Exception property will hold the exception (as always).
  525. [Improvement] There is a new property called DisableRetry to disable resending the request if downloading/parsing the response fails. The default value is true if the request's MethodType is POST, otherwise false.
  526. [Improvement] There is new property called RawData to send data in a POST request without setting any fields. If RawData is set any field that added through AddField, AddBinaryData, SetFields to the request will be ignored.