Changelog · current v2.1.1 · f0efeff
How this site evolves.
Every merge is versioned automatically from Conventional Commits; the footer always shows the deployed version and commit.
v2.1.1
Fixes
- declare a single Google site name (Dan Vu) with alternates
v2.1.0
Features
- DV brand icon set and richer social cards
Fixes
- decide admin access server-side and accept ADMIN_EMAIL
Performance
- eagerly load the first project covers, the LCP element on /projects
v2.0.0
Features
- Redesigned as an "engineering notebook": paper-and-ink theme, serif display type, dark mode without flash
- Ask my portfolio: Gemini-powered assistant grounded only in this site's content, with streamed answers, citations and a live request trace
- Case-study page for every project with problem, approach, stack, role and owner-confirmed impact
- Project index with category filter and search kept in the URL, plus a Cmd/Ctrl+K command menu
- Web résumé with print styles and an auto-generated PDF
- Real product screenshots captured automatically from live demos
- SEO and AI-search pack: per-page metadata, JSON-LD (Person, ProfilePage, CreativeWork, BreadcrumbList), sitemap, llms.txt, llms-full.txt, projects.json and dynamic Open Graph images
- Automatic versioning: version and commit injected at build time, releases and changelog managed by release-please
Security
- Admin AI endpoint now requires a verified Firebase ID token from an allow-listed admin
- Storage rules restricted to the admin account, images only, 5 MB maximum
- Security headers including Content-Security-Policy, HSTS and Permissions-Policy
Content
- Portfolio rebuilt from the owner's résumé and live product pages; unverifiable metrics removed
- New projects: DanAI Deep Research, Vững Lái, DanAI Tử vi Studio, Canada CRS Companion, DanAI Karaoke, LumiPad, Gu Nhạc, Nhớ Đồ, GreenSchool Education Suite
v1.0.0
Features
- First version of the DanAI portfolio with Firestore-backed projects
- Admin dashboard with project management, image upload, ordering and AI-assisted drafting
- Dark mode and mobile-first layout