Skip to content

eMule Broadband Edition 0.7.3 Gate History

Historical release evidence only. Current beta 0.7.3 status is controlled by RELEASE-0.7.3, and current execution is controlled by RELEASE-0.7.3-EXECUTION-PLAN.

This is the archived internal control document for rehearsal tag emule-bb-v1.0.0. It records Release 1 gate status, candidate decisions, and readiness evidence from the internal pre-release pass.

Current status: Release 1 gate proof has fresh 2026-05-09 revalidation evidence, rehearsal packages were created, and the annotated internal app tag emule-bb-v1.0.0 was pushed to emulebb/emulebb at app commit 953a39f. This tag and its assets are superseded internal evidence only; the first beta release target is emule-bb-v0.7.3.

Operator docs:

Release Identity

  • Product name: eMule broadband edition
  • Compact app/mod name: eMule BB
  • Internal rehearsal tag: emule-bb-v1.0.0
  • Internal rehearsal assets:
  • eMule-broadband-1.0.0-x64.zip
  • eMule-broadband-1.0.0-arm64.zip

Release Gates

These gates must remain passed, or be explicitly revalidated if their evidence ages out or related code changes.

Current REST hardening focus: revalidate both the native /api/v1 contract and the Arr/qBittorrent-compatible adapter APIs before tagging. The detailed pending task queue lives in the REST/Arr execution plan. aMuTorrent remains the primary UI proof target, but it adapts to the clean native /api/v1 design and must not drive native route shape, aliases, envelopes, or validation policy.

Current stability focus: the original adversarial current-branch findings from the 2026-05-08 Beta 0.7.3 review are closed on main, the first 2026-05-08 follow-up pass findings BUG-092 through BUG-096 are closed on main, and the latest follow-up blockers BUG-097, BUG-099, and BUG-100 are now closed on main. Archive preview and recovery findings BUG-074 and BUG-098 are Wont-Fix by product decision because those deprecated features are entirely frozen, including known bugs. Keep their execution and closure flow in the Beta 0.7.3 stability blockers execution plan.

Current SDET stress focus: the 2026-05-08 test-robustness review promoted four additional Beta 0.7.3 release gates for large Shared Files UI churn, HTTPS/socket adversity, explicit error-path coverage, and resource-accounted socket leak churn. Keep their execution and closure flow in the SDET stress execution plan.

ID Gate Status Evidence pointer
BUG-075 REST typed error consistency Passed item completion evidence
BUG-076 Malformed WebServer/REST hardening Passed item completion evidence
BUG-077 Concurrent WebServer soak Passed item completion evidence
CI-011 Release live E2E umbrella Done item completion evidence and full live-e2e report 20260509-093500-eMule-main-release; auto-browse-live accepted inconclusive for unavailable live browse-capable source
CI-014 REST manifest/live completeness gate Passed item completion evidence
CI-015 REST malformed/concurrent matrix Passed item completion evidence
AMUT-001 aMuTorrent live E2E validation Passed item completion evidence; fresh artifact 20260509-081711-eMule-main-release
AMUT-002 aMuTorrent transfer detail hydration Passed item completion evidence and fresh aMuTorrent browser smoke artifact 20260509-081711-eMule-main-release
ARR-001 Arr live E2E validation Passed item completion evidence; fresh Prowlarr artifact 20260509-102138-eMule-main-release and Radarr/Sonarr artifact 20260509-102255-eMule-main-release; media searches used video categories
FEAT-050 Download completion hook Passed item completion evidence
BUG-078 qBit auth fails closed on session RNG failure Done app 02fd5bf, tests dfc86d6, Release x64 validation
BUG-079 WebSocket accepted-client shutdown lifetime Done app aa66699, Release x64 validation
BUG-080 WebSocket shutdown avoids TerminateThread Done app aa66699, Release x64 validation
BUG-081 HTTPS WebSocket WANT_READ/WANT_WRITE loops yield to socket waits Done app aa66699, Release x64 validation
BUG-082 GeoLocation/IPFilter refresh state cannot wedge Done app e5c8f81, Release x64 validation
BUG-083 Client UDP malformed-packet logging is bounds-safe Done app 1af8bb5, tests cfe9b96, Release x64 validation
BUG-084 Web admin process token handles are closed Done app 1513358, Release x64 validation
BUG-085 Kad/client UDP encryption gating has compatibility proof Done app 2ee49ab, tests 2d5cc1a, Release x64 validation
BUG-086 HTTPS WebSocket mbedTLS socket context ABI is safe Done app c6c1526, Release x64 validation
BUG-087 HTTPS WebSocket queued TLS writes cannot stall on WANT_READ Done app dfcf1fe, Release x64 validation
BUG-088 WebSocket failed shutdown cannot poison restart Done app 7a5de38, Release x64 validation
BUG-089 UDP control sender is exception-safe under sendLocker Done app 4796d2f, Release x64 validation
BUG-090 Background refresh completion cannot wedge on failed UI post Done app 1a09692, Release x64 validation
BUG-091 DirectDownload rejects close-time persistence failures Done app c237d48, Release x64 validation
BUG-092 Background refresh workers cannot write through freed owner memory Done app cfb0625, Debug and Release x64 validation
BUG-093 Failed refresh completion cannot synchronously block worker on UI thread Done app 2823a5c, Debug and Release x64 validation
BUG-094 Refresh launch failure cannot leak suspended thread objects Done app e5d770e, Debug and Release x64 validation
BUG-095 WebSocket accepted-client tracking is exception-safe after thread start Done app 219be75, Debug and Release x64 validation
BUG-096 DirectDownload has bounded timeout or cancellation semantics Done app 84020af, Debug and Release x64 validation
BUG-097 Startup-cache save worker cannot outlive shared-file list owner Done app bde9f16, Debug and Release x64 validation
BUG-074 Archive preview scanner uses volatile cancellation and synchronous UI handoff Wont-Fix deprecated/frozen by product decision; app 8c2cc67 source comment
BUG-098 Archive recovery worker uses raw part-file owner across async work Wont-Fix deprecated/frozen by product decision; app 8c2cc67 source comment
BUG-099 WebSocket listener startup is exception-safe after global state initialization Done app a4c4dc3, Debug and Release x64 validation
BUG-100 DirectDownload has hard owner cancellation for background refresh downloads Done app 9d765e3, Debug and Release x64 validation
BUG-101 Shared Files 50k recursive tree stress profile reaches main window Done passing artifact 20260508-170043-eMule-main-release; 50k rows converged cold, after churn, and cached relaunch
CI-018 Shared Files 50k-file tree refresh stress gate Done tests 92002da, aea5e55, 6ebc3a7, 8d63a45, e751fbb, f79199e, build 756819d; 50k smoke artifact 20260508-170043-eMule-main-release and 160-cycle soak artifact 20260508-204401-eMule-main-release passed with resource thresholds
CI-019 HTTPS and REST socket adversity stress gate Done tests ad2ac65, 96f4759, e216f44, 9e130c3, f00ad31, 704a97b, d6b4f82, build 4a531f6, a229e6c, 17dc429, app c5a2794; HTTPS 32/64 contract-stress artifacts and HTTP socket-adversity artifact passed
CI-020 REST and legacy WebServer error-path coverage gate Done tests 36a612a, f12b49d, 69b8afa, 704a97b; app 2263e64, 4082be7, d1c8af6, 1ca8c63, 979ae8f, ddff25f, c6927cb, c062058, 440e5e5, 5f0689f; hard error matrix artifacts 20260508-202554-eMule-main-release and 20260508-203041-eMule-main-release passed
CI-021 WebSocket and legacy socket leak-churn gate Done tests 1d97dd4, e88e067, ae3a840, 941c439, b8729d3, 352a2d2, build 94d1044, 3ec3674; app d75919a, 1ca4d49, b33efb8, 2cca5ac, 942c484, c5a2794; HTTP/HTTPS 1000-cycle leak-churn stop/start soaks 20260508-203500-eMule-main-release and 20260508-203928-eMule-main-release passed

