=== Simple Points and Rewards for WooCommerce - Create a Loyalty Program ===
Contributors: ElliotVS, RelyWP, freemius
Donate link: https://relywp.com/
Tags: woocommerce, points and rewards, reward points, woocommerce rewards, loyalty
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.11.0
License: GPLv3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html

WooCommerce Points and Rewards plugin. Create a simple but powerful loyalty program. Reward purchases, referrals, and much more.

== Description ==

Simple Points and Rewards for WooCommerce helps you launch a lightweight, no‑bloat points and rewards loyalty program without complexity.

Customers earn points for actions (signup, orders, referrals) and redeem them for rewards like WooCommerce coupon vouchers, specific products, or checkout discounts - a complete Points and Rewards experience for WooCommerce.

A dedicated "Rewards" tab appears under My Account with points, history, ways to earn and redeem, and redeemed vouchers.

Admins get a clear settings area and tools to manage points, logs, and vouchers in your loyalty program.

[youtube https://www.youtube.com/watch?v=JbT0KFVoZ48]

## Points and Rewards – Free Features

- My Account "Rewards" page (or shortcode) for customers to view and manage their points and rewards
- Levels and Badges System (Some limits apply in free version)
- Deduct points when orders are refunded/cancelled/failed
- Customisable email notifications (points earned, rewards claimed)
- Admin tools: Settings, Points Activity Log, Customer Points manager, Reward Vouchers
- Order meta box showing awarded/deducted points context
- Plugin customisations (points labels, rewards labels, headings, colors, etc)

### Why choose this Loyalty Points and Rewards plugin?

- Built specifically for WooCommerce
- Fast and lightweight
- Simple UX: one Rewards dashboard with points, levels, ways to earn and redeem
- Easy to setup and configure
- Works alongside WooCommerce coupon discounts and sales
- Flexible reward types: vouchers, products, or checkout discounts
- Levels and multipliers to incentivise more spending
- Comprehensive admin tools for managing your loyalty program

## Ways to Earn Points

There are several ways for customers to earn points, including:

- Signing up for an account
- Placing new orders
- Referring friends via referral links

The Pro version adds points for first order, after X orders, writing reviews, birthdays, social shares, and daily logins.

## Types of Rewards

Reward points can be redeemed for various rewards vouchers including:

- WooCommerce coupon vouchers for discounts
- Free shipping on their next order
- Claim a specific free product

Alternatively, you can enable the "Points Discount on Checkout" option. This is a more simple and traditional method, that allows customers to convert points into an immediate order discount at checkout without generating a coupon.

## Redeeming Points

Customers can redeem their points via the Rewards dashboard or at checkout (if enabled):

- My Account > Rewards: Customers view available points, total earned, level progress, ways to earn, ways to redeem, redeemed vouchers, and a paginated points history.
- Redeeming rewards:
  - Voucher reward: creates a WooCommerce coupon tied to the customer that they can use on their next order.
  - Product reward: creates a WooCommerce coupon and directs to checkout with the product added to the cart for free.
  - Points Discount on Checkout: lets customers apply their points as an instant discount on the current order from the checkout rewards box.

## Pro Features

- Unlimited access to all features
- Referral coupons and offers (gift coupons, attribution rules)
- Conditional Rules for Earning Methods
- Floating Rewards Widget
- Floating Gift widget
- Reward points with a Prize Wheel
- Reward points on First Order
- Reward points after X Orders
- Reward points for Writing Reviews
- Reward points on Birthdays
- Reward points for Social Shares
- Reward points for Daily Logins
- Multi-currency support for points earning
- Points inactivity expiry
- Reward expiry and automatic cleanup
- Min and max points redemption limits
- Additional settings and UX enhancements

<a href="https://relywp.com/plugins/simple-points-and-rewards/">TRY PRO FREE FOR 7 DAYS</a>

## Settings Overview

- Rewards: Create and configure reward items (voucher or product), costs, and limits.
- Ways to Earn: Signup points; order earning rate; award timing; refund/cancel deductions; referral earning (PRO supports fixed or percent-based with attribution).
- Levels & Badges: Enable levels, multipliers, progression, and display options.
- General: Labels (Points/Rewards), headings, display toggles.
- Email: Subjects/bodies for “points earned” and “reward claimed”, with placeholders available.
- PRO tabs: Conditional Rules, Referral Offers, Gift Widget, Rewards Widget.

Tip: You can also embed the Rewards dashboard anywhere with the shortcode: [spar_points_rewards]. This lets you place your Points and Rewards experience on any page.

## Migrations

You can easily migrate your existing customer points data from other popular WooCommerce Points and Rewards plugins including:

- WooCommerce Points and Rewards (by WooCommerce)
- MyRewards (by Long Watch Studio)
- WPLoyalty (by flycart)
- Points and Rewards for WooCommerce (by WP Swings)
- YITH WooCommerce Points and Rewards (by YITH)

## Why do I need a Points and Rewards program?

A Points and Rewards program incentivizes customer loyalty by rewarding repeat purchases and engagement. It encourages customers to return to your store, increasing lifetime value and fostering a sense of community around your brand. By offering points for actions like signing up, making purchases, and referring friends, you create a positive feedback loop that benefits both your business and your customers.

## Why choose Simple Points and Rewards for WooCommerce?

Simple Points and Rewards for WooCommerce is designed to be a lightweight, easy-to-use solution that integrates seamlessly with your WooCommerce store. It offers a comprehensive set of features without the complexity and bloat of larger loyalty programs. With a focus on user experience, both for customers and administrators, it provides a straightforward way to implement a loyalty program that drives engagement and sales.

== Installation ==

1. Install and activate the plugin.
2. Ensure WooCommerce is active.
3. In the admin area, open the "Points & Rewards" top-level menu, then Settings, to configure.
4. Customers will see "Rewards" under My Account automatically.
5. Optionally add the shortcode [spar_points_rewards] to any page or post to display the rewards interface.

== Frequently Asked Questions ==

= Where do customers access their Points and Rewards? =

They can view their points, history, ways to earn and redeem, and redeemed vouchers in the "Rewards" tab under the "My Account" page in WooCommerce.

You can also use the shortcode [spar_points_rewards] to display the rewards interface on any page.

They can also use the checkout rewards box (if enabled) to redeem points for rewards or discounts at checkout.

In the Pro version, you can also enable a floating rewards widget for easy access to points and rewards anywhere on the site.

= How are points awarded in the Points and Rewards program? =

There are several ways to award points:

- Signing up for an account

Customers can earn points when they register a new account on your WooCommerce store.

- Placing new orders

By default, points are awarded when an order is created and they are taken to the "thank you" page.

You can change this behavior in Settings to award points when the order is marked "processing" or "completed".

- Referrals

If the referral features are enabled, customers can earn points by referring friends via referral links or gift coupons.

**Pro Version Only:**

- First Order

Customers earn points when they place their first order.

- After X Orders

Customers earn points after completing a set number of orders.

- Writing Reviews

Customers earn points for writing product reviews.

- Birthdays

Customers earn points on their birthday.

- Daily Logins

Customers earn points for logging into their account daily, with bonus points for consecutive logins.

= Can customers share referral links to earn points? =

Yes.

Referral features allow tracking via a cookie and (optionally) via referral gift coupon (PRO version) with attribution modes and self-referral blocking.

= Can I customize the labels "Points" and "Rewards"? =

Yes, in Settings you can change labels and several display texts.

= What is a Points and Rewards program? =

A Points and Rewards program lets customers earn reward points for actions (like placing orders or referring friends) and redeem those points for rewards such as discount vouchers or free products. This plugin provides a simple, flexible Points and Rewards system for WooCommerce.

= Does it work with custom checkout plugins? =

Yes, the plugin is designed to work with most custom checkout plugins.

It has specificly been tested and integrated with these checkout plugins:
- FunnelKit (Checkout and Side Cart)
- CheckoutWC
- Flux Checkout

= Can I create Custom Rewards? =

You can create a reward of type "Custom (Developer Hook)" in the Rewards settings tab. A custom reward lets you deduct points and then run your own logic when the customer claims it.

Fields:
- Short Description – shown to customers in the Ways to Redeem list.
- Developer Reward ID – lowercase unique identifier (letters, numbers, hyphens, underscores) you can use to distinguish multiple custom rewards.

Hook fired after successful claim and points deduction:

spar_custom_reward_claimed( $user_id, $developer_id, $reward_array, $points_spent )

If your logic fails and you need to refund points, call:

spar_update_user_points( $user_id, $points_spent, 'add', 'Refund: custom reward failed', 'redeem_refund' );

This keeps the plugin flexible for bespoke reward types (subscriptions, access passes, digital downloads, etc).

= Data & privacy =

This plugin stores points in user meta and logs points activity in a custom database table to enable efficient history pagination.

Referral features (if enabled) use cookies to attribute referrals:
- spar_referrer: stores referral code (up to ~30 days) for attribution
- spar_referral_coupon: temporary helper cookie cleared on order completion

As site owner, include these cookies and data uses in your site's privacy policy as applicable.

= Does this Points and Rewards plugin use a 3rd party service? =

Freemius: The plugin uses the Freemius SDK for licensing of PRO features; see <a href="https://freemius.com/privacy/">Freemius privacy and terms</a> for details.

Font Awesome: The plugin uses Font Awesome (free) for icons; see <a href="https://fontawesome.com/privacy/">Font Awesome privacy and terms</a> for details.

= Do you provide support? =

Yes. If you need any help setting up the Points and Rewards plugin, please feel free to <a href="https://wordpress.org/support/plugin/simple-points-and-rewards/#new-topic-0">get in touch</a> and we'll be happy to help!

= How can I report issues/bugs with the plugin? =

You can report feature bugs by creating a <a href="https://wordpress.org/support/plugin/simple-points-and-rewards/#new-topic-0">support ticket</a>. Please provide as much information as possible to make it easier for us to find a solution for you.

= Where do I report security bugs found in this plugin? =

Please report security bugs found in the source code of the Simple Points and Rewards plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/7a3a83f9-8684-4b90-b087-cdb6bc45274d). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.

