{"id":22531,"date":"2026-01-19T15:25:49","date_gmt":"2026-01-19T15:25:49","guid":{"rendered":"https:\/\/couponaffiliates.com\/?page_id=22531"},"modified":"2026-09-23T14:03:12","modified_gmt":"2026-09-23T14:03:12","slug":"changelog","status":"publish","type":"page","link":"https:\/\/couponaffiliates.com\/fr\/changelog\/","title":{"rendered":"Changelog"},"content":{"rendered":"<style>.kb-row-layout-id22531_5bf9eb-9e > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id22531_5bf9eb-9e > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id22531_5bf9eb-9e > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:990px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id22531_5bf9eb-9e > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id22531_5bf9eb-9e > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id22531_5bf9eb-9e > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id22531_5bf9eb-9e alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column22531_92f11f-f1 > .kt-inside-inner-col,.kadence-column22531_92f11f-f1 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column22531_92f11f-f1 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column22531_92f11f-f1 > .kt-inside-inner-col{flex-direction:column;}.kadence-column22531_92f11f-f1 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column22531_92f11f-f1 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column22531_92f11f-f1{position:relative;}@media all and (max-width: 1024px){.kadence-column22531_92f11f-f1 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column22531_92f11f-f1 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column22531_92f11f-f1\"><div class=\"kt-inside-inner-col\"><div class=\"aisa-clp\" style=\"--aisa-accent:#3f8741\"><article class=\"aisa-clp-entry\" id=\"v8-5-0\"><header class=\"aisa-clp-head\"><a class=\"aisa-clp-version\" href=\"#v8-5-0\">8.5.0<\/a><span class=\"aisa-clp-date\">21st September 2026<\/span><span class=\"aisa-clp-latest\">Latest<\/span><button type=\"button\" class=\"aisa-clp-ask\" data-version=\"8.5.0\" hidden><svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z\"\/><path d=\"M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z\"\/><\/svg><span>Ask AI<\/span><\/button><\/header><ul class=\"aisa-clp-items\"><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Store Credit Payouts &gt; Built-in integration with the \u201cSimple Store Credit for WooCommerce\u201d plugin by RelyWP, now the recommended first option in the \u201cWallet System\u201d dropdown. Store credit payouts are added straight to the affiliate\u2019s Simple Store Credit wallet in one click, with no separate integration addon needed. Works with both the free and PRO versions of the plugin, and the settings section offers a one-click install of the free version when it is not yet installed.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Store Credit Payouts &gt; Integration settings for Simple Store Credit: deliver payouts to the wallet balance or as credit voucher codes (with an optional voucher expiry), and choose whether the balance shown to affiliates includes their unused voucher credit. Live status of the wallet plugin\u2019s credit systems is shown alongside, and the \u201cStore Credit\u201d column on the admin users list is supported for this wallet too.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Store Credit Payouts &gt; Migrate built-in store credit into Simple Store Credit. The built-in wallet appears as a source in the Simple Store Credit migration tool (Store Credit &gt; Migration) whenever any users still hold built-in credit, with the choice of adding to or overriding their wallet balances, plus an optional import of their past store credit payouts into the wallet activity log. The Payouts settings show how many users hold built-in credit and its total value, with a button to open the migration tool and another to clear the built-in balances afterwards (each cleared balance is backed up to user meta first). Once a migration has covered every credit holder, the panel shrinks to a small footer link, and the \u201cMigration\u201d item is removed from the Store Credit admin menu again if the built-in wallet was the only migration source on offer (the migration tool stays reachable from that footer link).<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Payouts &gt; The payout payment methods under \u201cPayment Methods\u201d in the Payouts settings tab are now shown as collapsible accordions, each closed by default with only the enable toggle, method name and a \u201cShow Settings\u201d button visible. Enabling a method opens it automatically, and disabled methods are greyed out and cannot be opened.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Short URLs &gt; A shortlink can now also be created for the domain your referral links actually point at, not only the WordPress domain, so the Short URL generator keeps working on sites using the new referral URL filter. Everything else is still rejected as before, and the domain check is no longer case sensitive.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">The \u201cDefault Referral URL Page\u201d setting was rebuilt onto the WordPress domain if it had been saved with an upper case \u201cWWW.\u201d prefix, because the check that ignores the prefix was case sensitive and treated the URL as belonging to a different site.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; Opening an affiliate under \u201cCoupon Affiliates &gt; Affiliates\u201d could show a critical error, with \u201cAllowed memory size of \u2026 bytes exhausted\u201d logged against the View Affiliate page. If an affiliate had been given a parent who was already somewhere below them in their own network, the resulting circular chain made the Sub-Affiliates table follow the same affiliates round in circles until PHP ran out of memory. Raising the memory limit only delayed the error. The table now stops as soon as it revisits an affiliate, so a network that already contains a loop opens normally instead of taking the page down.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; The \u201cTier 1 \u2013 Parent User\u201d field on a user\u2019s profile accepted any username, including one of that affiliate\u2019s own sub-affiliates, which is what created the circular network above. The assignment is now refused with an explanation, and the existing parent is left unchanged.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; The MLA network chart could trigger a critical error on PHP 8 if a user account shown in the network had since been deleted. Deleted accounts are now left out of the chart and the sub-affiliates table.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; PHP warnings (\u201cUndefined array key wcusage_mla_dashboard_page\u201d) were logged on the MLA settings screen and whenever an MLA dashboard link was built, on sites where the MLA Dashboard Page setting had never been saved.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; The \u201cAdd Sub-Affiliate\u201d button on the View Affiliate page reported that a sub-affiliate had been added when the assignment had actually been refused for creating a loop in the network. It now explains why instead. Sub-affiliate invite records and \u201cnew sub-affiliate\u201d notifications are likewise no longer created for a registration whose parent assignment was refused.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; A deleted account in the middle of a network left the MLA network chart with a branch hanging off a node that was no longer drawn, which stopped the whole chart from rendering rather than just that branch. Those branches are now left out as well. A deleted coupon owner no longer triggers a PHP warning on the sub-affiliate coupon list either.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; With \u201cMake MLA Dashboard \u2018Invite Only&#039;\u201d enabled, an admin opening an affiliate\u2019s MLA dashboard saw \u201cViewing MLA dashboard for user: \u2026\u201d immediately followed by \u201cSorry, you do not have permission to view the MLA dashboard.\u201d The access check was meant to let admins through, but it only skipped blocking them rather than granting access, so any admin who had not separately been given \u201cMLA Dashboard Access\u201d on their own profile was refused every MLA dashboard, including their own affiliates\u2019. Admin access is now granted outright, and the dashboard stays invite only for everyone else exactly as before.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; The \u201cMLA Dashboard\u201d link on the affiliate dashboard sent an MLA parent to the wrong place while they were viewing one of their sub-affiliates\u2019 coupons. The link was built for the affiliate being viewed rather than for the person viewing, so it opened the MLA dashboard with that sub-affiliate\u2019s username attached. It now takes an MLA parent back to their own MLA dashboard, while an admin previewing an affiliate is still taken to that affiliate\u2019s MLA dashboard as before.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; An MLA parent opening the MLA dashboard of one of their own sub-affiliates (the MLA dashboard page with \u201c?user=\u201d in the address) was refused with \u201cSorry, you do not have permission to view the MLA dashboard for user: \u2026\u201d, even though that sub-affiliate was in their network. The parent check compared the logged-in user\u2019s ID against the saved parent IDs too strictly for the form they are stored in, so it never matched. Admins were not affected.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Multi-Level Affiliates &gt; With a role such as Shop Manager given full access under \u201cAdmin Permissions\u201d (Settings &gt; Advanced), users in that role could open the MLA tab on the View Affiliate page but could not add or remove a sub-affiliate, or search for one to add: each attempt was refused as \u201cUnauthorized\u201d. Those three actions still required the built-in administrator capability instead of the plugin\u2019s own admin permission setting, which the rest of the View Affiliate page already uses. They now honour the setting.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">Referral links were built by starting a fresh \u201c?\u201d query string, so a referral URL that already had parameters of its own produced a link with two \u201c?\u201d in it. The coupon is now added to the existing query string instead, in the affiliate dashboard, the creatives embed codes, the affiliate widget, the referral URL shortcodes and the registration emails.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">An order\u2019s per-product commission was read back from the saved order meta before the freshly calculated figure had been written, so a coupon-level \u201cRefresh Statistics\u201d and the \u201cRecalculate\u201d button on an order could disagree, with an order\u2019s commission flipping between two values each time it was recalculated and the breakdown on the order showing parts that did not add up to the total. The calculated figure is now kept, so both tools settle on the same amount.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">Blocked referrer domains were not actually being blocked when a referral click was recorded, because the domain being checked was discarded before the comparison ran. Clicks from a domain listed under \u201cBlocked Domains\u201d are no longer recorded.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">A PHP deprecation notice (\u201cPassing null to parameter #1 of type string\u201d) was logged on PHP 8.1 and above when the \u201cDefault Referral URL Page\u201d setting held a URL with no page path, which is the usual shape of one left behind by a site migration. On a WordPress installed in a subdirectory, that same repair also no longer repeats the subdirectory in the rebuilt URL.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Short URLs &gt; The short link redirect no longer inspects the URL on ordinary page loads, only on short link ones.<\/span><\/li><li><span class=\"aisa-clp-type is-dev\">Developer<\/span><span class=\"aisa-clp-text\">A \u201cwcusage_default_ref_url\u201d filter for the referral URL that every affiliate link is built from. The \u201cDefault Referral URL Page\u201d setting is corrected back to your WordPress domain whenever the two disagree, so that a URL left behind by a site migration repairs itself rather than sending affiliates to a domain the shop no longer owns. Sites that deliberately serve their shop from a different domain to the WordPress install, such as a separate front end or a headless setup, can now use this filter instead of fighting that correction. It covers the affiliate dashboard, the referral URL generator, the social share buttons, QR codes, creatives, the affiliate widget, the referral URL shortcodes and the registration emails.<\/span><\/li><li><span class=\"aisa-clp-type is-dev\">Developer<\/span><span class=\"aisa-clp-text\">A \u201cwcusage_affiliate_url\u201d filter, which runs on the finished referral link after the coupon code has been added, for replacing a whole URL rather than just the part before the coupon code. It covers the affiliate dashboard, QR codes, creatives, the referral URL shortcodes and the registration emails.<\/span><\/li><li><span class=\"aisa-clp-type is-dev\">Developer<\/span><span class=\"aisa-clp-text\">A \u201cwcusage_record_click()\u201d function for recording a referral click from outside the plugin, for a front end that handles referral links itself and still wants the click to reach the affiliate\u2019s URL statistics. It takes a coupon code plus optional campaign, landing page, referrer and visitor details, and returns the ID of the click it saved. A click whose referrer is one of the site\u2019s blocked domains is not recorded. A \u201cwcusage_click_recorded\u201d action fires afterwards.<\/span><\/li><li><span class=\"aisa-clp-type is-dev\">Developer<\/span><span class=\"aisa-clp-text\">A \u201cwcusage_conversion_click_id\u201d filter for telling the plugin which recorded click an order should be counted as the conversion of. Conversions are normally matched using a cookie set when the visitor follows the referral link, which a front end recording its own clicks has no way to set, so the click ID can now be supplied directly. Note that it runs where the plugin marks conversions, on the WooCommerce order received page, so a front end that never loads that page will need to mark the conversion itself.<\/span><\/li><\/ul><\/article><article class=\"aisa-clp-entry\" id=\"v8-4-0\"><header class=\"aisa-clp-head\"><a class=\"aisa-clp-version\" href=\"#v8-4-0\">8.4.0<\/a><span class=\"aisa-clp-date\">14th September 2026<\/span><button type=\"button\" class=\"aisa-clp-ask\" data-version=\"8.4.0\" hidden><svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z\"\/><path d=\"M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z\"\/><\/svg><span>Ask AI<\/span><\/button><\/header><ul class=\"aisa-clp-items\"><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">Suspend Affiliates &gt; You can now suspend an affiliate instead of deleting them, from a \u201cSuspend\u201d button on the View Affiliate page or from the actions dropdown on the affiliates list. A suspended affiliate cannot access their affiliate dashboard, portal or MLA dashboard, and none of their coupons can be applied to a cart, auto-applied from a referral link, or used at checkout. Nothing is deleted \u2013 the user, their coupons, statistics, commission and payout history are all kept and stay fully viewable and editable by admins, and the suspension can be lifted at any time.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">Suspend Affiliates &gt; Suspended affiliates are flagged with a \u201cSuspended\u201d badge on the affiliates list and a banner on their View Affiliate page showing when they were suspended and by whom. Their coupons show a \u201cLocked\u201d padlock beside the coupon code on both the Coupon Affiliates coupons list and the WooCommerce Coupons list.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">Suspend Affiliates &gt; Suspending and un-suspending an affiliate is recorded in the activity log.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The scheduled affiliate report has been rebuilt. Alongside the existing figures it can now show a headline earnings banner, a percentage change against the previous period on every statistic, best selling products, where the clicks came from (referring sites, landing pages and campaigns), new versus returning customers, payout activity, leaderboard position, sub-affiliate network totals.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Three templates \u2013 \u201cModern\u201d (the full report), \u201cMinimal\u201d (headline figures and a dashboard link) and \u201cClassic\u201d (the original three blocks of statistics) \u2013 plus individual switches for every section and every statistic, so each report can be built exactly as you want it. Anything switched off is no longer calculated, so a shorter report is also a faster one.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; A \u201cPreview\u201d button on the settings screen renders the real report for any coupon, email and PDF, without sending anything.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Extra statistics available as cards: average order value, earnings per click, items sold, commission per order, paid this period and paid to date.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; New settings for the accent colour, cards per row, paper size, subject line, every section heading, the dashboard button text, and a plain text version of the email for clients that prefer one.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Reports are now sent in batches in the background, with a schedule status panel showing the next run, how many were sent, and why any failed. Previously every affiliate was processed in one cron request, which could run past the PHP time limit on a large programme and leave the remaining affiliates without a report.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Options to skip affiliates with no activity in the period, to delete generated PDFs after a number of months, and to block direct web access to the saved report files.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Mailing List Integrations &gt; FluentCRM is now supported. Choose a list and a tag to apply when an affiliate joins your program, with an option to require double opt-in.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Scheduled Payout Requests &gt; You can now choose which day of the month a monthly schedule runs on, rather than always the 1st. Pick any date from the 1st to the 31st, or \u201cLast day of the month\u201d. If the chosen date does not exist in a month (such as the 31st in February), the last day of that month is used instead.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The email and the PDF are now built from one set of figures and one set of layout components shared with payout statements, so the two documents agree with each other and look related.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Report PDFs are saved with an unguessable filename, and a shop manager can view or download any affiliate\u2019s current report from the settings screen.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; A report never shows an affiliate more than their dashboard does. Sections tied to a dashboard feature you have hidden (commission, referral URLs, products in the orders list, customer names, campaigns, payouts, the multi-level network) are left out of the report automatically.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The Reports settings tab has been reorganised into titled panels with related options side by side, and the preview \/ test dialog now reports whether the PDF was attached to the test email (and why not, if it was not). Section toggles whose dashboard feature is switched off are shown greyed out with the reason.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Stat cards on the PDF are balanced across rows so a group never ends with a single card, and tables may continue onto the next page instead of leaving the previous page half empty.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Weekly reports covered the wrong dates. The date range was built with \u201cfirst day of last week\u201d, which PHP does not understand as a week, so weekly reports were reporting on a range roughly two months wide.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Quarterly reports were always empty. The range started at the first day of the UPCOMING quarter, which has no orders in it yet.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The subject line, PDF title and saved file path always said \u201clast month\u201d, whatever the schedule was set to.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The PDF attachment was passed to the mailer as a URL rather than a file path, so some SMTP plugins sent the email without it.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; Report styling was added to every WooCommerce email the store sent, and once a report email logo was set it replaced the store logo in customer order emails too. Report styling is now applied only while a report is being sent.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; The statistics grid was laid out with floated columns, which Outlook ignores, so the figures stacked into one long column for many recipients. Everything is now built from tables that render the same in every mail client, and stays readable at phone width.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Affiliate Reports &gt; PDFs used a core font that cannot render anything outside Western European characters, so affiliate names and many currency symbols came out wrong. They now use the same embedded Unicode font as payout statements.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">PDF documents &gt; Bold text in PDF reports and statements was rendering at regular weight, because the embedded Unicode font ships without a bold face. Bold is now synthesised when no bold face is available, so headings, figures and labels have proper weight contrast.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">A PHP warning (\u201cAttempt to read property \u201cID\u201d on false\u201d) was logged on every cart and checkout request when \u201cAllow affiliate user to apply their own coupon code at cart \/ checkout\u201d was switched off and the billing email address did not belong to a registered user account. The coupon check now looks the user up safely and is skipped when there is no matching account.<\/span><\/li><\/ul><\/article><article class=\"aisa-clp-entry\" id=\"v8-3-0\"><header class=\"aisa-clp-head\"><a class=\"aisa-clp-version\" href=\"#v8-3-0\">8.3.0<\/a><span class=\"aisa-clp-date\">7th September 2026<\/span><button type=\"button\" class=\"aisa-clp-ask\" data-version=\"8.3.0\" hidden><svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z\"\/><path d=\"M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z\"\/><\/svg><span>Ask AI<\/span><\/button><\/header><ul class=\"aisa-clp-items\"><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Dynamic creatives have been rebuilt around a new visual designer. Rather than filling in ten fixed text slots and positioning them with margin numbers, you now place text, QR codes, images, profile pictures and shapes on a live canvas by dragging them, with snapping guides, arrow-key nudging, undo and redo, multi-select, copy and paste, and a layer list for ordering. See \u201cCoupon Affiliates &gt; Creatives\u201d.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A creative no longer needs a background image. Leave the image empty to design on a blank canvas of any size, with a solid colour, gradient or transparent background, and pick from preset sizes for social posts, stories, leaderboards, skyscrapers, mobile banners and email headers.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Sixteen ready-made starter layouts, including \u201cAurora\u201d, \u201cNeon night\u201d, \u201cSale flash\u201d, \u201cSwing tag\u201d, \u201cCorner ribbon\u201d, \u201cCreator spotlight\u201d, \u201cQR card\u201d and \u201cVoucher\u201d. Apply one and change anything you like, or keep your own canvas size and have the layout scaled to fit.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Text layers now support letter spacing, line height, wrapping, upper case, lower case and capitalised text, drop shadows, outlines, a background behind the text, gradient fills, rotation and opacity, with normal, bold, italic and serif faces. Extra fonts can be registered with the \u201cwcusage_creative_fonts\u201d filter.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Shape layers: rectangle, circle, triangle, diamond, arrow, chevron, star, burst, pentagon and hexagon, each with a solid or gradient fill, an \u201coutline only\u201d mode for rings and frames, corner radius, rotation and opacity.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A \u201cProfile image\u201d layer that shows each affiliate their own profile picture (or Gravatar) as a circle or square with an optional border ring, and an \u201cImage\u201d layer for placing a logo or any other upload onto the design.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A {store} merge tag for the site name, alongside {coupon}, {discount}, {username}, {first-name} and {company}.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; \u201cPreview as\u201d fills the design in with a real affiliate\u2019s details by searching for their coupon code, and \u201cPreview exact PNG\u201d renders it through the same engine that produces the affiliate\u2019s files. A \u201cThings to check\u201d panel points out text that runs off the canvas or is too small to read.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Generated creatives are now saved as image files in the uploads folder and served straight from your web server. Previously every dynamic creative on the dashboard was a separate WordPress request on every page view, cached for only 24 hours. Cached images are rebuilt automatically whenever the creative is updated, and are pre-built when you save so the first affiliate to view them does not wait.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A creative with nothing affiliate-specific in it (no merge tags, QR code or profile picture) is now generated once and shared, rather than once per affiliate.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; New options under the creatives settings: \u201cImage Format\u201d (Automatic saves both WebP and PNG and keeps the smaller file), \u201cWebP Quality\u201d, \u201cBuild missing creatives while the page loads\u201d, \u201cCreative Display Width\u201d, and a \u201cClear generated creative images\u201d button.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A \u201cDuplicate\u201d link on each row of the admin list.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Existing dynamic creatives render exactly as before. Nothing moves until you open one in the designer and save it, and \u201cPreview exact PNG\u201d lets you compare the converted design against the current output first.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Background images can now be JPEG, GIF, WebP or AVIF as well as PNG. Previously anything other than PNG failed with \u201cCould not load image!\u201d.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; The admin list now shows a thumbnail of the finished design for dynamic creatives, rather than the background upload alone.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Images on the affiliate dashboard now load lazily, with a loading indicator while an image is generated, so creatives further down the page are not generated until they are scrolled into view. The dashboard grid uses a smaller display size, and the full-resolution version is only generated when the affiliate previews or downloads it.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Downloaded dynamic creatives now carry the correct file extension.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; Very large background images are now refused with a clear message rather than exhausting the server\u2019s memory mid-render.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; When the Google Fonts plugin is installed, it no longer overrides the plugin\u2019s bundled fonts.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Performance Bonuses &gt; Bonuses are awarded from each coupon\u2019s saved \u201call time\u201d stats, so they depend on the \u2018Save the calculated \u201call time\u201d stats for coupons as meta data\u2019 option in the \u201cDebug\u201d settings tab. Previously, with that option switched off, the Performance Bonuses menu disappeared, bonuses silently stopped being awarded, and the \u201cAdd New Bonus\u201d button in the Bonuses settings led to an \u201cInvalid post type\u201d error. The Bonuses settings tab, the Performance Bonuses admin pages and the Coupon Affiliates dashboard now show a notice explaining this with a one-click \u201cEnable now\u201d button, existing bonuses stay listed while paused, and a bonus cannot be published until the option is enabled.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; A dynamic creative embedded on an affiliate\u2019s own website using its embed code could fail to load, as the image endpoint rejected requests from other sites. Access is now controlled by the signed token in the URL alone.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; With the \u2018Show Creative \u201cImage\u201d\u2018 setting turned off, the preview, download and embed-code links for dynamic creatives on the affiliate dashboard were empty.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Creatives &gt; The preview popup on the affiliate dashboard showed an empty box, with no loading indicator, while a dynamic creative was being generated.<\/span><\/li><\/ul><\/article><article class=\"aisa-clp-entry\" id=\"v8-2-0\"><header class=\"aisa-clp-head\"><a class=\"aisa-clp-version\" href=\"#v8-2-0\">8.2.0<\/a><span class=\"aisa-clp-date\">31st August 2026<\/span><button type=\"button\" class=\"aisa-clp-ask\" data-version=\"8.2.0\" hidden><svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z\"\/><path d=\"M19 16l.8 2.2L22 19l-2.2.8L19 22l-.8-2.2L16 19l2.2-.8z\"\/><\/svg><span>Ask AI<\/span><\/button><\/header><ul class=\"aisa-clp-items\"><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">A REST API for connecting external tools, dashboards and AI assistants to your affiliate program, with API keys, scopes and an OpenAPI document. See \u201cCoupon Affiliates &gt; Admin Tools &gt; API\u201d.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Webhooks, sending a signed JSON notification to another service whenever a referral, commission, registration or payout happens.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">A \u201cLifetime\u201d tab on the affiliate view page, listing every customer linked to that affiliate, with the linked coupon and expiry date editable from the list. Customers can also be assigned to an affiliate as their lifetime referrer by hand, without waiting for the customer to order on the coupon.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">Hovering the commission amount in the \u201cCoupon Affiliate\u201d panel on an order now shows a full breakdown of how that figure was calculated.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">Right-to-left support for the affiliate dashboard, applied automatically on sites using a right-to-left language such as Hebrew, Arabic, Farsi or Urdu.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-text\">A \u201cNew Coupon Assigned\u201d email, sent to an existing affiliate when an admin gives them an additional coupon. The \u201cAdd New Coupon\u201d and \u201cAdd New Affiliate\u201d forms now let you choose which email the affiliate receives, or send none at all, and the email can be edited or turned off under the notification settings.<\/span><\/li><li><span class=\"aisa-clp-type is-new\">New<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">A \u201cCustomise affiliate details fields\u201d panel under the payout statement settings, for renaming the company, address and tax number fields the affiliate fills in, marking any of them as required, hiding the ones you do not need, and adding extra fields of your own. Labels are left blank by default, so nothing changes until you enter your own wording.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Significantly sped up the affiliate dashboard, admin reports, leaderboard and every other screen that totals up commission.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Significantly sped up the \u201cView Affiliate\u201d page for affiliates with a lot of referrals.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">The \u201cReferred Orders\u201d tab on the \u201cView Affiliate\u201d page can now be filtered by order status and by coupon, and searched by order number, customer name or email address. The \u201cTo\u201d date is also now pre-filled with today\u2019s date.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Made a few improvements to the speed and performance of generating admin reports.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Improved the speed of loading the \u201cCommission Graph\u201d on the affiliate dashboard.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Improved the commission handling when more than one coupon was used on the same order.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Updated the styling of the \u201cCoupon Affiliate\u201d panel on the edit order page.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">The \u201cExport Affiliate Users\u201d button on the Coupon Affiliate Users page now sits on the right and opens a panel to choose the group \/ role and sort order before downloading, matching the export on the Affiliate Orders page.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Improved the reliability of the \u201crefresh\u201d button on an order\u2019s \u201cCoupon Affiliate\u201d panel.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">The custom \u201cAffiliate\u201d terminology set under the design settings is now applied to the affiliate dashboard, MLA portal and leaderboard, not just the admin area.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Made around thirty pieces of text on the leaderboard translatable, along with a number of dashboard, portal and settings strings missing from the translation template.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">The \u201cNon-Affiliate Coupon Settings\u201d are now available in the free version, and have been moved higher up the commission settings tab.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Updated the \u201cAdmin Tools\u201d page styling and layout.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Redesigned the PDF payout statement, with a clearer header and a status badge, side-by-side \u201cFrom\u201d and \u201cPaid To\u201d panels, a tidier items table and a highlighted total that picks up the button colour from your design settings.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">The tax number, and any extra fields you add, are now labelled in the \u201cPaid To\u201d section of a payout statement, so a reference number is no longer printed on a line of its own with nothing to say what it is.<\/span><\/li><li><span class=\"aisa-clp-type is-tweak\" style=\"background:#0e74901a;color:#0e7490\">Tweak<\/span><span class=\"aisa-clp-text\">Custom registration field answers were only saved to the affiliate\u2019s profile when the application created a new account, so an applicant who was already logged in had the values on their application but nowhere else \u2013 the dashboard \u201cAccount Details\u201d and admin user screens showed the fields blank even once accepted. Answers on existing applications can be copied across with the new \u201cRestore Registration Field Answers\u201d tool, which appears under Admin Tools only if your site has any to copy.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">A custom registration field whose label contained an apostrophe or an ampersand (for example \u201cRecipient\u2019s full name\u201d) never matched its stored answer, so it always displayed as blank, and answers containing an apostrophe displayed as \u201c&#039;\u201d.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">On an order with more than one coupon, the granted commission was stored as a single figure that the last coupon overwrote, so the wrong amount was taken back when the order left a completed status. Each coupon now records and removes its own amount.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">Refreshing an affiliate\u2019s statistics did not recalculate pending commission on stores using High-Performance Order Storage.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">On stores in a timezone ahead of UTC, an order placed shortly after midnight was missing from \u201cReferred Orders\u201d, the dashboard statistics and the commission graph until later in the day, even though the all-time totals counted it. Date ranges now follow the store\u2019s own timezone instead of UTC.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Lifetime commission was calculated twice on stores using High-Performance Order Storage, and the customer was only linked to their lifetime affiliate on the second run.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Fixed an issue with the commission balance when re-opening a cancelled order.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Store credit was taken before payment, and was not returned if the payment failed. It is now returned when an order fails or is cancelled, and taken again if that order is later paid.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">The Affiliate Portal and MLA Portal pages could return a \u201c404 Not Found\u201d on sites that had never re-saved their settings. The required URL rules are now installed automatically whenever they are missing.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-text\">The Affiliate Portal slug was not escaped in its URL rule, so an empty slug or one containing punctuation could take over other pages. It is now escaped and falls back to \u201caffiliate-portal\u201d.<\/span><\/li><li><span class=\"aisa-clp-type is-fix\">Fix<\/span><span class=\"aisa-clp-pro\">PRO<\/span><span class=\"aisa-clp-text\">Sending a test newsletter added a backslash before every apostrophe and quotation \u2026<\/span><\/li><\/ul><\/article><\/div><script>(function(){var done=false;function w(){if(done)return true;var A=window.AISA;if(!A||typeof A.ask!==\"function\")return false;var l=A.widgets||[],c=window.aisaConfig,bot=l.length?l[0].bot.id:(c&&c.bots&&c.bots[0]?c.bots[0].id:0);done=true;document.querySelectorAll(\".aisa-clp-ask[hidden]\").forEach(function(b){b.hidden=false;b.addEventListener(\"click\",function(){var v=b.getAttribute(\"data-version\");window.AISA.ask(\"What changed in version \"+v+\"?\",bot,{release:v});});});return true;}if(!w()){document.addEventListener(\"DOMContentLoaded\",function(){if(!w()){setTimeout(w,300);}});window.addEventListener(\"load\",w);}})();<\/script>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-22531","page","type-page","status-publish","hentry","wpbf-post"],"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"Elliot Sowersby","author_link":"#"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/pages\/22531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/comments?post=22531"}],"version-history":[{"count":11,"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/pages\/22531\/revisions"}],"predecessor-version":[{"id":25965,"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/pages\/22531\/revisions\/25965"}],"wp:attachment":[{"href":"https:\/\/couponaffiliates.com\/fr\/wp-json\/wp\/v2\/media?parent=22531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}