Releases: DevLoversTeam/devlovers.net
v1.0.11
v1.0.11 - Shop Launch Hardening, Commercial Policy Alignment & Q&A UX Polish
Shop Launch Readiness Hardening
This release finalizes a large repeat-audit hardening pass for Shop correctness, consistency, and operational safety.
- Strengthened payment correctness with webhook-first terminal-state handling
- Hardened inventory reserve/release invariants and oversell/concurrency safety
- Added shipment/carrier idempotency protections and explicit lifecycle safety states
- Tightened checkout idempotency, validation contracts, and fail-closed behavior
- Expanded runtime/env safety checks for critical Shop routes
Commercial Policy Refactor (CP-01)
Storefront commercial behavior is now policy-driven and decoupled from locale.
- Locale now controls language/content only
- UAH enforced as canonical storefront currency across locales
- Provider selection and checkout logic made locale-agnostic and server-authoritative
- Admin pricing contract aligned to UAH-required / USD-compatibility-only policy
- Unified touched UI and formatting behavior for policy consistency
Shop UX, Admin & Communications
- Added transactional customer notifications for:
order_createdorder_shippedorder_canceledorder_returned
- Improved admin operations with expanded audit/history and controlled shipping edit flows
- Improved shipment visibility and status/tracking coverage in customer-facing flows
- Polished PDP size-guide behavior and decoupled it from purchase availability
Netlify Runtime Stability & Platform Fixes
- Hardened server env resolution paths for Netlify SSR/runtime reliability
- Stabilized OAuth/runtime env handling for develop deploys
- Fixed stale legal-consent test helper import by switching to runtime consent factory
- Added Java and Spring categories with icons, styles, and seeded support
Q&A Pagination Polish
- Replaced native "Per page" select with a custom accessible dropdown
- Unified page-size control style with pagination controls
- Added improved keyboard/interaction behavior and selected-state visuals
- Fixed footer overlap by opening dropdown upward with higher stacking context
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.10
v1.0.10 - Netlify Runtime Hardening & Merch-Ready PDP
Netlify Runtime Hardening
This release stabilizes server runtime behavior on Netlify where process.env may be partially unavailable in SSR/functions.
- Added runtime env fallback generation at build time for server-only reads
- Extended explicit allowlist coverage for OAuth, admin visibility, and shop status-token keys
- Unified server env resolution through
readServerEnv(...)in remaining sensitive paths - Improved Netlify fallback handling while preserving Vercel-first behavior
- Prevented SSR/runtime failures caused by missing env delivery in Netlify develop
Auth, Security & Platform Reliability
- Restored Netlify develop OAuth stability for GitHub and Google providers
- Stabilized auth and CSRF secret reads through server-safe env resolution
- Fixed Vercel Analytics loading condition to avoid
/_vercel/insights/script.js404 on Netlify - Improved Redis client safety path when runtime configuration is missing or malformed
Shop PDP: Merch-Ready Product Experience
The Shop product detail page flow is now ready for richer merch presentation.
- Added multi-image product model with primary image and stable ordering
- Added admin photo management: upload, reorder, set primary, safe remove
- Added interactive PDP gallery with thumbnail-driven main image switching
- Added localized apparel size guidance near size selection
- Improved production readiness of PDP availability and purchase experience
Shop Launch Safety Continuation
- Kept fail-closed checkout provider behavior
- Strengthened refund containment and reconciliation handling
- Kept shipping admin actions guarded by centralized non-shippable eligibility rules
- Maintained launch scope by keeping Monobank admin refunds and in-app return refunds disabled
Maintenance
- Added missing Tiptap packages required by admin blog editor build
- Updated CODEOWNERS
- Refreshed About section LinkedIn social-proof metric
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel / Netlify
Live: https://devlovers.net
v1.0.9
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
revalidatePathbehavior 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
v1.0.8
v1.0.8 - Q&A Progress & Shop Checkout Hardening
Q&A Progress Tracking
The DevLovers Q&A section now includes per-topic progress tracking and clearer accordion state feedback.
- Per-topic viewed progress based on opened accordion items
- Progress bar and viewed counter above the question list
- Reset progress action for the current topic
- Viewed and bookmark persistence in localStorage
- Viewed and bookmark indicators inside accordion rows
- Localized progress labels and reset action (UK / EN / PL)
- Improved mobile layout for wrapped question titles
- Restored chevron toggle behavior and open-state rotation
- Fixed question totals by removing text-based deduplication in the Q&A API
Shop Checkout Hardening
The Shop checkout and payment flow received a reliability hardening pass before release.
- Strict shipping and payment coupling for shippable orders
- Payment pages now require an authorized session or valid scoped token
- Guest payment-init flows now receive the correct token scope
- Stripe capability checks aligned across cart, checkout, and payment page
- Removed silent Stripe fallback behavior to prevent fake paid order creation
- Shipment processing now closes correctly on refund, cancel, reverse, failure, and other terminal negative payment states
- Monobank invoice flow separated from Monobank Google Pay flow
- Hardened Monobank webhook verification, reconciliation, and wallet retry handling
- Added coverage for invalid city/warehouse, locker, and courier address combinations
- Prevented janitor cleanup from canceling reconcilable wallet attempts too early
Local Testing & Coverage
This release also improves local confidence for Shop flows.
- Added stable local Playwright smoke coverage for checkout and shipping scenarios
- Expanded deterministic regression coverage for payment, shipping, and wallet flows
Platform Updates
- Preserved locale during CTA navigation
- Updated About page LinkedIn followers fallback to
1.8k+
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.7
v1.0.7 - Migration & Stability Hotfix
Blog Platform Migration
The DevLovers blog is now fully powered by PostgreSQL.
- Complete migration from Sanity CMS → PostgreSQL
- New Drizzle ORM query layer
- Multi-language support (UK / EN / PL)
- Portable Text → Tiptap JSON conversion
- Images hosted via Cloudinary
- Zero runtime dependency on Sanity APIs
Wallet Payments
- Monobank Google Pay checkout support
- Wallet payment adapter architecture
- Payment method aware checkout flow
- Improved webhook reliability and idempotency
Shop Improvements
- Stabilized checkout compatibility
- Improved Nova Poshta warehouse synchronization
- Better shipping status validation
- Hardened payment flows
Fixes
- Fixed blog post 500 errors
- Improved order status API stability
- Fixed missing translation keys
- Stabilized shipping transitions
Performance
- Optimized blog queries using Drizzle ORM
- Added DB indexes for faster blog queries
- Removed Sanity API calls from production runtime
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.6
1.0.6 - Performance & Stability Hotfix
Learning Platform
- Added new categories:
- Django
- Docker
- Kubernetes
- AWS
- Azure
- DevOps
- Custom SVG icons and accent styling across category UI
- Improved AWS icon readability in dark mode
Shop - Production Hardening
- Full audit-driven purchase flow stabilization
- Append-only canonical event system
- Async email notifications via outbox worker
- Persisted legal consent at checkout
- Returns & exchanges lifecycle support
- Admin audit logging
- Token-scoped guest order access
- Improved Monobank webhook retry behavior
- Added Playwright E2E coverage
Performance & Cost Optimization
- Reduced Neon compute usage:
- Throttled background jobs
- Partial DB indexes for sweeps
- SKIP LOCKED batching
- Optimized payment and order-status polling with backoff
- Lightweight order status view
- Reduced session activity write load
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.5
v1.0.5 - Performance & Stability Hotfix
Added
- Cross-tab authentication synchronization via BroadcastChannel
- Client-side authentication handling for faster Header updates
Changed
- Quizzes page now uses ISR (revalidate: 300)
- User progress loading moved from SSR to client-side API
- URL tab synchronization without full navigation
- GitHub stars count cached in sessionStorage
- Removed dynamic rendering from locale layout
- Reduced authentication overhead and server load
- Improved semantic structure inside layout containers
Fixed
- Fixed quiz timer reset/flash on language switch
- Fixed layout shift on quizzes page using skeleton loading
- Fixed GitHub star icon hover trembling
- Fixed React 19
useRefrender warning - Fixed stale authentication state between tabs
- Prevented layout shift when switching quiz tabs
Performance
- Reduced server rendering and dynamic overhead
- Improved ISR caching efficiency
- Faster page transitions and more stable UI
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.4
v1.0.4 - Shipping & Performance Hotfix
Added
- Nova Poshta shipping integration:
- City and warehouse selection at checkout
- Courier and recipient information support
- Shipping data persistence with PII-safe snapshot
- Asynchronous shipment processing:
- Background label (TTN) creation
- Retry and failure handling
- Admin shipping management:
- Retry label creation
- Mark orders as shipped or delivered
- Order details enhancements:
- Shipping status and tracking information
Changed
- Vercel performance and cost optimization:
- Blog pages now use ISR (revalidate: 3600)
- Sanity CDN enabled globally
- Blog categories cached using
unstable_cache - Notification polling replaced with visibility-based refresh
- Analytics enabled only in production
- Speed Insights removed
Fixed
- Removed unnecessary layout revalidation after notification actions
- Improved blog content and category cache consistency
Performance & Infrastructure
- Reduced Vercel Function Invocations and runtime CPU usage
- Lower origin transfer for blog content
- Improved overall platform efficiency and stability
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.3
DevLovers v1.0.3 - Hotfix: Blog, Q&A & Dashboard Stability
Fixed
- Restored Sanity blog images rendering on Vercel (production issue)
- Improved Git category tab color for better visual distinction in Q&A
- Fixed SSR hydration mismatch in AchievementBadge
- Resolved dashboard rendering inconsistencies caused by client/server state differences
Changed
- Header localization
- Translated remaining hardcoded strings (en / uk / pl)
- Relative time formatting now respects user locale
- Dashboard UX polish
- Unified card styles using a consistent
dashboard-cardsystem - Clickable stats with smooth in-page navigation
- Unified card styles using a consistent
- Notifications
- Localized system notifications for:
- Achievements
- Profile updates
- Password changes
- Localized system notifications for:
- Header & Shop
- Cart button redesigned to match minimal icon style of header controls
Performance
- Improved image optimization pipeline for blog pages and featured content
- Reduced layout shifts and improved page load performance
UX & Visual Improvements
- Stronger Git tab styling for clearer category separation
- Refined dashboard hover behavior and badge layout
- More robust GitHub avatar detection
- Improved scroll state handling and overall UI responsiveness
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net
v1.0.2
DevLovers v1.0.2 - Stability & Bug Fix Release
Dashboard & User Engagement
- Activity Heatmap with daily streak tracking
- Expanded achievement system (24 badges across multiple categories)
- Score distribution analytics
- Profile card with live statistics and settings panel
- Sponsor and GitHub star recognition
Profile Management
- Update user name with validation
- Secure password change (bcrypt hashing)
- System notifications for account events
- Improved notification center with pagination
Admin Panel
- Unified admin area under
/admin - Collapsible sidebar (Shop / Quiz / Q&A)
- Admin hub page
- Quiz management:
- Create quizzes via JSON upload
- Draft → Ready → Activate workflow
- Edit existing quizzes
- Translation validation (EN / UK / PL)
- Difficulty editing per question
- Safe deletion rules for draft quizzes
Quiz Platform
- Quiz editor improvements:
- Disable Save when no changes
- Cache invalidation after status changes
- Enhanced publishing validation
- Admin translation patch support
Feedback & Community
- In-app feedback form with multiple attachments
- Server-side feedback API
- Q&A empty state redesign with localized animated messaging
Framework: Next.js
Database: PostgreSQL (Neon)
Caching: Upstash Redis
Hosting: Vercel
Live: https://devlovers.net