# Changelog

## [Unreleased] - 2025-12-03

### Added

- **Advanced Content (Nicknames)**:
  - `PerformanceNickname` model and API.
  - "Suggest Nickname" dialog on Show Detail page.
  - Display of approved nicknames (e.g., "Tahoe Tweezer") on setlists.
- **Review System**:
  - `Review` model supporting multiple entity types (Show, Venue, Song, Performance, Tour, Year).
  - `EntityReviews` component for generic review functionality.
  - Integrated reviews into Show Detail page.
- **Social Features**:
  - `CommentSection` and `EntityRating` components.
  - Integrated Comments and Ratings into Show, Song, Venue, and Tour pages.
- **New Pages**:
  - `VenueDetailPage`: Venue info, shows list, social features.
  - `TourDetailPage`: Tour info, shows list, social features.
  - `GroupsPage`: List of communities.
  - `GroupDetailPage`: Feed and members.
- **Groups / Communities**:
  - `Group`, `GroupMember`, `GroupPost` models.
  - Users can create, join, and post to groups.
- **User Profile**:
  - Enhanced Profile page with Tabs (Overview, Attendance, Reviews, Groups).
  - Added Stats (counts for attendance, reviews, groups).
  - New components: `UserAttendanceList`, `UserReviewsList`, `UserGroupsList`.
- **Global Search**:
  - Implemented `Cmd+K` global search dialog.
  - Searches across Songs, Venues, Tours, Groups, Users, Nicknames, and Performances.
- **Performance Pages**:
  - Dedicated `/performances/[id]` page for deep-diving into a specific version of a song.
  - Includes comments, reviews, stats (Gap, Times Played), and navigation to Previous/Next versions.
- **Notifications**:
  - Notification system for group joins (and future replies/mentions).
  - Real-time(ish) bell icon in Navbar with unread count.
- **Wiki Mode**:
  - User preference to hide all social features for a pure archive experience.
  - Settings page at `/settings` with toggles for Wiki Mode, Show Ratings, and Show Comments.
- **Moderation Dashboard**:
  - Admin interface at `/admin` for managing pending nicknames and reports.
  - Approve/Reject workflows for community-submitted content.
- **Activity Feed**:
  - Global feed on home page showing recent reviews, attendance, and group posts.
  - Real-time pulse of community activity.
- **Testing**:
  - Backend `pytest` setup with fixtures.
  - Frontend `jest` setup with component tests.
- **Documentation**:
  - `USER_GUIDE.md`, `DEVELOPER.md`, `API.md`, and `DEPLOY.md`.

### Changed

- **Authentication**:
  - Refactored `auth` router to use consistent `get_current_user`.
  - Switched password hashing to `argon2`.
- **Frontend Architecture**:
  - Implemented `getApiUrl` helper for Docker-compatible SSR fetching.
  - Refactored `ShowReviews` to generic `EntityReviews`.

### Fixed

- **Database**:
  - Added `psycopg2-binary` for PostgreSQL support.
  - Fixed `Attendance` creation logic.
