Skip to content

Shipping Goal Progress Bar changelog

All notable changes to Shipping Goal Progress Bar (kv_free_shipping_progress_bar) are documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • 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.
  • 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, visible on every tab: the status in color (valid, development host, pending or grace period with the days left, Marketplace number pending verification, or switched off: not activated, invalid key, revoked, domain mismatch, not verified), what is switched off in plain words, the licensed domain, the result per storefront, the end of the updates period and the last and next check. Actions: Enter/Change license key, Check now, Manage license and, without a valid license, Buy a license. A cron entry point checks without the admin panel.
  • License badge next to the add-on name in Add-ons → Manage add-ons (for example License: Valid or License: Pending · 9 days left). Only administrators who may manage add-ons see license information; vendors never do.
  • Without a valid license for the store’s domain, the progress bar is no longer shown on the storefront and the admin panel shows a notice on other admin pages (the add-on page shows the card instead). Checkout and the rest of the store are never affected. 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.
  • Works with the Performance Booster (full page cache) of CS-Cart 4.21: the sticky bar is loaded by the storefront script on pages that the cache shares between guests, so one visitor’s cart progress is never shown to another. The Block Manager block is rendered per visitor (ESI).
  • 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.
  • 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_version setting records the last applied version.
  • The add-on icon is now shown in the admin add-ons list: the package ships a 150×150 icon and addon.xml declares has_icon.
  • Unused language files from the package.
  • The Block Manager block is now called “Shipping goal progress bar”, and the sticky bar hint and docs refer to the new name.
  • Progress bar showing the amount left to free shipping, with an intro state for empty carts and a reached/celebration state.
  • Automatic free-shipping threshold detection from manual shipping rates (per customer rate area and vendor) and from cart promotions with a Free shipping bonus.
  • Promotion goals (free gift, discount, other rewards) from active cart promotions with a Subtotal condition, validated by the core promotion engine, shown as tiers on one bar.
  • Manual threshold per storefront with per-currency amounts and a choice of subtotal basis.
  • Placements: mini-cart, cart page, checkout, “Added to cart” popup, product page (AJAX-loaded, cache-safe), sticky top/bottom bar (dismissible).
  • Block Manager block “Free shipping progress bar” with Full and Compact layouts.
  • Live updates via the core AJAX result_ids plus a fingerprint-based refresh for any bar a response did not re-render.
  • Multi-Vendor: per-vendor free shipping rows; manual threshold per vendor or for the whole cart.
  • Admin “Detected goals” preview of the thresholds found in shipping rates and promotions.
  • Appearance settings (colors, icons, animation, celebration), scoped CSS with custom properties, RTL support, prefers-reduced-motion support.
  • Accessible markup: role="progressbar", aria-valuenow/aria-valuetext, polite live region.
  • All texts as language variables with [amount] and [goal] placeholders.
  • Clean uninstall that also removes the add-on’s blocks from all layouts.