# Changelog All notable changes to My Keyser / Discover Keyser WV will be documented in this file. ## [Unreleased] ## [v1.1.1] - 2026-06-18 ### Added - Added a neon dark-theme redesign across the public site, including a redesigned homepage layout focused on featured businesses, upcoming events, Keyser WV context, and rotating random business discovery. - Added configurable homepage random business rotation, with admin controls for every-two-hours or daily refresh behavior. - Added business-owner registration tier alongside regular member registration. - Added business claim requests for existing listed businesses, including required contact phone number collection and admin review workflow. - Added admin dashboard visibility for pending business-owner claim requests. - Added owner-submitted immediate edit requests during business-owner signup, including optional YouTube or Vimeo video URLs. - Added business video support using `lone-embed.php` for approved listing videos. - Added admin business edit support for direct video URL management. - Added email verification for regular users and business owners. - Added Mailgun-based email sending with configurable US/EU API region, domain, API key, sender name, sender email, and site base URL. - Added configurable email format mode: designed HTML email with text fallback or simple text-only email. - Added branded verification and thank-you email templates matching the neon dark site theme. - Added post-verification follow-up messaging for business owners explaining that a verification call will happen within a couple of business days. - Added `verify-email.php` to consume verification tokens, activate users, and send follow-up emails. - Added PHP CLI admin utility at `scripts/keyser-admin.php` for listing, showing, activating, deactivating, deleting, and updating businesses. - Added CLI support for updating business fields including name, slug, category, description, address, phone, email, website, video URL, hours JSON, coordinates, active status, and featured status. - Added CLI support for showing menus, wiping all menus, and wiping a specific business menu with explicit `--yes` confirmation. ### Changed - Registration now requires an email address. - New user accounts remain inactive until the emailed verification link is clicked. - Login now blocks unverified users with a clear verification message. - Business-owner signup now queues claims and initial edits but requires email verification before login. - Owner edit review now supports website and video URL fields. - Admin settings now include a dedicated email verification and Mailgun configuration area. - Existing active users are marked as verified during schema upgrade so established admin/user accounts continue to work. ### Security - Added expiring hashed email verification tokens. - Added destructive-operation safeguards to CLI menu wipe and business delete commands via required `--yes`. - Prevented unverified accounts from authenticating. ### Verification - Verified public registration, login, verification, and admin settings routes locally. - Verified unconfigured Mailgun state blocks registration cleanly without creating a user. - Verified email verification token consumption activates a test account and marks the token used. - Verified CLI read-only commands, invalid video URL rejection, and destructive-command confirmation guards.