[AppleAppstoreModule]
- Refactored code which uses deprecated
cid within recurrent payments to use a new payment methods relation. remp/crm#3221
- Fixed registration and payload params of
/api/v2/apple-appstore/verify-purchase API endpoint.
- Added handling (no action) for
CONSUMPTION_REQUEST and REFUND_DECLINED notifications. remp/crm#3162
[ApplicationModule]
- Changed
|activeLabel and |helpIcon Latte filters to indicate their HTML content type. There’s no further need to use |noescape filter with them. remp/crm#3319
- Changed initialization of CRM’s DB Selection to comply with framework changes making
Selection::$explorer readonly.
[GooglePlayBillingModule]
- Fixed deprecated usage of
RecurrentPaymentsRepository::add() without ‘paymentMethod’ parameter. remp/crm#3221
- Refactored code which use deprecated
cid within recurrent payments to use a new payment methods relation. remp/crm#3221
[InvoicesModule]
- Added
InvoicesRepository::updateItems method to regenerate invoice items based on a payment. remp/crm#3121
[PaymentsModule]
- BREAKING: Removed use of deprecated
IUserGetter. Using UserEventInterface instead. remp/crm#3313
- BREAKING: Method
RecurrentPaymentsRepository::add(...) was renamed to ::addV1(...). Adjust your actual code to call this deprecated method or implement newer implementation of the method ::add(...) remp/crm#3221
- IMPORTANT: Migration
migrate_payment_methods could take time, depending on the size of your recurrent_payments table. Consider to run it at off-peak times.
- IMPORTANT: After the first deploy it’s necessary to run
payments:migrate_payment_methods command to make sure that all payment methods are correctly migrated.
- DEPRECATED: Deprecated usage of
cid column within recurrent_payments table. Use payment_method_id reference with external_token column instead. remp/crm#3221
- Fixed resolving next subscription type in
AttachRenewalPaymentEventHandler. Handler should check for default subscription with same length and content access and subscription_type->next_subscription_type_id after. remp/helpdesk#2993
- Added ability to force
count in DonationPaymentItem. remp/crm#3272
- Added new
payment_methods table to be able to manage payment methods apart of the recurrent payments. remp/crm#3221
- Refactored code which use deprecated
cid within recurrent payments to use a new payment methods relation. remp/crm#3221
- Removed autologin functionality from
ReturnPresenter, as login is already performed during the submission of the sales funnel payment window. remp/respekt#245
- Added new options to command
payments:calculate_averages. remp/crm#3193
- Option
--subscription_period sets number of days in a single period for which the calculation is executed. Can be configured also in neon config - use setSubscriptionPeriod(28) in setup directive of paymentsCalculateAveragesCommand.
- Option
--minimal_subscription_length sets minimal length of subscription types that will be included in calculation of avg_month_payment. Can be configured also in neon config - use setMinimalSubscriptionLength(2) in setup directive of paymentsCalculateAveragesCommand.
- Option
--calculation_period sets number of days for which payments should be taken into account. Can be configured also in neon config - use setCalculationPeriod(365) in setup directive of paymentsCalculateAveragesCommand.
- Option
--segment_code allows to calculate averages only for users from provided segment.
- Added ability to set renewal payment for subscription. remp/respekt#303
- Added option to filter payments by PayPal ID to universal search and payments filter. remp/crm#3259
- Fixed resolving next subscription type for recurrent trial periods. remp/helpdesk#3016
[PrintModule]
- Added
PrintExportScheduleInterface (and simple implementation PrintExportSchedule). remp/crm#3177
- Can be used in commands (and other services) to handle schedule of print exports.
- Fixed duplication of export files in the list of exports. remp/crm#3177
- If export files are found through file pattern config, do not look for them with simple
$type-$date pattern (legacy implementation before FilePatternConfig was added). Otherwise we would display same export files twice.
- Added
ClaimsAdmin:show view to display info about print claim. remp/respekt#293
- Added
claim_type column to print_claims table. remp/respekt#293
- Possible column values are stored in class
ClaimType.
- Added address delete event to
UserChangeAddressRequests widget. remp/crm#3299
- Added new
admin.user.detail.print_export_state widget placeholder. remp/respekt#308
[ProductsModule]
- BREAKING: Added migration that changes type of
vat column in products table from int to decimal(10,2). remp/crm#3277
- Fixed do not show eshop info and link in digital books library if there is no shop host url. remp/respekt#300
- Added new options to command
products:calculate_averages. remp/crm#3193
- Option
--period sets period for which payments should be taken into account. Eg. P2Y will use only payments in the last two years. Can be configured also in neon config - use setPeriod('P2Y) in setup directive of productsCalculateAveragesCommand.
- Option
--segment_code allows to calculate averages only for users from provided segment.
[SalesFunnelModule]
- Fixed convert
address_id value to integer in SalesFunnelFrontendPresenter::renderSubmit. remp/respekt#271
- Fixed admin user log-in when submitting purchase in
SalesFunnelFrontendPresenter. remp/respekt#245
[SegmentModule]
- IMPORTANT: Added segment widget metrics (widget-based) recalculation when segments are recalculated by command
segment:actualize_counts. remp/crm#3193
- Added flag
--no_widgets. If this option is used, command will not recalculate statistics for widgets visible on the segment detail screen, only the number of people within the segment. Use this flag if you want to keep previous behavior.
- Added segment code into exception thrown when
segment:actualize_counts command fails to recalculate segment. remp/crm#3331
- Added show action to deleted segments list which shows disabled edit form version 1. remp/crm#2107
- Forced redirect from segment detail to edit if the segment is deleted.
[SubscriptionsModule]
- BREAKING: Removed use of deprecated
IUserGetter. Using UserEventInterface instead. remp/crm#3313
- Added ability to force
count in SubscriptionTypePaymentItem. remp/crm#3272
- Changed
|typeContent and |typeLabel Latte filters to indicate their HTML content type. There’s no further need to use |noescape filter with them. remp/crm#3319
- Added ability to ignore given content access subscriptions in
ExtendLastExtension. remp/helpdesk#3079
[UpgradesModule]
- Refactored code which use deprecated
cid within recurrent payments to use a new payment methods relation. remp/crm#3221
- Added experimental support for trial upgrades. remp/crm#3322
- Changed that
PaidRecurrentUpgrade doesn’t override reference to parent payment in recurrent_payments table when doing upgrade. remp/helpdesk#3016
- This allows following references to previous recurrent payments even if subscription upgrade happens along the way. It can be useful e.g. when counting trial subscription periods.
[UsersModule]
- BREAKING: Removed deprecated
IUserGetter. Use UserEventInterface instead. remp/crm#3313
- Changed signature of
UserMetaEvent. Expecting ActiveRow $user instead of int $userId.
- Changed
|userLabel and |gravatar Latte filters to indicate their HTML content type. There’s no further need to use |noescape filter with them. remp/crm#3319
- Added verification if user is deleted before creating new access token. remp/crm#3274
- Added missing foreign key
countries->country_id to address_change_requests table. remp/crm#3127
- Refactored difference check in
AddressChangeRequestsRepository to its own method so it can be used outside of repository. remp/crm#3127