VAT Invoicing Fields in Signup Form - Affiliates can fill in their VAT invoicing details directly on the signup form when "Include VAT invoicing fields in signup form" is enabled in Configuration > Affiliate signup, optionally only for affiliates from selected countries (#16055)
REST API v3
Affiliate Signup Endpoint - The new POST /affiliates/signup operation registers an affiliate with the public signup behavior and recognizes the parent affiliate from the passed visitor_id or ip when no parent_id is given (#15762)
Improvements
Lifetime Commissions
Commission Group Loading per Affiliate - The "Load by lifetime referrer also commission group" option has a new "Apply to" affiliate picker to limit it to selected affiliates (#17167)
Affiliate Network
System-wide Settings Limited to the Main Account - Network merchants outside the main account no longer get payouts, system-wide configuration, the accounts manager, import and export or the event, audit and mail logs, whatever their role grants; the Roles screen lists these privileges in a separate "Main account only" section (#16530)
Payouts
Invoice Date Format by Language - Payout invoices use the date format of the affiliate's language unless the merchant set a custom date format in Regional settings (#14309)
Performance
Clicks List with Campaign Filter - The Clicks lists, their CSV export and the API v3 clicks endpoint no longer time out with a campaign filter and a past date range on large accounts (#17127)
Recurring Commission Rules Grid - The grid sorts by Last commission by default instead of Date created, which makes it load in a fraction of the time on large accounts (#17119)
Lifetime Referrals Grid - Filtering and paging by Date changed is faster on large accounts (#17175)
Faster Long-Running Tasks - Long imports, exports and payouts are processed faster (#17108)
Security
Security Improvements - Stricter ownership checks in the affiliate panel (#16903)
Bug Fixes
REST API v3 and MCP
Affiliate Responses - Create, update and single-affiliate responses, and MCP get_affiliate, include status, notification_email, overwrite_cookie, the parent's name and status and all detail fields, with null for empty values; campaign details report the account-wide overwrite cookie setting for campaigns on the default (#15831) (#17203)
Fractional Cookie Lifetime - Campaign endpoints and MCP campaign tools return cookie_lifetime with its fraction instead of a whole number (#17206)
Pagination Cursor Validation - List endpoints return 400 when only one of last_id and last_value is sent (#16895)
MCP Search Defaults - search_affiliates and search_transactions return the newest records first by default, and the non-existent "suspended" status filter was removed from search_affiliates (#17199) (#17198)
Documentation Examples - The q filter examples in the API v3 documentation use IDs that exist on a fresh install (#16911)
MCP Authorization Checkbox - The "Make changes" checkbox on the Authorize application screen toggles when clicked in the Summer and Bootstrap themes (#17174)
Signup Forms
Payout Options in Generated Form Code - The generated HTML, PHP and JSON signup form code contains the payout options again (#17121)
Mandatory Checkboxes and Radio Buttons - Unchecked mandatory checkboxes are highlighted in the Trace signup theme, and mandatory radio button groups are validated (#17163)
Commissions
Coupon Codes in Commission Import - On a network, the import resolves a coupon code within the account of the row's campaign, so codes used in several merchant accounts no longer skip the row (#17087)
Tracking
Generated ID Collisions - Collisions of freshly generated IDs are retried again instead of losing the click and raising an "Unable to save raw click" critical notification (#17164)
Audit Log
Recurring Commission Rule Changes - Edits of a recurring commission rule are logged with the changed commission type, affiliate and campaign, status changes log the real previous status, and the event is named "Recurring commission rule changed" (#17131)
Affiliate Panel
Lifetime Referrals Screen - The screen no longer fails when the Lifetime Commissions plugin is inactive (#17200)
User Interface
Grid Footer Totals - Fixed "contains invalid characters" error on the Transactions grid when a footer total netted to zero (#17129)
Email Table Headers in Dark Mode - Table headers in report emails, the pay day reminder list and the split commission sale summary are readable in dark mode (#17166)
Tooltip Position in RTL Languages - Help tooltips open on the correct side in right-to-left languages (#16475)