v1.0.1
What's new in v1.0.1
This release is a major feature expansion over the initial v1.0.0 launch,
adding seven new subsystems, a complete design system, and full audit coverage
across every admin action.
Analytics Dashboard
Built-in page view tracking — no Google Analytics needed.
- Captures every public page hit: path, referrer, UTM parameters (
source,
medium,campaign,term,content), IP hash, user agent, country,
and region. - Traffic source classifier: Organic, Direct, Social, Paid, Email, Referral.
- Admin-only dashboard at
/admin/analytics— daily/weekly trends, top pages,
top referrers, source breakdown. - Authenticated admin visits are never counted.
Audit Trail
Immutable record of every admin write action — accessible only at /admin/audit.
- Covers all 12 admin controllers: Posts, Pages, Comments, Media, Users,
Settings, Theme, Categories, Tags, Newsletter, Subscribers, Redirects. - Before/after JSON snapshots for settings and role changes.
- Filter by entity type, action, user, and date range. CSV export up to 10,000 rows.
- Read-only from the UI — no delete or truncate endpoint is exposed.
Inkwell Theme System
- 10 curated color presets: Warm Cream, Ocean Breeze, Midnight Blue,
Forest Canopy, Obsidian Rose, Terracotta Sun, Slate Professional, Ivory Gold,
Lavender Mist, and Charcoal Modern. - 6+ layout variants: Magazine, Grid, Minimal, Neutral, Classic, Modern —
independently configurable for index, navbar, and footer. - Live CSS variable overrides stored per-owner in
CustomThemeSettings. - All ViewComponents have explicit supported-values guards — unknown DB values
fall back safely, no crashes on upgrade.
Newsletter & Subscribers
- Compose and send newsletters from
/admin/newsletter. - Double opt-in subscriber management with confirm/unsubscribe tokens.
- Label-based member segmentation.
- CSV import/export at
/admin/subscribers.
Redirects Manager
- Rule-based HTTP redirects at
/admin/redirects. - Hit count tracking per rule.
SEO Enhancements
- OG image generation at
/og-image/{slug}for every post. - FAQ schema (JSON-LD) stored per post via
FaqJsoncolumn. LastVerifiedAt/NextReviewAtfields for clinical/medical content review
workflows._SchemaJsonLd.cshtmlstructured data partial on all post pages.
User Profile Enhancements
Credentials,Specialty, andLicenseNumberfields on author profiles —
designed for medical and professional blogging contexts.
Bug Fixes
- PageView tracking was silently failing — fire-and-forget middleware was
creating scopes from the request-scoped DI container (disposed before the async
task ran). Fixed by capturing all values synchronously and creating scopes from
the rootIServiceProvider. - Admin visits were being counted — middleware now checks
context.User.Identity.IsAuthenticatedand skips all authenticated requests.
Database Changes
All changes are applied automatically on startup via MigrationService.
Manual scripts are in DBScripts/ if needed.
New tables: PageViews, Members, Labels, MemberLabels, Newsletters,
Emails, MemberNewsletters, Redirects, Snippets, AuditLogs
New columns: Posts.FaqJson, Posts.LastVerifiedAt, Posts.NextReviewAt,
Users.Credentials, Users.Specialty, Users.LicenseNumber,
Categories.Color, Tags.Color, Media.OriginalFileName,
PageViews.Country, PageViews.Region
Upgrading from v1.0.0
git pull origin main
dotnet run --project Blog.Web