Skip to content

v10.2.0 — Consolidation & Vanilla JS Expansion

Latest

Choose a tag to compare

@markhazleton markhazleton released this 21 Jun 22:24

Release Notes: v10.2.0

Release Metadata

Field Value
Version v10.2.0
Release Date 2026-06-21
Release Window 2026-03-28 → 2026-06-21
Previous Version v10.0.1
Commit Range c9e584eb1e76cf30c2f23ee62b2ef63b5e69540a..edf7db799635f5436cda28deffb9c288a2474a7e (v10.0.1..HEAD)
Commits 34
Contributors 2
Merged PRs 0

Highlights

v10.2.0 delivers three significant architectural improvements alongside a new front-end UI
demo, bringing the total number of JavaScript technology showcases to six.

The most impactful structural change is the Data-Core consolidation — the standalone
UISampleSpark.Data project has been merged into UISampleSpark.Core, reducing the solution
from five to four projects and eliminating unnecessary cross-project reference overhead.

On the API surface, the UI host's controller-based REST API was replaced with ASP.NET Core
Minimal API
endpoints, and Swashbuckle.AspNetCore was retired in favour of the native
Microsoft.AspNetCore.OpenApi + ApiTestSpark pairing, removing a CVE-flagged dependency
from the build graph.

A new Vanilla JS Employee CRUD demo (/EmployeeVanilla) demonstrates DOM manipulation
and Fetch API patterns without any JavaScript framework, completing the educational spectrum
from pure HTML/JS through htmx, React, Vue, and Blazor.

New Features

Vanilla JS Employee CRUD (/EmployeeVanilla)

A pure vanilla JavaScript implementation of the employee management UI with no framework
dependencies. Demonstrates native Fetch API, DOM manipulation, event delegation, and modal
dialogs using only HTML5, CSS, and standard browser APIs.

Make Bold Solutions Branding

Updated site-wide branding to reflect the Make Bold Solutions identity across layout, navigation,
and metadata.

Sync-Upstream Script

Added sync-upstream.ps1 helper script for contributors managing a fork — automates fetching
upstream changes, rebasing, and resolving common merge scenarios.

Architecture Changes

Data-Core Project Consolidation

Merged UISampleSpark.Data into UISampleSpark.Core. All EF Core entities, database context,
and repository implementations now live in a single Core assembly.

ADR: ADR-001

OpenAPI Tooling Migration

Replaced Swashbuckle.AspNetCore with Microsoft.AspNetCore.OpenApi (built-in) and
ApiTestSpark (UI layer). Eliminates the CVE-flagged Swashbuckle dependency and aligns
with the .NET 10 native OpenAPI pipeline.

ADR: ADR-002

Minimal API Migration in UISampleSpark.UI

Replaced [ApiController] MVC controllers in the UI host with Minimal API endpoint registrations,
reducing ceremony and showcasing the same pattern as the dedicated UISampleSpark.MinimalApi project.

ADR: ADR-003

Improvements

  • Paging parameters made nullable with sensible defaults, improving API robustness
  • API documentation enhanced with clearer endpoint descriptions and richer OpenAPI metadata
  • Analyzer warnings resolved across all projects (AnalysisLevel: latest-all)
  • noindex policy enforced and hardened for SEO hygiene
  • React/Babel CDN versions pinned to prevent silent breakage from upstream CDN updates
  • Code structure refactored for improved readability and maintainability

Breaking Changes

None.

Deprecations

None.

Deferred Features

No pending specs at release time.

Upgrade Guide

No breaking changes. Update any project references that previously pointed to
UISampleSpark.Data to use UISampleSpark.Core instead.

Dependency Updates

Package From To
Microsoft.EntityFrameworkCore.* 10.0.5 10.0.9
coverlet.collector 8.0.1 10.0.0
Westwind.AspNetCore.Markdown 3.31.0 3.41.0
datatables.net-bs5 2.3.7 2.3.8
actions/checkout v4 v6
actions/github-script v8 v9
MSTest.TestAdapter + MSTest.TestFramework 4.2.1

Metrics

Metric Value
Commits 34
Features Delivered 3
Architectural Changes 3
ADRs Created 3
Breaking Changes 0
Contributors 2

Release documentation generated by /devspark.release v2.6.0