Changelog

What's new in RepoDeck

Unreleased

✨ Added

  • Dynamic trial limits — per-org configurable trial report limit (default 5) with bonus grants via admin API
  • Trial progress widget — dashboard shows report usage bar with calm/nudge/urgent states and upgrade CTAs
  • Bonus grant systemPOST /api/v1/admin/grant-bonus for admin-initiated trial report bonuses with audit logging
  • Per-route bundle budgets — bundle size check supports route-specific limits (700 KB for report editor, 640 KB default)
  • Publish-time nudge — toast notification at 0-1 trial reports remaining after publishing

🔄 Improved

  • Dashboard performance — server-side data prefetch eliminates client-side query waterfall; lazy-load below-fold components; firm-view profile queries consolidated from 3 to 1
  • A11y color contrast — fixed WCAG AA violations on changelog dates, report list status colors, and navbar profile button
  • Trial limit enforcementcheckReportQuota() reads from database instead of hardcoded constant; supports bonus grants

🐛 Fixed

  • SEO test regex updated to match current homepage meta description
  • Timezone-dependent formatScheduledSmart test fixed for CI (UTC)
  • Bundle size check getLimitForRoute no longer uses falsy-coercion (||in)
AddedImprovedFixed

0.24.0

March 21, 2026

✨ Added

  • Report card redesign — severity breakdown (safety vs. other issues), overdue badges, progress overlay, status-colored borders and shadows, contextual action labels (Open/Complete/Publish/Share)
  • List view table — proper column alignment, sticky address column, zebra striping, and a column picker so you can choose which columns to show
  • Fee & payment columns — fee amount and payment status are now separate, sortable columns in list view
  • Quick status change — advance a report's status directly from the dropdown menu without opening it
  • Batch selection — select multiple reports with checkboxes for bulk delete
  • Timezone support — scheduled times now display in the property's local timezone, auto-detected from the state field
  • Editor auto-save reliability — pending changes survive tab crashes and iOS/Android app suspension via local backup
  • Auto-save onboarding — first-time tooltip tells new users "Your work saves automatically"
  • Re-inspection badge — "RE" indicator on list view rows for re-inspection reports
  • "Clean" report indicator — positive signal when a report has zero deficiencies

🔄 Improved

  • Report cards show relative timestamps ("5m ago") instead of absolute dates
  • Cover image placeholder uses a subtle gradient instead of flat gray
  • Fee status shows clear "PAID" / "DUE" text labels instead of color-only dots
  • Board and list views now match the grid view's severity breakdown and overdue styling
  • StatusBadge is larger and no longer wraps to multiple lines
  • All card and row links have proper screen reader labels
  • Menu buttons are always visible (no longer hidden until hover)
  • Keyboard users can tab to selection checkboxes

🐛 Fixed

  • Scheduled times displayed 4 hours wrong due to timezone handling bug
  • Dropdown menus were clipped by the scrollable table container
  • "IN PROGRESS" status badge wrapped to two lines in narrow columns
AddedImprovedFixed

0.23.0

March 6, 2026

✨ Added

  • OpenAPI 3.1 specification at /api/docs
  • This changelog and /changelog marketing page
  • Unified 5-tier severity system with acceptable level

🔄 Improved

  • Observation updates feel instant with optimistic UI and automatic rollback on error

🐛 Fixed

  • Color contrast across 87 accessibility tests (WCAG AA compliance)
  • Nested interactive elements in Template Studio
  • Test flakiness in CI retention tests
AddedImprovedFixed

0.22.0

Invalid Date

✨ Added

  • Cookie consent banner (GDPR/CCPA compliant)
  • Server-side analytics via GA4 Measurement Protocol and Meta Conversions API
  • Request validation on 9 API routes
  • Deep health check endpoint with component-level status
  • Rate limit headers on all rate-limited endpoints
  • 5-email nurture drip sequence with delivery tracking
  • PostHog product analytics (consent-gated)
  • User feedback widget with star rating
  • NPS survey
  • Disaster recovery plan and secrets rotation schedule
  • Visual regression testing (10 screenshot tests)

🐛 Fixed

  • PII leak prevention in error responses
  • Race condition in concurrent report updates

🔒 Security

  • Cryptographic webhook signature verification
  • Constant-time cron authentication
  • Upload size limits, path traversal prevention, XSS protection on email templates
  • Open redirect prevention, CSRF protection, URL protocol validation
AddedFixedSecurity

0.21.0

Invalid Date

✨ Added

  • Single-upload photo pipeline with server-side thumbnails
  • HEIC auto-conversion for iPhone photos
  • Instant blob preview during upload
  • Drag-and-drop photo upload with loading placeholders
  • Mobile section navigation
  • Auto-expanding narrative textarea
  • Deficiency hot-sheet view grouped by severity
  • One-tap comment library chips per item
  • Report quality score (completeness metric)
  • Payment gate — report locked when fee is unpaid
  • Progressive photo loading (blur-up effect)
Added

0.20.0

Invalid Date

✨ Added

  • Unified email template system with tool showcase
  • Unsubscribe flow with mailing list sync
  • Blog with MDX content system
  • Comparison pages (vs Spectora, vs HomeGauge)
  • Persona landing pages (solo inspectors, inspection firms)

🐛 Fixed

  • Email deliverability via send-order optimization and retry logic
AddedFixed

0.19.0

Invalid Date

✨ Added

  • 2,500+ Jest unit tests across 150+ suites
  • 448 Playwright E2E tests across 3 browsers
  • 183 Flutter mobile tests
  • CI quality gate with coverage thresholds
Added

0.18.0

Invalid Date

🔄 Improved

  • Media loading with smart variant selection (thumb/medium/full)
  • Database queries with proper indexing
  • Bundle size via dynamic imports
  • Signed URL batching (50 paths per call)
Improved

0.17.0

Invalid Date

✨ Added

  • Color contrast fixes across 28 components (WCAG AA)
  • Screen reader support for modals and status changes
  • Error boundary implementation

🐛 Fixed

  • Focus trap behavior in modals
  • Form validation consistency
AddedFixed

0.16.0

Invalid Date

✨ Added

  • Onboarding flow for new users
  • Dark mode across all views
  • Responsive mobile layouts
Added

0.15.0

Invalid Date

✨ Added

  • Comment library for reusable observations
  • Re-inspection workflow
  • Ancillary inspection modules (Radon, WDI, Mold, Sewer Scope)
Added

0.14.0

Invalid Date

✨ Added

  • PDF generation via WeasyPrint on Cloud Run
  • Stripe billing (Checkout, Portal, Webhooks, Quota Gate)
  • Client and inspector signature capture
  • Report delivery via email with PDF attachment

🐛 Fixed

  • 11 Stripe billing edge cases
AddedFixed

0.13.0

Invalid Date

✨ Added

  • Photo annotation canvas with 5 drawing tools
  • Weather integration for inspection reports
  • Client portal for report viewing
Added

0.12.0

Invalid Date

🔄 Improved

  • Image compression pipeline (client-side, max 1920px, 80% JPEG)
  • Avatar compression (256x256 WebP)
Improved

0.11.0

Invalid Date

✨ Added

  • Next.js application with Supabase backend
  • Report creation and editing with section/item/observation hierarchy
  • Template system for inspection reports
  • Contact management (CRM)
  • AI-powered narrative generation via Google Gemini
  • Email delivery via Resend
  • Authentication with row-level security
  • Rate limiting on public endpoints
  • 12 AI-powered inspector tools
  • Team management with invitations
  • Admin dashboard
Added