# Beta 5 Package And Workspace Discipline Release label: `1.0.0-beta.5` Release date: 2026-05-22 Status: released beta package/workspace discipline slice. ## Scope This post-`1.0.0-beta.4` slice tightens local package/workspace behavior without adding a remote registry, package solver, lockfile, or stable package ABI promise. ## Current Work - Add `[workspace] default_package = "name"` as an explicit build/run entry selector for workspaces with multiple packages that contain their entry module. - Keep `check`, `test`, `fmt`, and `doc` project-wide over the full closed workspace graph. - Diagnose missing `default_package` references during workspace loading. - Diagnose duplicate workspace members after path normalization before package loading. - Add workspace package and dependency summaries to `glagol doc`. - Teach generated workspace templates and canonical workspace examples to declare `default_package = "app"`. - Add `docs/language/PACKAGES.md` as the public beta local package/workspace guide, including the no-registry/no-lockfile policy. - Keep dependency resolution local-path-only and deterministic. ## Acceptance Gates - `cargo test --test project_mode workspace_default_package` - `cargo test --test project_mode workspace_package_boundaries` - `cargo test --test dx_v1_7 doc_generates_workspace_package_summary` - `cargo test --test dx_v1_7 new_workspace_template` - `cargo fmt --check` - `git diff --check` ## Deferrals - No remote registry. - No lockfile. - No semantic-version solver. - No optional, dev, target, or feature dependencies. - No package publishing or archive format. - No stable package ABI/layout guarantee.