Release history

What's changed in CleanForge

New features, improvements, and fixes — one release at a time.

v1.8Latest

April 25, 2026

FixedHourly pay: cleaner's own hourly rate now overrides property rate at assignment time
FixedPayout logic: job update after AI review now correctly sets status to rejected (not approved) on fail
FixediCal parser: compact timezone offset format (YYYYMMDDTHHMMSS±HHMM) now parsed correctly
NewClerk forms display in French automatically based on browser Accept-Language header
FixedLanding page mobile nav: desktop items no longer visible on mobile (inline style was overriding Tailwind hidden)
ImprovedNew cleaners inherit host's preferred language automatically
ImprovedWhatsApp is now the default contact method for cleaners (recommended over SMS for French +33 numbers)
ImprovedAmber warning shown when SMS is selected for French (+33) numbers — US carriers block cross-border SMS
ImprovedStripe required for payouts but hosts reassured they can connect or change it anytime
v1.7

April 23, 2026

ImprovedLanding page: full redesign with Geist font, bento grid features, glassmorphism cards, micro-interactions
FixedLanding page: all responsive grids now work on mobile (removed inline gridTemplateColumns overriding Tailwind)
FixedLanding page: pricing corrected (Free $0 / Pro $29 / Manager $69), free trial removed
FixedLanding page: AI agent log animation fixed (stable unique keys, AnimatePresence popLayout)
FixedLanding page: terminal now in normal document flow (no longer overlaps hero text)
ImprovedPrivacy page: data table horizontally scrollable on mobile
ImprovedGuide pages: inner 2-column grids now collapse to 1 column on mobile
FixedTypeScript: 28 missing i18n keys added, AddPropertyModal currency type, monitoring route apiError
v1.6

April 18, 2026

NewGuide library: No-show Management + Team Management articles (EN/FR)
NewChangelog page at /guide/changelog — version history with real commit context
NewStatus page at /guide/status — live service grid, 90-day uptime bar, incident log
NewError translation — translateError() maps English API errors to French client-side
ImprovedOnboarding checklist fully translated to French (all 5 steps)
ImprovedLanding page accessible to signed-in users — CTA redirects to /dashboard
ImprovedDocs link added to landing page footer → /guide
FixedStripe payout error now surfaces actual Stripe message instead of generic 500
v1.5

April 14, 2026

NewNo-show detection — 30-min trigger, host alert, warning SMS to cleaner, score penalty, auto-reassign
NewTeam management — co-host invite via email (Resend), role-based access (Owner/Co-host/Viewer)
NewSupport page at /support — bilingual form, rate-limited, Resend internal + auto-reply
NewLegal hub at /legal — inquiry form + GDPR data request, both wired to Resend
NewContact mega-menu in nav — Sales, Support, Legal sub-pages
NewSign-in / sign-up pages redesigned — dark split-screen, bilingual (EN/FR)
ImprovedRate limiting added to /api/contact, /api/support, /api/legal (sensitive tier: 10 req/min)
ImprovedAll guide h1 titles normalized to fontSize 20 — no more oversized hero text
v1.4

March 2026

NewMaintenance requests — cleaners flag issues from job page (token-gated), host notified
NewPush notifications — service worker, usePush hook, /api/push, Settings toggle
NewChecklist templates — custom reusable checklists, CRUD at /dashboard/checklist-templates
NewBulk property import — CSV upload, up to 100 rows via /api/properties/import
NewProperty + cleaner performance dashboards — approval rate, earnings, score trend
NewWhatsApp message support added to SMS workflow (d58f3c0)
NewProperty tags — tags: text[] column (migration 011), pill UI in add/edit modals
ImprovedFull mobile responsiveness — all dashboard pages, tables → card layout on mobile
ImprovedEmail notifications wired to Resend for approvals, rejections, payouts, maintenance
ImprovedLanding page redesigned multiple times — hero copy, mobile nav, integration logos
v1.3

February 2026

NewStripe billing — $29/mo Pro plan, Stripe Checkout + Portal, 2.5% automation fee on free tier
NewCleaner marketplace — browse profiles by rate, hire from dashboard (/dashboard/marketplace)
NewHost ↔ cleaner messaging per job (/dashboard/messages)
NewReviews system — star ratings on paid jobs (/dashboard/reviews, /api/reviews)
NewCalendar view — monthly overview with color-coded status dots (/dashboard/calendar)
NewPre-launch i18n sweep — 200+ keys, Settings/History/Agent-log/Cleaner page translated
ImprovedStripe Connect verification reads live account status (not just button press)
ImprovedAgent log: download TXT, clear entries older than 30 days
FixediCal parser handles BigInt timestamps and malformed VTIMEZONE blocks
v1.2

January 2026

NewAI photo review with strictness levels per property — Lenient, Normal, Strict
NewInteractive cleaner checklist — per-item optimistic debounce (600ms), synced to job
NewQR code on job detail — cleaners scan to open their job page instantly
NewNotification preferences — 5 toggleable in-app event types (localStorage)
NewCleaner working schedules — per-day hours + blocked dates, agent respects them
NewCleaner iCal calendar sync — busy periods table, polled every 15 min by cron
ImprovedBulk photo status update — no more photos stuck in PENDING after AI review
ImprovedAI mode toggle in Settings — switch between agent and manual assignment
FixedPhoto upload: detect image type from magic bytes (not filename), fixes iOS Safari
FixedPhotos downloaded via Supabase SDK (not fetch URL) — bypasses egress restrictions
v1.1

December 2025

NewSMS two-step flow — plain text offer first, job link sent only after YES (avoids carrier filtering)
NewFrench SMS support — oui/non/ouais, bilingual typo handling, emoji replies
NewReliability score — tracks per-cleaner performance, drives assignment priority
NewDecline → score penalty → auto-reassign to next-ranked available cleaner
NewCleaner mobile page redesigned — mobile-first, inline styles, Google Maps link
NewToS and Privacy Policy pages — bilingual EN/FR at /tos and /privacy
SecurityRow-level security on all Supabase tables via Clerk JWT custom claim (user_id)
ImprovedDashboard redesigned — vertical sidebar, collapsible nav, gradient logo, DashboardShell
FixedProperty deletion now cascades correctly — clears agent_events, notifications, photos, jobs
v1.0Launch

November 2025

NewInitial launch — iCal polling, agent loop, SMS assignment, photo upload, Stripe payouts
NewClerk authentication with Supabase RLS via custom JWT claim
NewCleaner mobile page — no account, no app, works on any phone browser
NewClaude Vision photo analysis for turnover quality control
NewProperties, cleaners, jobs CRUD with Supabase backend
NewEN/FR bilingual interface with auto-detection from browser language
NewVercel deployment at cleanforge.xyz with cron every 15 min

ALWAYS SHIPPING

CleanForge gets better every week.

Have a suggestion? Send us a message via the Support page.

Send a suggestion Browse guides