github g0ldyy/comet v2.50.0

7 hours ago

2.50.0 (2026-02-11)

Features

  • add parsed_matches_target utility and use it to centralize season/episode filtering logic (47b79ee)
  • add tzdata package and set TZ environment variable to UTC (29ac052)
  • add COMET_CLEAN_TRACKER setting to control tracker list display in Comet scraper (a35327b)
  • add configurable reachability check settings including retries, delay, and timeout for improved connection handling (16f5df4)
  • add Debrid Account Scraper feature description to README (4f4e351)
  • add debug logging to _validate_torrent for various torrent validation failure conditions (bde663f)
  • add DMM to supported scrapers and introduce DMM Ingester feature (68fa89d)
  • add external reachability check for COMETNET_ADVERTISE_URL and introduce COMETNET_SKIP_REACHABILITY_CHECK for local testing (f8983c7)
  • add HTTP request handling to the WebSocket server for graceful responses to non-WebSocket requests (4b0a187)
  • add local torrent existence check to optimize gossip validation and enhance message re-propagation (8e04047)
  • add logging for incoming connection handling in ConnectionManager to track extracted IPs (fe23a34)
  • add max latency configuration and handling in CometNet to disconnect peers exceeding acceptable latency, enhancing network performance (39b5e1b)
  • add method to reset discovery hysteresis in BackgroundScraperWorker for improved task management (2a97dda)
  • add optional node alias to CometNet (9af324f)
  • add periodic state save functionality to CometNetService with configurable interval (a209467)
  • add persistence for the gossip engine's statistics (8e71ee2)
  • add PostgreSQL-specific logic for refreshing scrape locks using RETURNING 1 to confirm update success (dd8f8de)
  • add support for cached availability checks across multiple services (228cba0)
  • add version information display and update checking functionality to the admin dashboard (d8c7aa8)
  • allow _scrape_media_type to signal early termination and stop the scraping loop (b96fd1f)
  • allow Kodi setup codes to be 6-16 characters long and update related prompts (1c5b963)
  • apply reputation penalty when an invalid hex signature is encountered (e23d630)
  • asynchronously validate manifests and canonicalize float values for signature stability, while improving shutdown handling and error logging (67083f2)
  • cache public key representations, validate incoming info hashes, and generalize message sending to support raw bytes (6d74cef)
  • canonicalize pool manifest timestamps to integers for signing to resolve float precision issues (67240ad)
  • derive node_id from public key for PoolMember and update admin dashboard to display node IDs (bcd1b14)
  • display current branch in the admin dashboard version information and visually refresh the version details section (4b8ad5f)
  • display peer torrents received in the admin dashboard and include reputation data in peer information (1be6218)
  • document CometNet P2P network and remove Nginx reverse proxy configuration from README (f66c0f2)
  • enable standalone CometNet service to directly save discovered torrents to the database (9caab14)
  • enhance admin dashboard with background scraper next cycle display and controls (c2ce896)
  • enhance client IP retrieval in CometNetService by adding support for WebSocket requests (b9f3dfa)
  • enhance COMETNET_ADVERTISE_URL validation with security checks for internal domains, private IPs, and port range, and improve reachability checks for public IPs (2da0020)
  • enhance copyInviteLink function to use async clipboard API with fallback for insecure contexts (cce81ec)
  • enhance cryptographic verification by adding public key loading and signature verification methods (5e0afc0)
  • enhance debrid service to enrich torrent metadata from availability checks (1699808)
  • enhance DebridService with file index coercion and parsed data merging (fe63e77)
  • enhance formatting functions with customizable styles for components and streamline secret string handling in Kodi setup (3799022)
  • enhance gossip statistics by adding repropagation tracking and updating dashboard labels (80cc495)
  • enhance handshake logging in ConnectionManager for better debugging and error tracking (454817e)
  • enhance info hash normalization with error handling and new format support (6b9b33d)
  • enhance reachability check logic in check_advertise_url_reachability to handle hairpin NAT scenarios and improve logging for verification results (20226ae)
  • enhance state loading to tolerate integrity hash mismatches (1fe70be)
  • enhance system clock synchronization check to use multiple endpoints and provide detailed error reporting (9f51226)
  • enhance WebSocket connection and handshake logging in ConnectionManager to improve debugging and error tracking (35f32d6)
  • enhance WebSocket connection logging in CometNetService for improved client IP tracking (979a26e)
  • filter episodes based on the retry status of their associated series item (0696166)
  • implement a custom Kodi setup dialog with dedicated error alerts and expand the Kodi add-on documentation (526c6e2)
  • implement a custom Kodi setup dialog with dedicated error alerts and expand the Kodi add-on documentation (6aaf39d)
  • implement a Kodi repository build system, including a new Makefile, generation script, repository definition, and GitHub Actions workflow (cd2f6ab)
  • implement and integrate pool member contribution tracking within the PoolStore and record contributions during gossip processing (f67b941)
  • implement concurrent lock maintenance as a separate task to ensure continuous scraping and robustly handle lock loss (1172adf)
  • implement debrid account torrent scraping (c36475b)
  • implement dedicated crypto executor management in utils and shutdown procedure in CometNetService to enhance resource handling (a944efc)
  • implement distributed locking for the background scraper and remove the background_scraper_progress table (1b9d8e1)
  • implement functionality for users to leave CometNet pools with role-based restrictions (4081d11)
  • implement mandatory and auto-generated COMETNET_API_KEY, and add auto-generation for ADMIN_DASHBOARD_PASSWORD and PROXY_DEBRID_STREAM_PASSWORD (29a8a5a)
  • implement membership reconciliation in CometNetService and improve error logging in CometNetRelay (6cca3f4)
  • implement message rate limiting and refactor message security validation into a dedicated module (0a75780)
  • implement new pools management UI with filtering and search functionality in admin dashboard (12c4695)
  • implement private network mode with HMAC authentication, status display, and enhanced logging (e154fc0)
  • implement proactive distributed lock refreshing and add error handling for background tasks (c170fc6)
  • implement queue-based backpressure and discovery pausing for the background scraper using watermarks (af664a7)
  • implement queue-based backpressure and discovery pausing for the background scraper using watermarks (6eaff9c)
  • implement resolution-based selection of info hashes for torrent streaming (1814efa)
  • implement seadex scraper and fix anime media id parser (436de99)
  • implement self-removal from pools by broadcasting a signed leave message and updating local cleanup logic (db15cd7)
  • implement sharded and deduplicated filter parse cache (fab96ae)
  • implement system clock synchronization check on CometNet startup with configurable tolerance and timeout (51a81e4)
  • improve caching and scraping by supporting linked Kitsu and IMDb media IDs and refining season/episode parameters for debrid services (072dcab)
  • improve client IP extraction in WebSocket connections by introducing get_client_ip_any function and updating connection handling in CometNetService and ConnectionManager (f2f5838)
  • improve connection handling in ConnectionManager by closing duplicate connections and reusing existing ones (bd0a5f4)
  • improve data canonicalization by sorting visited nodes and robustly handling dictionary keys, and add debug logging for signature verification (2c8b3f7)
  • improve error handling in torrent title parsing (85fc456)
  • improve error handling in torrent title parsing (42a93d4)
  • improve Kodi integration with direct VideoInfoTag usage, robust setup, and refined stream info handling (a62dc06)
  • increase default relay timeout and add specific handling for asyncio.TimeoutError during batch sends (f8819b1)
  • init cometnet (748249e)
  • introduce a dirty manifest tracking mechanism and flush_dirty_manifests method to batch manifest writes (b37ec8a)
  • Introduce DMM ingester (19001ee)
  • introduce Kodi addon with pairing service, setup utilities, and updated documentation (d27239d)
  • introduce smart language detection by leveraging country-specific Trakt aliases (c413428)
  • log private addresses announced by incoming peers and add a setting to prevent sharing private IPs during PEX (7160406)
  • log specific timeout warnings for scraper exceptions instead of general ratelimiting messages. (311bfae)
  • nekobt scraper (da28fc4)
  • new background scraper (cebb785)
  • optimize queue snapshot retrieval in BackgroundScraperWorker by consolidating database queries and normalizing discovery limits (dabbee5)
  • record own contributions (a36a9d1)
  • refactor HTTP client management and enhance caching mechanisms (4178cda)
  • refactor HTTP client management and enhance caching mechanisms (efca5db)
  • relax connection limits and overrepresentation checks for private IP addresses (a8cefbd)
  • schedule debrid account sync tasks as background tasks when warm sync does not time out (577a83e)
  • seadex anime only (e15125a)
  • seadex anime only (9b36762)
  • standardize database conflict handling and type checks with new constants, and add cometnet torrent existence batch check callback (f8e76e9)
  • track and handle completion of debrid account sync background tasks (041a3ac)
  • update canonicalization to preserve float precision and add signature verification debug logs (f1e871e)
  • update Kodi integration with new configuration handling, improved manifest URL generation, and enhanced user prompts (43964ac)
  • version and update checker (7c9842a)

