You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1.7 KiB

status date last-verified owner source
accepted 2026-10-08 2026-10-08 shared maintainer decision of 2026-10-08

Decision 21: A quality gate before 5.0.0

  • Choice: 5.0.0 ships only at the highest quality, with everything tested (maintainer, 2026-10-08). The gate has three phases:
    1. Measure 5.0.0-rc5: done on 2026-10-08 (progress.md).
    2. Add tests until every code path is tested or explained, live tests for the remaining cmdlets, and test-first fixes of the known defects; release them as 5.0.0-rc6. The maintainer approved it on 2026-10-08.
    3. Run the live tests on more operating systems, such as a Windows 11 client and Server 2019 and 2022 file servers, then release 5.0.0.
  • Exit criteria for 5.0.0, as proposed on 2026-10-08:
    • Every cmdlet and parameter set has behavior tests, error paths included.
    • No test is skipped in every configuration that runs.
    • The C# coverage is measured, and every path that no test runs is tested or explained.
    • Every known defect is fixed, or accepted by the maintainer and listed in the release notes.
    • The published package passes the live tests on every operating system of the matrix.
  • Rationale: rc5 passed every test that ran, but the tests ran 55.9% of the code lines and 37.4% of the branches; five cmdlets had no tests of their own, and 19 cmdlets never ran over SMB. (That measurement counted only one of the four test runs; with all four, rc5 runs 58.1% of the lines and 38.0% of the branches, see techContext.md.)
  • Open: behavior changes found on the way stay the maintainer's decision (Decision 16); so do the 244 lines of classes that no cmdlet calls, the operating systems of Phase 3, and how to cover file servers that aren't Windows (#34).