# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [v0.5.0-alpha] - 2026-01-29 ### Added - **Reminder Features (P4)** - Reminder grouping by time (today/tomorrow/this week/later/missed) - Overdue reminders displayed in red Alert box - Reminder cards with hover effects and quick actions - Complete checkbox functionality - Edit/Delete menu options - **Components** - `ReminderList` -分组列表组件 - `ReminderCard` - 提醒卡片组件 ### Fixed - DateInput component type handling (string to Date conversion) ### Technical - Time-based grouping logic with useMemo optimization - Color-coded cards based on status (completed/overdue/today/future) - Smooth hover animations and transitions ## [v0.4.0-alpha] - 2026-01-29 ### Added - **Anniversary Features (P3)** - Anniversary CRUD operations - Countdown calculation (yearly/monthly/none repeat) - Lunar date support - Built-in holidays display - Holiday countdown display - **Components** - `AnniversaryList` - 纪念日列表组件 - `AnniversaryCard` - 纪念日卡片组件 - **Utilities** - `countdown.ts` - 倒计时计算工具 - `holidays.ts` - 内置节假日数据 - Lunar-javascript integration for Chinese lunar dates ### Fixed - Lunar date conversion edge cases - Leap year February 29 handling - Month-end date overflow handling - Holiday is_lunar flag configuration ## [v0.2.0-alpha] - 2026-01-29 ### Added - **Authentication System** - User registration with email/password - User login with JWT access/refresh tokens - Token refresh endpoint - Logout functionality - Protected routes middleware - **API Endpoints** - `POST /api/auth/register` - User registration - `POST /api/auth/login` - User login - `POST /api/auth/logout` - User logout - `GET /api/auth/me` - Get current user - `POST /api/auth/refresh` - Refresh access token - **Security Features** - Password hashing with bcryptjs (work factor 12) - Rate limiting (10 login attempts/15min, 20 registrations/hour) - Input validation with Zod - JWT authentication middleware - Helmet security headers - **Frontend** - API client with token management - Request interceptor for Authorization header - React + Vite project setup - Mantine UI components integration - Tailwind CSS configuration ### Changed - Database provider switched from Supabase to self-hosted Node.js backend - Schema updated for SQLite (development) and PostgreSQL (production) ### Technical - **Backend**: Express.js + TypeScript + Prisma ORM - **Frontend**: React 18 + Vite + Mantine + Tailwind CSS - **Database**: SQLite (dev) / PostgreSQL (prod) - **Authentication**: JWT with access token (7d) + refresh token (30d) ## [v0.1.0-alpha] - 2026-01-28 ### Added - Project initialization - Frontend React + Vite project - Backend Node.js + Express project - Prisma ORM setup - Initial database schema [Unreleased]: https://github.com/your-repo/compare/v0.5.0-alpha...HEAD [v0.5.0-alpha]: https://github.com/your-repo/releases/tag/v0.5.0-alpha [v0.4.0-alpha]: https://github.com/your-repo/releases/tag/v0.4.0-alpha [v0.2.0-alpha]: https://github.com/your-repo/releases/tag/v0.2.0-alpha [v0.1.0-alpha]: https://github.com/your-repo/releases/tag/v0.1.0-alpha