FluentCart 1.3.25 smoothing the seams

FluentCart 1.3.25 is a maintenance-led release focused on making sure the systems that handle money (payments, refunds, shipping, and licensing) agree with each other in real time. Each fix is small in isolation; together they remove the kind of after-the-fact reconciliation that quietly costs store owners hours every month.
Shipping Math Restored for Mixed Product Types
When an order combined different product types like digital and physical, fragile and standard, the per-order base shipping rate was being applied once per shipping class group instead of once per order. That meant customers saw inflated shipping totals at checkout whenever their cart mixed product types. This release applies the base rate exactly once, regardless of how many shipping classes are in the cart. It restores the shipping math customers expect to see at checkout.
License Activations Treat www and non-www as One Site
On the Pro side, customers running their site on both www.example.com and example.com were burning two activations from a single license. Activation now normalizes the host before checking, so the same site counts as one regardless of how it is reached. License capacity stops disappearing into a duplicate that should never have been counted in the first place.
Improvements
Product variation management. Variant editing is smoother and more reliable: duplicate variant initialization on first load is fixed, the form no longer enters a spurious dirty state immediately after saving, and the post-deletion experience is cleaner so admins can keep working without an awkward reload.
Fixes and Stability
Stripe settings double encryption. Stripe settings were running through encryption twice on save, scrambling the secret key for stores that resaved their gateway configuration. Corrected.
Refund transaction scoping. The refund flow now scopes its transaction lookup by order ID, so a transaction from one order can no longer be used to refund a different one.
Customer lifetime statistics. Customer totals now recount on order refund, keeping refunded amounts out of running customer statistics.
Empty mini cart freeze. Clicking an empty mini cart no longer freezes the page.
Single product page layout. Single product pages have their max-width constraint and responsive padding back, so layouts hold their shape across breakpoints.
Coupon expiration timezone. Coupon expiration time now displays in the admin’s browser local time instead of UTC, removing the recurring “why is my expiration off?” confusion.
Subscription orders with coupon discounts. Orders using coupon discounts were getting stuck after checkout. Fixed.
Duplicate renewal records. Duplicate renewal records were being created during payment processing. Fixed.
Free shipping with multiple classes. Free shipping was incorrectly adding class surcharges when multiple shipping classes were in the cart. Fixed.
Paddle subscription cancellation on refund. Paddle subscriptions were not cancelling immediately after a refund was issued. They now cancel as expected.
Translated status labels. Transaction and subscription statuses in the customer portal now render translated labels instead of raw status keys.
Security and maintenance. This release includes ongoing security audits and routine hardening across both FluentCart core and FluentCart Pro.
Full Changelog
- Fixes Sites with www and non-www counted as separate activations
- Fixes Subscription orders with coupon discounts getting stuck after checkout
- Fixes Duplicate renewal records created during payment processing
- Fixes Page freeze when clicking empty mini cart
- Fixes Max-width constraints and responsive padding on product pages
- Fixes Incorrect coupon expiration time in admin dashboard
- Fixes Shipping overcharge with multiple shipping classes in cart
- Fixes Free shipping adding class surcharges with multiple shipping classes
- Fixes Paddle subscriptions not cancelling immediately after refund
- Fixes Customer lifetime stats not updating after refund
- Fixes Double encryption when saving Stripe settings
- Fixes Raw transaction and subscription status keys shown in customer portal
- Improves Product variation management
In Case You Missed Recent Updates
1.3.23 (Apr 28, 2026)
- Adds Subscription access end date in cancellation emails
- Adds Learndash: User specific course expiration respect to subscription/license
- Adds VAT numbers in PDF receipt address field
- Adds One click Licensed addon installer in addon page
- Fixes Parse download token with ported site urls issue
- Fixes fee_total missing column issue for version upgrades
- Fixes Missing checkout info label in gateway settings
- Fixes Advance filter merge relation issue
- Fixes Timezone resolution against deprecated PHP 8.4 aliases
- Fixes Licenses package download issue for portes site urls
- Fixes Empty state rendering in dark mode for reports and dashboard
- Fixes Supports for comma decimal separator in product variant cost
- Fixes Use singular form for subscription interval units
- Fixes Close editor modal when navigating from iframe links
- Fixes Verify stock module active before inventory menu
- Fixes License status incorrectly shown as “Expired” during grace period.
- Fixes PDF custom template deletion faild issue
- Fixes Customer address update/delete permission issue
- Fixes Regular security audits and ongoing enhancements
- Fixes Activity title’s route not working
- Enhanced Paddle – allows all default emails, modifiable via filter hook
- Enhanced Adjust product-card and single-product styles
1.3.22 (Mar 13, 2026)
- Adds Gutenberg Package Description block
- Adds New stock management in Pro
- Improves Package Description support for block themes & emails
- Improves Email templates with 5 new merge tags
- Fixes Shipping zone list loading issue
1.3.21 (Apr 22, 2026)
- Adds AWS S3 storage driver with guided three-step setup wizard
- Adds S3 bucket creation, browsing, and selection from admin
- Adds S3 connection verification and credential validation
- Adds S3 Block Public Access toggle in setup flow
- Adds presigned download URLs with configurable expiration
- Adds two auth modes: wp-config.php constants and encrypted database
- Adds S3 reset and reconfigure flow
- Adds pluggable storage driver architecture
- Adds unified provider list with enable/disable toggles
- Improvements storage settings UI with loading states and polished labels
- Fixes PayPal checkout security to ensure pricing integrity
- Fixes checkout error on null product reference
- Fixes SKU duplicate issue in product variation creation
- Fixes provider badge not displaying correctly on files
- Fixes bucket creation, dropdown selection, region mismatch, and fetching
- Fixes S3 file deletion behavior
- Adds Cloudflare R2 storage driver with dedicated setup wizard
- Adds R2 bucket creation with jurisdiction selection
- Adds R2 connection verification and bucket browsing
- Adds R2 file upload, download, and delete operations
- Adds R2 presigned download URLs with AWS4-HMAC-SHA256 signing
- Fixes PDF template styling issue
I’m Jewel, founder of FluentCart and CEO at WPManageNinja, the team behind Fluent Forms, Fluent CRM, Fluent Support, FluentLogs and a handful of other WordPress plugins. I have been writing WordPress code since 2009 and still think of myself as a developer first and an entrepreneur second. Most of what I write on this blog comes from arguments we have had inside the team about how to build software people can actually depend on.

Subscribe now






Leave a Reply