Candidate Decisions

These items are desirable but are not Release 1 blockers unless a later gate failure proves that they are required.

ID Candidate Release 1 decision
FEAT-032 NAT mapping live validation Deferred; Release E2E did not require NAT proof
FEAT-045 Transfer detail endpoint Passed; promoted with AMUT-002 capability-gated aMuTorrent consumption
FEAT-046 Server/Kad bootstrap/import APIs Passed; server.met import, Kad bootstrap, nodes.dat URL import, malformed preservation, and live seed import evidence are covered
FEAT-047 Search API completeness Passed; OpenAPI and REST contract document Release 1 behavior
FEAT-048 Upload queue control completeness Passed; existing controls are covered, unsupported operations return typed errors, and no new queue mutation was promoted
FEAT-049 Curated REST preference expansion Passed; aMuTorrent needs no additional runtime preference keys and the curated surface has live round-trip plus bad-value coverage

Execution Plans

Each Release 1 gate and candidate is covered by exactly one cluster execution plan. Item docs keep acceptance criteria and evidence; the plans own detailed closure and revalidation flow.

Plan Covered items
REST/Arr execution plan BUG-075, BUG-076, BUG-077, CI-014, CI-015, AMUT-001, ARR-001, FEAT-045, FEAT-046, FEAT-047, FEAT-048, FEAT-049, AMUT-002
Live E2E execution plan CI-011
Download completion hook execution plan FEAT-050
NAT mapping execution plan FEAT-032
Beta 0.7.3 stability blockers execution plan BUG-078, BUG-079, BUG-080, BUG-081, BUG-082, BUG-083, BUG-084, BUG-085, BUG-086, BUG-087, BUG-088, BUG-089, BUG-090, BUG-091, BUG-092, BUG-093, BUG-094, BUG-095, BUG-096, BUG-097, BUG-074, BUG-098, BUG-099, BUG-100
SDET stress execution plan CI-018, CI-019, CI-020, CI-021

Deferred Scope

The following tracks stay outside the first beta release unless a later release-readiness review promotes a concrete blocker:

  • abandoned Boost/POCO and CMake/Ninja/vcpkg adoption ideas: REF-008 through REF-014, CI-001
  • broad CI/toolchain migration: CI-002 through CI-007, CI-010
  • dependency upgrades: REF-028, REF-034
  • broad networking work: REF-029, REF-030, FEAT-018, FEAT-035, FEAT-036
  • broad product/UI expansion: FEAT-017, FEAT-019, FEAT-021, FEAT-031, FEAT-037, FEAT-039 through FEAT-044
  • non-release hardening watchpoints: BUG-031, BUG-034, BUG-035, FEAT-001 through FEAT-006, FEAT-034, CI-008, CI-012, CI-013

Validation

Before tagging emule-bb-v1.0.0, run the supported workspace commands:

  • python -m emule_workspace validate
  • python -m emule_workspace build app --config Debug --platform x64
  • python -m emule_workspace build app --config Release --platform x64
  • python -m emule_workspace build tests --config Debug --platform x64
  • python -m emule_workspace build tests --config Release --platform x64
  • native parity tests through the supported test command
  • Release x64 live-e2e, including aMuTorrent, Prowlarr, Radarr, and Sonarr

Public-network unavailable results are acceptable only when the harness records the run as inconclusive with enough diagnostics to distinguish environment failure from product failure.