Skip to content

chore: release 0.3.0-rc.1 — drop dead refs, ship 2 NuGet packages, honest install docs#18

Merged
Shewart merged 7 commits into
mainfrom
chore/release-0.3.0-rc.1
Jun 18, 2026
Merged

chore: release 0.3.0-rc.1 — drop dead refs, ship 2 NuGet packages, honest install docs#18
Shewart merged 7 commits into
mainfrom
chore/release-0.3.0-rc.1

Conversation

@Shewart

@Shewart Shewart commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Release candidate for v0.3.0. Three concerns landed together because they're all about "what does shipping look like now":

  1. Version + release notes — bumps suffix to rc.1, prepends a consolidated changelog covering the five fix branches (1–5) that ran during the alpha series
  2. Drop dead project referencesShellUI.Components had a phantom ProjectReference to ShellUI.Core and ShellUI.CLI had one to ShellUI.Components. Both had zero using directives anywhere in source — pure dead weight. The Components→Core ghost ref is exactly what shipped the NU1102 dependency error in alpha.2
  3. Honest install docs — every doc previously advertised "Option 1: CLI, Option 2: NuGet" as equivalent paths. They're not. Tailwind v4 scans source files; component source lives inside the DLL when installed via NuGet, so Tailwind never sees the utility classes and components render without their layout/spacing/typography rules. CLI is the supported path; NuGet alone is documented as a known limitation pending v0.4.x

No source code changes. Tests still pass (53/53).

Changes

Version bump

  • Directory.Build.props<ShellUIVersionSuffix>alpha.3</ShellUIVersionSuffix>rc.1. Propagates to all four packages via the centralized version system.

Release notes

  • docs/RELEASE_NOTES.md — prepended # ShellUI v0.3.0-rc.1 🚦 section covering all five fix branches (template escapes, sidebar/theme runtime, init bootstrap, data-table half-install, chart-tooltip CSS) + the test/CI infrastructure that came with them (53 tests, drift detection, CI smoke that scaffolds + builds a real app)

Dead project references removed

  • src/ShellUI.Components/ShellUI.Components.csproj — dropped the ProjectReference to ShellUI.Core. Verified by grep: zero using ShellUI.Core or ShellUI.Core.* references anywhere in src/ShellUI.Components/. The ref was a phantom — it propagated to the .nuspec as a runtime dependency, which is what blew up alpha.2 with NU1102 when only Core 0.1.0 existed on NuGet.
  • src/ShellUI.CLI/ShellUI.CLI.csproj — dropped the ProjectReference to ShellUI.Components. Also zero using directives anywhere in src/ShellUI.CLI/. The CLI only needs Core (for ComponentMetadata, ShellUIConfig, NuGetDependency, ProjectInfo) and Templates (for ComponentRegistry).
  • src/ShellUI.Core/ShellUI.Core.csproj — marked <IsPackable>false</IsPackable>. Was emitting an orphan .nupkg no one pushed. Now dotnet pack ShellUI.sln produces exactly the two packages we actually ship.

Release workflow

  • .github/workflows/release.yml — dropped the Core push step and removed Core from the GH Release asset list. Now publishes only ShellUI.CLI + ShellUI.Components to NuGet, mirroring what actually exists.

Documentation sweep

  • README.md — replaced the misleading "Option 1: CLI / Option 2: NuGet" section with one honest "CLI is the install path" section + a clearly-labeled "advanced manual setup" subsection. The package-overview table now says CLI is required and the Components package is optional with a clear use-case description.
  • src/ShellUI.Components/README.md (ships in the NuGet package, shows on nuget.org) — leads with a "Read this first" warning that the package alone doesn't produce styled components, explains why (Tailwind compiles by scanning source files), points users to the CLI, and notes the v0.4.x roadmap.
  • src/ShellUI.CLI/README.md (also on nuget.org) — expanded the shellui init description to list everything it actually does now (theme bootstrap, render mode, shellui.js link, MSBuild integration, idempotency) so users know what they get for free.

