Skip to content

1.0.0 first-stable-release fix. - #268

Merged
stiwicourage merged 2 commits into
mainfrom
develop
Oct 12, 2026
Merged

stiwicourage merged 2 commits into
mainfrom
develop

Conversation

@stiwicourage

Copy link
Copy Markdown
Owner

Summary

  • Prepared the release review summary for the 1.0.0 first-stable-release fix.
  • This was needed because Nova previously auto-advanced an explicit 1.0.0 target to 1.0.1, 1.1.0, or 2.0.0 based on inferred history instead of preserving the first stable release target.

Affected area

  • nova CLI or command routing
  • Public PowerShell cmdlet behavior
  • Scaffolding or project.json handling
  • Build, test, analyzer, coverage, or CI helper flow
  • Package, raw upload, or package metadata workflow
  • Publish, release, or GitHub Actions automation
  • Self-update or notification preference behavior
  • Contributor documentation (README.md, CONTRIBUTING.md, repository workflow docs)
  • End-user docs (docs/*.html)
  • Command help (docs/NovaModuleTools/en-US/*.md)
  • src/resources/example/
  • Dependency or manifest changes (project.json, workflow dependencies, release tooling)
  • Security-sensitive change
  • Documentation-only change
  • Agentic Copilot Workflow + scaffold mirror + scaffold-sync guardrail test.
  • Other

Review guidance

  • Start with src/private/release/GetNovaVersionUpdatePlan.ps1 and tests/private/release/GetNovaVersionUpdatePlan.Tests.ps1.
  • The release-sensitive behavior is documented in README.md, docs/NovaModuleTools/en-US/Update-NovaModuleVersion.md, docs/versioning-and-updates.html, CHANGELOG.md, and RELEASE_NOTE.md.
  • Publish.yml still uses Get-NovaProjectInfo -Version after Invoke-NovaRelease, so the workflow continues to treat project.json as the version source of truth. No publish-flow mutation was needed.
  • project.json currently contains 3.4.2-preview while the latest released changelog heading is 3.4.1; on develop that is consistent with the documented prerelease role, but the stable release target to cut from this fix is 3.4.2.

Validation

  • Invoke-NovaBuild
  • Invoke-NovaTest
  • Test-NovaBuild
  • ./scripts/build/Invoke-ScriptAnalyzerCI.ps1
  • ./scripts/build/ci/Invoke-NovaModuleToolsCI.ps1
  • Targeted Nova workflow validated (% nova build, % nova test, % nova merge, % nova deploy, % nova publish, % nova release, % nova update, % nova notification, or % nova init as relevant)
  • Docs/example only; executable validation not needed

Validation notes:

Passed:
- Focused Red/Green regression for tests/private/release/GetNovaVersionUpdatePlan.Tests.ps1 via Invoke-NovaTest using Run.Container override
- pwsh -NoLogo -NoProfile -File ./run.ps1
- CodeScene code_health_score on src/private/release/GetNovaVersionUpdatePlan.ps1 => 10
- CodeScene code_health_score on tests/private/release/GetNovaVersionUpdatePlan.Tests.ps1 => 10
- CodeScene pre_commit_code_health_safeguard => passed
- CodeScene analyze_change_set against origin/develop => passed

Not run:
- ./scripts/build/ci/Invoke-NovaModuleToolsCI.ps1 (not required for this focused release/versioning fix)

Release-workflow check:
- .github/workflows/Publish.yml reads the post-release version from Get-NovaProjectInfo -Version after Invoke-NovaRelease, so it continues to use project.json as the authoritative version source.

Documentation and release follow-up

  • README.md reviewed and updated if contributor workflow, architecture, CI, release, or automation changed
  • CONTRIBUTING.md reviewed and updated if contribution expectations or review guidance changed
  • CHANGELOG.md reviewed and updated if the change matters to users, maintainers, or contributors
  • RELEASE_NOTE.md reviewed and updated if the change affects public cmdlet usage, CLI usage, configuration semantics, or migration expectations
  • docs/NovaModuleTools/en-US/ help updated if a public command or CLI behavior changed
  • docs/*.html updated if end-user workflows or examples changed
  • src/resources/example/ reviewed and updated if the real-world project layout, package model, or upload workflow changed
  • No documentation, changelog, release-note, or example updates were needed

Maintainability, compatibility, and risk

  • Code Health / maintainability impact considered
  • No breaking change
  • Breaking change
  • Security-sensitive change
  • CI, workflow, or release-pipeline impact
  • Dependency-review impact

Risk, rollout, or rollback notes:

Compatibility: low risk patch fix. The change only special-cases exact stable 1.0.0 for non-preview release planning and keeps preview behavior unchanged at 1.0.1-preview.

Rollout: for the next stable release from this line, promote the current develop prerelease state to 3.4.2 on main. No Publish.yml change is needed.

Rollback: revert the Get-NovaVersionUpdatePlan special case and the matching regression/doc updates if the release target behavior must return to inferred SemVer bumping.

Important

Do not use a public pull request to disclose a vulnerability before coordinated handling.
Use the private reporting path in SECURITY.md for new security issues.

codescene-access[bot]

This comment was marked as outdated.

codescene-access[bot]

This comment was marked as outdated.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gates Passed
6 Quality Gates Passed

See analysis details in CodeScene

Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

@codescene-access codescene-access Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Coverage Gates Passed
Overall Coverage: 99.9% (required = 95%)
New & Changed Code Coverage: 100% (required = 99%)

Review details by gate
  • Overall Coverage

    • Pass/Fail Reason:
      The overall coverage gate was checked for all code and meets the goal: 99.9% covered >= threshold = 95%
    • Action:
      You have 296 files with a sum of 4321 covered and 6 uncovered lines of code.
  • New & Changed Code Coverage

    • Pass/Fail Reason:
      New or changed code meets coverage goal: 100% covered >= threshold = 99%
    • Action:
      You modified 1 files, and covered 7 added/modified lines of code.

@stiwicourage
stiwicourage merged commit 36585c5 into main Oct 12, 2026
15 checks passed

This branch was successfully deployed

1 active deployment
github-pages — 8164967d Deployed Oct 12, 2026 by stiwicourage via deploy #297
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant