ChangeLog 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. Changes in version v2.10.1 - 2024-11-11
  2. - Issue 40406: Update version string
  3. Changes in version v2.10.0 - 2024-11-07
  4. - Issue 40402: Add proxy event for when client has connected
  5. - Issue 40405: Prevent panic for duplicate SnowflakeConn.Close() calls
  6. - Enable local time for proxy logging
  7. - Have proxy summary statistics log average transfer rate
  8. - Issue 40210: Remove duplicate poll interval loop in proxy
  9. - Issue 40371: Prevent broker and proxy from rejecting clients without ICE candidates
  10. - Issue 40392: Allow the proxy and probetest to set multiple STUN URLs
  11. - Issue 40387: Fix error in probetest NAT check
  12. - Fix proxy panic on invalid relayURL
  13. - Set empty pattern if broker bridge-list is empty
  14. - Improve documentation of Ephemeral[Min,Max]Port
  15. - Fix resource leak and NAT check in probetest
  16. - Fix memory leak from failed NAT check
  17. - Improve NAT check logging
  18. - Issue 40230: Send answer even if ICE gathering is not complete
  19. - Improve broker error message on unknown bridge fingerprint
  20. - Don't proxy private IP addresses
  21. - Only accept ws:// and wss:// relay addresses
  22. - Issue 40373: Add cli flag and SnowflakeProxy field to modify proxy poll interval
  23. - Use %w not $v in fmt.Errorf
  24. - Updates to documentation
  25. - Adjust copy buffer size to improve proxy performance
  26. - Improve descriptions of cli flags
  27. - Cosmetic changes for code readability
  28. - Issue 40367: Deduplicate prometheus metrics names
  29. - Report the version of snowflake to the tor process
  30. - Issue 40365: Indicate whether the repo was modified in the version string
  31. - Simplify NAT checking logic
  32. - Issue 40354: Use ptutil library for safelog and prometheus metrics
  33. - Add cli flag to set a listen address for proxy prometheus metrics
  34. - Issue 40345: Integrate docker image with release process
  35. - Bump versions of dependencies
  36. Changes in version v2.9.2 - 2024-03-18
  37. - Issue 40288: Add integration testing with Shadow
  38. - Issue 40345: Automatically build and push containers to our registry
  39. - Issue 40339: Fix client ID reuse bug in SQS rendezvous
  40. - Issue 40341: Modify SQS rendezvous arguments to use b64 encoded parameters
  41. - Issue 40330: Add new metrics at the broker for per-country rendezvous stats
  42. - Issue 40345: Update docker container tags
  43. - Bump versions of dependencies
  44. Changes in version v2.9.1 - 2024-02-27
  45. - Issue 40335: Fix release job
  46. - Change deprecated io/ioutil package to io package
  47. - Bump versions of dependencies
  48. Changes in version v2.9.0 - 2024-02-05
  49. - Issue 40285: Add vcs revision to version string
  50. - Issue 40294: Update recommended torrc options in client README
  51. - Issue 40306: Scrub space-separated IP addresses
  52. - Add proxy commandline option for probe server URL
  53. - Use SetNet setting in probest to ignore net.Interfaces error
  54. - Add probetest commandline option for STUN URL
  55. - Issue 26151: Implement SQS rendezvous in client and broker
  56. - Add broker metrics to track rendezvous method
  57. - Cosmetic code quality fixes
  58. - Bump versions of dependencies
  59. Changes in version v2.8.1 - 2023-12-21
  60. - Issue 40276: Reduce allocations in encapsulation.ReadData
  61. - Issue 40310: Remove excessive logging for closed proxy connections
  62. - Issue 40278: Add network fix for old version of android to proxy
  63. - Bump versions of dependencies
  64. Changes in version v2.8.0 - 2023-11-20
  65. - Issue 40069: Add outbound proxy support
  66. - Issue 40301: Fix for a bug in domain fronting configurations
  67. - Issue 40302: Remove throughput summary from proxy logger
  68. - Issue 40302: Change proxy stats logging to only log stats for traffic that occurred in the summary interval
  69. - Update renovate bot configuration to use Go 1.21
  70. - Bump versions of dependencies
  71. Changes in version v2.7.0 - 2023-10-16
  72. 7142fa3 fix(proxy): Correctly close connection pipe when dealing with error
  73. 6393af6 Remove proxy churn measurements from broker.
  74. a615e8b fix(proxy): remove _potential_ deadlock
  75. d434549 Maintain backward compatability with old clients
  76. 9fdfb3d Randomly select front domain from comma-separated list
  77. 5cdf52c Update dependencies
  78. 1559963 chore(deps): update module github.com/xtaci/kcp-go/v5 to v5.6.3
  79. 60e66be Remove Golang 1.20 from CI Testing
  80. 1d069ca Update CI targets to test android from golang 1.21
  81. 3a050c6 Use ShouldBeNil to check for nil values
  82. e45e8e5 chore(deps): update module github.com/smartystreets/goconvey to v1.8.1
  83. f47ca18 chore(deps): update module gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib to v1.5.0
  84. 106da49 chore(deps): update module github.com/pion/webrtc/v3 to v3.2.20
  85. 2844ac6 Update CI targets to include only Go 1.20 and 1.21
  86. f4e1ab9 chore(deps): update module golang.org/x/net to v0.15.0
  87. caaff70 Update module golang.org/x/sys to v0.12.0
  88. Changes in version v2.6.1 - 2023-09-11
  89. - a3bfc28 Update module golang.org/x/crypto to v0.12.0
  90. - e37e15a Update golang Docker tag to v1.21
  91. - b632c7d Workaround for shadow in lieu of AF_NETLINK support
  92. - 0cb2975 Update module golang.org/x/net to v0.13.0 [SECURITY]
  93. - f73fe6e Keep the 'v' from the tag on the released .tar.gz
  94. - 8104732 Change DefaultRelayURL back to wss://snowflake.torproject.net/.
  95. - d932cb2 feat: add option to expose the stats by using metrics
  96. - af73ab7 Add renovate config
  97. - aaeab3f Update dependencies
  98. - 58c3121 Close temporary UDPSession in TestQueuePacketConnWriteToKCP.
  99. - 80980a3 Fix a comment left over from turbotunnel-quic.
  100. - 08d1c6d Bump minimum required version of go
  101. Changes in version v2.6.0 - 2023-06-19
  102. - Issue 40243: Implement datachannel flow control at proxy
  103. - Issue 40087: Append Let's Encrypt ISRG Root X1 to cert pool
  104. - Issue 40198: Use IP_BIND_ADDRESS_NO_PORT when dialing the ORPort on linux
  105. - Move from gitweb to gitlab
  106. - Add warning log at broker when proxy does not connect with client
  107. - Fix unit tests after SDP validation
  108. - Soften non-critical log from error to warning
  109. - Issue 40231: Validate SDP offers and answers
  110. - Add scanner error check to ClusterCounter.Count
  111. - Fix server benchmark tests
  112. - Issue 40260: Use a sync.Pool to reuse QueuePacketConn buffers
  113. - Issue 40043: Restore ListenAndServe error in server
  114. - Update pion webrtc library versions
  115. - Issue 40108: Add outbound address config option to proxy
  116. - Issue 40260: Fix a data race in the Snowflake server
  117. - Issue 40216: Add utls-imitate, utls-nosni documentation to the README
  118. - Fix up/down traffic stats in standalone proxy
  119. - Issue 40226: Filter out ICE servers that are not STUN
  120. - Issue 40226: Update README to reflect the type of ICE servers we support
  121. - Issue 40226: Parse ICE servers using the pion/ice library function
  122. - Bring client torrc up to date with Tor Browser
  123. Changes in version v2.5.1 - 2023-01-18
  124. - Issue 40249: Fix issue with Skip Hello Verify patch
  125. Changes in version v2.5.0 - 2023-01-18
  126. - Issue 40249: Apply Skip Hello Verify Migration
  127. Changes in version v2.4.3 - 2023-01-16
  128. - Fix version number in version.go
  129. Changes in version v2.4.2 - 2023-01-13
  130. - Issue 40208: Enhance help info for capacity flag
  131. - Issue 40232: Update README and fix help output
  132. - Issue 40173: Increase clientIDAddrMapCapacity
  133. - Issue 40177: Manually unlock mutex in ClientMap.SendQueue
  134. - Issue 40177: Have SnowflakeClientConn implement io.WriterTo
  135. - Issue 40179: Reduce turbotunnel queueSize from 2048 to 512
  136. - Issue 40187/40199: Take ownership of buffer in QueuePacketConn QueueIncoming/WriteTo
  137. - Add more tests for URL encoded IPs (safelog)
  138. - Fix server flag name
  139. - Issue 40200: Use multiple parallel KCP state machines in the server
  140. - Add a num-turbotunnel server transport option
  141. - Issue: 40241: Switch default proxy STUN server to stun.l.google.com
  142. Changes in version v2.4.1 - 2022-12-01
  143. - Issue 40224: Bug fix in utls roundtripper
  144. Changes in version v2.4.0 - 2022-11-29
  145. - Fix proxy command line help output
  146. - Issue 40123: Reduce multicast DNS candidates
  147. - Add ICE ephemeral ports range setting
  148. - Reformat using Go 1.19
  149. - Update CI tests to include latest and minimum Go versions
  150. - Issue 40184: Use fixed unit for bandwidth logging
  151. - Update gorilla/websocket to v1.5.0
  152. - Issue 40175: Server performance improvements
  153. - Issue 40183: Change snowflake proxy log verbosity
  154. - Issue 40117: Display proxy NAT type in logs
  155. - Issue 40198: Add a `orport-srcaddr` server transport option
  156. - Add gofmt output to CI test
  157. - Issue 40185: Change bandwidth type from int to int64 to prevent overflow
  158. - Add version output support to snowflake
  159. - Issue 40229: Change regexes for ipv6 addresses to catch url-encoded addresses
  160. - Issue 40220: Close stale connections in standalone proxy
  161. Changes in version v2.3.0 - 2022-06-23
  162. - Issue 40146: Avoid performing two NAT probe tests at startup
  163. - Issue 40134: Log messages from client NAT check failures are confusing
  164. - Issue 34075: Implement metrics to measure snowflake churn
  165. - Issue 28651: Prepare all pieces of the snowflake pipeline for a second snowflake bridge
  166. - Issue 40129: Distributed Snowflake Server Support
  167. Changes in version v2.2.0 - 2022-05-25
  168. - Issue 40099: Initialize SnowflakeListener.closed
  169. - Add connection failure events for proxy timeouts
  170. - Issue 40103: Fix proxy logging verb tense
  171. - Fix up and downstream metrics output for proxy
  172. - Issue 40054: uTLS for broker negotiation
  173. - Forward bridge fingerprint from client to broker (WIP, Issue 28651)
  174. - Issue 40104: Make it easier to configure proxy type
  175. - Remove version from ClientPollRequest
  176. - Issue 40124: Move tor-specific code out of library
  177. - Issue 40115: Scrub pt event logs
  178. - Issue 40127: Bump webrtc and dtls library versions
  179. - Bump version of webrtc and dtls to fix dtls CVEs
  180. - Issue 40141: Ensure library calls of events can be scrubbed
  181. Changes in version v2.1.0 - 2022-02-08
  182. - Issue 40098: Remove support for legacy one shot mode
  183. - Issue 40079: Make connection summary at proxy privacy preserving
  184. - Issue 40076: Add snowflake event API for notifications of connection events
  185. - Issue 40084: Increase capacity of client address map at the server
  186. - Issue 40060: Further clean up snowflake server logs
  187. - Issue 40089: Validate proxy and client supplied strings at broker
  188. - Issue 40014: Update version of DTLS library to include fingerprinting fixes
  189. - Issue 40075: Support recurring NAT type check in standalone proxy
  190. Changes in version v2.0.0 - 2021-11-04
  191. - Turn the standalone snowflake proxy code into a library
  192. - Clean up and reworked the snowflake client and server library code
  193. - Unify broker/bridge domains to *.torproject.net
  194. - Updates to the snowflake library documentation
  195. - New package functions to define and set a rendezvous method with the
  196. broker
  197. - Factor out the broker geoip code into its own external library
  198. - Bug fix to check error calls in preparePeerConnection
  199. - Bug fixes in snowflake tests
  200. - Issue 40059: add the ability to pass in snowflake arguments through SOCKS
  201. - Increase buffer sizes for sending and receiving snowflake data
  202. - Issue 25985: rendezvous with the broker using AMP cache
  203. - Issue 40055: wait for the full poll interval between proxy polls
  204. Changes in version v1.1.0 - 2021-07-13
  205. - Refactors of the Snowflake broker code
  206. - Refactors of the Snowflake proxy code
  207. - Issue 40048: assign proxies based on self-reported client load
  208. - Issue 40052: fixed a memory leak in the server accept loop
  209. - Version bump of kcp and smux libraries
  210. - Bug fix to pass the correct client address to the Snowflake bridge metrics
  211. counter
  212. - Bug fixes to prevent race conditions in the Snowflake client
  213. Changes in version v1.0.0 - 2021-06-07
  214. - Initial release.