3.5 KiB
3.5 KiB
1.0.0-beta.11 Release Review
Status: ready for publication after the controller release gate.
Verdict
No blocking issues remain after controller follow-up. The original workspace package API leak was reproduced, fixed, and covered by a regression test before publication.
Resolved Finding
- Workspace package API docs originally included compiler-loaded standard
library modules when a workspace package imported
std.option. - Controller fix: workspace package API rendering now filters package modules to the package source root before collecting public API sections, matching the existing project-mode local-root behavior. Ordinary module summaries can still show loaded standard-library modules, but package API sections no longer present those modules as package-owned API.
- Regression added:
doc_workspace_package_api_excludes_loaded_std_modules.
Scope Checked
compiler/src/docgen.rsadds per-module public API sections and package API sections, renders exported function signatures, struct fields, enum variants, and normalizes module-local aliases before public rendering.compiler/tests/doc_api_beta11.rscovers file, project, workspace scaffold, workspace packages importingstd.*, alias normalization, non-exported function omission, and byte-identical repeat generation for a file input.- README, compiler/language roadmaps, release notes, SPEC-v1,
STDLIB_API.md, and the beta11.llmcontract include the main deferrals: no stable Markdown schema, no stable stdlib/API compatibility freeze, no LSP/watch, no SARIF/daemon protocol, no diagnostics schema policy, no executable generics, no maps/sets, no re-exports/globs/hierarchical modules, and no registry semantics. - Version bumps in
compiler/Cargo.tomlandcompiler/Cargo.lockmoveglagolfrom1.0.0-beta.10to1.0.0-beta.11.
Test Coverage Notes
- Workspace packages that import
std.*are now covered by a focused regression that verifies package API excludes loaded standard-library modules and helpers. - Determinism is asserted byte-for-byte only for file docs. Project and workspace determinism are indirectly exercised by sorted rendering but not protected by repeat-generation tests.
- Non-export filtering is asserted for functions and aliases. There is no explicit negative test for non-exported structs, non-exported enums, or tests appearing in public API sections.
- Alias normalization is covered for file/module docs, but not for project or workspace package API fixtures.
Verification
cargo fmt --check: passed.cargo check: passed.cargo test --test doc_api_beta11: passed, 6 tests.cargo test --test dx_v1_7: passed, 13 tests.cargo test --test symbols_beta10: passed, 4 tests.cargo test --test promotion_gate: passed, 1 unignored test.git diff --check: passed.- Stale beta10 current-release/version scan over README, docs,
.llm, and compiler package metadata: no matches. - Private/local publication text scan over README, docs, scripts, compiler
source/tests, lib, examples, benchmarks, tests, and
.llm: no matches. node scripts/render-stdlib-api-doc.js: passed and refreshed the catalog release wording to1.0.0-beta.11.- Manual workspace std-import doc generation after the fix: package API no longer includes loaded standard-library modules.
./scripts/release-gate.sh: passed docs, generated stdlib API catalog consistency, private-publication text checks, formatter checks, the full cargo test suite, ignored promotion checks, binary smoke, and LLVM smoke.