== Screenshots ==

1. Customer Rewards dashboard: Ways to Earn
2. Customer Rewards dashboard: Ways to Redeem
3. Customer Rewards dashboard: Levels and Badges
4. Customer Rewards dashboard: Points Log History
5. Admin settings example: Rewards tab
6. Admin settings example: Ways to Earn tab
7. Admin settings example: Levels & Badges tab\

== Changelog ==

= Version 1.11.0 - 17th April 2026 =
- New: (PRO) Added a new "Guest Customer Points Tracking" feature to track points for guest checkout orders and automatically migrate them when the customer registers or logs in.
- New: Added a "Level Points Requirement" option to the Levels & Badges settings, allowing you to choose whether level progression is based on total points earned (lifetime) or the customer's available points balance.
- New: (PRO) Added options to set unique multipliers for specific "ways to earn", to each level in the Levels & Badges settings, allowing different point multipliers to be set for each way to earn points (e.g. a higher multiplier for orders than for reviews). Each level benefit section is now displayed in its own styled box for improved readability.
- New: Added a "Background Color" option to the "Product Pages: Points Display" settings for both product pages and category/shop listings, allowing customization of the points message background color.
- Improvement: Added a new {points_value} placeholder for the "Product Pages: Points Display" message fields, which displays the monetary value of the earned points based on the "Points Discount on Checkout" conversion rate (e.g. if 100 points = $1 and a product earns 500 points, {points_value} shows "$5.00"). Available when Points Discount on Checkout is enabled.
- Improvement: Updated the "Reward Points History" on the rewards dashboard to have a more modern design.
- Improvement: Made several performance improvements to reduce database queries on the frontend and admin, particularly for stores with large amounts of coupons or order volumes.
- Fix: Fixed a performance issue where the voucher lookup on cart and checkout pages performed expensive queries, causing slow page loads on stores with large numbers of coupons.
- Fix: Fixed the "Product" field on the Rewards settings tab not appearing instantly when changing the "Reward Type" to "Free Product" — it now shows immediately via JavaScript without requiring a page refresh.
- Fix: Fixed vouchers in the "My Vouchers" tab on the checkout rewards box not showing "+ Free Shipping" alongside the discount amount (e.g. "$5 Off + Free Shipping") when the reward had free shipping enabled.
- Fix: On the checkout rewards box, fixed the "Available Rewards" tab not showing the free shipping label for rewards that had free shipping enabled.
- Fix: Tweak to how tax is handled in the points redemption discount fee on checkout to ensure it works correctly with various tax settings.
- Fix: Fixed an issue where checkbox/toggle settings could revert to defaults on save, particularly on new installs. Caused by the save handler forcing unchecked state for checkboxes whose form sections were not rendered (e.g. PRO-only earn types on free installs). The save logic now detects whether each earn type's form section was actually present before overwriting checkbox values.
- Fix: Fixed the checkout rewards box appearing multiple times on custom checkout pages built with Divi (or other page builders) that use multiple checkout modules, each of which triggered a separate render of the rewards box.

