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 system —
POST /api/v1/admin/grant-bonusfor 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 enforcement —
checkReportQuota()reads from database instead of hardcoded constant; supports bonus grants
🐛 Fixed
- SEO test regex updated to match current homepage meta description
- Timezone-dependent
formatScheduledSmarttest fixed for CI (UTC) - Bundle size check
getLimitForRouteno 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
/changelogmarketing page - Unified 5-tier severity system with
acceptablelevel
🔄 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