[ApplicationModule]
- BREAKING: Added explicit return types to the read-related
Crm\ApplicationModule\Repository methods (getTable, ``find, findBy, totalCount`). remp/crm#2761
- If you override this methods in your repositories, update the method signatures based on the parent class.
[ApiModule]
- Added
LazyApiDecider to lazy-initialize API handlers and speed up the application. remp/crm#2750
- Fixed unnecessary slow API route registration. remp/crm#2738
- Added missing
getType() method to ParamInterface. This method is used by ApiTestCallFormFactory which relies that implementation o ParamInterface will implement this method.
- Added casting to integer for netmask in
BearerTokenAuthorization::ipInRange().
[CouponModule]
- BREAKING - Added
setLength method into CouponGeneratorInterface. remp/crm#2666
- Added the length of coupon between generators form inputs.
[IssuesModule]
- Added option
--delete-source-after into command issues:import to remove source files after successful import. remp/crm#2745
[PaymentsModule]
- BREAKING: Moved the reference of
subscription_type_item from payment_item_meta into payment_items table.
- IMPORTANT: This migration could take a time, depending on the size of your
payment_items table. Consider to run it at off-peak times.
- To fill foreign keys
subscription_type_item_id in payment_items table run command payments:fill_reference_to_subscription_type_item. The command may run longer, but is not blocking and it can run in the background.
- Added ability to specify period lengths in retention analysis computation. remp/crm#2169
- Added
RecurrentPaymentSubscriptionTypeContentAccessCriteria scenario criteria. remp/crm#2737
- Fixed typo in error message for subscription’s start time. remp/crm#2749
- Fixed registration of the gateway test host. Gateways registered as separate modules (
vub-eplatby, slsp) didn’t have the test host available. remp/crm#2751
- Fixed method
PaymentItemsRepository::copyPaymentItem() which doesn’t copy properly all payment_items attributes. remp/helpdesk#1514
[ProductsModule]
- BREAKING: Changed signature of
ProductSaveEvent to accept and provide ActiveRow $product instead of int $productId. remp/crm#2761
- If you emit this event, replace
$productId with $product as the first parameter of event constructor.
- If you listen to this event, replace use of
$event->getProductId() with $event->getProduct().
- BREAKING: Changed signature of
OrderStatusChangeEvent to accept and provide ActiveRow $order instead of int $orderId. remp/crm#2761
- If you emit this event, replace
$orderId with $order as the first parameter of event constructor.
- If you listen to this event, replace use of
$event->getOrderId() with $event->getOrder().
[RempMailerModule]
- Fixed the order of actions by subscribe/unsubscribe newsletter. It generates outdated user cache in Redis. remp/crm#2721
[SalesFunnelModule]
- Fixed possible validation error of subscription type and gateway after the funnel was submit if the subscription type and gateway didn’t exist. remp/crm#2740
[StripeModule]
- Changed stripe-php version (7.22 -> 7.105.0) in order to support PHP 8.1. remp/crm#2764
- Fixed deprecated usage of
DecimalMoneyParser::parse() method. Solved by leveraging of moneyphp’s dedicated class for currencies which is now required to be used in it’s DecimalMoneyParser::parse() method. remp/crm#2764
[SubscriptionsModule]
- BREAKING: Method
SubscriptionMetaRepository::findSubscriptionBy now returns null instead of false when no subscription is found. remp/crm#2761
- Added soft delete for subscription items. remp/crm#2541
- Added
Crm\SubscriptionsModule\Events\SubscriptionEventInterface interface for events able to provide subscription instance. remp/crm#2761
- The interface replaces
Crm\UsersModule\User\ISubscriptionGetter which was placed incorrectly and misused.
[UsersModule]
**BREAKING**: Removed Crm\UsersModule\User\ISubscriptionGetter interface in favor of Crm\SubscriptionsModule\Events\SubscriptionEventInterface`.
- If you implement your own event handlers and expect use of
ISubscriptionGetter, update the expectations to use SubscriptionEventInterface instead.
- DEPRECATED: Deprecated interface
Crm\UsersModule\User\IUserGetter in favor of Crm\UsersModule\Events\UserEventInterface. remp/crm#2721
- Removed setting of deprecated
n_version cookie. remp/remp#1202
- Added optional parameter
segment for command user:reconstruct_user_data to allow filter users also by segment code. remp/crm#2721