Skip to content

chore(release): prepare v0.3.0-rc.2 - #31

Merged
Shewart merged 11 commits into
mainfrom
release/v0.3.0-rc.2
Sep 26, 2026
Merged

Shewart merged 11 commits into
mainfrom
release/v0.3.0-rc.2

Conversation

@Shewart

@Shewart Shewart commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Summary

This prepares v0.3.0-rc.2: it sets the version, writes the release notes, and updates the docs. It also adds the three new charts to the CLI and fixes chart tooltips. After merge, tag the merged commit on main as v0.3.0-rc.2 to publish.

Release changes

  • Version: Directory.Build.props goes from 0.4.0-alpha.1 to 0.3.0-rc.2. v0.3.0 ships from main first, and 0.4 starts after it.
  • Release notes: the "Unreleased" section becomes # ShellUI v0.3.0-rc.2. It covers the move to .NET 10 (a breaking change), Tailwind 4.3.2, the new components, and the fixes from fix(templates): v0.3.0-rc.1 follow-up fixes - Tabs, Select, SidebarInset #29, fix(sidebar): make sidebar interop work inside Razor Class Libraries + CLI install hardening #30 and the Class parameter PR.
  • release.yml: fails before building or publishing when the CLI or Components version doesn't match the tag.
  • Docs (16 files): install commands pin --version 0.3.0-rc.2, and 0.3.0-rc.1 is named as the last release for .NET 9. Docs that only restated the current version now point to Directory.Build.props. Component counts are updated to 76 direct targets and 176 registry entries.

Charts

  • New CLI targets: donut-chart, radar-chart and radial-chart. Before this, they existed only in the NuGet package.
  • The CLI chart-variants template had drifted from the package in feat: apex chart restyle — shadcn aesthetic, 3 new chart types, sleek tooltips #26. CLI-installed charts had broken tooltips: empty rows for pie, donut and radial. They also used the reverted oklch palette and lacked the animation and legend options. The template now matches the package, and Chart gains ShowToolbar and ShowLegend.
  • Radar tooltips never appeared because of the shared tooltip mode. RadarChart now uses per-point tooltips.
  • Tooltip x-axis labels: they were dropped for bar and radar charts because an empty categories list stopped the lookup. Fixed in the package, the template and the demo.
  • Tests: new drift check between chart-variants and the package, and sync and dependency coverage for the new charts.

Test plan

  • Clean Release build of ShellUI.slnx: no warnings or errors
  • dotnet test: 107/107 passing
  • Demo app build: no warnings or errors
  • Fresh Blazor app: shellui add donut-chart radar-chart radial-chart pie-chart bar-chart exits with 0, builds with no warnings, and all five tooltips show label and value on hover
  • Version check: tag v0.3.0-rc.2 passes and a mismatched tag fails
  • scripts/extract-release-notes.sh 0.3.0-rc.2 extracts the section
  • CI
  • After merge: pwsh ./prepare-release.ps1 -Version 0.3.0 -Suffix rc.2 -DryRun on main

After merge

  1. git checkout main && git pull --ff-only
  2. pwsh ./prepare-release.ps1 -Version 0.3.0 -Suffix rc.2 -DryRun
  3. git tag v0.3.0-rc.2 && git push origin v0.3.0-rc.2
  4. Test the published packages in FDMS and a fresh app, then prepare v0.3.0.

Shewatipa Tseisi and others added 11 commits September 26, 2026 14:21
…`ClassName`

30 CLI templates (Table and its parts, Select, Switch, Checkbox, RadioGroup,
Tooltip, Toast, Popover, Dropdown, Slider, Separator, ScrollArea, Skeleton,
the date/time pickers, Form, Menubar, Navbar, NavigationMenu, Pagination,
Resizable) and 8 package components declared only `ClassName`, while the rest
of the library uses `Class`. `Class="..."` on those components fell into
AdditionalAttributes and could replace the component's own class attribute,
dropping its base styling (reported against Skeleton).