= Version 1.10.1 - 20th March 2026 =
- New: Added a toggle option above the "Earn Points Text" field to show or hide the intro message on the Earn Points tab (enabled by default).
- Tweak: The "Product Pages: Points Display" settings section in General Settings is now automatically shown or hidden based on whether a points-for-spending earn method ("Points for Spending" or "Points for Orders") is enabled.
- Fix: Fixed a fatal error when redeeming a product-type reward, caused by the WooCommerce cart not being initialised at the wp_loaded hook stage. The cart is now explicitly loaded before processing product reward redemptions.
- Fix: Fixed the "Earn Points" intro message (configurable via the "Earn Points Text" setting) not appearing at the top of the Earn Points tab on the rewards dashboard.
- Fix: Fixed the "Edit coupon" link for the Template Coupon setting on the Rewards tab not linking to the correct WooCommerce coupon edit page.
- Fix: Fixed points displayed on product pages being calculated including tax when "Include taxes in calculation total" is disabled. The product page now correctly uses the tax-exclusive price, matching the cart and checkout calculation.

= Version 1.10.0 - 2nd March 2026 =
- New: (PRO) Added a new "Prize Wheel" reward type that customers can redeem points for a chance to win various prizes. The wheel segments, prizes, and odds are fully customizable in the settings.
- New: Added a way to re-order the "Ways to Earn" on the rewards dashboard and widget with a drag-and-drop interface in the settings.
- New: Added a "Theme Style" option for the checkout rewards box to choose between light and dark mode styles.
- New: Added a "Main Text Color" option for the "Points Discount on Checkout" settings to control the font color of descriptive text and limit notices in the points discount tool.
- New: Added a "Text Color" option for both "Product Pages: Points Display" settings (single product pages and category/shop listings) to control the font color of the points message.
- New: (PRO) Added new "Product" and "Product: Category" conditions for the conditional rules, to only modify earning points for specific products or categories.
- New: Added a "Template Coupon" option for Discount Voucher/Coupon rewards, allowing you to select an existing WooCommerce coupon as a template. All coupon settings (minimum spend, product restrictions, etc) are copied to generated vouchers. Includes a "Create New Template" button for quick setup.
- Tweak: On the checkout rewards box, in the "My Vouchers" tab, it will now show any limitations on the voucher (minimum spend, product/category restrictions, etc) if they exist, to give customers more information about the voucher before applying it.
- Tweak: Added an option to show the confetti animation on the checkout rewards box when a reward is redeemed.
- Tweak: Always show the "Grant points now" button on the order edit page when points have not been awarded, regardless of the award timing setting, to allow manual awarding of points if needed.
- Tweak: Made a few tweaks to the admin header, and settings page footer.
- Tweak: Made a few small performance improvements.
- Fix: Fixed level multipliers not displaying more than 1 decimal place (e.g. "1.75" was incorrectly shown as "1.8"). The admin input now also supports 2 decimal places.
- Other: Updated translation files.

