null
|
d6639f1385
|
feat(money): cents migration stage 2 — schema flip to integer cents (batch 0.38.4)
|
2026-06-11 20:12:31 -05:00 |
null
|
bf66ab1ee6
|
feat(money): migrate services to cent-exact money.js helpers (batch 0.38.3)
|
2026-06-10 20:14:13 -05:00 |
null
|
947fa3bdf8
|
feat(auth): add per-username rate limiter, migrate dates to local-time utils (batch 0.38.1)
|
2026-06-10 19:42:51 -05:00 |
null
|
38c8bbd472
|
feat(server): add trust proxy, CSRF HTTPS detection, error formatting, dates util (batch 0.38.0)
|
2026-06-10 19:37:19 -05:00 |
null
|
f3bcf6cdec
|
fix(api): transaction matching logic improvements (batch 0.37.5)
|
2026-06-08 21:07:42 -05:00 |
null
|
426b0fd932
|
fix(admin): admin/profile routes and services
|
2026-06-07 21:18:02 -05:00 |
null
|
79b51b1c9a
|
fix(bank-sync): transaction matching, services, and worker updates
|
2026-06-07 20:07:27 -05:00 |
null
|
31be51e77f
|
fix(bank-sync): admin config, matching, and worker updates
|
2026-06-07 19:41:17 -05:00 |
null
|
13e41aec74
|
feat: iCal feed for bills (Apple/Google calendar export)
|
2026-06-07 15:53:46 -05:00 |
null
|
e1082145ab
|
feat: tracker payment flow and mobile row improvements
|
2026-06-07 14:49:39 -05:00 |
null
|
4f5a3d0cff
|
feat: bank sync section, data sources route, subscription page updates, package updates
|
2026-06-07 02:03:00 -05:00 |
null
|
ab5e3fbf1f
|
feat: profile settings UI, auth service refactor, schema migration, route tests
|
2026-06-07 01:17:49 -05:00 |
null
|
6811eb8be5
|
feat: payment accounting service, SQL schema + migration, backend route refactor, test updates
|
2026-06-07 01:05:48 -05:00 |
null
|
88cb9d5340
|
feat: summary overdue highlighting, tracker row visual polish, bill table cleanup
|
2026-06-06 23:29:34 -05:00 |
null
|
4dd01c13c4
|
feat: live transaction search in merchant rules, link-import preference toggle, tracker row tweaks
|
2026-06-06 23:04:53 -05:00 |
null
|
a1e6a308cf
|
feat: existing bill matching in recommendations, feedback tracking, broad-merchant rejection, annual price detection
|
2026-06-06 21:15:08 -05:00 |
null
|
3a034ddeb7
|
feat: subscription catalog with bank descriptors, custom per-user descriptors, catalog→bill linking
|
2026-06-06 20:02:13 -05:00 |
null
|
fc3709337c
|
feat: bulk unmatch — review similar payees, batch-undo with optional rule removal
|
2026-06-06 19:15:06 -05:00 |
null
|
7455dff5b8
|
feat: v0.37.0 — auto-learn merchant rules, ambiguous match protection, session hashing, geolocation opt-in
|
2026-06-06 18:30:21 -05:00 |
null
|
b4779c9eda
|
feat: auto-match review panel with undo — last 7d provider_sync payments
|
2026-06-06 17:34:09 -05:00 |
null
|
9a2a7ecdee
|
feat: v0.94 — session token hashing, geolocation opt-in privacy setting
|
2026-06-06 17:00:22 -05:00 |
null
|
840620efe2
|
feat: v0.93 — stable provider keys, per-payment interest tracking with once-per-month gating
|
2026-06-06 16:34:20 -05:00 |
null
|
a2ac241cd3
|
refactor(sync): centralize sync constants in bankSyncConfigService, wire through config/UI
|
2026-06-06 15:51:56 -05:00 |
null
|
a73d0afe07
|
feat(encryption): support TOKEN_ENCRYPTION_KEY env var with startup migration
|
2026-06-06 15:27:45 -05:00 |
null
|
80b5d56010
|
feat(sync): rate limit sync/backfill endpoints to 10 per 15 minutes
|
2026-06-06 15:08:33 -05:00 |
null
|
99abca9868
|
security: WebAuthn / FIDO2 hardware security key 2FA
|
2026-06-05 22:05:23 -05:00 |
null
|
2c9cc37593
|
feat: copy last month budgets, monthly income section on summary page
|
2026-06-04 21:57:42 -05:00 |
null
|
3a19303d4d
|
fix: SQLite timestamp timezone ambiguity — convert to proper UTC ISO strings
|
2026-06-04 21:42:34 -05:00 |
null
|
df9d6fbf6d
|
fix: backup enabled setting key mismatch
|
2026-06-04 21:35:02 -05:00 |
null
|
3623cadcf6
|
feat: income breakdown modal with ignore/restore, summary chart click, includeIgnored query param
|
2026-06-04 21:19:25 -05:00 |
null
|
910febae63
|
feat: bill rules manager page, merchant re-normalization, match suggestion scoring fix, cleanup pruning
|
2026-06-04 20:45:11 -05:00 |
null
|
743379fc94
|
feat: spending toggle per category, empty state, income query, auto-enable on rule creation
|
2026-06-04 20:01:51 -05:00 |
null
|
3f0078b930
|
feat: spending income section, rules manager, error handling improvements
|
2026-06-04 19:53:38 -05:00 |
null
|
ac5d6c6625
|
feat: spending tracking page with category breakdowns
|
2026-06-04 04:31:25 -05:00 |
null
|
653dd72e12
|
feat: TOTP 2FA for login & profile setup flow
|
2026-06-04 04:10:14 -05:00 |
null
|
a6b2e8bb87
|
fix: login mode card update, OIDC service improvements, auth middleware refinements
|
2026-06-04 03:53:38 -05:00 |
null
|
26b6fb13e5
|
feat: login history with geolocation, encryption, new device alerts, session detection
|
2026-06-04 03:38:32 -05:00 |
null
|
3745ef79b7
|
docs: update HISTORY.md with bank tracking, merchant rules, and UI changes
|
2026-06-04 02:48:32 -05:00 |
null
|
5689fc95c2
|
feat: historical import batch selection UI, backend endpoint, DB migration v0.83
|
2026-06-04 02:36:36 -05:00 |
null
|
19421c06fc
|
fix: historical import backend routes and service adjustments
|
2026-06-04 02:20:30 -05:00 |
null
|
d2d3045afe
|
feat: historical payment import dialog for bank merchant rules
|
2026-06-04 02:05:15 -05:00 |
null
|
ccdd16a626
|
fix: summary route and trackerService refinements
|
2026-06-04 01:27:00 -05:00 |
null
|
da4642dbd0
|
feat: late-attribution prompt for bank payments that crossed month boundary
|
2026-06-04 00:06:16 -05:00 |
null
|
278521a612
|
fix: bank matching returns bill names, reactive Sync button in BillModal, error handling in merchant rule service
|
2026-06-03 23:29:30 -05:00 |
null
|
b81b41d302
|
security: rename LIVE constant to SQL_NOT_DELETED with injection safety documentation
|
2026-06-03 22:28:46 -05:00 |
null
|
ff7ae8b3ab
|
perf: optimize bills list query, add merchant rule composite index (v0.81)
|
2026-06-03 22:25:30 -05:00 |
null
|
4188a2059d
|
fix: mortgage and housing categories auto-detected as debt in snowball
|
2026-06-03 22:19:58 -05:00 |
null
|
b7c855e570
|
fix: imported payments now update debt balance via balance_delta and current_balance
|
2026-06-03 22:16:51 -05:00 |
null
|
37cf24f5a0
|
feat: Sync Bank button on tracker that runs merchant rule matching on all connected sources
|
2026-06-03 21:59:50 -05:00 |
null
|
c353dd9f40
|
fix: remove client-side snowball projection, delegate to server with ?extra=N
- Delete 86-line computeLiveProjection() — drift risk eliminated
- GET /api/snowball/projection now accepts ?extra=N for unsaved amount preview
- Client uses debounced useEffect calling server instead of useMemo duplicate
|
2026-06-03 21:50:29 -05:00 |