Skip to content

v1.0.9

Choose a tag to compare

@ViktorSvertoka ViktorSvertoka released this 22 Mar 18:36
· 176 commits to main since this release

v1.0.9 - Blog Admin & Shop Launch Hardening

Blog Admin

The DevLovers platform now includes full blog content management directly from the admin panel.

  • Create, edit, preview, publish, schedule, and delete blog posts
  • Tiptap WYSIWYG editor with headings, lists, task lists, code blocks, images, links, and sticky toolbar
  • Cloudinary image upload with preview
  • Inline author and category creation directly from the post form
  • Locale-aware blog preview rendering
  • Blog admin navigation for Posts, New Post, Authors, and Categories

Authors & Categories Management

Blog supporting content can now be managed fully without external CMS tooling.

  • Author CRUD with multilingual profiles
  • Profile photo upload and social media links for authors
  • Category CRUD with inline editing
  • Display-order management for blog categories
  • Validation and admin API coverage for posts, authors, categories, and uploads

Blog Performance & Publishing Flow

This release also improves public blog delivery and cache consistency.

  • Draft, scheduled, and published workflow for blog posts
  • Blog post pages moved from force-dynamic rendering to ISR
  • Shared 7-day revalidation strategy across blog pages
  • Cached query layer for blog list, post, category, search, and author routes
  • Correct revalidation after admin mutations for posts, authors, and categories
  • Cached blog category loading on public pages

Shop Launch Hardening

The Shop module received another launch-readiness hardening pass focused on production safety.

  • Checkout provider resolution is now server-authoritative and fail-closed
  • Legacy order creation paths with paymentProvider='none' removed from production-facing flow
  • Stripe refunds now enter a contained non-shippable state before reconciliation
  • Admin shipping actions now require a valid compatible shipment record
  • Centralized eligibility checks for non-shippable and refund-contained orders
  • Monobank admin refunds disabled for launch
  • In-app return refunds disabled for launch

Fixes & Reliability

  • Fixed inconsistent revalidatePath behavior for localized blog routes
  • Fixed public blog cache invalidation after content updates
  • Prevented double finalization and double restock during Stripe refund recovery flows
  • Blocked shipment queuing and admin shipping transitions for refund-contained orders
  • Expanded Shop regression coverage for checkout, refunds, webhooks, and shipping guards

Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net