= Version 1.9.0.2 - 20th February 2026 =
- Fix: Fixed an issue on the settings page when using any language other than English.
- Other: Updated translation files.

= Version 1.9.0.1 - 20th February 2026 =
- Fix: Fixed a fatal PHP ValueError ("Unknown format specifier 'p'") triggered by an incorrect use of esc_html__() as a printf() format string in the Conditional Rules settings tab.
- Fix: Fixed settings tabs not switching when using the Pro version, caused by the above fatal error breaking the page render and preventing JavaScript from loading correctly. Also added a missing spar-premium-disabled guard to the jQuery tab-click handler for consistency with the vanilla JS fallback.

= Version 1.9.0 - 14th February 2026 =
- New: Added new individual customer points pages to view points summary and history for each customer in the admin area. Accessible via the "Customer Points" admin page by clicing the view button for a customer.
- New: Added a maximum cart percentage setting for points redemption to limit the percentage of cart total that can be paid with points (premium feature).
- New: Added dark mode support for the rewards dashboard with toggle button, default setting, and optional header dark mode.
- New: Added accent color setting for theme customization.
- New: Added "Award points" timing option for First Order Bonus to choose between immediate or on-completion award (similar to Points for Spending).
- Tweak: Improved the customer points admin table layout with equal-width columns and centered content.
- Tweak: Simplified the customer detail page admin slug from "spar-customer-detail" to "spar-customer".
- Tweak: Updated admin reports page user links to redirect to the custom customer detail page instead of WordPress user edit page.
- Tweak: Applied primary color CSS variable to compact checkout points discount panels for consistent theming.
- Tweak: Enhanced review count display on rewards dashboard to show pending reviews separately from approved reviews with status indicators.
- Tweak: First-order bonus is now included in order "potential points" calculation in admin meta box.
- Tweak: First-order bonus is now stored as order meta (points_first_order_bonus) immediately when order is created for proper tracking.
- Tweak: The points_earned order meta now includes first-order bonus when awarded.
- Tweak: Post-order messages now properly split between immediate and completion points, showing both messages when timing differs.
- Tweak: Guest users now see first-order bonus in "Login to earn X points" message to encourage registration.
- Fix: Fixed the WooCommerce currency format settings not being applied correctly in some cases.
- Fix: Fixed bug where first-order bonus was not being credited to new users due to incorrect array initialization logic.
- Fix: Fixed checkout preview not displaying first-order bonus points in the "You will earn X points" message.
- Fix: Fixed review count showing "Reviews written: 0" when pending reviews exist - now displays pending and approved counts separately.
- Fix: Fixed post-order "You will earn X points when completed" message not including first-order bonus when award timing is set to "When order is completed".
- Fix: Fixed points not being awarded when manually approving reviews - corrected comment status check from 'approve' to 'approved'.
- Fix: Fixed first-order bonus being deducted twice on order refund/cancellation.
- Fix: Fixed points_earned not being removed when points_deducted is set on refund/cancellation.

