Strengthened Access Controls - Tightened privilege checks and data visibility rules on internal services (#16463) (#16465) (#16467)
User Interface
Date Format Confirmation - Entering a time pattern into the Date format field in regional and language settings now asks for confirmation before saving (#11282)
Integrations
Shopify Subscription Settings - Clarified the help texts of the recurring commission settings in the Shopify plugin and grouped the subscription-related options together (#16472)
Plugins
Coupons on Affiliate Approval - The "Coupon generator for new affiliates" plugin now offers a Trigger setting to generate coupons when an affiliate is approved, instead of immediately at signup (#16476)
Themes
Trace Theme on Mobile - The Trace signup mini-site theme now displays correctly on mobile devices, with the signup form fitting the screen without horizontal scrolling (#16489)
Trace Theme Signup Layout - The main sections of the Trace signup form are now visually separated, and read-only or disabled signup fields no longer leave empty gaps in the form (#16479) (#16477)
Bug Fixes
Banners
Unlimited Duration Coupons - Fixed the coupon generate and import dialogs requiring an end date when "Unlimited duration" was selected by clicking the checkbox label (#16481)
Plugins
Lifetime Commissions with Per Product Tracking - Products of the order that creates a lifetime relation are now tracked with the normal commission instead of the custom lifetime referral commission; later orders of the same customer are unaffected (#13527)
User Interface
Cookie Lifetime Validation Message - The validation message on cookie lifetime fields now correctly describes the allowed range, no longer implying the maximum value is invalid (#16502)
Email Templates
Template Save and Test-Send Errors - Saving or test-sending an email template that fails to render now shows a clear error message instead of failing with a server error (#16455)
Seal Subscriptions Support - The Shopify plugin now tracks Seal Subscriptions renewal orders as recurring commissions, like the existing ReCharge integration; enable it in the plugin configuration with your Seal Subscriptions API key (#16348)
Improvements
Integrations
Multiple Installations on the Same Shopify Store - A new opt-in "Isolate tracking script" option in the Shopify plugin gives the tracking script a unique per-installation suffix, so multiple Post Affiliate Pro or Post Affiliate Network installations can track the same store (#16377)
Bug Fixes
Themes
Dark Mode Logo on Older Signup Themes - Signup themes that don't support dark mode (Bootstrap, Coupe, Summer) now always show the default logo instead of the Dark mode logo (#16438)
Translations
German Translation - Removed an unrelated brand name that appeared in a German translation string (#16449)
New Signup Theme "Trace" - A new minimal signup minisite theme with light and dark color schemes that follow the visitor's system preference, full white-labeling with your program logo and name, and right-to-left language support (#15780)
User Interface
Starred Records - Affiliates, campaigns, banners, and transactions can now be starred in their merchant panel grids, and the star in the grid header switches to showing starred records only (#11942)
Security
Strengthened Access Control - Tightened permission checks on several merchant panel endpoints (#16317)
Improvements
Integrations
Affiliate Details in Shopify Orders - A new optional Shopify plugin setting adds the crediting affiliate's username and name to the order's additional details, next to the existing visitor ID and referrer URL (#15397)
Bug Fixes
Integrations
Shopify Click Tracking After a Shop URL Change - Changing the shop URL in the Shopify plugin no longer removes the click-tracking script tag from stores that still rely on it; the tag is recreated on the new store (#16406)
REST API v3
Missing Affiliate Responses - PATCH /affiliates/{id} and DELETE /affiliates/{id} now return a 404 response for a non-existent affiliate regardless of the account language (#16270)
User Interface
Menu & Screens Edit Dialogs - Fixed edit dialogs of screens containing a grid in Menu & screens being clipped and impossible to scroll (#16416)
Dark Theme Dropdowns - Fixed unreadable dropdown options in dark themes (#16363)
Right-to-Left Checkbox Alignment - Fixed checkbox groups aligning incorrectly in right-to-left languages on signup forms and in the panels (#16422)
Strengthened Access Control - Tightened permission checks on several merchant panel endpoints (#16203) (#16177)
Improvements
REST API v3
Network Fee in Traffic Overview - GET /traffic-overview now includes a network_fee breakdown in its transactions and sales sections for accounts with an active affiliate network (#15383)
Visitor ID in Transaction Detail - GET /transactions/{id} now returns the transaction's visitor_id (#15337)
Reports
Profit Column in Top Affiliates - The Top Affiliates report and the GET /reports/top-affiliates endpoint now show a total profit value (total cost minus commissions) that can be sorted and filtered (#12489)
Home Page Statistics
Referral Commissions on the Home Page - New template variables expose referral commission totals for all time periods on the affiliate and merchant home pages, and the per-campaign filter now works for sales, commissions, and referral commissions (#16033) (#16036)
Plugins
Affiliate Commission Filter by Campaign - The plugin that hides commissions in the affiliate panel commissions list can now limit its filter to specific campaigns; leaving the new field empty keeps the previous behavior (#16221)
REST Commissions Plugin Description - Corrected the plugin help text describing which affiliate receives a missing tier commission (#13529)
User Interface
Edit View Popup Scrolling - In the column-selection popup, the title and Save buttons now stay in place while only the column list scrolls, so the buttons no longer scroll out of reach (#12677)
Performance
Coupon Generation Limit - Coupon generation and import are now limited to 1000 coupons per operation to avoid database performance problems (#15369)
Bug Fixes
Tracking
IP Anonymization - Fixed a case where enabling "Anonymize IP addresses" could drop Shopify sales for visitors with IPv6 addresses (#16300)
Integrations
Shopify ReCharge Subscription Tracking - Restored tracking of ReCharge subscription orders after Shopify changed the identifier it sends for them (#16311)
Shopify ReCharge with Tiered Commissions - Fixed ReCharge recurring orders producing an incorrect order ID and crediting the wrong affiliate when multi-tier commissions are used (#16324)
Stripe Checkout Affiliate Creation - The "Create Affiliate" setting now works for Stripe Checkout payments, and the plugin now supports Stripe's newer API version when detecting recurring commissions (#15966)
AI Assistant
FlowHunt AI Assistant Visibility - The AI assistant is now shown only to the account owner; in Post Affiliate Network accounts it also appeared for the network's own merchants (#16254)
Affiliate Panel
Welcome Message - Fixed the affiliate panel home page welcome message reverting to its previous text instead of saving (#16230)
Themes
Design Panel with Invalid Themes - The Design configuration screen no longer fails to load when a custom theme has a missing or invalid thumbnail; the broken theme now shows a placeholder, and theme import rejects invalid files (#16251)
User Interface
Faster Grid Loading - Fixed grid screens requesting their data twice right after a panel refresh, which could delay loading by a few seconds; a single request is now sent (#16231) (#16271)
Improved Data Protection - Tightened filtering of sensitive account fields from merchant panel responses (#16105)
Improvements
REST API v3
Assign Coupon to Affiliate - The coupon update endpoint (PATCH /banners/{id}/coupons/{coupon_id}) now accepts an affiliate_id field to assign an existing coupon code to an affiliate (#16131)
Login
Password Policy - The default password policy no longer requires a special character; passwords still need at least 8 characters including a letter and a digit (#16175)