Apollo Download ManagerApollo Download Manager
On this page

Release readiness

Passing tests isn't the same as being ready to release. This checklist covers everything else a release depends on: security, licences, signing, the release pipeline, field testing, privacy, documentation, rollback and known limits (#78). It is the gate before 1.0.0, and it's brought up to date before each release, starting with 0.2.0.

How to read it:

  • Status: each item is PASS, FAIL, NOT RUN or BLOCKED, from evidence that can be checked: a closed issue, a document, or a command with its result. An item without that evidence is never PASS.

  • Owner: the PO decides and holds accounts. The agent keeps the evidence current.

  • Gaps: every item that isn't PASS is also in Gaps for the PO. The PO accepts each gap or asks for it to be fixed; nothing is accepted on the PO's behalf.

  • Scope: Windows and Linux. macOS isn't planned, and V1 parity acceptance (#85) was closed as not planned (PO decision, 2026-11-05).

Last reviewed: 2026-11-10, for v0.2.0: on main at 7dce4d1, and the advisory check again with #446 in, on the branch for #450.

Security

ItemOwnerStatusEvidence
Dependency advisories (#75)AgentPASSpnpm check:advisories with #446 in: Rust PASS, npm PASS. RUSTSEC-2026-0459 (SQLite, Medium), found by this review, was fixed in #446; the rest are fixed or accepted in the register (SECURITY.md)
TLS verification on every backend (#69)AgentPASS#69 closed; SECURITY.md
Links, redirects and local addresses (#67)AgentPASS#67 closed; SECURITY.md
Secrets kept out of storage (#70), and the leak scan (#71)AgentPASS#70 and #71 closed; SECURITY.md
Files and folders (#72)AgentPASS#72 closed; SECURITY.md
The browser bridge (#65)AgentPASS#65 closed; SECURITY.md
Fuzzing of the protocol parsers (#73)PONOT RUN#73 closed as not planned (2026-11-05)
Recovery from a full disk, interrupted writes and crashes (#74)AgentPASS#74 closed
Load, stress and long runs (#77, #337)PONOT RUN#77 closed as not planned (2026-11-05); the load and long-run field test is #337, in v0.3.0

Licences

ItemOwnerStatusEvidence
Apollo Download Manager's own licencePOPASSGPL-3.0-only (ADR-0017, #86)
Third-party notices and licence closure (#76)AgentPASSpnpm check:notices on 7dce4d1: "THIRD_PARTY_NOTICES.md is up to date: 6 native libraries, 578 crates, 62 npm packages"
Legal review of the licensingPONOT RUNLICENSING.md: "No legal review was done for this decision"
Legal review of the Contributor Licence AgreementPONOT RUNOPEN_SOURCE.md: CLA.md is a draft until reviewed by a lawyer
Trademark and intellectual-property due diligence (#441)PONOT RUN#441 open, in v0.3.0; the PO is arranging the trademark searches with a lawyer

Packaging and signing

ItemOwnerStatusEvidence
Windows installer, with install, upgrade and uninstall beside V1 (#81)AgentPASS#81 closed; PACKAGING.md
Linux deb and rpm, installed in clean containers (#82)AgentPASS#82 closed; the container install tests in PACKAGING.md
Windows code signingPONOT RUNThe installer isn't signed, so SmartScreen warns on first run (PACKAGING.md). The decision is #428, the workflow #429, both in v0.3.0
Linux package and checksum signingPONOT RUNReleases carry SHA256SUMS and GitHub artifact attestations (RELEASE_PROCESS.md); the checksums aren't signed (#428, #429)
macOSPONot in scopeNot planned (PO decision, 2026-11-05)

Release pipeline

ItemOwnerStatusEvidence
Release-candidate builds (#17)AgentPASSRelease candidate runs for v0.1.0-rc.1 (2026-10-31) and v0.1.1-rc.1 (2026-11-04): success
The release workflow, gated on the PO (#18)POPASSRelease runs for v0.1.0 and v0.1.1: success. The release environment has a required reviewer
Versions, changelog, provenance and checksums (#84)AgentPASS#84 closed; RELEASE_PROCESS.md
main and release tags protectedPOPASSThe repository rulesets "Main" and "Release Tags" are active
Side by side with V1: identity, data and registrations (#11, #27)AgentPASS#11 and #27 closed; COEXISTENCE.md

Field testing and candidate feedback

ItemOwnerStatusEvidence
The installed app with real downloads (#262)PO and agentPASS#262 closed (2026-11-04); its session reports are comments on #262 (TESTING.md)
Feedback on the candidatesPOPASS0.1.0 and 0.1.1 were released from their candidates on the PO's acceptance, as pre-releases
Ramp and speed field testing (#330)AgentNOT RUN#330 open, in v0.3.0

Privacy and accessibility

ItemOwnerStatusEvidence
No telemetry or analyticsAgentPASSPRIVACY.md: "Apollo Download Manager has none"
Accessibility and keyboard use (#66)AgentPASS#66 closed; ACCESSIBILITY.md

Documentation

ItemOwnerStatusEvidence
User guides (#79)AgentPASS#79 closed; docs/user/, also in the app
Engine internals and data (#80)AgentPASS#80 closed; ENGINE_INTERNALS.md, DATA_AND_MIGRATIONS.md
Audit of the guide and the developer site (#425)AgentNOT RUN#425 open, in v0.3.0

Browser extension

ItemOwnerStatusEvidence
Chrome Web StorePOPASS for 0.2.0The item is ready to publish; the PO publishes it with v0.2.0. The app allows its ID and links to it (#240, PR 445)
Microsoft Edge Add-onsPOBLOCKEDThe store account isn't approved yet (#240)
Firefox Add-onsPOBLOCKEDSubmitted, in review (#240). It follows in a later release (PO decision, 2026-11-10)

Rollback

  • Before a release is public: the release workflow makes a draft, and only the PO publishes it (RELEASE_PROCESS.md). A wrong draft is never published; the fix goes into a new candidate.

  • After a release: the fix ships in a later version (Choosing the next version). For users, going back to the earlier version, with their data, follows Going back to an earlier version. A database that a newer version upgraded is refused by an older one unchanged, and the backup made before the upgrade restores it (DATA_AND_MIGRATIONS.md).

  • The browser extension: each store keeps its own versions. A bad extension version is replaced by a new upload. The app accepts the store's extension ID, which doesn't change between versions.

Known limitations

What users meet in this version, with where it is documented:

  • The Windows installer isn't signed: SmartScreen warns on first run (PACKAGING.md).

  • The extension is only in the Chrome Web Store in 0.2.0. Edge and Firefox users load it by hand until their stores approve it (Browser integration).

  • Nothing is imported from V1 (V1 and Apollo Download Manager).

  • Protocols: FTP and SFTP use one connection each, and SFTP and torrents can't use an HTTPS proxy (Protocols).

  • Torrents through a proxy have limits (Torrents).

  • Snap and Flatpak browsers may not be able to start the browser connection. Settings, Browser warns beside such a browser; the user guide doesn't mention it yet.

  • On Linux, browser registrations must be removed before the package (Installing).

  • No macOS build.

Gaps for the PO

Each item here needs the PO's decision before the release it blocks: accept it for that release, or have it fixed. Nothing here is accepted yet.

GapBlocksPO decision
No fuzzing (#73)1.0.0Open
No load, stress or long-run test (#77, #337)1.0.0Open
No legal review of the licensing or the CLA1.0.0; the CLA also blocks the first outside contribution (OPEN_SOURCE.md)Open
Trademark and IP due diligence (#441)1.0.0Open
Unsigned Windows installer and unsigned Linux checksums (#428, #429)1.0.0Open
Ramp and speed field testing (#330)1.0.0Open
Guide and developer-site audit (#425)1.0.0Open
Edge and Firefox store listings (#240, #241)Not 0.2.0 (PO decision, 2026-11-10); 1.0.0Open