Skip to content

v2.4.1

Choose a tag to compare

@yashvir-webkul yashvir-webkul released this 22 Jul 13:24
· 11 commits to main since this release
5ab9ff2

Release Notes — v2.4.1 (July 22, 2026)

Added

  • Add request and response examples to the Swagger/OpenAPI docs for every Returns (RMA) and EU Withdrawal endpoint (shop and admin).
  • Add the request body schema for creating and updating RMA reasons, rules, statuses and custom fields in the Swagger docs.
  • Add redirect and redirectUrl to the place-order response so clients can tell when the shopper must be sent to a payment page before the order exists.
  • Add minPrice and maxPrice to the storefront category response so REST clients can bound a price-range filter, matching what GraphQL already exposed.
  • Add xls and xlsx to every admin export endpoint (?format=), matching the formats the admin panel offers; exported values are now guarded against spreadsheet formula injection.

Changed

  • Drop the hard Redis requirement: the API metadata/schema cache and rate-limit counters now follow the application's CACHE_STORE (falling back to file), so no separate cache service or extra configuration is needed.
  • Take the cart file-upload size limit from php.ini and the staged-upload lifetime from the session lifetime, instead of package settings.

Fixed

  • Fix GraphQL connection fields (e.g. cart items { edges }) failing with Field "items" of type "Iterable" must not have a sub selection on some production PHP-FPM servers.
  • Fix RMA settings create and update responses showing a success message; the confirmation message is now returned only on delete.
  • Restore backward compatibility with Bagisto cores below 2.4.5 by conditionally registering the EU Withdrawal endpoints only when the core module is present.
  • Fix paymentGatewayUrl coming back empty for redirect payment methods (Stripe, Razorpay, PayPal Standard, PhonePe), leaving clients with nowhere to send the shopper.

Full Changelog: v2.4.0...v2.4.1