Skip to content

v2.3.1

Latest

Choose a tag to compare

@cenkalti cenkalti released this 11 Jun 09:09
adc677b

Changelog

  • 0b4abe4 Bump github.com/sirupsen/logrus from 1.8.1 to 1.8.3
  • cacbaab Bump golang.org/x/sync from 0.18.0 to 0.19.0 (#223)
  • 92cf48b Bump golang.org/x/sync from 0.19.0 to 0.21.0
  • 94b3156 Bump golang.org/x/sys from 0.39.0 to 0.46.0
  • 220c19d Bump goreleaser/goreleaser-action from 6 to 7
  • c9bb2ed Fix lint workflow Go version mismatch
  • 2dc8ea7 Potential fix for code scanning alert no. 11: Incorrect conversion between integer types
  • 3372984 Potential fix for code scanning alert no. 8: Workflow does not contain permissions
  • a7a6a2c accept BEP 47 torrents with duplicate pad file paths
  • ba7c725 chore: bump go-prettyjson and boltbrowser to latest
  • 1c4b223 ci: avoid duplicate workflow runs on pull requests
  • 070946c ci: replace deprecated 'go get -d' with 'go mod download'
  • 10137a2 clear snubbed state when info downloader receives data
  • 5ecb782 discard webseed piece result for already completed piece
  • c6bbff9 docs(rainrpc): document GetTorrentFiles and GetTorrentFileStats
  • 17039ac docs(torrent): start AnnounceError.Error doc comment with the method name
  • 2216a9d fix HTTP tracker external-IP filter dropping wrong peers
  • e3f3555 fix UDP tracker backoff using XOR instead of exponentiation
  • a1ee648 fix connectedPeerIPs leak on duplicate peer id
  • 58fcb3c fix data race in StartAll/StopAll
  • addd69a fix data race on torrentsByInfoHash in removeTorrentFromClient
  • 1fca14f fix duplicate piece assignment to peers during webseed download
  • 5754603 fix filesection.Write not skipping padding bytes in buffer
  • 40df65f fix goroutine and context leak in resolveAndAddPeer
  • 8e7be84 fix negative metadata_size bypassing validation (remote DoS)
  • 1bbc02e fix per-source peer count on eviction in addrlist
  • 97d2b9d fix piece picker leaking choked peers on cancel/disconnect
  • 0a9f8cf fix webseed URLs escaping path separators as %2F
  • ec49299 fix webseed requesting padding files from server
  • d5c4881 fix webseedActiveDownloads counter leak on webseed downloader close
  • c1d2fb5 fix(peerprotocol): report correct wire ID for AllowedFastMessage
  • e3805ad fix(piececache): stop expiry timers on Close to release cached pieces
  • bd71845 fix(torrent): close move-torrent response body on non-200 status
  • 65546a1 fix(torrent): close tar-entry file on error paths in readData
  • 209358b fix(torrent): don't panic on unknown peer source in ListPeers handler
  • 9f71b77 fix(torrent): log instead of Fatal when RPC server stops serving
  • ff78e0f fix(torrent): wrap errors with %w in stop() so Stats.Error is inspectable
  • 6a5fb5e fix: correct version ldflag path for /v2 module
  • 38dad5b harden piece request bounds check against uint32 overflow
  • a298ef8 increase drain time in HTTP tracker test teardown to fix flaky race
  • adc677b refactor(bitfield): use NumBytes in NewBytes instead of recomputing the ceil
  • c8f1d47 refactor(console): use strconv.Itoa for ints; drop no-op errstr var
  • 838629e refactor(handshaker): share handshake error logging via btconn.LogHandshakeError
  • 6163f3f refactor(sliceset): use slices.Index in Remove
  • 7066534 refactor(torrent): decode DHT compact peers via tracker.CompactPeer
  • 6fe0060 refactor(torrent): move raw-HTTP move-torrent handler to its own file
  • 1b24e47 refactor(torrent): rename newTorrent2 to newTorrent; DTO converter to torrentToRPC
  • b8cde1c refactor(webseedsource): remove write-only DisabledAt field
  • e335ed9 refactor: migrate to math/rand/v2
  • f227280 refactor: modernize sorting with slices.SortFunc and builtin min
  • 979053c refactor: move printJSON helper to helpers.go and reuse in torrent show
  • 089dc02 refactor: split CLI into internal/command package, one file per command
  • 9e73fcb refactor: use atomic.Int32 for atomic counters
  • 0809892 reject oversized peer messages before allocating
  • edf37ac reject tar entries that escape destination dir in move-torrent
  • 008dfde reset webseedActiveDownloads when tearing down webseed downloads
  • 9b0d485 snapshot torrents before Start/Stop to avoid holding lock on blocking calls
  • 9d07450 update changelog
  • d18403f use canonical prefix guard for tar-slip check so CodeQL recognizes it