v0.4.5-beta

Project-HAMi/HAMiv0.4.5-betaFeb 15, 2026by southwellmedia

AI Summary

Adds a Cookie Consent Manager with Google Consent Mode v2 and improves security headers.

Key Highlights

  • Full Cookie Consent Manager with Accept/Decline/Customize
  • Google Consent Mode v2 integration
  • Security hardening and simplified security headers
  • CSRF protection maintained

New Features

  • Settings panel with per-category toggles
  • Configurable consent via consent.config.ts
  • Reopener button after consent saved
  • Dropped deprecated X-XSS-Protection header

Full Release Notes

## What's New

### Cookie Consent Manager with Google Consent Mode v2
- Full consent banner with Accept All / Decline All / Customize options
- Settings panel via Dialog component with per-category toggles
- Google Consent Mode v2 integration (analytics, marketing, preferences)
- Supports both `consent_mode_v2` and `strict` blocking modes
- Configurable via `consent.config.ts` — categories, UI text, delay
- Reopener button after consent is saved
- `PUBLIC_CONSENT_ENABLED` env var to toggle on/off

### Security
- Removed Astro CSP (auto-hashes `<style>` blocks, breaking inline styles — revisit when stable)
- Kept `checkOrigin: true` for CSRF protection
- Simplified security headers via `vercel.json` (clickjacking, MIME sniffing, referrer, permissions)
- Dropped deprecated `X-XSS-Protection` header

### Fixes
- Fixed mobile menu backdrop blur not applying (scoped style → global)
- Fixed lint errors in Analytics and ConsentBanner
- Fixed dynamic consent mapping and race condition bugs