Price Drop & Back-in-Stock Alerts changelog
All notable changes to Price Drop & Back-in-Stock Alerts (kv_price_stock_alerts) are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Section titled “[Unreleased]”[1.1.1] - 2026-10-15
Section titled “[1.1.1] - 2026-10-15”- License verification works on servers without the PHP sodium extension (common on shared and cPanel hosting). Before, the signed answer of the license server could not be checked there, so the add-on entered the 14-day grace period and then switched its features off. The add-on now checks the signature with its own built-in Ed25519 code when the extension is missing.
[1.1.0] - 2026-10-13
Section titled “[1.1.0] - 2026-10-13”- License check. Enter your license key (or CS-Cart Marketplace license number) on the new License tab of the settings. The add-on verifies it with cs-cart.kaviolabs.com when the key is saved and then once a day, only from the admin panel or cron, never on storefront requests. The license covers the domain entered at purchase and all its subdomains; local development hosts are always allowed.
- License card at the top of the add-on page (status in color, licensed domain, result per storefront, last and next check, end of the updates period, what switches off) with Check now, a license badge in Add-ons → Manage add-ons, a status bar on the add-on’s own admin pages, and a cron entry point.
- Without a valid license for the store’s domain, the alert widget is no longer shown on product pages, the core “Notify me” button is no longer replaced, and no new alerts are queued or sent and the admin panel shows a notice. Existing subscriptions and queued alerts are kept, and customers can still open their alert list and unsubscribe. New installations and upgrades from 1.0.x work for 14 days before a key is required, and if the license server cannot be reached the add-on keeps working for 14 days.
[1.0.4] - 2026-10-12
Section titled “[1.0.4] - 2026-10-12”- Queue runs, scan cursor and the activity log no longer write to CS-Cart storage data while the full page cache of CS-Cart 4.21 is on, which would have cleared the whole page cache on every run.
- Compatible with CS-Cart and Multi-Vendor 4.21 and PHP 8.3: tested on Multi-Vendor 4.21.2 with PHP 8.3 and the new Nova theme. The add-on now declares the supported range 4.17.2 – 4.21.x.
[1.0.3] - 2026-10-12
Section titled “[1.0.3] - 2026-10-12”- In-place upgrades now complete themselves. After the add-on files are replaced (uploading the new zip over the installed add-on in Add-ons → Manage add-ons, copying the files by FTP, or installing an Upgrade Center package), the next admin page view adds any missing tables, columns, settings, language variables and e-mail templates, and updates the stored add-on version and icon flag. Existing data and setting values are kept. A hidden
schema_versionsetting records the last applied version. - Stores upgraded from 1.0.0 or 1.0.1 by copying the files or with an Upgrade Center package now also get the e-mail template name language variables, so Design → E-mail templates shows the template names.
- While the add-on was disabled, saving or refreshing its settings, or uploading a new version over it, stopped with a “Class not found” error. That could leave the settings only partly rebuilt. CS-Cart loads the add-on functions for a disabled add-on without its classes; the add-on now registers them itself.
[1.0.2] - 2026-10-12
Section titled “[1.0.2] - 2026-10-12”- The admin add-on icon is now 150×150, the size the add-ons list uses.
- Design → E-mail templates showed raw language variable names (such as
_email_template.kv_price_stock_alerts_price_drop) for the add-on’s four templates; they now have proper names.
[1.0.1] - 2026-10-12
Section titled “[1.0.1] - 2026-10-12”Removed
Section titled “Removed”- Unused language files from the package.
[1.0.0] - 2026-10-12
Section titled “[1.0.0] - 2026-10-12”- Product page widget (AJAX-loaded, cache-safe) with three alert types: price drop with an optional target price, back in stock, low stock. Alerts are per product, so every variation has its own.
- Subscribe flow with e-mail validation, honeypot and per-visitor rate limit; logged-in customers subscribe with their account e-mail.
- Double opt-in (guests, everyone or off) with a confirmation e-mail; an address is confirmed once.
- Change detection on product save, stock changes (orders, returns, warehouses), bulk price updates and status toggles, evaluated once at the end of the request; rolling re-check of watched products for imports, API and catalog promotions.
- Price comparison on the public price after catalog promotions, with a minimum drop percentage and “keep watching” mode.
- Throttled send queue (messages per run, minutes between runs) with a MySQL named lock, 3 retries, cron command, cron URL with access key, admin-activity fallback and a “Process queue now” button.
- E-mail channel with four editable templates (price drop, back in stock, low stock, confirmation) that include product image, old and new price, and unsubscribe links.
- Optional Telegram channel: deep link after subscribing, chat linking through getUpdates polling, /stop to unlink, automatic unlink when the bot is blocked.
- Pluggable channel API (
ChannelInterface, hookkv_price_stock_alerts_register_channels). - Admin demand report with summary tiles (waiting shoppers incl. the core list, price watchers, low-stock watchers, alerts sent, orders and revenue after alerts), sorting, search and an out-of-stock filter.
- Admin subscriber list with filters and bulk unsubscribe/delete; send queue page with counters, recent rows, last run and error log.
- Multi-Vendor: demand report in the vendor panel for the vendor’s own products, without shopper e-mails.
- Core “Notify me when back in stock” coexistence: replace mode (widget takes over, core form requests stored as add-on alerts) or keep mode; one-click copy or move of core subscriptions.
- “My stock & price alerts” page (account menu and token links), stop one or all alerts from every message.
- GDPR add-on integration: consent checkbox, saved agreement, personal data export and anonymization.
- Automatic clean-up of unconfirmed, expired and finished alerts and old queue rows.
- Admin add-on icon.
- Clean uninstall: tables, settings, language variables, e-mail templates and runtime keys.