Releases: tgragnato/magnetico
Releases · tgragnato/magnetico
v2.3.0
v2.2.1
Bug Fixes
- deps: replace gopkg.in/yaml.v3 with github.com/goccy/go-yaml (3493828)
- linter: bump golangci configuration format to the v2 syntax (73e0b4b)
- oci: harden runtime image by switching to chainguard/static (54a229b)
- opflags: detect invocation via magneticod or magneticow symlinks (d1f7cf3)
- persistence: update the zeromq integration to use pebbe/zmq4 (4af4ba3)
v2.2.0
Features
- persistence: add database import functionality (6f0cfb1)
- persistence: implement database export functionality (c804674)
- persistence: implement export method for database interfaces (7a705a6)
- stats: add pyroscope profiling support (5d261e1)
- web: add redirect for non-root paths and handle invalid methods (3604006)
- web: add timeout configuration for web interface and apis (2255959)
- web: introduce a compression middleware (a406108)
- web: set Content-Type header to text/html for HTML responses (f6ee78a)
- web: update router to specify HTTP methods and add robots.txt handler (206757e)
Bug Fixes
- oci: update dockerfile to use clang for building (a368255)
Performance Improvements
- dht: use swiss tables for nodes routing (88b33ea)
v2.1.0
Features
- add api endpoint to get total count of torrents based on query keyword (bd5c138)
- web: add new parameters with different semantics to the
torrentstotalapi (fc60049)
Bug Fixes
- web: correct property name for discoveredOn in torrent data (b6bcc68)
- web: don't use HTML entities when building URL (12c7953 fix-up) (aff9ee5)
- web: remove two debugging messages from the statistics page (4d1097f)
Performance Improvements
- persistence: improve the count method for torrents (0e995d4)
v2.0.0
⚠ BREAKING CHANGES
- review the logic related to the operational flags
- introduce the ability to use a configuration file
- allow user supplied ports for bootstrap nodes
Features
- allow user supplied ports for bootstrap nodes (774ed20)
- introduce the ability to use a configuration file (6eb27c2)
- opflags: add a flag for the deadline of leeches (9709b18)
- persistence: add rabbitmq amqp basic support (24925ba)
- persistence: add support for the bitmagnet import api (0a4579d)
- persistence: perform pattern matching without case sensitivity (b27c8b1)
- web: add count parameter to rss feed (8e7d2cf)
Bug Fixes
- gci: file is not
gci-ed with --skip-generated -s standard -s default (b746785) - metadata: avoid panic - return nil (e3676f8)
- metadata: make V1Length avoid panic and return 0 (586e548)
- metainfo: return an error when the decoded length is wrong (3f5f14d)
- opflags: exit gracefully if invoked with the help flag (ef502d6)
- opflags: restore the logic that sets both daemon and web to “on” if neither parameter is specified (e130092)
- persistence: handle parameters passed to postgres with zero values (dbd4032)
- web: the rss feed should list the most common torrents (4ebae27)
Performance Improvements
- persistence: remove postgres parameters inherited from the sqlite implementation (e8ab03b)
Code Refactoring
- review the logic related to the operational flags (0f02c84)
v1.62.0
Features
- dht: implement NewSampleInfohashesResponse and onSampleInfohashesQuery (6d69021)
- dht: introduce support for the ipv6 krpc protocol (66fc7b0)
- metainfo: support for serializing v2 torrent file (a8c2460)
- stats: add prometheus exporter for application metrics (fc12657)
Bug Fixes
- bencode: return empty value instead of panic (52e9999)
- metadata: avoid panic - return an error (67946af)
- metadata: report error when metadata size is zero (e0fa28c)
- metainfo: empty Info marshalling test (d1b3b3a)
- metainfo: stdlib integration (535dc08)
- persistence: change signature to match the interface (df4e1ee)
- persistence: workaround for error with sqlite ≥ 3.34 (f30db28)
Performance Improvements
- metadata: force mse - avoid throttling (7c84ab4)
v1.61.2
v1.61.1
v1.61.0
Features
- dht: implement support for additional mainline methods (db977b7)
- flush metrics every minute (de6001b)
- metadata: add support for message stream encryption (783dca8)
- metadata: add support for Multipath TCP (e81f3b1)
- persistence: implement a ZeroMQ interface (a4654c2)
- persistence: support both cgo and non-cgo builds (96ee524)
- stats: add a package for logging metrics (c96820b)
Bug Fixes
- bencode: impossible condition nil != nil (c36c58b)
- dht: correct slice reinitialization issue in CompactNodeInfo Marshaler (a72de2c)
- dht: ignore nodes that have invalid ports (819d2dd)
- dht: increase chan size but do not drop idx results (8300868)
- dht: limit the number of nodes returned by dump (1facb2b)
- infohash: gracefully handle bad hex strings without panicking (ab2e677)
- metadata: fallback on math/rand when crypto/rand fails (f7c7dee)
- oci: add zeromq dependencies in oci image build (4ec62bb)
- oci: avoid dev deps installation in the final container (914ddd4)
- oci: the 'as' keyword should match the case of the 'from' keyword (bf557ed)
- oom: lower the default
indexer-max-neighborsto 5000 peers (132bf1b) - persistence: replace zeromq deps with the gopkg.in counterpart (a75f859)
- persistence: return an invalid value - avoid panics (7e43e10)
- persistence: rows might be nil if err != nil (8f09f8e)
- persistence: rows might be nil if err != nil (c61d863)
- remove go:build statement (2c09c90)
Performance Improvements
- dht:
rt.nodes- avoid excessive allocations (3ced3c6) - dht: add slice of neighbors in the routing table (f115de1)
- dht: discard old entries in the routing table if it gets too big (1339624)
- dht: on sample_infohash query received send a find_node query (dc0e761)
- dht: prioritize
get_peersandfind_nodequeries (565801a)