github.com/tumi8/quic-go@v0.37.4-tum/Changelog.md (about) 1 # Changelog 2 3 ## v0.22.0 (2021-07-25) 4 5 - Use `ReadBatch` to read multiple UDP packets from the socket with a single syscall 6 - Add a config option (`Config.DisableVersionNegotiationPackets`) to disable sending of Version Negotiation packets 7 - Drop support for QUIC draft versions 32 and 34 8 - Remove the `RetireBugBackwardsCompatibilityMode`, which was intended to mitigate a bug when retiring connection IDs in quic-go in v0.17.2 and ealier 9 10 ## v0.21.2 (2021-07-15) 11 12 - Update qtls (for Go 1.15, 1.16 and 1.17rc1) to include the fix for the crypto/tls panic (see https://groups.google.com/g/golang-dev/c/5LJ2V7rd-Ag/m/YGLHVBZ6AAAJ for details) 13 14 ## v0.21.0 (2021-06-01) 15 16 - quic-go now supports RFC 9000! 17 18 ## v0.20.0 (2021-03-19) 19 20 - Remove the `quic.Config.HandshakeTimeout`. Introduce a `quic.Config.HandshakeIdleTimeout`. 21 22 ## v0.17.1 (2020-06-20) 23 24 - Supports QUIC WG draft-29. 25 - Improve bundling of ACK frames (#2543). 26 27 ## v0.16.0 (2020-05-31) 28 29 - Supports QUIC WG draft-28. 30 31 ## v0.15.0 (2020-03-01) 32 33 - Supports QUIC WG draft-27. 34 - Add support for 0-RTT. 35 - Remove `Session.Close()`. Applications need to pass an application error code to the transport using `Session.CloseWithError()`. 36 - Make the TLS Cipher Suites configurable (via `tls.Config.CipherSuites`). 37 38 ## v0.14.0 (2019-12-04) 39 40 - Supports QUIC WG draft-24. 41 42 ## v0.13.0 (2019-11-05) 43 44 - Supports QUIC WG draft-23. 45 - Add an `EarlyListener` that allows sending of 0.5-RTT data. 46 - Add a `TokenStore` to store address validation tokens. 47 - Issue and use new connection IDs during a connection. 48 49 ## v0.12.0 (2019-08-05) 50 51 - Implement HTTP/3. 52 - Rename `quic.Cookie` to `quic.Token` and `quic.Config.AcceptCookie` to `quic.Config.AcceptToken`. 53 - Distinguish between Retry tokens and tokens sent in NEW_TOKEN frames. 54 - Enforce application protocol negotiation (via `tls.Config.NextProtos`). 55 - Use a varint for error codes. 56 - Add support for [quic-trace](https://github.com/google/quic-trace). 57 - Add a context to `Listener.Accept`, `Session.Accept{Uni}Stream` and `Session.Open{Uni}StreamSync`. 58 - Implement TLS key updates. 59 60 ## v0.11.0 (2019-04-05) 61 62 - Drop support for gQUIC. For qQUIC support, please switch to the *gquic* branch. 63 - Implement QUIC WG draft-19. 64 - Use [qtls](https://github.com/marten-seemann/qtls) for TLS 1.3. 65 - Return a `tls.ConnectionState` from `quic.Session.ConnectionState()`. 66 - Remove the error return values from `quic.Stream.CancelRead()` and `quic.Stream.CancelWrite()` 67 68 ## v0.10.0 (2018-08-28) 69 70 - Add support for QUIC 44, drop support for QUIC 42. 71 72 ## v0.9.0 (2018-08-15) 73 74 - Add a `quic.Config` option for the length of the connection ID (for IETF QUIC). 75 - Split Session.Close into one method for regular closing and one for closing with an error. 76 77 ## v0.8.0 (2018-06-26) 78 79 - Add support for unidirectional streams (for IETF QUIC). 80 - Add a `quic.Config` option for the maximum number of incoming streams. 81 - Add support for QUIC 42 and 43. 82 - Add dial functions that use a context. 83 - Multiplex clients on a net.PacketConn, when using Dial(conn). 84 85 ## v0.7.0 (2018-02-03) 86 87 - The lower boundary for packets included in ACKs is now derived, and the value sent in STOP_WAITING frames is ignored. 88 - Remove `DialNonFWSecure` and `DialAddrNonFWSecure`. 89 - Expose the `ConnectionState` in the `Session` (experimental API). 90 - Implement packet pacing. 91 92 ## v0.6.0 (2017-12-12) 93 94 - Add support for QUIC 39, drop support for QUIC 35 - 37 95 - Added `quic.Config` options for maximal flow control windows 96 - Add a `quic.Config` option for QUIC versions 97 - Add a `quic.Config` option to request omission of the connection ID from a server 98 - Add a `quic.Config` option to configure the source address validation 99 - Add a `quic.Config` option to configure the handshake timeout 100 - Add a `quic.Config` option to configure the idle timeout 101 - Add a `quic.Config` option to configure keep-alive 102 - Rename the STK to Cookie 103 - Implement `net.Conn`-style deadlines for streams 104 - Remove the `tls.Config` from the `quic.Config`. The `tls.Config` must now be passed to the `Dial` and `Listen` functions as a separate parameter. See the [Godoc](https://godoc.org/github.com/tumi8/quic-go) for details. 105 - Changed the log level environment variable to only accept strings ("DEBUG", "INFO", "ERROR"), see [the wiki](https://github.com/tumi8/quic-go/wiki/Logging) for more details. 106 - Rename the `h2quic.QuicRoundTripper` to `h2quic.RoundTripper` 107 - Changed `h2quic.Server.Serve()` to accept a `net.PacketConn` 108 - Drop support for Go 1.7 and 1.8. 109 - Various bugfixes