PriceGhost/CHANGELOG.md
clucraft 63fcaebfd8 Add notification history feature with bell icon and history page
- Add notification_history database table for logging all triggered notifications
- Create API endpoints for fetching recent and historical notifications
- Add NotificationBell component in navbar with badge showing recent count
- Dropdown shows 5 most recent notifications with links to products
- Create full NotificationHistory page with filtering by notification type
- Log notifications when sent: price drops, target prices, back-in-stock
- Track which channels (telegram, discord, pushover, ntfy) received each notification
- Update sendNotifications to return which channels succeeded
- Bump version to 1.0.3

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 20:32:34 -05:00

5.2 KiB

Changelog

All notable changes to PriceGhost will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.3] - 2026-01-23

Added

  • Notification History - Complete log of all triggered notifications accessible via bell icon in navbar
    • Bell icon with badge showing recent notification count (last 24 hours)
    • Dropdown preview showing 5 most recent notifications
    • Full history page at /notifications with filtering by type
    • Tracks price drops, target price alerts, and back-in-stock notifications
    • Shows which channels (Telegram, Discord, Pushover, ntfy) received each notification
    • Links to product detail pages from notification entries

[1.0.2] - 2026-01-23

Fixed

  • Stock status false positives - Fixed overly aggressive pre-order detection that incorrectly marked in-stock items as out of stock. Pages with "in stock", "add to cart", or "add to basket" text now correctly prioritize these indicators
  • Magento 2 stock detection - Added proper stock status detection for Magento 2 sites, checking for stock classes and add-to-cart buttons

[1.0.1] - 2026-01-23

Added

  • Puppeteer fallback for JavaScript-rendered prices - Automatically uses headless browser when no price found in static HTML, fixing extraction for Magento, React, Vue, and other JS-heavy sites
  • Pre-order/coming soon detection - Products with future release dates, pre-order buttons, or "notify me" messaging are now correctly marked as out of stock
  • AI availability verification - AI now checks if products are actually purchasable, not just if the price is correct
  • Official PriceGhost branding - Custom ghost icon in navbar and login page
  • Ghostly text effect - "Ghost" text in navbar has ethereal fade effect

Fixed

  • Fresh install registration error - Backend now creates all required database tables on startup, fixing 500 errors on fresh Docker installs without init.sql
  • Stock status for unreleased products - Products showing "Coming Soon", "Available [future date]", or "Pre-order" are now correctly detected as out of stock

Changed

  • CI/CD optimization - Docker images only rebuild when relevant code changes (backend/** or frontend/**), not for README or documentation updates

[1.0.0] - 2026-01-23

Added

Core Features

  • Universal price scraping with site-specific extractors for Amazon, Walmart, Best Buy, Target, eBay, Newegg, Home Depot, Costco, and AliExpress
  • JSON-LD structured data extraction for broad site compatibility
  • Puppeteer headless browser fallback with stealth plugin for JavaScript-rendered pages
  • Price history tracking with interactive charts (7d, 30d, 90d, all time)
  • 7-day sparkline graphs on dashboard for quick trend overview
  • Configurable check intervals (5 minutes to 24 hours)
  • Live countdown timers and progress bars showing time until next check
  • Staggered checking with jitter to prevent rate limiting

AI Features

  • AI-powered price extraction fallback (Anthropic Claude, OpenAI GPT, Ollama local)
  • AI price verification to catch scraping errors (e.g., scraping savings amounts instead of actual prices)
  • AI status badges showing verification status (✓ verified, corrected)

Notifications

  • Telegram bot notifications
  • Discord webhook notifications
  • Pushover push notifications
  • ntfy.sh notifications (no account required)
  • Price drop alerts with configurable thresholds
  • Target price alerts
  • Back-in-stock alerts
  • Per-channel enable/disable toggles
  • Test notification buttons for each channel

Stock Tracking

  • Out-of-stock detection with visual indicators
  • Stock status history tracking
  • Stock timeline visualization
  • Back-in-stock notification alerts

User Interface

  • Dark/Light mode with system theme auto-detection
  • Responsive design for desktop and mobile
  • Toast notifications for user feedback
  • Dashboard with list layout, search, and sorting
  • Bulk actions (select multiple products, bulk delete)
  • Historical low price indicators
  • Product notification badges showing configured alerts

User Management

  • Multi-user support with JWT authentication
  • Admin panel for user management
  • Registration enable/disable control
  • Profile management (name, password)
  • Password visibility toggle for sensitive fields

PWA & Mobile

  • Progressive Web App support
  • Add to Home Screen capability
  • Service worker for offline caching
  • Custom ghost icon

Currency Support

  • USD, EUR, GBP, CHF, CAD, AUD, JPY, INR support
  • Automatic currency detection from scraped pages

Deployment

  • Docker and Docker Compose support
  • GitHub Container Registry images
  • GitHub Actions CI/CD workflow

Security

  • JWT-based authentication
  • bcrypt password hashing
  • Input validation throughout
  • Secure API design

Version History

Version Date Description
1.0.3 2026-01-23 Notification history with bell icon dropdown and full history page
1.0.2 2026-01-23 Fixed stock status false positives for in-stock items
1.0.1 2026-01-23 Bug fixes, JS-rendered price support, pre-order detection
1.0.0 2026-01-23 Initial public release