= Version 1.8.0 - 28th January 2026 =
- New: Added a variety of new shortcodes to display a variety of data and interfaces anywhere. See the Shortcodes tab in Settings for details.
- New: Added a option to show a Link Clicks log table on the rewards dashboard and widget.
- Tweak: Paginations now show a max of 5 page number buttons.
- Tweak: When an order is completed but the points have not yet been awarded, a "Grant points now" button is now shown in the order meta box.
- Tweak: Added an option to choose the "completed" order status for the "Points for Orders" earning method.
- Fix: Fixed an issue with the layout of the points discount redemption panel in the FunnelKit side cart.
- Fix: Fixed an issue with not being to edit rewards and levels since the last update.
- Fix: Fixed the styling of the "Add items to your cart to redeem points at checkout." message on the order thank you page, in the checkout rewards box.
- Other: Updated translation files and added French, German, Japanese, and Chinese translations.

= Version 1.7.2 - 27th January 2026 =
- New: Added a "Widget Size" setting for the floating rewards widget with Regular, Large, Extra Large, and Full Height options.
- New: Added a display location setting for "Points Discount on Checkout", so you can now display it within the checkout rewards box, within the checkout totals (previous default), or both.
- New: Added a Points Discount tab to the checkout rewards box if enabled along with voucher rewards.
- New: Added a setting to customize the checkout rewards box "Redeem Rewards" button label.
- Tweak: Added [spar_redeem_discount_compact] shortcode to display the compact points discount redemption interface anywhere.
- Tweak: Refined layout and alignment for the "Points Discount on Checkout" feature.
- Tweak: Rewards dashboard tabs now split evenly to fill the full width.
- Tweak: Added better integration with FunnelKit and its floating side cart.
- Fix: Some admin settings options now toggle sections correctly when clicking the checkbox directly.

= Version 1.7.1 - 26th January 2026 =
- New: Added an option to enable a "dark mode" toggle for the floating rewards widget.
- Tweak: Improved performance of the Customer Points admin table.
- Tweak: Improved compatibility of the points redemption on checkout for custom checkout templates.
- Tweak: Improved styling compatibility for FunnelKit.