Bug Fixes

  • _save_manifest_async now returns a boolean, allowing flush_dirty_manifests to re-queue failed manifest saves (cfb648a)
  • add HTTP status error handling to AnimeTosho and correct status attribute usage in Nyaa (b188eda)
  • adjust background scraper cycle timing to account for missed cycles (39da5c5)
  • broaden WebSocket noise error filtering (47b4657)
  • chunk execute_many calls for SQLite to respect its parameter limit (2352aa6)
  • cinemata no releaseInfo (5f1ca3e)
  • correct tracker extraction logging for SeaDex scraper (44aa0d8)
  • D (721fa0f)
  • default name_query parameter to an empty string instead of None (49a7302)
  • docker: add make to build dependencies for miniupnpc (2fcb2ef)
  • docker: increase uv timeout to 300s to avoid network errors (dc98727)
  • ensure default last_seen time is used when sorting keys in PublicKeyStore (b7bf69e)
  • ensure proper cancellation of in-flight tasks in BackgroundScraperWorker during cancellation (5d4c5fd)
  • ensure proper lock refresh handling and add read timeout for DMM hashlist downloads. (bbf2639)
  • ensure proper shutdown and tracking of relay batch flush tasks and reorder README features (53b9c61)
  • ensure season and episode checks in parsed_matches_target handle None values correctly (0a9ace9)
  • ensure TorrentMetadata size is an integer and sort pool members by public key for deterministic serialization (5fe3307)
  • exclude subscribed and member pools from the discover count calculation (37e7e6f)
  • filter private IPs from PEX and warn on misconfiguration (7ee5b20)
  • first search emptying itself when torrent cache ttl is -1 (9237b8c)
  • fix _persist_kitsu_imdb_mapping method (40a8fc3)
  • fix various memory leaks (3798971)
  • fix volume on official docker compose (820ebf0)
  • gracefully cancel and drain in-flight scraping tasks upon lock loss instead of abruptly stopping (2268e8f)
  • gracefully handle UnicodeEncodeError during filename processing in DMM ingester (6e68a93)
  • handle tracker extraction more robustly by ensuring it defaults to None when not present (7fd92bc)
  • improve error handling for WebSocket connections with detailed logging (1c536c8)
  • pin mediaflow-proxy dependency to version 2.4.1 for compatibility (a69a1df)
  • pool join (c09a143)
  • postgres (11aef0f)
  • potential race can drop queued broadcasts during timeout shutdown (92aadf3)
  • prevent CometNet from starting with multiple FastAPI workers in non-relay mode (a76a36a)
  • prevent CometNet startup with private advertise URLs on public networks unless explicitly allowed (e6c8a4c)
  • print full traceback for exceptions occurring during the scraping cycle (0bf3390)
  • remove OR_IGNORE from the first_searches INSERT statement (390b452)
  • remove ellipsis from truncated node ID displays in the admin dashboard (96e333d)
  • remove signal handler (bad47c4)
  • remove the update check interval and related logic to always perform an update check (9327826)
  • suppress unsupported HTTP method HEAD errors from websockets logs using a new filter (de4cd80)
  • tracker extraction result is discarded (9448806)
  • update anime_entries insert query to handle conflicts by updating existing data (fa15430)
  • update contribution recording logic in PoolStore to allow contributions to be recorded across all pools if no specific pool ID is provided, enhancing flexibility in member contribution tracking (2887a22)
  • update lock expiration logic in DistributedLock to refresh based on current loop time (372efe2)

Performance Improvements

  • convert key network discovery and cryptographic operations to asynchronous to prevent event loop blocking (73af287)
  • offload CPU-bound cryptographic operations to an executor, optimize torrent batch processing, and cache public key data (6a9f9fd)
  • remove torrent debrid service short-circuit (04386ed)

Don't miss a new comet release

NewReleases is sending notifications on new releases.