v0.15.0
marten-seemann
released this
09 Sep 22:09
·
3938 commits
to master
since this release
We're happy to announce go-libp2p v0.15.0. This release adds a new mDNS implementation, deprecating our old (and buggy) one.
This release also removes a lot of deprecated interfaces, functions, methods and variables.
Changelog
- github.com/libp2p/go-libp2p:
- chore: update go-tcp-transport to v0.2.8
- implement the new mDNS spec, move the old mDNS implementation (#1161) (libp2p/go-libp2p#1161)
- chore: update dependencies for the v0.15 release (libp2p/go-libp2p#1160)
- remove deprecated basichost.New constructor (libp2p/go-libp2p#1156)
- Make BasicHost.evtLocalAddrsUpdated event emitter stateful. (libp2p/go-libp2p#1147)
- fix: deflake multipro echo test (libp2p/go-libp2p#1149)
- fix(basic_host): stream not closed when context done (libp2p/go-libp2p#1148)
- chore: update deps (libp2p/go-libp2p#1141)
- remove secio from examples (libp2p/go-libp2p#1143)
- remove deprecated Filter option (libp2p/go-libp2p#1132)
- fix: remove deprecated call (libp2p/go-libp2p#1136)
- test: fix flaky example test (libp2p/go-libp2p#1135)
- remove deprecated identify.ClientVersion (libp2p/go-libp2p#1133)
- github.com/ipfs/go-datastore (v0.4.5 -> v0.4.6):
- speedup tests (ipfs/go-datastore#177)
- test: reduce element count when the race detector is enabled (ipfs/go-datastore#176)
- fix staticcheck (ipfs/go-datastore#173)
- remove Makefile (ipfs/go-datastore#172)
- github.com/ipfs/go-ds-badger (v0.2.3 -> v0.2.7):
- Log start and end of GC rounds (ipfs/go-ds-badger#115)
- Log error if batch not committed or canceled (ipfs/go-ds-badger#108)
- Add Cancel function; add finalizer to cleanup abandoned batch (ipfs/go-ds-badger#105)
- Do not implement batches using transactions (ipfs/go-ds-badger#104)
- build(deps): bump github.com/dgraph-io/badger from 1.6.1 to 1.6.2 (#100) (ipfs/go-ds-badger#100)
- readme: add information on Badger2 datastore (ipfs/go-ds-badger#102)
- update contributing link (ipfs/go-ds-badger#91)
- Add autocomment configuration
- Add standard issue template
- Use current go-log (#89) (ipfs/go-ds-badger#89)
- fix: verify that the datastore is still open when querying (ipfs/go-ds-badger#87)
- github.com/ipfs/go-log (v1.0.4 -> v1.0.5):
- chore: update v1 deps (ipfs/go-log#108)
- github.com/ipfs/go-log/v2 (v2.1.3 -> v2.3.0):
- Stop defaulting to color output on non-TTY (ipfs/go-log#116)
- feat: add ability to use custom zap core (ipfs/go-log#114)
- fix staticcheck (ipfs/go-log#112)
- test: fix flaky label test (ipfs/go-log#111)
- per-subsystem log-levels (ipfs/go-log#109)
- fix: don't panic on invalid log labels (ipfs/go-log#110)
- github.com/libp2p/go-addr-util (v0.0.2 -> v0.1.0):
- stop using the deprecated go-multiaddr-net package (libp2p/go-addr-util#34)
- Remove
IsFDCostlyTransport
(libp2p/go-addr-util#31)
- github.com/libp2p/go-libp2p-core (v0.8.5 -> v0.9.0):
- feat: remove unused metrics (#208) (libp2p/go-libp2p-core#208)
- feat: keep addresses for longer (#207) (libp2p/go-libp2p-core#207)
- remove deprecated key stretching struct / function (#203) (libp2p/go-libp2p-core#203)
- remove deprecated Bytes method from the Key interface (#204) (libp2p/go-libp2p-core#204)
- remove deprecated functions in the peer package (#205) (libp2p/go-libp2p-core#205)
- remove deprecated constructor for the insecure transport (#206) (libp2p/go-libp2p-core#206)
- feat: add helper functions for working with addr infos (#202) (libp2p/go-libp2p-core#202)
- fix: make timestamps strictly increasing (#201) (libp2p/go-libp2p-core#201)
- ci: use github-actions for compatibility testing (#200) (libp2p/go-libp2p-core#200)
- remove minimum Go version from README (#199) (libp2p/go-libp2p-core#199)
- remove flaky tests (#194) (libp2p/go-libp2p-core#194)
- reduce default timeouts to 15s (#192) (libp2p/go-libp2p-core#192)
- fix benchmark of key verifications (#190) (libp2p/go-libp2p-core#190)
- fix staticcheck errors (#191) (libp2p/go-libp2p-core#191)
- doc: document Close on Transport (#188) (libp2p/go-libp2p-core#188)
- add a helper function to go directly from a string to an AddrInfo (#184) (libp2p/go-libp2p-core#184)
- github.com/libp2p/go-libp2p-discovery (v0.5.0 -> v0.5.1):
- Fix hang in BackoffDiscovery.FindPeers when requesting limit lower than number of peers available (libp2p/go-libp2p-discovery#69)
- fix staticcheck (libp2p/go-libp2p-discovery#70)
- github.com/libp2p/go-libp2p-noise (v0.2.0 -> v0.2.2):
- remove note about go modules in README (libp2p/go-libp2p-noise#100)
- fix: remove deprecated call to pk.Bytes (libp2p/go-libp2p-noise#99)
- github.com/libp2p/go-libp2p-peerstore (v0.2.7 -> v0.2.8):
- Fix perfomance issue in updating addr book (libp2p/go-libp2p-peerstore#141)
- Fix test flakes (libp2p/go-libp2p-peerstore#164)
- Only remove records during GC (libp2p/go-libp2p-peerstore#135)
- fix: fix some race conditions in the ds address book (libp2p/go-libp2p-peerstore#161)
- address lints and test failures (libp2p/go-libp2p-peerstore#159)
- stop using the deprecated go-multiaddr-net package (libp2p/go-libp2p-peerstore#158)
- github.com/libp2p/go-libp2p-quic-transport (v0.10.0 -> v0.11.2):
- update quic-go to v0.21.2
- update quic-go to v0.21.1 (libp2p/go-libp2p-quic-transport#208)
- update quic-go, enable QUIC v1 (RFC 9000) (libp2p/go-libp2p-quic-transport#207)
- update quic-go to v0.21.0-rc2 (libp2p/go-libp2p-quic-transport#206)
- increase test timeout to reduce flakiness of test on Windows (libp2p/go-libp2p-quic-transport#204)
- correctly export version negotiation failures to Prometheus (libp2p/go-libp2p-quic-transport#205)
- update quic-go to v0.20.1 (libp2p/go-libp2p-quic-transport#201)
- expose some Prometheus metrics (libp2p/go-libp2p-quic-transport#200)
- update quic-go to v0.20.0 (libp2p/go-libp2p-quic-transport#198)
- reduce the zstd window size from 8 MB to 32 KB (libp2p/go-libp2p-quic-transport#195)
- compress qlogs when the QUIC connection is closed (libp2p/go-libp2p-quic-transport#193)
- switch from gzip to zstd for qlog compression (libp2p/go-libp2p-quic-transport#190)
- github.com/libp2p/go-libp2p-swarm (v0.5.0 -> v0.5.3):
- fix: downgrade multiaddr (libp2p/go-libp2p-swarm#266)
- chore: downgrade go-libp2p-core (libp2p/go-libp2p-swarm#265)
- chore: update deps (libp2p/go-libp2p-swarm#264)
- remove incorrect call to InterceptAddrDial (libp2p/go-libp2p-swarm#260)
- speed up the TestFDLimitUnderflow test (libp2p/go-libp2p-swarm#262)
- github.com/libp2p/go-libp2p-testing (v0.4.0 -> v0.4.2):
- fix deadlock in the transport's serve function (libp2p/go-libp2p-testing#35)
- fix: cleanup transport suite (libp2p/go-libp2p-testing#34)
- Address
go vet
andsaticcheck
issues (libp2p/go-libp2p-testing#33) - Defer closing stream for reading (libp2p/go-libp2p-testing#32)
- github.com/libp2p/go-libp2p-tls (v0.1.3 -> v0.2.0):
- fix: don't fail the handshake when the libp2p extension is critical (libp2p/go-libp2p-tls#88)
- fix deprecated call to key.Bytes (libp2p/go-libp2p-tls#86)
- remove the autorebase workflow (#82) (libp2p/go-libp2p-tls#82)
- set Go version to 1.15 and run go mod tidy (#80) (libp2p/go-libp2p-tls#80)
- remove Travis config (libp2p/go-libp2p-tls#79)
- add .github/workflows/go-check.yml (#76) (libp2p/go-libp2p-tls#76)
- run go mod tidy (libp2p/go-libp2p-tls#78)
- fix usage of deprecated peer.IDB58Decode (libp2p/go-libp2p-tls#77)
- add .github/workflows/go-test.yml (#75) (libp2p/go-libp2p-tls#75)
- add .github/workflows/automerge.yml (#74) (libp2p/go-libp2p-tls#74)
- add .github/workflows/autorebase.yml (libp2p/go-libp2p-tls#73)
- remove setting of the TLS 1.3 GODEBUG flag (libp2p/go-libp2p-tls#68)
- improve the error message returned when peer verification fails (libp2p/go-libp2p-tls#57)
- update to Go 1.14 (libp2p/go-libp2p-tls#54)
- Bump github.com/onsi/ginkgo from 1.11.0 to 1.12.0 (libp2p/go-libp2p-tls#48)
- Bump github.com/onsi/gomega from 1.8.1 to 1.9.0 (libp2p/go-libp2p-tls#49)
- (libp2p/go-libp2p-tls#45)
- Bump github.com/onsi/gomega from 1.7.1 to 1.8.1 (libp2p/go-libp2p-tls#47)
- Bump github.com/libp2p/go-libp2p-core from 0.2.5 to 0.3.0 (libp2p/go-libp2p-tls#44)
- Update deps and fix tests (libp2p/go-libp2p-tls#43)
- Bump github.com/onsi/gomega from 1.4.3 to 1.7.1 (libp2p/go-libp2p-tls#40)
- Bump github.com/onsi/ginkgo from 1.7.0 to 1.10.3 (libp2p/go-libp2p-tls#42)
- github.com/libp2p/go-libp2p-transport-upgrader (v0.4.2 -> v0.4.6):
- fix: downgrade multiaddr (libp2p/go-libp2p-transport-upgrader#80)
- fix: downgrade core (libp2p/go-libp2p-transport-upgrader#79)
- chore: update deps (libp2p/go-libp2p-transport-upgrader#78)
- fix typo in error message (libp2p/go-libp2p-transport-upgrader#77)
- fix staticcheck (libp2p/go-libp2p-transport-upgrader#74)
- don't listen on all interfaces in tests (libp2p/go-libp2p-transport-upgrader#73)
- stop using the deprecated go-multiaddr-net (libp2p/go-libp2p-transport-upgrader#72)
- github.com/libp2p/go-reuseport-transport (v0.0.4 -> v0.0.5):
- remove note about Go modules in README (libp2p/go-reuseport-transport#32)
- stop using the deprecated go-multiaddr-net package (libp2p/go-reuseport-transport#30)
- github.com/libp2p/go-tcp-transport (v0.2.4 -> v0.2.8):
- disable metrics collection on Windows (libp2p/go-tcp-transport#93)
- chore: downgrade multiaddr (libp2p/go-tcp-transport#89)
- fix: downgrade go-libp2p-core (libp2p/go-tcp-transport#88)
- chore: update go-libp2p-transport-upgrader and go-multiaddr (libp2p/go-tcp-transport#87)
- chore: update go-libp2p-transport-upgrader and go-reuseport-transport (libp2p/go-tcp-transport#84)
- update go-libp2p-testing to v0.4.2 (libp2p/go-tcp-transport#86)
- github.com/libp2p/go-ws-transport (v0.4.0 -> v0.5.0):
- chore: update go-libp2p-testing to v0.4.2 (libp2p/go-ws-transport#104)
- chore: update go-libp2p-transport-upgrader and go-libp2p-core (libp2p/go-ws-transport#103)
- remove deprecated type (libp2p/go-ws-transport#102)
- chore: various cleanups required to get vet/staticcheck/test to pass (libp2p/go-ws-transport#100)
- github.com/lucas-clemente/quic-go (v0.19.3 -> v0.21.2):
- update qtls to include the crypto/tls fix of Go 1.16.6 / 1.15.14
- cancel the PTO timer when all Handshake packets are acknowledged
- update to Go 1.17rc1
- update Ginkgo to v1.16.4 and Gomega to v1.13.0 (lucas-clemente/quic-go#3139)
- add support for Go 1.17 Beta 1 (lucas-clemente/quic-go#3203)
- add a CI test that go mod vendor works (lucas-clemente/quic-go#3202)
- prevent go mod vendor from stumbling over the Go 1.18 file (lucas-clemente/quic-go#3195)
- update gomock to v1.6.0 (lucas-clemente/quic-go#3201)
- remove CipherSuiteName and HkdfExtract for Go 1.17 (lucas-clemente/quic-go#3192)
- fix relocation target for cipherSuiteTLS13ByID in Go 1.17
- use HkdfExtract from x/crypto (lucas-clemente/quic-go#3173)
- add support for QUIC v1, RFC 9000 (lucas-clemente/quic-go#3190)
- use tls.CipherSuiteName, instead of wrapping it in the qtls package (lucas-clemente/quic-go#3174)
- use a pre-generated test vectors to test hkdfExpandLabel (lucas-clemente/quic-go#3175)
- reduce flakiness of packet number generation test (lucas-clemente/quic-go#3181)
- simplify the qtls tests (lucas-clemente/quic-go#3185)
- add support for Go 1.17 (tip) (lucas-clemente/quic-go#3182)
- prevent quic-go from building on Go 1.17 (lucas-clemente/quic-go#3180)
- fix DONT_FRAGMENT error when using a IPv6 connection on Windows (lucas-clemente/quic-go#3178)
- use go install to install Ginkgo on CircleCI (lucas-clemente/quic-go#3176)
- use net.ErrClosed (for Go 1.16) (lucas-clemente/quic-go#3163)
- use the new error types to log the reason why a connection is closed (lucas-clemente/quic-go#3166)
- fix race condition in deadline integration test (lucas-clemente/quic-go#3165)
- add support for QUIC v1 (lucas-clemente/quic-go#3160)
- rework error return values (lucas-clemente/quic-go#3159)
- declare Path MTU probe packets lost with the early retransmit timer (lucas-clemente/quic-go#3152)
- declare the handshake confirmed when receiving an ACK for a 1-RTT packet (lucas-clemente/quic-go#3148)
- update Go version in go.mod to Go 1.15 (lucas-clemente/quic-go#3140)
- trace and qlog version selection / negotiation (lucas-clemente/quic-go#3153)
- set the don't fragment (DF) bit on Windows (#3155) (lucas-clemente/quic-go#3155)
- fix doc comment for Tracer.TracerForConnection (lucas-clemente/quic-go#3154)
- make it possible to associate a ConnectionTracer with a Session (lucas-clemente/quic-go#3146)
- remove the .editorconfig (lucas-clemente/quic-go#3147)
- don't use a lower RTT than 5ms after receiving a Retry packet (lucas-clemente/quic-go#3129)
- don't pass the QUIC version to the StartedConnection event (lucas-clemente/quic-go#3109)
- update the packet numbers in decoding test to the ones from the draft (lucas-clemente/quic-go#3137)
- various amplification limit fixes (lucas-clemente/quic-go#3132)
- fix calculation of the handshake idle timeout (lucas-clemente/quic-go#3120)
- only start PMTUD after handshake confirmation (lucas-clemente/quic-go#3138)
- don't regard PMTU probe packets as outstanding (lucas-clemente/quic-go#3126)
- expose the draft-34 version (lucas-clemente/quic-go#3100)
- clean up the testutils (lucas-clemente/quic-go#3104)
- initialize the congestion controller with the actual max datagram size (lucas-clemente/quic-go#3107)
- make it possible to trace acknowledged packets (lucas-clemente/quic-go#3134)
- avoid type confusion between protocol.PacketType and logging.PacketType (lucas-clemente/quic-go#3108)
- fix duplicate logging of errors when the first error was a timeout error (lucas-clemente/quic-go#3112)
- use a tracer to make the packetization test more useful (lucas-clemente/quic-go#3136)
- improve string representation of timeout errors (lucas-clemente/quic-go#3118)
- fix flaky timeout test (lucas-clemente/quic-go#3105)
- fix calculation of the time for the next keep alive
- add a 0-RTT test with different connecton ID lengths (lucas-clemente/quic-go#3098)
- only run Ginkgo focus detection in staged files in pre-commit hook (lucas-clemente/quic-go#3099)
- fix evalution of DEBUG flag in integration test workflow (lucas-clemente/quic-go#3095)
- allow 0-RTT when flow control windows are increased (lucas-clemente/quic-go#3096)
- improve the 0-RTT rejection integration test (lucas-clemente/quic-go#3097)
- rename config values for flow control limits (lucas-clemente/quic-go#3089)
- allow 0-RTT resumption if the server's stream limit was increased (lucas-clemente/quic-go#3086)
- cache the serialized OOB in the conn, not in the packet info (lucas-clemente/quic-go#3093)
- use code points from x/sys/unix for PKTINFO syscalls (lucas-clemente/quic-go#3094)
- make it possible to detect version negotiation failures in logging, fix qlogging of those (lucas-clemente/quic-go#3092)
- make the initial stream / connection flow control windows configurable (lucas-clemente/quic-go#3083)
- only apply server's transport parameters after handshake completion (lucas-clemente/quic-go#3085)
- fix documentation for baseFlowController.UpdateSendWindow (lucas-clemente/quic-go#3087)
- set the Content-Length for HTTP/3 responses (lucas-clemente/quic-go#3091)
- update the flow control windows of streams opened in 0-RTT (lucas-clemente/quic-go#3088)
- Use the correct source IP when binding multiple IPs (lucas-clemente/quic-go#3067)
- fix race condition when receiving 0-RTT packets (lucas-clemente/quic-go#3074)
- require the application to handle 0-RTT rejection (lucas-clemente/quic-go#3066)
- clean up the GitHub Action unit test workflow (lucas-clemente/quic-go#2893)
- add a debug option to the GitHub Action integrationtest workflow (lucas-clemente/quic-go#3059)
- add an internal queue to signal that a datagram frame has been dequeued (lucas-clemente/quic-go#3081)
- increase the maximum size of DATAGRAM frames (lucas-clemente/quic-go#2966)
- remove non-functioning 0-RTT test with different conn ID lengths (lucas-clemente/quic-go#3079)
- reject 0-RTT before handling transport parameters (lucas-clemente/quic-go#3073)
- remove stray struct equality check (lucas-clemente/quic-go#3078)
- fix issuing of connection IDs when dialing a 0-RTT connections (lucas-clemente/quic-go#3058)
- only call the Rejected0RTT() callback on HRR when 0-RTT was tried (lucas-clemente/quic-go#3070)
- only accept 0-RTT it the active_connection_id_limit didn't change (lucas-clemente/quic-go#3060)
- remove unused error return value from HandleMaxStreamsFrame (lucas-clemente/quic-go#3072)
- fix flaky accept queue integration test (lucas-clemente/quic-go#3068)
- use Go 1.16 in the linting workflow, run go mod tidy using Go 1.16 (lucas-clemente/quic-go#3069)
- don't reset the QPACK encoder / decoder streams (lucas-clemente/quic-go#3063)
- remove incorrect logging for client side retry packet (lucas-clemente/quic-go#3071)
- allow sending 1xx responses (#3047) (lucas-clemente/quic-go#3047)
- fix retry key and nonce for draft-34 (lucas-clemente/quic-go#3062)
- set the TIMESCALE_FACTOR for integration tests on CircleCI and GitHub Actions
- implement DPLPMTUD (lucas-clemente/quic-go#3028)
- only read multiple packets at a time after handshake completion (lucas-clemente/quic-go#3041)
- update qtls to a version that doesn't exports 0-RTT when it's rejected (lucas-clemente/quic-go#3056)
- make the certificate verificiation integration tests more explicit (lucas-clemente/quic-go#3040)
- update gomock to v1.5.0, use mockgen source mode (lucas-clemente/quic-go#3049)
- trace dropping of 0-RTT keys (lucas-clemente/quic-go#3054)
- improve timeout measurement in the timeout test (lucas-clemente/quic-go#3042)
- add a randomized test for the received_packet_history (lucas-clemente/quic-go#3052)
- fix documentation of default values for MaxReceive{Stream, Connection}FlowControlWindow (lucas-clemente/quic-go#3055)
- refactor merge packet number ranges (lucas-clemente/quic-go#3051)
- add draft-34 to support versions in README
- update README to reflect dropped Go 1.14 support
- remove redundant nil-check in the packet packer (lucas-clemente/quic-go#3048)
- avoid using rand.Source (lucas-clemente/quic-go#3046)
- update Go to 1.16, drop support for 1.14 (lucas-clemente/quic-go#3045)
- fix error message when the UDP receive buffer size can't be increased (lucas-clemente/quic-go#3039)
- add the time_format field to qlog common_fields (lucas-clemente/quic-go#3038)
- log connection IDs without the 0x prefix (lucas-clemente/quic-go#3036)
- add support for QUIC draft-34 (lucas-clemente/quic-go#3031)
- fix qtls imports in mockgen generated mocks (lucas-clemente/quic-go#3037)
- improve error message when the read buffer size can't be set (lucas-clemente/quic-go#3030)
- qlog the quic-go version (lucas-clemente/quic-go#3033)
- remove the metrics package (lucas-clemente/quic-go#3032)
- expose the constructor for the qlog connection tracer (lucas-clemente/quic-go#3034)
- expose the constructor for the multipexed connection tracer (lucas-clemente/quic-go#3035)
- update qtls and CI to Go 1.16rc1 (lucas-clemente/quic-go#3027)
- temporarily disable 1.16 on CI, fix cross compile workflow (lucas-clemente/quic-go#3026)
- make sure the server is stopped before closing all server sessions (lucas-clemente/quic-go#3020)
- increase the size of the send queue (lucas-clemente/quic-go#3016)
- prioritize receiving packets over sending out more packets (lucas-clemente/quic-go#3015)
- reenable key updates for HTTP/3 (lucas-clemente/quic-go#3017)
- check for errors after handling each previously undecryptable packet (lucas-clemente/quic-go#3011)
- fix flaky streams map test on Windows (lucas-clemente/quic-go#3013)
- fix flaky stream cancelation integration test (lucas-clemente/quic-go#3014)
- preallocate a slice of one frame when packing a packet (lucas-clemente/quic-go#3018)
- allow sending of ACKs when pacing limited (lucas-clemente/quic-go#3010)
- fix qlogging of the packet payload length (lucas-clemente/quic-go#3004)
- corrupt more ACKs in the MITM test (lucas-clemente/quic-go#3007)
- fix flaky key update integration test (lucas-clemente/quic-go#3005)
- immediately complete streams that were canceled, drop retransmissions (lucas-clemente/quic-go#3003)
- stop generating new packets when the send queue is full (lucas-clemente/quic-go#2971)
- allow access to the underlying quic.Stream from a http.ResponseWriter (lucas-clemente/quic-go#2993)
- remove stay print statement from session test
- allow receiving of multiple packets before sending a packet (lucas-clemente/quic-go#2984)
- use cryptographic random for determining skipped packet numbers (lucas-clemente/quic-go#2940)
- fix interpretation of time.Time{} as a pacing deadline (lucas-clemente/quic-go#2980)
- qlog restored transport parameters (lucas-clemente/quic-go#2991)
- use a pkg.go.dev instead of a GoDoc badge (lucas-clemente/quic-go#2982)
- introduce a separate queue for undecryptable packets (lucas-clemente/quic-go#2988)
- use a text-based comparison in the go-generate workflow (lucas-clemente/quic-go#2992)
- run golangci-lint in a separate job (lucas-clemente/quic-go#2994)
- improve 0-RTT queue (lucas-clemente/quic-go#2990)
- simplify switch statement in the transport parameter parser (lucas-clemente/quic-go#2995)
- remove unneeded overflow check when parsing the max_ack_delay (lucas-clemente/quic-go#2996)
- remove unneeded check in receivedPacketHandler.IsPotentiallyDuplicate (lucas-clemente/quic-go#2998)
- qlog the max_datagram_frame_size transport parameter (lucas-clemente/quic-go#2997)
- qlog draft-02 fixes (lucas-clemente/quic-go#2987)
- fix flaky qlog test (lucas-clemente/quic-go#2981)
- only run gofumpt on .go files in pre-commit hook (lucas-clemente/quic-go#2983)
- fix outdated comment for the http3.Server
- make the OpenStreamSync cancelation test less flaky (lucas-clemente/quic-go#2978)
- add some useful pre-commit hooks (lucas-clemente/quic-go#2979)
- publicize QUIC varint reading and writing (lucas-clemente/quic-go#2973)
- add a http3.RoundTripOpt to skip the request scheme check (lucas-clemente/quic-go#2962)
- improve go mod tidy workflow (lucas-clemente/quic-go#2967)
- use the standard quic.Config in the deadline tests (lucas-clemente/quic-go#2970)
- update golangci-lint to v1.34.1 (lucas-clemente/quic-go#2964)
- update text about QUIC versions in the README (lucas-clemente/quic-go#2975)
- reenable cross compilation test on darwin/arm64 for Go 1.16 (lucas-clemente/quic-go#2976)
- update golang.org/x/sys to allow building on openbsd/mips64 (lucas-clemente/quic-go#2972)
- remove stray TODO in the http3.Server
- fix YAML syntax error in setup-go step (lucas-clemente/quic-go#2968)
- add support for Go 1.16 (lucas-clemente/quic-go#2953)
- cancel reading on unidirectional streams when the stream type is unknown (lucas-clemente/quic-go#2952)
- remove duplicate check of the URL scheme in the HTTP/3 client (lucas-clemente/quic-go#2956)
- disable fail-fast for all GitHub Actions matrix builds (lucas-clemente/quic-go#2955)
- increase queueing duration in 0-RTT queue test to reduce flakiness (lucas-clemente/quic-go#2954)
- implement the HTTP/3 Datagram negotiation (lucas-clemente/quic-go#2951)
- implement HTTP/3 control stream handling (lucas-clemente/quic-go#2949)
- fix flaky sentPacketHandler test (lucas-clemente/quic-go#2950)
- don't retransmit PING frames added to ACK-only packets (lucas-clemente/quic-go#2942)
- move the transport parameter stream limit check to the parser (lucas-clemente/quic-go#2944)
- remove unused initialVersion variable in session (lucas-clemente/quic-go#2946)
- remove unneeded check for the peer's transport parameters (lucas-clemente/quic-go#2945)
- add the H3_MESSAGE_ERROR (lucas-clemente/quic-go#2947)
- simplify Read and Write mock calls in http3 tests (lucas-clemente/quic-go#2948)
- implement the datagram draft (lucas-clemente/quic-go#2162)
- fix logging of bytes_in_flight when receiving an ACK (lucas-clemente/quic-go#2937)
- trace when a packet is dropped because the receivedPackets chan is full (lucas-clemente/quic-go#2939)
- various improvements to the packet number generator (lucas-clemente/quic-go#2905)
- introduce a quic.Config.HandshakeIdleTimeout, remove HandshakeTimeout (lucas-clemente/quic-go#2930)
- allow up to 20 byte for the initial connection IDs (lucas-clemente/quic-go#2936)
- reduce memory footprint of undecryptable packet handling (lucas-clemente/quic-go#2932)
- use a buffer from the pool for composing Retry packets (lucas-clemente/quic-go#2934)
- release the packet buffer after sending a CONNECTION_CLOSE in the server (lucas-clemente/quic-go#2935)
- move integration tests to GitHub Actions, disable Travis (lucas-clemente/quic-go#2891)
- use golang.org/x/sys/unix instead of syscall (lucas-clemente/quic-go#2927)
- add support for the connection_closed qlog event (lucas-clemente/quic-go#2921)
- qlog tokens in NEW_TOKEN frames, Retry packets and Initial packets (lucas-clemente/quic-go#2863)
- qlog the packet_type as part of the packet header, not the event itself (lucas-clemente/quic-go#2758)
- use the new, streaming-friendly NDJSON-based qlog encoding (lucas-clemente/quic-go#2736)
- add a generic Debug() function to the connection tracer (lucas-clemente/quic-go#2909)
- remove unnecessary call to time.Now() when sending a packet (lucas-clemente/quic-go#2911)
- remove support for quic-trace (lucas-clemente/quic-go#2913)
- reduce the maximum number of ACK ranges (lucas-clemente/quic-go#2887)
- check that go.mod is tidied (lucas-clemente/quic-go#2914)
- don't allocate for acked packets (lucas-clemente/quic-go#2899)
- avoid allocating when detecting lost packets (lucas-clemente/quic-go#2898)
- use the string optimization for map keys in the packet handler map (lucas-clemente/quic-go#2892)
- use a single map in the incoming streams map (lucas-clemente/quic-go#2890)
- github.com/marten-seemann/qtls-go1-15 (v0.1.1 -> v0.1.5):
- use a prefix for client session cache keys
- add callbacks to store and restore app data along a session state
- don't use TLS 1.3 compatibility mode when using alternative record layer
- delete the session ticket after attempting 0-RTT
- reject 0-RTT when a different ALPN is chosen
- encode the ALPN into the session ticket
- add a field to the ConnectionState to tell if 0-RTT was used
- add a callback to tell the client about rejection of 0-RTT
- don't offer 0-RTT after a HelloRetryRequest
- add Accept0RTT to Config callback to decide if 0-RTT should be accepted
- add the option to encode application data into the session ticket
- export the 0-RTT write key
- abuse the nonce field of ClientSessionState to save max_early_data_size
- export the 0-RTT read key
- close connection if client attempts 0-RTT, but ticket didn't allow it
- encode the max early data size into the session ticket
- implement parsing of the early_data extension in the EncryptedExtensions
- add a tls.Config.MaxEarlyData option to enable 0-RTT
- accept TLS 1.3 cipher suites in Config.CipherSuites
- introduce a function on the connection to generate a session ticket
- add a config option to enforce selection of an application protocol
- export Conn.HandlePostHandshakeMessage
- export Alert
- reject Configs that set MaxVersion < 1.3 when using a record layer
- enforce TLS 1.3 when using an alternative record layer
- add alternative record layer config option, used by QUIC
- export a constructor for the TLS 1.3 AES-GCM AEAD
- implement sending and receiving extensions in the Encrypted Extensions
- implement sending and receiving extensions in the Client Hello
- add callback to get and receive extensions to the Config
- implement additional extensions for the ClientHello message
- implement additional extensions for the Encrypted Extensions message
- use a tls.Config and a tls.ClientHelloInfo
- use a tls.ClientSessionCache and tls.ClientSessionState
- use a tls.ConnectionState instead of redefining it
- use tls.CertificateRequestInfo instead of redefining it
- use tls.Certificate instead of redefining it
- use tls.RenegotiationSupport instead of redefining it
- use tls.ClientAuthType instead of redefining it
- use tls.SignatureScheme instead of redefining it
- use tls.CurveID instead of redefining it
- add a README
- add a license
- rename to qtls, don't use internal packages, add go.mod, add CircleCI config
- initial commit (based on [email protected])
- github.com/marten-seemann/qtls-go1-17 (null -> v0.1.0-rc.1):
- use a prefix for client session cache keys
- add callbacks to store and restore app data along a session state
- don't use TLS 1.3 compatibility mode when using alternative record layer
- delete the session ticket after attempting 0-RTT
- reject 0-RTT when a different ALPN is chosen
- encode the ALPN into the session ticket
- add a field to the ConnectionState to tell if 0-RTT was used
- add a callback to tell the client about rejection of 0-RTT
- don't offer 0-RTT after a HelloRetryRequest
- add Accept0RTT to Config callback to decide if 0-RTT should be accepted
- add the option to encode application data into the session ticket
- export the 0-RTT write key
- abuse the nonce field of ClientSessionState to save max_early_data_size
- export the 0-RTT read key
- close connection if client attempts 0-RTT, but ticket didn't allow it
- encode the max early data size into the session ticket
- implement parsing of the early_data extension in the EncryptedExtensions
- add a tls.Config.MaxEarlyData option to enable 0-RTT
- accept TLS 1.3 cipher suites in Config.CipherSuites
- introduce a function on the connection to generate a session ticket
- add a config option to enforce selection of an application protocol
- export Conn.HandlePostHandshakeMessage
- reject Configs that set MaxVersion < 1.3 when using a record layer
- enforce TLS 1.3 when using an alternative record layer
- add alternative record layer config option, used by QUIC
- export a constructor for the TLS 1.3 AES-GCM AEAD
- implement sending and receiving extensions in the Encrypted Extensions
- implement sending and receiving extensions in the Client Hello
- introduce an extra config struct to get and receive extensions
- export Alert
- implement additional extensions for the ClientHello message
- implement additional extensions for the Encrypted Extensions message
- use a tls.Config and a tls.ClientHelloInfo
- use tls.CertificateRequestInfo instead of redefining it
- use a tls.ClientSessionCache and tls.ClientSessionState
- use a tls.ConnectionState instead of redefining it
- use tls.Certificate instead of redefining it
- use tls.RenegotiationSupport instead of redefining it
- use tls.ClientAuthType instead of redefining it
- use tls.SignatureScheme instead of redefining it
- use tls.CurveID instead of redefining it
- add a README
- add a license
- rename to qtls, don't use internal packages, add go.mod, add GitHub Actions config
- initial commit (based on [email protected])
- github.com/multiformats/go-multiaddr (v0.3.3 -> v0.4.0):
- remove forced dependency on deprecated go-maddr-filter (multiformats/go-multiaddr#162)
- remove deprecated SwapToP2pMultiaddrs (multiformats/go-multiaddr#161)
- remove Makefile (multiformats/go-multiaddr#163)
- remove deprecated filter functions (multiformats/go-multiaddr#157)
- remove deprecated NetCodec (multiformats/go-multiaddr#159)
- remove gx (multiformats/go-multiaddr#158)
- add Noise (multiformats/go-multiaddr#156)
- Add TLS protocol (multiformats/go-multiaddr#153)
Contributors
Contributor | Commits | Lines ± | Files Changed |
---|---|---|---|
Marten Seemann | 440 | +95254/-26108 | 2105 |
Steven Allen | 52 | +768/-855 | 98 |
Olivier Poitrey | 1 | +469/-182 | 15 |
gammazero | 4 | +191/-12 | 6 |
Michal Dobaczewski | 2 | +77/-28 | 3 |
Hector Sanjuan | 3 | +97/-0 | 4 |
Ian Davis | 1 | +78/-14 | 2 |
Masih H. Derkani | 1 | +32/-44 | 6 |
Jorropo | 1 | +0/-73 | 2 |
dependabot-preview[bot] | 8 | +53/-8 | 16 |
Maxim Merzhanov | 1 | +29/-24 | 1 |
Will | 1 | +46/-3 | 3 |
Toby | 1 | +41/-1 | 2 |
Kévin Dunglas | 1 | +32/-2 | 2 |
Pavel Karpy | 1 | +19/-7 | 2 |
Peter Rabbitson | 2 | +25/-0 | 4 |
Dennis Trautwein | 1 | +20/-4 | 2 |
Louis Thibault | 1 | +22/-1 | 2 |
Cory Schwartz | 1 | +0/-17 | 1 |
q191201771 | 2 | +4/-11 | 2 |
Mathis Engelbart | 1 | +12/-2 | 1 |
Whyrusleeping | 1 | +11/-0 | 1 |
Aarsh Shah | 1 | +0/-10 | 1 |
Adin Schmahmann | 1 | +5/-0 | 1 |
vyzo | 1 | +2/-2 | 1 |
Bryan Stenson | 1 | +1/-1 | 1 |
Ari Mattila | 1 | +1/-1 | 1 |
godcong | 1 | +1/-0 | 1 |
Yingrong Zhao | 1 | +0/-1 | 1 |