Verification

  • dotnet pack ShellUI.sln -c Release after cleaning the bin folder produces exactly two packages:
    src/ShellUI.CLI/bin/Release/ShellUI.CLI.0.3.0-rc.1.nupkg
    src/ShellUI.Components/bin/Release/ShellUI.Components.0.3.0-rc.1.nupkg
    
  • Extracted ShellUI.Components.0.3.0-rc.1.nuspec confirms the dependency graph is clean — only the three real runtime deps (Blazor-ApexCharts, Microsoft.AspNetCore.Components.Web, System.Linq.Dynamic.Core), no ShellUI.Core:
    <dependencies>
      <group targetFramework="net9.0">
        <dependency id="Blazor-ApexCharts" version="6.0.2" exclude="Build,Analyzers" />
        <dependency id="Microsoft.AspNetCore.Components.Web" version="9.0.6" exclude="Build,Analyzers" />
        <dependency id="System.Linq.Dynamic.Core" version="1.7.1" exclude="Build,Analyzers" />
      </group>
    </dependencies>
    The NU1102 alpha.2-class bug is now structurally impossible.
  • dotnet test ShellUI.Tests -c Release53/53 passing

Test plan

  • Merge to main
  • Tag v0.3.0-rc.1
  • Confirm release.yml publishes exactly 2 nupkgs (CLI + Components) and a GitHub Release with the new top-of-file notes as the body
  • dotnet tool install -g ShellUI.CLI --version 0.3.0-rc.1 works
  • dotnet add package ShellUI.Components --version 0.3.0-rc.1 --prerelease resolves without trying to fetch ShellUI.Core from NuGet (this would have failed in alpha.2)
  • Soak for ~3 days against real consumer projects

Next step

If the soak window stays quiet: open chore/release-0.3.0 — empty version suffix, README/PROJECT_STATUS "stable" wording, VERSIONING_STRATEGY.md API-contract doc. Then tag v0.3.0. After that, chore/net10-upgrade opens the 0.4 cycle.

Shewart added 7 commits June 18, 2026 12:05
Revised the README to emphasize the importance of the CLI tool for obtaining styled components. Added a clear warning about the package's limitations without the CLI, streamlined the quick start section, and provided detailed commands for initializing and adding components. Removed outdated installation steps and clarified the future support for standalone NuGet package usage.
Updated the release workflow to exclude ShellUI.Core and its associated packages from being published to NuGet, as they are internal-only components without a public API. This change streamlines the publishing process, ensuring only relevant packages are pushed to the NuGet repository.
Updated the ShellUI.Core project file to set <IsPackable>false</IsPackable>, indicating that this internal library is not intended for NuGet publishing. This change aligns with the recent workflow adjustments to streamline the release process for internal components.
…project

Eliminated the ProjectReference to ShellUI.Components in the ShellUI.CLI project file, streamlining dependencies and aligning with recent project structure changes.
Updated the README to emphasize the CLI-first approach for ShellUI, detailing the installation process and the role of the `ShellUI.Components` NuGet package. Streamlined the instructions for setting up Tailwind CSS and clarified the necessity of using the CLI for styled components, while also addressing the limitations of the NuGet package alone. Enhanced the organization of installation steps and added warnings regarding manual setup requirements.
Modified the ShellUI version suffix in Directory.Build.props from alpha.3 to rc.1, reflecting the transition to a release candidate stage in the development cycle.
…ical fixes and improvements

Updated RELEASE_NOTES.md to reflect the release candidate for v0.3.0, detailing integration-tested fixes, critical bug resolutions, and enhancements. Highlights include improved project initialization, corrected component registrations, and the introduction of regression tests for templates. The document serves as the source of truth for the GitHub Release body, ensuring consistency across communications.
@Shewart Shewart merged commit 3ab70d0 into main Jun 18, 2026
1 check passed
@Shewart Shewart deleted the chore/release-0.3.0-rc.1 branch June 18, 2026 10:36
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