Skip to content

eMule Active Backlog — Issue Index

This directory is the active local backlog/spec and revalidation layer for this repo. Use ../INDEX.md for long-form background and reference reading.

GitHub-primary backlog workflow uses emulebb/emulebb issues (https://github.com/emulebb/emulebb/issues) and the public eMuleBB Roadmap org Project #2 (https://github.com/orgs/emulebb/projects/2) as current status, priority, release placement, discussion, ownership, and PR linkage authority for migrated items. Local item docs marked workflow: github are engineering spec/evidence records, not workflow status authority.

Historical reference only: stale-v0.72a-experimental-clean and analysis\stale-v0.72a-experimental-clean are retired reference sources, not active branch targets or current baselines. Use them only as provenance or idea-extraction sources; landed status is determined against main. See Historical References.

Current Snapshot

Source of truth: EMULE_WORKSPACE_ROOT\workspaces\workspace\app\emulebb-main (main branch) Current non-done count: 77 Latest release-doc refresh: 2026-05-23 Non-done by status: 61 OPEN, 6 IN_PROGRESS, 10 DEFERRED, 0 BLOCKED. Backlog counts: item tables below are authoritative. RC 0.7.3 relevance: Most non-done items below are future or deferred work; current RC gate and proof status is controlled by RELEASE-0.7.3. Broadband release status: emulebb-v0.7.3-rc.1 is the first public release-candidate target. RC-release backlog view: RELEASE-0.7.3 RC-release checklist: RELEASE-0.7.3-CHECKLIST RC-release runbook: RELEASE-0.7.3-RUNBOOK Release test strategy: RELEASE-TEST-STRATEGY Release test campaigns: RELEASE-TEST-CAMPAIGNS Frozen surfaces: FROZEN-SURFACES RC controller surface matrix: CONTROLLER-SURFACE-MATRIX Future release roadmap: FUTURE-ROADMAP GitHub-primary backlog workflow: GitHub issues in emulebb/emulebb plus the eMuleBB Roadmap Project #2 are authoritative for migrated backlog items. Backlog process runbook: BACKLOG-PROCESS RC-release execution plan: RELEASE-0.7.3-EXECUTION-PLAN p2p-overlord product-family plan: P2P-OVERLORD-PRODUCT-FAMILY-INTEGRATION Historical beta evidence: docs/history/release-0.7.3/ Historical reviews: docs/history/reviews/ Closed item records: docs/history/items/

Current release trail:

Operating Rules

Priority scale: Critical > Major > Minor > Trivial
Status values: OPEN / IN_PROGRESS / BLOCKED / DEFERRED / PASSED / DONE / WONT_DO

Directory role: docs/active/ owns current local specs, release control, active item evidence, and the current release execution plan. Closed item records and dated review provenance live under docs/history/. For GitHub-primary items marked workflow: github, current workflow state lives in GitHub.

Important: Items marked OPEN, IN_PROGRESS, BLOCKED, or DEFERRED link to active item records. Items marked DONE, PASSED, or WONT_DO link to archived item records under docs/history/items/. IN_PROGRESS work may already be implemented on dedicated bug/feature branches but is not considered landed until merged to main. Experimental-only work (see individual docs) is not in main unless the item status below says otherwise.

Revalidation rule: Before implementing any item, re-check it against current main and current dependency pins.

Regression rule: New feature/fix work from this backlog should include targeted regression checks. When behavior changes, compare main against baseline/community-0.72a as the seam-enabled parity and regression baseline where that comparison is meaningful.

RC 0.7.3 source rule: the public RC tag is cut from the selected reviewed main commit after refreshed proof passes and operator approval. The release stabilization branch is release/0.7.3 once the operator starts the RC branch.

Baseline stack rule:

  • variant key community maps to worktree app\emulebb-community-baseline on branch baseline/community-0.72a; it is the seam-enabled parity and regression baseline, test-only
  • variant key tracing-harness maps to worktree app\emulebb-community-tracing-harness on branch tracing-harness/community-0.72a; it is the behavior-changing variant-client parity harness, not the default baseline

Bugs

ID Priority Status Title
BUG-001 Major DONE 17+ load-only hidden prefs not written back to preferences.ini
BUG-002 Minor WONT_DO ASSERT(0) FIXME in ArchiveRecovery.cpp — silent fail in release (kept as-is by product decision)
BUG-003 Minor DONE Historical large-file FIXME markers overstated the remaining live issue
BUG-004 Minor DONE IPFilter overlapping IP ranges not handled — acknowledged correctness gap
BUG-005 Minor WONT_DO Kad buddy connections broken when RequireCrypt is enabled
BUG-006 Minor WONT_DO Weak RNG for crypto challenge — rand() seeded with time(NULL) (accepted risk by product decision)
BUG-007 Minor DONE Ring.h — three UB + correctness bugs in CRing\<T> (CODEREV_003, 004, 011)
BUG-008 Minor WONT_DO CaptchaGenerator — rand() & 8 bimodal jitter (low release value; leave to REF-027 if reopened)
BUG-009 Minor DONE PartFile — non-atomic part.met replacement (_tremove + _trename crash window)
BUG-010 Minor DONE PartFile — part.met write on low disk space risks truncation/corruption
BUG-011 Minor DONE Race — shareddir_list iterated without lock in SendSharedDirectories
BUG-012 Minor DONE CPartFile destructor calls FlushBuffer after write thread has already exited
BUG-013 Minor WONT_DO ArchiveRecovery.cpp — three unchecked malloc() calls crash on OOM (kept as-is by product decision)
BUG-014 Minor DONE ZIPFile.cpp — WriteFile return value silently discarded on two paths
BUG-015 Minor DONE GetTickCount() 49-day overflow in ban expiry and download timeout checks
BUG-016 Minor DONE UDP obfuscation applied when crypt layer is disabled — IsCryptLayerEnabled() guard missing
BUG-017 Minor DONE UDP throttler deadlock — sendLocker held when signaling QueueForSendingControlPacket
BUG-018 Minor DONE Part-file hash layout drift — hash tree can mutate during concurrent hashing
BUG-019 Minor DONE AICH sync thread concurrency — UI deadlocks, starvation, incomplete/duplicate nodes
BUG-020 Minor DONE Client socket teardown ordering — cross-link not cleared before Safe_Delete
BUG-021 Minor DONE Upload queue lock inversion + socket I/O result mishandling + inflate buffer aliasing
BUG-022 Major DONE Long-path delete-to-recycle-bin still breaks in ShellDeleteFile
BUG-023 Minor DONE Shared-file ED2K published column shows a false No after publish-state reset
BUG-024 Minor DONE statUTC(HANDLE) returns corrupted st_size by using nFileIndexLow
BUG-025 Minor DONE KnownFile hashing open failures log stale or wrong error text on Win32 open failure
BUG-026 Major DONE Search tab teardown frees live result/tab payload objects before the UI detaches them
BUG-027 Major DONE IP filter update can delete the live ipfilter.dat before replacement promotion succeeds
BUG-028 Minor WONT_DO MP3 ID3 metadata extraction is ANSI-only; non-ACP filenames can silently lose tags
BUG-029 Major DONE Long-path tail hardening across config, media, shell, and GeoLocation surfaces
BUG-030 Minor DONE Obfuscated server logins can advertise redundant callback crypto flags and require extra attempts
BUG-031 Minor DONE Shared-file hashing fails too eagerly on transient sharing and lock violations
BUG-032 Minor DONE AICH hashset save can fail spuriously after hashing because known2.met lock wait times out
BUG-033 Minor WONT_DO WebSocket and MiniUPnP shutdown still use forced thread termination
BUG-034 Minor IN_PROGRESS Release paths silently swallow unexpected exceptions via catch (...) plus ASSERT(0)
BUG-035 Minor IN_PROGRESS Historical control-flow still uses bare ASSERT(0) without recovery or logging
BUG-036 Major DONE known.met and cancelled.met still save in place and can truncate on failure
BUG-037 Major DONE Same-hash KnownFile replacement can unshare or mis-track equivalent files
BUG-038 Minor DONE Shared Files sort can retain stale rows after backing data changes
BUG-039 Minor DONE Client list lacked a reusable safe pointer membership check
BUG-040 Major DONE Downloading Clients list could dereference stale client rows
BUG-041 Major DONE Known Clients list could dereference stale client rows
BUG-042 Major DONE Upload list could dereference stale upload rows
BUG-043 Major DONE Queue list could dereference stale queue rows
BUG-044 Major DONE Download source rows could outlive their backing source objects
BUG-045 Minor DONE Server list could dereference stale server rows
BUG-046 Major DONE Kad contact list could dereference stale contact rows
BUG-047 Major DONE Kad search list could dereference stale search rows
BUG-048 Minor DONE IRC nick rows were not cleared before nick objects were deleted
BUG-049 Minor DONE IRC channel tabs were not detached before channel objects were deleted
BUG-050 Minor DONE Chat tabs were not detached before chat items were deleted
BUG-051 Minor DONE IRC channel rows were not cleared before channel entries were deleted
BUG-052 Minor DONE Kad search constructor accidentally added placeholder rows
BUG-053 Major DONE part.met backup could be refreshed from the newly written metadata
BUG-054 Major DONE ESC in shared-file delete confirmation could still delete files
BUG-055 Major DONE AICH recovery accepted invalid part bounds
BUG-056 Major DONE Download Clients list could dereference stale rows during display callbacks
BUG-057 Minor DONE Close All Search Results could leave Kad keyword searches running
BUG-058 Minor DONE Tree option value labels could contain the parser separator
BUG-059 Trivial DONE Download Remaining column alignment was inconsistent
BUG-060 Major DONE REST API should stay available when web templates are absent
BUG-061 Major DONE Legacy web interface template was missing from the shipped tree
BUG-062 Minor DONE Obfuscated server timeout did not retry plain connection promptly
BUG-063 Major DONE ESC in shared-directory delete confirmation could still delete directories
BUG-064 Minor DONE Client list secondary display path needed stale-row guarding
BUG-065 Minor DONE Queue list secondary display path needed stale-row guarding
BUG-066 Minor DONE Upload list secondary display path needed stale-row guarding
BUG-067 Minor DONE REST log route lacked the expected get alias seam
BUG-068 Minor DONE Download progress-bar drawing can leak GDI state into neighboring list cells
BUG-069 Major DONE WebServer static resource requests can escape the web root and allocate whole files
BUG-070 Minor DONE Ignored helper-thread launch failures can hang shutdown waits
BUG-071 Major DONE server.met persistence still uses destructive backup and promotion moves
BUG-072 Minor DONE Kad preferences and routing snapshots still save in place
BUG-073 Major DONE WebServer session and bad-login state is mutated from request threads without synchronization
BUG-074 Minor WONT_DO Archive preview scanner uses volatile cancellation and synchronous UI handoff (deprecated/frozen)
BUG-075 Major PASSED REST and WebServer typed error consistency
BUG-076 Major PASSED WebServer malformed request hardening for REST and legacy HTML
BUG-077 Minor PASSED WebServer concurrent REST and legacy HTML soak coverage
BUG-078 Critical DONE qBit compatibility auth can fail open when session RNG is unavailable
BUG-079 Critical DONE WebSocket shutdown can close the termination event while accepted clients still wait on it
BUG-080 Major DONE WebSocket shutdown can forcibly terminate the listener thread
BUG-081 Major DONE HTTPS WebSocket handshake and read loops can spin on WANT_READ/WANT_WRITE
BUG-082 Major DONE GeoLocation and IPFilter background refresh flags can race and remain stuck
BUG-083 Major DONE Client UDP malformed-packet logging can read past a one-byte packet
BUG-084 Minor DONE Web admin high-level actions leak the process token handle
BUG-085 Major DONE Kad/client UDP encryption preference gating needs beta compatibility proof
BUG-086 Critical DONE HTTPS WebSocket casts SOCKET storage to mbedtls_net_context
BUG-087 Critical DONE HTTPS WebSocket queued writes can stall after TLS WANT_READ
BUG-088 Major DONE WebSocket timeout shutdown leaves global state unsafe for restart
BUG-089 Major DONE UDP control sender can deadlock on exception while holding sendLocker
BUG-090 Major DONE Background refresh completion can wedge when UI PostMessage fails
BUG-091 Major DONE DirectDownload ignores close-time write failures
BUG-092 Critical DONE Background refresh workers can write through freed owner memory after shutdown
BUG-093 Critical DONE Failed refresh completion can synchronously block worker on UI thread
BUG-094 Major DONE ResumeThread failure leaks suspended refresh thread objects
BUG-095 Major DONE WebSocket accepted-client tracking is not exception-safe after thread start
BUG-096 Major DONE DirectDownload lacks bounded timeout and cancellation contract
BUG-097 Critical DONE Startup-cache save worker can outlive shared-file list owner
BUG-098 Minor WONT_DO Archive recovery worker uses raw part-file owner across async work (deprecated/frozen)
BUG-099 Major DONE WebSocket listener startup is not exception-safe after global state initialization
BUG-100 Major DONE DirectDownload has bounded timeouts but no hard owner cancellation contract
BUG-101 Major DONE Shared Files 50k recursive tree stress profile does not reach main window
BUG-102 Major DONE aMuTorrent browser smoke ignores generated harness port
BUG-111 Critical DONE Release and help URLs still point outside the emulebb namespace
BUG-112 Critical WONT_DO WebServer/qBit session tokens need CSPRNG-backed generation
BUG-114 Minor DONE Prevent Standby can leave Windows sleep prevention asserted after disable
BUG-115 Minor DONE Tray left-click skips MiniMule and restores maximized windows as normal
BUG-117 Minor DEFERRED Audit Year-2038-sensitive persisted and runtime timestamps
BUG-118 Minor DONE CTag UInt64 values can serialize without guaranteed 64-bit promotion
BUG-119 Minor DONE Audit part-file gap and progress arithmetic against eMuleAI hardening
BUG-120 Minor DONE Audit obfuscated server retry behavior against eMuleAI repeat-login fix
BUG-121 Major DONE CorruptionBlackBox split reallocation can invalidate active CArray records
BUG-122 Minor DONE CRing raw-owned buffer was accidentally copyable
BUG-123 Major DONE Failed reask source delete needed explicit download-owner detachment
BUG-124 Major OPEN Log panes can nearly freeze the UI under high-volume output

BUG-103 through BUG-110 were superseded internal post-tag evidence labels, not active item docs.


Refactors

ID Priority Status Title
REF-001 Major WONT_DO Keep the existing CZIPFile implementation
REF-002 Major DONE Remove Source Exchange v1 branches
REF-003 Trivial DEFERRED Rename stale IRC string resources left over from IRC module removal
REF-004 Minor DONE Audit and disposition 17 load-only preference keys
REF-005 Trivial DONE Remove dead DebugSourceExchange commented-out calls
REF-006 Trivial DONE GetCategory should be const in DownloadListCtrl
REF-007 Trivial DONE WebM vs MKV disambiguation in MIME detection
REF-015 Minor WONT_DO Keep miniupnpc as the active UPnP backend
REF-016 Trivial WONT_DO Keep ResizableLib out-of-tree instead of inlining it
REF-017 Minor DONE Revalidate and close the dead-code sweep backlog item
REF-018 Minor DONE Remove defunct PeerCache surface and legacy INI fallback reads
REF-019 Minor DONE Replace ASSERT(0) + "must be a bug" with OnError() in EncryptedStreamSocket
REF-020 Minor DONE Replace dynamic loading of always-present Win10 APIs with static linking
REF-021 Minor DEFERRED Remove blanket warning suppressions and replace deprecated Winsock APIs
REF-022 Trivial OPEN Replace custom type aliases in types.h with standard types
REF-023 Minor DONE Replace unsafe sprintf/_stprintf/wsprintf with safe equivalents
REF-024 Trivial OPEN Convert #define constants in Opcodes.h to constexpr in namespace
REF-025 Minor IN_PROGRESS Remove legacy feature set — IRC, SMTP, Scheduler, first-start wizard, splash screen, update checker
REF-026 Minor DONE Manifest — keep Win10/11+ compatibility GUID only and move Common Controls into manifests
REF-027 Minor OPEN CaptchaGenerator — replace CxImage with ATL CImage / native GDI
REF-028 Minor DEFERRED Audit current MbedTLS 4.1 integration
REF-029 Major OPEN Move async socket readiness to WSAPoll backends
REF-030 Minor DONE Replace window-message async hostname resolver with worker-thread model
REF-031 Minor DONE Review upload queue scoring against community and stale baselines
REF-032 Minor IN_PROGRESS Use MFC-native property sheets and dynamic layout instead of CTreePropSheet / ResizableLib
REF-033 Trivial OPEN Remove remaining IE/MSHTML drag-drop, HTML Help, and legacy IE web-client baggage
REF-034 Minor DEFERRED Resolve Crypto++ 8.4 vs 8.9 dependency truth
REF-035 Minor OPEN Adopt WIL for narrow Windows and COM RAII cleanup
REF-036 Minor OPEN Adopt GSL contracts for buffer and pointer boundary hardening
REF-037 Major DONE Beta 0.7.3 legacy and frozen feature disposition ledger
REF-038 Minor DONE Harden optional MediaInfo DLL loading and metadata extraction seams
REF-039 Minor DONE Classify MediaInfo loader failures and bound metadata extraction counts
REF-040 Minor DONE Harden external UnRAR DLL loading
REF-041 Minor DONE Move remaining active app DLL probes to LoadLibraryEx
REF-042 Minor OPEN Consolidate WinInet download helpers and review URL shortcut intake
REF-043 Minor OPEN Drop the legacy HTML Web Interface and keep REST as the supported controller surface
REF-044 Minor OPEN Remove remaining import-parts residue and keep legacy import flows retired
REF-045 Minor OPEN Evaluate SQLite-backed storage for local metadata structures
REF-046 Minor OPEN Evaluate JSON or TOML for operator-editable configuration

Abandoned Boost/POCO Ideas (historical only)

These items were closed from the abandoned IDEA-BOOST exploration by operator decision on 2026-05-21. They remain listed here as historical context only; do not promote this lane without a new approved active item.

ID Priority Status Title
REF-008 Major WONT_DO Replace CAsyncSocketEx custom WinSock wrapper — Boost.Asio or Windows IOCP
REF-009 Major WONT_DO Replace CCriticalSection + CWinThread + Win32 events — std::mutex/thread or Boost
REF-010 Major WONT_DO Replace raw owned pointers with std::unique_ptr / std::shared_ptr
REF-011 Minor WONT_DO Replace GetTickCount / SetTimer with type-safe monotonic clock — std::chrono or Boost
REF-012 Minor WONT_DO Replace CFile + CString path concatenation — std::filesystem or boost::filesystem
REF-013 Minor WONT_DO Replace CString + unsafe sprintf with safe string formatting — std or Boost
REF-014 Minor WONT_DO Replace custom CRing circular buffer — fix in place, std::deque, or boost::circular_buffer

Features

ID Priority Status Title
FEAT-001 Minor DEFERRED Kad FastKad — add diversity-aware bootstrap ranking and aggressive stale decay
FEAT-002 Major OPEN Kad SafeKad — evolve from coarse same-IP gate into layered trust model (CGNAT fix)
FEAT-003 Minor OPEN Kad — Add response usefulness scoring and subnet-diversity search fanout
FEAT-004 Minor OPEN Kad — Generalise KadPublishGuard abuse budget beyond PUBLISH_SOURCE
FEAT-005 Minor OPEN Kad — Restore network-change grace handling around routing persistence and probing
FEAT-006 Minor OPEN Kad — Add explicit trust, budget, and bootstrap observability counters
FEAT-007 Minor OPEN Windows Property Store integration for non-media file metadata
FEAT-008 Trivial OPEN Oracle protocol guard seams — integrate stale branch test scaffolding
FEAT-009 Trivial OPEN Mirror audit guard seam — WIP work from stale branch parent commit
FEAT-010 Minor DONE Long path support phase 2 — shell/UI, shared-directory recursion, exact-name paths, and path-helper audit
FEAT-011 Minor OPEN CShield — integrate ED2K anti-leecher engine (44 bad-client categories)
FEAT-012 Minor DONE PR_TCPERRORFLOODER — TCP listen-socket flood defense
FEAT-013 Major DONE REST API — add authenticated in-process JSON endpoints to WebServer
FEAT-014 Minor OPEN REST API follow-up — OpenAPI docs and optional external gateway
FEAT-015 Major DONE Broadband upload slot controller — budget-based cap + slow-slot reclamation
FEAT-016 Major DONE Modern limits — update stale hard-coded defaults for broadband/modern hardware
FEAT-017 Major OPEN DPI awareness — Per-Monitor V2 manifest + hardcoded pixel audit
FEAT-018 Minor OPEN µTP (Micro Transport Protocol) transport layer — CUtpSocket / libutp
FEAT-019 Minor OPEN Dark mode UI — system-aware Windows 10 dark theme integration
FEAT-020 Trivial DONE DB-IP city geolocation — location label and flag per peer
FEAT-021 Minor OPEN SourceSaver — persist download source lists between sessions
FEAT-022 Minor DONE Startup config directory override — -c flag for alternate preferences path
FEAT-023 Minor DONE Broadband queue scoring and ratio/cooldown UI extras
FEAT-024 Minor DONE Share-ignore policy with additive shareignore.dat
FEAT-025 Minor DONE Normalize download filenames on intake and completion
FEAT-026 Minor DONE Shared startup cache with known.met lookup index and sharedcache.dat
FEAT-027 Minor DONE Startup sequencing fix, startup profiling, and shared-view startup churn cleanup
FEAT-028 Minor DONE Virtualize and harden shared files list
FEAT-029 Minor DONE Search result ceilings — configurable ed2k expansion plus moderate Kad totals/lifetimes
FEAT-030 Minor DONE Bind policy completion — global BindAddr everywhere else, separate WebBindAddr for WebServer
FEAT-031 Minor OPEN Auto-browse peers that expose remote shared-file inventories
FEAT-032 Minor DEFERRED NAT mapping modernization — lease controls, status visibility, and PCP/NAT-PMP
FEAT-033 Minor DONE Disk-space floor hardening and legacy import-flow retirement
FEAT-034 Minor IN_PROGRESS Shared-files reload should stop blocking the UI on large trees
FEAT-035 Major OPEN IPv6 dual-stack compatibility for current eD2K/Kad networking
FEAT-036 Major OPEN NAT traversal and extended source exchange for LowID-to-LowID connectivity
FEAT-037 Minor DEFERRED Release-oriented sharing controls — PowerShare, Release Bonus, and Share Only The Need
FEAT-038 Minor DONE Shared-files watcher and live recursive share sync
FEAT-039 Minor OPEN Download checker — duplicate and near-duplicate intake guard
FEAT-040 Major OPEN Headless core with modern web/mobile controller and multi-user permissions
FEAT-041 Minor OPEN Download Inspector automation for stale downloads and majority-name rename
FEAT-042 Minor DONE Automatic IP filter update scheduling
FEAT-043 Minor OPEN Known Clients history and incremental list refresh performance
FEAT-044 Minor OPEN IP filter input policy - PeerGuardian lists, whitelist, and private-IP exemption
FEAT-045 Major PASSED REST transfer detail endpoint for controller parity
FEAT-046 Major PASSED REST server and Kad bootstrap/import APIs
FEAT-047 Minor PASSED REST search API completeness pass
FEAT-048 Minor PASSED REST upload queue control completeness
FEAT-049 Minor PASSED Curated REST preference expansion
FEAT-050 Minor PASSED Launch external program on completed download
FEAT-051 Minor DONE Pro-user context menus and always-on advanced controls
FEAT-052 Minor DONE Main-shell keyboard shortcuts and mnemonic audit
FEAT-053 Minor DONE Classic tray balloon notification mode
FEAT-054 Minor DONE Normalize download message filename display
FEAT-055 Minor DONE Beta 0.7.3 improvement triage lane
FEAT-056 Minor DEFERRED Post-0.7.3 release proof automation and operator evidence UX
FEAT-058 Minor DONE Beta 0.7.3 closeout UX polish and audit report
FEAT-059 Minor DONE Move tray icon visibility preference next to minimize-to-tray
FEAT-060 Minor DONE Preference inventory, mapping, clamp, and persistence audit
FEAT-061 Minor DONE Strong preference schema validation
FEAT-062 Minor DONE Category management dialog polish and robustness
FEAT-063 Minor DONE Web Interface preferences layout polish
FEAT-064 Minor OPEN Curated post-0.7.3 future release roadmap
FEAT-065 Minor DONE Polish the native MiniMule tray popup
FEAT-066 Minor DONE Replace MiniMule chrome with table and speed chart
FEAT-068 Minor OPEN Bound REST large-list memory and latency for very large profiles
FEAT-069 Minor OPEN Shared-file include and exclude pattern rules
FEAT-070 Minor OPEN Add targeted client UserHash and upload-lifecycle diagnostics
FEAT-071 Minor DONE Filename mojibake repair for search results and download intake
FEAT-072 Minor OPEN Reduce startup cache UI-thread blocking on large shared libraries
FEAT-073 Minor OPEN Incorporate p2p-overlord into the eMuleBB product family
FEAT-074 Minor DONE Add main-window visual evidence for connected LowID state
FEAT-075 Minor OPEN Keep startup progress responsive during daily config backup
FEAT-076 Minor OPEN Parallelize shared-file hashing across physical volumes and SSDs
FEAT-077 Minor OPEN Auto-managed upload friend-slot candidates without mutating manual friends
FEAT-078 Minor OPEN Persist auto-browse inventories in a local queryable database
FEAT-079 Minor OPEN Save known and cancelled metadata from immutable background snapshots
FEAT-080 Minor OPEN Refresh protected-volume disk-space snapshots in the background
FEAT-081 Trivial DEFERRED Add a bounded source-hostname resolver pool only if profiling shows backlog
FEAT-082 Minor OPEN Virtualize high-volume downloads, search results, and client-history lists
FEAT-083 Minor WONT_DO Connection Checker based on public reachability polling
FEAT-084 Minor WONT_DO Migration Wizard for legacy profile import
FEAT-085 Minor OPEN Establish a shared campaign core for eMuleBB product-family test orchestration
FEAT-086 Minor OPEN Parse eMuleAI extension hints without advertising protocol support
FEAT-087 Minor OPEN Add inline transfer speed sparklines
FEAT-088 Minor OPEN Keep completed upload rows visible briefly
FEAT-089 Minor OPEN Add guided Prowlarr indexer setup for eMuleBB

Build / CI / Tooling

ID Priority Status Title
CI-001 Major WONT_DO CMake adoption exploration — replace emule.vcxproj with CMakeLists.txt + Ninja
CI-002 Minor OPEN clang-format — enforce consistent code formatting
CI-003 Minor DONE MSVC compiler hardening — SDL, guard:cf, /WX (Phase A done: SDL+CFG in commit 5557216)
CI-004 Minor OPEN clang-tidy — integrate static analysis into build and CI
CI-005 Minor OPEN cppcheck — integrate complementary bug-class analysis
CI-006 Minor OPEN MSVC AddressSanitizer — enable for debug builds to catch memory errors
CI-007 Minor OPEN Kad — Expand integration and fuzz test coverage beyond helper-unit tests
CI-008 Minor DONE Expand regression coverage for part files, long paths, and WebServer/REST
CI-009 Minor DONE Share-ignore regression coverage and Release test-build stabilization
CI-010 Minor IN_PROGRESS Reduce remaining app-local warning debt after external noise cleanup
CI-011 Major DONE Broadband release live E2E coverage umbrella
CI-012 Major DONE Stabilize Shared Files dynamic folder lifecycle E2E
CI-013 Major DONE Download and search UI live scenarios
CI-014 Major PASSED REST contract manifest and live completeness gate
CI-015 Major PASSED REST malformed and concurrent request matrix
CI-016 Minor PASSED REST-only main vs community regression lane
CI-017 Minor DONE Normalize active workspace line-ending policy to LF by default
CI-018 Major DONE Shared Files 50k-file tree refresh stress gate
CI-019 Major DONE HTTPS and REST socket adversity stress gate
CI-020 Major DONE REST and legacy WebServer error-path coverage gate
CI-021 Major DONE WebSocket and legacy socket leak-churn gate
CI-022 Major DONE Beta 0.7.3 community parity changed-surface ledger
CI-023 Major DONE Beta 0.7.3 post-1.0 hardening regression replay gate
CI-024 Major DONE Beta 0.7.3 controller integration full replay gate
CI-025 Major DONE Beta 0.7.3 REST and adapter contract drift gate
CI-026 Major DONE Beta 0.7.3 shared files, startup cache, and long-path parity gate
CI-027 Major DONE Beta 0.7.3 download and persistence replay gate
CI-028 Major DONE Beta 0.7.3 search, server, and Kad parity replay gate
CI-029 Major DONE Beta 0.7.3 network socket, UDP, WebSocket, HTTPS, and UPnP adversity gate
CI-030 Major DONE Beta 0.7.3 UI, preferences, tray, and language resource parity smoke gate
CI-031 Major DONE Beta 0.7.3 packaging, architecture, and release asset parity gate
CI-032 Major DONE Beta 0.7.3 post-tag focused coverage gaps
CI-033 Major DONE Beta 0.7.3 internal pre-release proof
CI-034 Major DONE Package-release provenance and dirty-input guard
CI-035 Major OPEN Final current-head RC proof and fresh package hashes
CI-036 Major DONE Release certification test matrix
CI-037 Major PASSED Expanded live UI and E2E weak-path stress gate
CI-038 Major DONE UI resource-depth and language smoke gate
CI-039 Minor DONE Consolidate Markdown backlog process and validation
CI-040 Minor DONE Standardize current Markdown naming and structure checks
CI-041 Minor DONE Publish Markdown documentation with MkDocs Material
CI-042 Minor DONE Keep only the latest nightly GitHub prerelease per build stream
CI-043 Minor DONE Add aMuTorrent automatic upstream nightly sync and release workflow
CI-044 Major OPEN Add containerized full-suite profiles for controller and P2P client testing
CI-045 Major OPEN Add workspace-level bind interface selection for predictable live tests

Controller Integrations

ID Priority Status Title
AMUT-001 Major PASSED aMuTorrent eMuleBB browser smoke coverage
AMUT-002 Major PASSED aMuTorrent transfer detail hydration
ARR-001 Major PASSED Full Arr release E2E validation

Release Focus

RC 0.7.3 hardening is controlled by RELEASE-0.7.3. Use that page for release status, source decision, and the open RC task table. The current implementation sequence lives in the single RC 0.7.3 execution plan. Superseded release gate evidence and old cluster plans live under docs\history\release-0.7.3.

Reference Material

Current issue status is tracked here. Other docs/ areas contain reference, history, architecture notes, audits, ideas, and active execution plans according to DOCS-POLICY.