Releases: mpaulosky/IssueTrackerApp
Release v0.9.0
What's Changed
- chore: Sync dev with main (2 missing commits) by @mpaulosky in #248
- chore: Sync dev with main (2 missing commits — #246, #247) by @mpaulosky in #249
- chore: Update MCP server configurations and squad export (#246) by @mpaulosky in #250
- Add pre-push and merge playbooks, fix process documentation by @mpaulosky in #251
- chore: disable prerelease SDK in global.json by @mpaulosky in #254
- fix: upgrade gittools/actions to v4.5.0 for GitVersion 6.7.0 compat by @mpaulosky in #255
- chore: Sync main back to dev after v0.8.0 release by @mpaulosky in #258
- chore: remove squad runtime files from tracking and update .gitignore by @mpaulosky in #259
- chore: sync squad workflows from dotfiles by @mpaulosky in #260
- chore: ignore *.csproj.lscache LSP artifacts by @mpaulosky in #261
- build(deps): Bump dotnet-sdk from 10.0.100-preview.4.25258.110 to 10.0.202 in the all-actions group by @dependabot[bot] in #262
- chore: migrate Auth0.ManagementApi v7→v8 and bump NuGet packages by @mpaulosky in #266
- feat: add Auth0 authentication skill for Blazor projects by @mpaulosky in #265
- chore: promote dev → main (v0.9.0) by @mpaulosky in #268
Full Changelog: v0.8.0...v0.9.0
v0.8.0
What's Changed
- ci(process): Milestone Review → Release or Blog ceremony + v0.7.0 blog post by @mpaulosky in #214
- docs: rewrite New Work process.md to reflect actual squad ceremonies by @mpaulosky in #216
- style: Tailwind readability and palette consistency uplift by @mpaulosky in #217
- feat(cache): Sprint 1 — DistributedCacheHelper + reference data caching by @mpaulosky in #241
- feat(cache): Sprint 3 — IssueService caching with version-token pagination by @mpaulosky in #243
- feat(cache): Sprint 2 — Auth0 UserManagementService result caching by @mpaulosky in #242
- feat(cache): Sprint 4 — CommentService + DashboardService caching by @mpaulosky in #244
- feat(cache): Sprint 5 — verification, observability & docs (cache series finale) by @mpaulosky in #245
- chore: Update MCP server configurations and squad export by @mpaulosky in #246
- chore: scribe log and decisions export by @mpaulosky in #247
- Release v0.8.0 by @mpaulosky in #257
Full Changelog: v0.7.0...v0.8.0
v0.7.0 — Code Quality & UI Polish
What's Changed
🧪 Code Coverage Improvement (Milestone #9)
Three-sprint initiative bringing the codebase to 82.5% line coverage with an enforced CI gate.
Sprint 1 (#209) — Infrastructure & critical gaps
- CI coverage gate: ≥80% line coverage enforced on every PR
- ReportGenerator HTML report published as CI artifact
- Coverage badge added to README
- 72 new tests:
GetUserDashboardQueryHandler,VotingService, Vote endpoints, Dashboard bUnit tests
Sprint 2 (#212) — Service & endpoint coverage (+98 tests)
LocalFileStorageService,SendGridEmailServiceunit testsLabelEndpoints,IssueHub(SignalR) integration testsObjectIdJsonConverter, ServiceDefaults health endpoint tests- Fixed production race condition in
InMemoryBulkOperationQueue
Sprint 3 (#213) — Component & documentation coverage (+6,871 lines)
- bUnit tests: Analytics page, Dashboard, Pagination, SearchInput, StatusBadge, DeleteConfirmationModal, ThemeProvider, ThemeColorDropdown, ThemeBrightnessToggle, AttachmentCard, BulkConfirmationModal, BulkProgressIndicator, UndoToast
- Code Coverage Standards section added to
CONTRIBUTING.md
🎨 UI Polish & Refinements (#188, #189, #191)
- Standardized button/link/nav styling with
.btnbase class across all components - Admin layout refactored:
-gray-→-primary-Tailwind shades (~270 occurrences, 38 files) - Table styling standardized across all admin and user-facing tables
🔧 Process & Docs
- Git worktree workflow ceremony documented
- PR label requirements formalized in issue lifecycle docs
- Squad identity, wisdom, and decisions updated
Stats
| Metric | Value |
|---|---|
| Line coverage | 82.5% (gate: ≥80%) |
| New test files | 22 |
| New test lines | +6,871 |
| Total tests | ~1,900+ |
| Issues closed | 16 (Milestone #9) |
Full Changelog: v0.6.0...v0.7.0
v0.6.0 — Labels Feature
Labels Feature
Full label support for issues: create, assign, filter, and remove labels with rich UI and comprehensive test coverage.
What's New
- Labels domain model —
Labelsfield onIssue/IssueDto;AddLabelCommand/RemoveLabelCommandCQRS handlers with domain events - ILabelService + LabelEndpoints — GET
/api/labels/suggestionsfor autocomplete - LabelInput.razor — multi-value tag input with debounced autocomplete, comma/Enter confirm, remove-on-backspace
- Filter issues by label — URL params (
?label=bug,v2), clickable quick-filter chips, chip-level clear - Architecture tests — 60 total arch tests, Labels naming/placement coverage
- Full test coverage — 1,167 total tests passing (716 bUnit, 404 domain, 60 arch)
- Docs update — README Labels section, XML docs, CONTRIBUTING notes
Related Issues
#148, #149, #150, #151, #152, #153, #154, #155, #156
Related PRs
v0.5.0 — Admin User Management
Admin User Management
Full Auth0 Management API integration enabling admins to manage users, roles, and audit logs from within the app.
What's New
- Auth0 Management API — ADR + spike; SDK integration with
UserManagementService - Admin-only auth policy —
/admin/usersroutes require Admin role - /admin/users page — scaffold, nav entry, admin dashboard card
- UserListTable — paginated admin user list component
- RoleBadge — color-coded role pill for admin UI
- EditUserRolesModal — assign/revoke roles in-place
- UserAuditLogPanel — per-user audit history panel
- MediatR handlers — full CQRS coverage for Admin User Management
- Unit + integration tests — UserManagementService, admin handlers, admin policy
Infrastructure
- Auth0 Management secrets wired in CI/CD and Aspire AppHost
- Blog catch-up: v0.3.0 and v0.4.0 release posts added
- Release Notes section added to docs/index.html
Related Issues
#130, #131, #132, #133, #134, #135, #136, #137, #138, #139, #140, #141, #142, #143, #144, #145
Release v0.4.0
v0.4.0 — Voting & Prioritization
What's New
- Issue Voting — Users can upvote/unvote issues; votes are idempotent per user
- VoteIssueCommand / UnvoteIssueCommand — full CQRS commands with domain events
- Vote count badge on issue cards
- Top Voted sort & filter on the issues list
- Vote/Unvote API endpoints via
IVotingService - SignalR broadcast when vote threshold is crossed
- Full bUnit + integration test coverage
Closed Issues
Release v0.3.0
What's Changed
- docs(squad): release v0.2.0 session logs and decisions merge by @mpaulosky in #118
- docs: add release v0.2.0 orchestration + session logs, merge decision… by @mpaulosky in #119
- fix(dashboard): stack Quick Actions vertically + docs cleanup by @mpaulosky in #120
- feat: Polish Sprint v0.3.0 — release workflow, restore command, assignee field, Redis caching by @mpaulosky in #125
Full Changelog: v0.2.0...v0.3.0
Release v0.2.0
What's Changed
- fix: suppress git stderr in BuildInfo generation & restructure Tailwind CSS by @mpaulosky in #59
- fix: MongoDB connection string fallback + cleanup by @mpaulosky in #60
- feat: UI refresh — neutral color migration, package updates, ThemeToggle by @mpaulosky in #61
- test: audit skipped tests — all skip reasons still valid by @mpaulosky in #62
- Update Scribe charter to commit on feature branches only by @mpaulosky in #63
- chore: upgrade Squad to v0.9.1 by @mpaulosky in #64
- fix: restore Tailwind CSS loading and add mobile hamburger menu by @mpaulosky in #65
- feat: Consolidate header navigation into NavMenuComponent by @mpaulosky in #71
- [Feature] Move ThemeToggle to Shared, clean up nav colors, remove ThemeSelector from Home by @mpaulosky in #72
- build(deps-dev): Bump picomatch from 4.0.3 to 4.0.4 in /src/Web in the npm_and_yarn group across 1 directory by @dependabot[bot] in #73
- feat: Squad SDK scaffold, AGENTS.md docs, UI color improvements, and ToastContainer thread-safety fix by @mpaulosky in #74
- feat(tests): AppHost.Tests — Aspire integration + Playwright E2E tests by @mpaulosky in #76
- Add GitHub Actions workflow for GitHub Pages deployment by @mpaulosky in #81
- docs(squad): formalize PR review gate + scope Pages to docs/blog/ by @mpaulosky in #82
- feat(web): add /Account/AccessDenied Blazor page by @mpaulosky in #83
- fix(tests): DisableDashboard consistency, stronger assertions, descriptive timeout by @mpaulosky in #84
- docs(squad): session logs — issues #77-#80 resolved by @mpaulosky in #85
- fix(web): fix 13 E2E test failures + Issues page bugs + accessibility by @mpaulosky in #86
- build(deps): Bump the all-actions group with 5 updates by @dependabot[bot] in #87
- fix(auth+admin): resolve Auth0 role claims and AdminPageLayout crash by @mpaulosky in #100
- fix(ui): unify text sizes in footer, SignalR status, and nav header by @mpaulosky in #99
- style: UI polish — dark-mode text colors, PageTitle tags, Tailwind rebuild by @mpaulosky in #101
- style: UI polish — nav, footer, SignalR, dashboard cleanup by @mpaulosky in #102
- feat: implement formal PR review process by @mpaulosky in #103
- test: fix all 8 skipped tests — unskip auth + add ValidationBehavior pipeline by @mpaulosky in #115
- feat: add GitVersion, release workflows, milestone blog, README blog section by @mpaulosky in #116
- chore: add committed hook template + install-hooks.sh (#111) by @mpaulosky in #113
- docs: create CONTRIBUTING.md with pre-push gate requirements (#112) by @mpaulosky in #114
- fix: harden pre-push gate + README sync + Playwright nav test by @mpaulosky in #106
- docs: add Latest Release badge to README by @mpaulosky in #117
Full Changelog: v0.1.0...v0.2.0