Skip to content

v1.0.1

Choose a tag to compare

@marutisoftwaresolutions marutisoftwaresolutions released this 27 Jun 15:05
· 21 commits to main since this release
2f509b3

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 FaqJson column.
  • LastVerifiedAt / NextReviewAt fields for clinical/medical content review
    workflows.
  • _SchemaJsonLd.cshtml structured data partial on all post pages.

User Profile Enhancements

  • Credentials, Specialty, and LicenseNumber fields 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 root IServiceProvider.
  • Admin visits were being counted — middleware now checks
    context.User.Identity.IsAuthenticated and 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