0.9.0
What's Changed
- fix(mobile): consolidate Plan hub nav, fix analysis charts, sharpen labels by @mike840609 in #470
- UX polish: desktop layout, analysis clarity, quiet status bar (v0.8.1–0.8.3) by @mike840609 in #472
- Fix Google profile avatar loading in sidebar by @mike840609 in #475
- fix(settings): align section titles on desktop, unify field controls by @mike840609 in #477
- fix(mobile): light-mode gain/loss AA contrast (v0.8.5) by @mike840609 in #476
- fix(observability): Sentry first-party tunnel + PWA service worker fixes (v0.8.6) by @mike840609 in #479
- feat(price-cache): atomic refresh deduplication via refreshingAt claim by @mike840609 in #480
- feat(analysis): tidy mobile Analysis tab (v0.8.7) by @mike840609 in #482
- fix(accounts): return 404 (not 500) when deleting a missing account by @mike840609 in #485
- fix(price-cache): release claims for symbols missing from a partial fetch by @mike840609 in #483
- fix(ledger): guard cash-transaction DELETE with optimistic lock by @mike840609 in #484
- fix(stocks): map duplicate add (P2002) to 409 instead of 500 by @mike840609 in #488
- fix(fx): defer first-use exchange-rate warm with Next 16 after() by @mike840609 in #487
- fix(holdings): optimistic-lock guard on holding PATCH quantity write by @mike840609 in #486
- chore: add repomix-output.xml by @mike840609 in #491
- docs: sync README + CLAUDE with current codebase by @mike840609 in #492
- fix(cache): tag rate-dependent cached reads with exchange-rates by @mike840609 in #490
- [codex] remove repomix local artifacts by @mike840609 in #494
- [codex] validate imported locale by @mike840609 in #493
- fix(skeletons): align loading skeletons with final layouts by @mike840609 in #496
- perf(cache): move remaining hot-path reads behind "use cache" (v0.8.7) by @mike840609 in #497
- feat(analysis): clearer, leaner charts + cumulative growth (v0.9.0) by @mike840609 in #481
Full Changelog: 0.8.0...0.9.0