= Version 1.7.0 - 19th January 2026 =
- New: (PRO) Added new "conditional rules" functionality to set comprehensive rules for the different earning methods.
- New: Added an option to display a points summary on the checkout rewards box.
- Tweak: Made a tweak to the styling for the ways to earn on the floating rewards widget.
- Tweak: Added a "No Icon" option for the rewards widget, and added a few more icon options.
- Tweak: Added "Custom (Image URL)" and "Custom (Text/Emoji)" options for the rewards widget icon.
- Tweak: Capped checkout points redemption to the maximum usable for the current cart total.
- Tweak: Improved performance of the Customer Points admin table for stores with large user counts.
- Fix: Prevented settings from reverting when saving if the form payload is incomplete.
- Fix: Fixed the calculating for points awarded for orders if the order is partially refunded before being completed.
- Fix: Stabilized points redemption discounts on checkout to prevent erratic amounts when reapplying points.
- Fix: Prevented errors when applying vouchers from the checkout rewards "My Vouchers" list.

= Version 1.6.0 - 22nd December 2025 =
- New: (PRO) Added "daily login bonus" earning method to reward customers for logging into their account daily.
- New: (PRO) Added "login streak" bonus points to the daily login earning method, to reward customers for logging in multiple consecutive days.
- Tweak: Added options to customise the header and subheader text on the rewards dashboard page.
- Tweak: Some small tweaks to the admin settings page styles.
- Fix: Fixed the default "email body" setting for the notification emails show as incorrect HTML entities.
- Fix: Potential fix for font awesome icons not showing in some cases.
- Fix: Fixed an issue in the "Dashboard Tabs" settings with not being able to disable certain tabs.
- Fix: Fixed a PHP warning on the admin log page.

= Version 1.5.0 - 16th December 2025 =
- New: (PRO) Added "social sharing" options to the "Referral System" section in the "Ways to Earn" settings tab. You can then encourage customers to share their referral link on social media platforms to earn points instantly
- New: On the edit order page, in the "Reward Points" meta box, when points have not been rewarded yet, added a button next to "potential points" to edit the potential points value for that order.
- New: Added bulk actions to the admin "Points Activity Log" page to delete or undo points adjustments for selected log entries.
- New: Added migration support for the "YITH WooCommerce Points and Rewards" plugin.
- Tweak: Updated the "Reward Points History" log on the rewards dashboard to show 10 entries per page instead of 5.
- Tweak: Changed the way free product rewards are redeemed. They will now generate a voucher code that can be removed and added at a later date. It will now also limit to one free product.
- Tweak: Improved padding on the block checkout reward discount redemption section.
- Tweak: On variation products, on the product page, the points earning display now shows the correct points for the selected variation.
- Tweak: The checkout rewards box will now show for guest users if enabled in settings.
- Tweak: Settings now auto-save when changing them, with a small notification shown.
- Fix: When adding or removing points manually on the admin "Customer Points" page, fixed an issue where the "Reward Points" and "Total Earned" value was not visually updating properly until the page was refreshed.

= Version 1.4.0 - 23rd November 2025 =
- New: Added migration support for WooCommerce Points and Rewards plugin.
- New: Added migration support for "Points and Rewards for WooCommerce" by WP Swings.
- Tweak: Stopped notification emails from sending when points are added/removed via migration.
- Tweak: Made a few CSS style improvements to the rewards dashboard page for certain themes, for more consistent styling.
- Tweak: Made a few CSS style improvements to the rewards dashboard on mobile devices.
- Tweak: Changed the nav tabs on the rewards dashboard for mobile to a dropdown select menu.
- Tweak: Made a few small changes to the "customer points" admin page.
- Tweak: (PRO) The customers "birthday" is now shown in the customer points admin table.

= Version 1.3.1 - 18th November 2025 =
- Tweak: Fixed the "remove" link not showing on block checkout for the points discount redemption.
- Tweak: Changed the location of the rewards discount redemption on the shortcode checkout page.
- Tweak: Made a few code improvements.
- Other: Updated translations files.

