What's New
Generic Webhook Notifications (#96)
- Send notifications to any webhook endpoint (Slack, Discord, n8n, Home Assistant, etc.)
- Configurable URL and custom headers for authentication
- JSON payloads with full subscription details
- Integrated with all notification triggers (high-cost alerts, renewal reminders, cancellation reminders)
Date Format Support (#101)
- Choose between MM/DD/YYYY, DD/MM/YYYY, and YYYY-MM-DD display formats
- Setting applies across the entire app: subscription lists, emails, Pushover, and API key dates
- Database storage remains ISO format for consistency
Missing Currencies (#100)
- Expanded from 13 to 35 supported currencies
- Added AUD, CAD, NZD, NOK, DKK, KRW, SGD, HKD, MXN, ZAR, TRY, THB, IDR, PHP, TWD, MYR, AED, SAR, ILS, CZK, HUF, RON
- Settings and subscription form are now data-driven (no more hardcoded dropdowns)
Bug Fixes
Subscription Icon Not Refreshing (#99)
- Fixed: Updating a subscription URL now correctly re-fetches the favicon
- Root cause: old icon was preserved before URL-change detection
Currency Display Confusion (#98)
- Fixed: Subscriptions now show their original currency when conversion is unavailable
- Previously, changing preferred currency without Fixer.io would misleadingly swap the symbol (e.g., 4.99 USD displayed as 4.99 JPY)
- Fix applies to subscription lists, dashboard, emails, Pushover notifications, and iCal exports
Technical Changes
- Extracted
CurrencySymbolForCode()as reusable utility - Added
CurrencyInfostruct registry replacing hardcoded currency lists - Added
fmtDate/fmtTimetemplate functions for dynamic date formatting - New
WebhookServicefollowing existing Pushover notification pattern - Scheduler notification logic updated to support three channels (email, Pushover, webhook)