Files
Renderive/render_3D/datoviz/spec/release/RC_PROCESS.md
T
2026-08-14 01:54:38 +08:00

4.1 KiB

Release Candidate Process

Use explicit release candidates. Each RC should have a written scope, known issues, validation matrix, generated artifacts, migration/status notes, and feedback request.

RC1: API And Architecture Candidate

Exit criteria:

  1. RC1 tag and notes exist;
  2. build/test/spec validation is recorded;
  3. feature table, visible parity table, known gaps, Python binding scope, and WebGPU/WASM scope are published or linked;
  4. release examples are documented enough for early testers;
  5. public headers, ownership rules, and lower-layer support labels have been reviewed.

Success criteria:

  1. a small number of serious external testers, roughly 5-10, try the release candidate;
  2. installation feedback arrives from Linux, macOS, and Windows;
  3. at least several release examples run outside the main development machine;
  4. reports distinguish build/install failures, rendering or driver bugs, example issues, API feedback, documentation gaps, and platform/GPU details;
  5. public discussion does not confuse Datoviz v0.4 RC1 with VisPy 2.0 or with the final v0.4 release.

RC2: Packaged Native-Window Hotfix

Exit criteria:

  1. the macOS packaged Vulkan-loader/GLFW mismatch is fixed;
  2. installed-wheel native windows have automated Linux/Xvfb regression proof, while hosted macOS retains offscreen MoltenVK render proof without claiming an interactive desktop session;
  3. the exact canonical macOS wheel has explicit attended Quickstart evidence on the MacBook M3;
  4. all six replacement wheels pass the normal RC artifact and conformance gates;
  5. public guidance discloses the RC1 limitation until RC2 is available;
  6. RC2 notes record physical Linux and Windows as unavailable exclusions, not passes; and
  7. unrelated documentation, gallery, provider, and feature work remains deferred.

RC3: Documentation, Packaging, And Quality Candidate

Exit criteria:

  1. documentation and gallery structure are mostly final;
  2. generated C reference, captured artifacts, RC feedback triage, attribution, and gallery review are complete;
  3. Qt/PyQt hosting has a tested packaged datoviz_qtbridge provider, preferably conda-first, without adding Qt to the base wheel;
  4. only blocker fixes remain after the planned RC3 deliverables;
  5. packaging, licenses, generated artifacts, release notes, and docs are final candidates;
  6. source archives and wheels build, install, and pass installed smoke tests on supported platforms;
  7. static-analysis, memory/UB, Vulkan validation, long-running loop, docs link, gallery smoke, and example smoke results are either clean or recorded as known issues;
  8. checksums/signing policy and required third-party notices are decided.

Final v0.4.0

Exit criteria:

  1. v0.4.0 is tagged and published with reproducible artifacts;
  2. documentation and release notes are public;
  3. launch screenshots, short clips, README/website assets, and announcement text are generated from current gallery examples;
  4. direct feedback channels are open for early users, especially scientists whose public datasets are used in showcase examples;
  5. the active queue resets for v0.4 patch work and v0.5 planning.

Required RC Notes

Every RC note should include:

  1. exact commit and tag;
  2. feature status table;
  3. known issues;
  4. platform validation matrix;
  5. test/static-analysis summary;
  6. docs/gallery build links;
  7. wheel/source artifacts;
  8. migration/status notes from v0.3 and development snapshots;
  9. feedback request targeted at users and contributors.

Feedback Triage

Each RC should have issue labels or project fields that separate:

  1. installation and packaging failures;
  2. rendering, driver, and platform-specific bugs;
  3. example and gallery failures;
  4. API and ownership/lifetime feedback;
  5. documentation issues;
  6. final-release blockers.

After one to two weeks of RC1 feedback, summarize the findings and decide whether the next RC is a blocker fix, a documentation/gallery candidate, or unnecessary before the next planned gate. RC1 feedback produced a narrow RC2 packaged native-window hotfix, moving its former planned scope to RC3.