= Version 1.3.0 - 17th November 2025 =
- New: Added new "Points Discount on Checkout" reward type, that lets customers redeem points for an instant discount on their order at checkout. This is a more traditional points redemption method.
- New: Added a "Status" column to the customer points admin page, and when editing users. If set to "banned" the user cannot earn points or view the rewards widget/page.
- New: For "Points for Spending" and "Points for Orders" earning methods, added options to choose how the points are calculated on orders, and if shipping and/or taxes are included in the calculation.
- New: Added an option to display product points across shop/category lists with a configurable placement.
- New: Product and catalog points notices now support custom messages with a {points} placeholder (catalog default shortened to "Earn X reward points").
- New: Added migration support from the WPLoyalty plugin by flycart.
- New: Added migration support from the MyRewards plugin (by Long Watch Studio)
- Tweak: The theme colors are now used for the referrals section on the rewards dashboard.
- Fix: Fixed the available rewards and my vouchers labels when both a discount and free shipping was enabled on the checkout rewards box.
- Fix: Fixed an issue with the floating rewards widget not loading correctly in some cases since 1.2.0.
- Fix: Fixed the wrong currency symbol being shown in some cases.
- Fix: Fixed an issue with manual points adjustments on the admin customer points page.

= Version 1.2.1 - 12th November 2025 =
- Fix: Fixed an PHP error with version 1.2.0.

= Version 1.2.0 - 12th November 2025 =
- New: Added an option to send an email to customers when they level up. Configurable per level.
- New: (PRO) Added "Points Inactivity Expiry" feature to expire points after a set period of inactivity. Includes reminder emails and dashboard notices.
- New: Added options to customise the colors for the checkout rewards box.
- New: Added an option to set the "Product points display location".
- Tweak: (PRO) Improved the floating rewards widget on mobile.
- Tweak: (PRO) Improved the speed of loading the floating rewards widget.
- Tweak: You can now set a custom emoji for the levels icons, or a custom image URL, in addition to the preset icon options.
- Tweak: Increased the font size for the levels description on the rewards widget for better readability.
- Tweak: Made a few small design tweaks.
- Fix: (PRO) Fixed the floating rewards widget not being hidden when disabled.
- Fix: (PRO) Fixed an issue on the floating widget not showing currency symbols correctly in some cases.
- Fix: Fixed a few instances where strings were not properly escaped for translation.
- Other: Updated to Freemius SDK 2.13.0.

= Version 1.1.2 - 10th November 2025 =
- Fix: Fixed an issue with the "Custom (Developer Hook)" reward type settings not showing.

= Version 1.1.1 - 10th November 2025 =
- New: Added "Custom (Developer Hook)" reward type for developers to create bespoke rewards via hooks.
- Tweak: Added a "Quick Setup Guide" section to the Settings page for first-time users.
- Tweak: Added some compact analytics to the admin header section on the plugins pages, for points in circulation, redeemed points, and users with points.
- Tweak: Moved the "Checkout Rewards Box" settings to their own settings tab.
- Fix: Fixed the "Show coupon gift offer on cart page" and "Show coupon gift offer on checkout page" settings not showing anything.
- Fix: Fixed a few small issues.

= Version 1.1.0 - 8th November 2025 =
- New: (PRO) Added "First Order Bonus" earning method.
- New: (PRO) Added "Bonus after X Orders" earning method.
- New: (PRO) Added "Write a Review" earning method.
- New: (PRO) Added "Birthday" earning method.
- New: Renamed "Points for Orders" to "Points for Spending" in the earning methods, and added new "Points for Orders" which gives a fixed amount per order.
- New: Added new tabs to the rewards page for easier navigation.
- New: Added multi-currency option for the "points for spending" earning method.
- New: Added a new "Dashboard Tabs" section to the "Rewards Dashboard" settings to re-order the tabs, and change the tab names.
- New: Added custom email customisation settings for every earning method.
- New: Added a logged out version of the rewards dashboard and the rewards widget.
- Tweak: Updated the floating rewards widget to load via ajax after clicking the button, to not affect page load times.
- Tweak: Renamed the "Rewards Page" to "Rewards Dashboard" in the admin area.
- Tweak: Updated styling and tabs layout on the admin settings tab.
- Tweak: Improvements to applying gift coupons or vouchers when the cart is empty.

= Version 1.0.0 - 24th October 2025 =
- New: Initial release of the plugin.
- New: Rewards endpoint and UI.
- New: Points earning (signup, orders), refund/cancel deductions.
- New: Rewards redemption (voucher/product).
- New: Points history with custom table and AJAX pagination.
- New: Email notifications.
- New: Levels & multipliers.
- New: Admin tools (Settings, Customer Points, Log, Vouchers).