v0.20.0
Latest110 updates
Features
55- **account:** add auth-gated account route group shell
- **account:** add candidate profile page and form
- **account:** add candidate-facing message thread view
- **account:** add CV upload/download to the candidate profile page
- **account:** add DVSA licence check code submission to profile form
- add JSON-LD structured data to auction lot detail page
- **jobs:** add AI spam/quality prescreen for job applications
- **jobs:** add candidate option groups (licence, vehicle, route/shift, endorsements)
- **jobs:** add candidate profile get/update server actions
- **jobs:** add candidate-facing CV application form
- **jobs:** add candidate-facing job application submit action
- **jobs:** add CV upload/download presigned URL helpers
Bug Fixes
53- **account,jobs:** recover from thrown exceptions, gate polling, replace emoji icon
- **account:** clear stale licence number when DVSA check code is cleared
- add index on OrganisationUser.userId for auth hot path
- add SEO metadata to the new dealer stock/jobs listing pages
- cache getFinanceConfig with unstable_cache, invalidate on writes
- dashboard pattern drift (org membership, saved-search count, business form)
- **dashboard:** fix crashes, data loss, and stale-org bugs across dealer dashboard
- dealer jobs link uses proper /dealers/[slug]/jobs route
- dealer stock link uses proper /dealers/[slug]/stock route
- dealer/supplier/franchised profile title format + dedupe suffix
- dedupe loadBusinessListingPage calls with React cache()
- deterministic subscription order, Zod inbox params, cache enquiry stats
Performance
2- add composite indexes for Stock/Job/Conversation/Business dashboards
- parallelize onboarding image fetches with Promise.allSettled