Each of them now declares `Class` and merges it after `ClassName`, which stays
as a deprecated alias so existing markup keeps working. Not marked [Obsolete]:
the warning would also fire inside consumers' generated files and break
TreatWarningsAsErrors builds.

ClassParameterTests fails if any template or package component declares
`ClassName` without also declaring and rendering `Class`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`add` printed "Failed: ..." but always exited 0, so scripts and CI could not tell
a partial install from a clean one. It also exited 0 when the handler threw.

InstallComponents now returns false when a component or dependency fails, when
shellui.json is missing or unreadable, or when a NuGet package could not be added
(the project would not compile). Each missing package is listed with the exact
`dotnet add package` command to run. The handler exits 1 in all of these cases,
matching the other commands in Program.cs.

Verified in a scratch Blazor app: `add buttonn` exits 1, `add skeleton` exits 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
release.yml used the whole of docs/RELEASE_NOTES.md as the GitHub release body,
so every release would have shown every version's notes, starting with the
"Unreleased / current source" section.

scripts/extract-release-notes.sh prints just the "# ShellUI v<version>" section
(skipping "# ..." shell comments inside code blocks) and exits 1 when there is
none. release.yml runs it first, before build or NuGet push, so a tag without
notes fails without publishing anything. prepare-release.ps1 checks for the
section too, including on -DryRun, so it is caught before the tag is pushed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With core.autocrlf=true, scripts/*.sh were checked out with CRLF on Windows,
which breaks them under Git Bash (set: pipefail\r).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaced comments indicating that ClassName is a deprecated alias for Class with a clearer message. This change applies to multiple components and templates, ensuring consistency in documentation and encouraging the use of the preferred Class parameter.

Additionally, removed unnecessary comments in various scripts and configuration files to streamline the codebase.
Updated the centralized ShellUI version in Directory.Build.props to 0.3.0-rc.2, reflecting the latest release candidate. Adjusted the README and various documentation files to align with the new version, including changes to the component inventory, installation instructions, and CLI commands. The update includes new components and fixes identified in previous releases, ensuring consistency across the project.
Implemented a new step in the release workflow to verify that the package version specified in the project files matches the version tag being released. This ensures consistency and prevents discrepancies between the version in the codebase and the release tag. If a mismatch is detected, an error message is generated to prompt for updates in Directory.Build.props.
Refactored the xLabelAt function to streamline the process of resolving x-axis labels. The new implementation checks multiple sources for category labels, ensuring that valid labels are returned more efficiently. This change enhances the robustness of the chart rendering logic.
…ync tests

Enhanced the test coverage for chart components by adding new test cases for "donut-chart", "radar-chart", and "radial-chart" in both NuGetDepsAndSuggestionsTests and TemplateSyncTests. This ensures that the templates and dependencies for these chart variants are validated against the live library, improving overall test robustness.
Introduced a new documentation file detailing fixes encountered while integrating ShellUI 0.3.0-rc.1 components, including compilation errors and rendering issues. Key updates include adjustments to `Tabs.razor`, `Select.razor`, and `SidebarProvider.razor`, among others. Additionally, added integration notes for ShellUI and ShellIcons, outlining installation gotchas and remaining bugs in the CLI. Enhanced the `RadarChart` component to improve tooltip behavior by ensuring tooltips trigger per point rather than in shared mode.
Introduced new chart components: DonutChart, RadarChart, and RadialChart, expanding the charting capabilities of the library. Updated the ComponentRegistry to include these new types and modified ChartTemplate to support additional parameters for toolbar and legend visibility. Enhanced the ChartVariants to improve tooltip behavior and refined chart options for better customization. This update enriches the data visualization options available to users.
@Shewart
Shewart merged commit d996676 into main Sep 26, 2026
1 check passed
@Shewart
Shewart deleted the release/v0.3.0-rc.2 branch September 26, 2026 15:40
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