Recently Published Versions

New Features

Reports

  • Filter Reports by Multiple Campaigns - Campaign filters in merchant reports and network account filters now allow selecting several values at once, and the report shows combined data for the whole selection; saved filters restore all selected values (#11688)

Mass Messages

  • Send Confirmation - Sending a message to affiliates now asks for confirmation first, showing how many recipients will receive the email and which recipient filter is used (#14941)

Improvements

Security

  • Strengthened Access Controls - Tightened ownership and privilege checks on internal services (#15595) (#16491)
  • Improved Content Sanitization - Improved input validation and output escaping in the merchant and affiliate panels (#16496)

Reports

  • Affiliate Columns on the Commissions Report - Affiliate detail columns are now marked with an affiliate icon and an "Affiliate's" tooltip, so they are easy to tell apart from the sale data columns (#16319)

Email

  • SMTP Port Options - Removed port 25 from the SMTP settings, as it is blocked for outgoing mail on the hosted infrastructure; ports 465 and 587 remain available (#16337)

Performance

  • Pay Affiliates Grid - Faster loading of the Pay affiliates list (#12078)

Bug Fixes

Banners

  • Private Campaign Banner Links - Banner links of private campaigns now redirect to the Declined site URL when the affiliate in the link is not approved in the campaign or does not exist (#16544)

Payouts

  • Pay Affiliates List - Affiliates whose unpaid commissions are all declined or pending no longer appear with a zero total in the Pay affiliates section (#16202)

Plugins

  • Default Signup Values - Affiliates created automatically by the Membership subscription manager now receive the default values configured in the "Default signup values" plugin (#16551)

Integrations

  • Shopify Plugin Translations - Parts of the Shopify plugin configuration that always displayed in English are now translated, and technical values such as file names and order tags can no longer be broken by translations (#16534)

Tracking

  • Visit Tracking Errors - Temporary failures when storing visits are now retried automatically and no longer show up as critical errors in the event log (#16458)

User Interface

  • Mass Action Counts - Fixed an incorrect error count in the completion message of mass actions processed in multiple batches (#16447)

Improvements

Security

  • 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)

New Features

Integrations

  • 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 Features

Themes

  • 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)

Security

  • 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)