Skip to content

Tags: shellui-dev/shellui

Tags

v0.3.0-rc.1

Toggle v0.3.0-rc.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: release 0.3.0-rc.1 — drop dead refs, ship 2 NuGet packages, ho…

…nest install docs (#18)

## 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 references** — `ShellUI.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`:
  ```xml
  <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 Release` — **53/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.

v0.3.0-alpha.3

Toggle v0.3.0-alpha.3's commit message
ShellUI v0.3.0-alpha.3 - sidebar blocks, shellui-js, NuGet Core fix

v0.2.1

Toggle v0.2.1's commit message
v0.2.1 - Charts hotfix + CSS auto-install

v0.3.0-alpha.2

Toggle v0.3.0-alpha.2's commit message
v0.3.0-alpha.2: CLI registry fix - Drawer/Sheet compositional subcomp…

…onents

v0.3.0-alpha.1

Toggle v0.3.0-alpha.1's commit message
ShellUI v0.3.0-alpha.1 - Alpha release

v0.2.0

Toggle v0.2.0's commit message
Release v0.2.0 - Charts & Data Visualization

v0.1.1

Toggle v0.1.1's commit message
ShellUI v0.1.1 - Hotfix: Prevent ShellUI.Core from being published se…

…parately

v0.1.0

Toggle v0.1.0's commit message
ShellUI v0.1.0 - First official release

v0.0.3

Toggle v0.0.3's commit message
Release v0.0.3 - Fixed v0.0.2 issues

v0.0.1

Toggle v0.0.1's commit message
Release v0.0.1