BillTracker/client
null 80b3bcc17b fix: HIGH+MEDIUM batch — 10 fixes (v0.24.0)
HIGH:
- Admin toggle-paid: removed cross-user admin branch, now requires ownership
- Analytics crash: imported missing standardizeError
- Export data loss: added cycle_type, cycle_day, bill_history_ranges to exports
- Single-user lockout: removed unnecessary sessions join from getSingleModeUser

MEDIUM:
- Password rate limiter: scoped to change-password only, not all profile routes
- Profile session invalidation: fixed req.sessionId → req.cookies[COOKIE_NAME]
- CSRF default: httpOnly now defaults to false (matches SPA double-submit pattern)
- CSRF password routes: removed csrfSkip for password change endpoints
- Notification due-day: calendar day comparison instead of timestamp floor
- Upcoming bills: clamped days to 1-365, default 30 for invalid input

FUTURE.md: marked all 10 items as FIXED, bumped version refs
HISTORY.md: added v0.24.0 entry
2026-05-10 15:25:47 -05:00
..
components v0.21.1: Loading Skeletons & Async State 2026-05-10 01:35:41 -05:00
contexts initial commit 2026-05-03 19:51:57 -05:00
hooks v0.22.0: React Query Migration 2026-05-10 03:10:43 -05:00
lib fix: HIGH+MEDIUM batch — 10 fixes (v0.24.0) 2026-05-10 15:25:47 -05:00
pages fix: clear demo data button, seed user ID bug, duplicate endpoint (v0.23.4) 2026-05-10 15:11:02 -05:00
public/img logo 2026-05-03 22:33:21 -05:00
App.jsx v0.22.0: React Query Migration 2026-05-10 03:10:43 -05:00
api.js feat: add admin about page with security hardening 2026-05-09 16:25:12 -05:00
index.css v0.20.0: admin dashboard with roadmap and activity log 2026-05-09 21:14:21 -05:00
main.jsx v0.20.7: Keyboard navigation and ARIA accessibility 2026-05-10 00:18:36 -05:00