[ApiModule]
- Changed
ApiTokensRepository
to use new DatabaseTransaction
API. remp/crm#3330
[AppleAppstoreModule]
- Changed
VerifyPurchaseV2ApiHandler
to handle only AUTO_RENEWABLE
product type transactions. remp/respekt#273
[ApplicationModule]
- BREAKING: Updated
twig/twig
to v3. remp/crm#3343
- This version removes features deprecated in v2 and adds some new deprecations, which will be removed in v4.
- We recommend that you go through the
v2
deprecations and v3 deprecations and verify, that you don’t use the listed features (primarily in sales funnels).
- BREAKING: Removed not used columns from
calendar
table. remp/crm#3337
- Columns are removed without a replacement. If you use them, replace them with your own logic / native PHP formatter.
- IMPORTANT: Added new extended implementation of Hermes\Emitter
Crm\ApplicationModule\Hermes\TransactionEmitter
which supports delaying event emitting until transaction commit or throwing events emitted during the transaction away if the transaction was rolled back. remp/crm#2218
- IMPORTANT: Added new
DatabaseTransaction
wrapper which allows to nest transactions even with start/commit/rollback function calls. remp/crm#3330
- Added callbacks
onCommit
and onRollback
. (example usage: to be able to delay event dispatching during transaction)
DatabaseTransaction
is now implemented within ReplicaManager
which forces all queries to be executed on the primary database during transaction.
- It is recommended to update transactions to use new
DatabaseTransaction
API (directly via DI or via Repository->getTransaction()
) to ensure correct transaction handling within nested transactions. remp/crm#3330
- Updated Font Awesome to v6 in the default frontend layouts. remp/crm#2936
- Fixed duplication of query calls if primary database enforce flag was set. remp/crm#3342
- Removed useless property assign in
AuditLogRepository
. remp/crm#3330
- Fixed
ApplicationConfig
to read config entry from the database when it’s not present in cache yet. remp/crm#3347
[FamilyModule]
- Fixed recurrent payments VAT resolving - previously, VAT changes were ignored, now current VAT of subscription type items is always used. remp/helpdesk#3159
- Fixed Subscription Transfer provider which wrongly evaluated slave subscriptions which belonged to customizable master subscription type. remp/crm#3294
[GiftsModule]
- BREAKING: Updated frontend icons used in the module to Font Awesome v6. remp/crm#2936
- If you have registered your own frontend layout, please update your font awesome to the latest v6 version.
- Added generic event for scenarios allowing the gift donor to be notified in scenarios. remp/respekt#319
[GooglePlayBillingModule]
- Added purchase type validation to
VerifyPurchaseApiHandler
. Handler allows only subscription purchases. remp/respekt#273
[IssuesModule]
- Removed useless property assign in
IssueBaseRepository
. remp/crm#3330
[InvoicesModule]
- BREAKING: Updated frontend icons used in the module to Font Awesome v6. remp/crm#2936
- If you have registered your own frontend layout, please update your font awesome to the latest v6 version.
- Added
EuVatValidator
, for validating EU Vat IDs using VIES. remp/crm#3284
- Added
vat_id_consultations
DB table. remp/crm#3284
- Added
VatModeDataProvider
, which uses new VatModeDetector
for selecting user VAT mode (see VatProcessor
in PaymentsModule
for details). remp/crm#3284
- Changed
InvoicesRepository
to use new DatabaseTransaction
API. remp/crm#3330
[PaymentsModule]
- IMPORTANT - Added support for VAT modes (B2B, B2B reverse-charge and B2C modes), processed by
VatProcessor
class. remp/crm#3284
- Payment VAT is be modified depending on a selected mode. VAT changes are applied just before saving or updating the payment in
PaymentsRepository
.
- Current
VatProcessor
always selects B2C mode as a default mode.
- To choose a different mode for the user, implement
VatModeDataProviderInterface
data provider.
- When using
PaymentsModule
together with CRM InvoicesModule
, it implements this interface in VatModeDataProvider
class. Correct VAT mode is selected depending on user invoice address.
- Fixed type error when editing payment with items without link to subscription type item. remp/respekt#317
- Added anonymization of recurrent payments cid. remp/crm#3268
- Added handle anonymize cid-s in
RecurrentPaymentsUserDataProvider
.
- Added
CancellableTokenInterface
which defines methods for payment gateways which support payment cid (external_token) anonymization.
- Implemented
cancelToken
method in Comfortpay
payment gateway.
- Changed
PaymentItemsRepository
and ChangePaymentSubscriptionTypeFormFactory
to use new DatabaseTransaction
API. remp/crm#3330
- Fixed possibly broken admin payments filter if the filter data provider joined the table with ambiguous column names. remp/crm#3351
- Changed type of
$amountFrom
and $amountTo
parameters in ParsedMailLogsRepository::all
from int
to float
to avoid losing the precision. remp/crm#3356
- Added command
payments:change_vat
to handle VAT rate change. remp/crm#3357
[PrintModule]
- BREAKING: Updated frontend icons used in the module to Font Awesome v6. remp/crm#2936
- If you have registered your own frontend layout, please update your font awesome to the latest v6 version.
[ProductsModule]
- BREAKING: Changed signature of
PostalFeeConditionInterface::isReached
method. Parameter $value
is now optional. remp/respekt#320
- If you implement
PostalFeeConditionInterface
, alter your implementation of isReached
method to accept nullable $value
.
- Updated Font Awesome to v6 in the default frontend layout. remp/crm#2936
- Change country postal fee condition - configuration value is now optional and used only when required by the implementation. remp/respekt#320
- Changed
OrdersRepository
and CountryPostalFeesFormFactory
to use new DatabaseTransaction
API. remp/crm#3330
- Removed brand name “Denník N” from translation strings. remp/novydenik#1316
- Added command
products:change_vat
to handle VAT rate change. remp/crm#3357
[RempMailerModule]
- Added command to subscribe users of segment to selected newsletter. remp/respekt#301
[SalesFunnelModule]
- Fixed convert
address_id
value to integer in SalesFunnelFrontendPresenter::renderSubmit
. remp/respekt#271
- Changed
SalesFunnelTagsRepository
to use new DatabaseTransaction
API. remp/crm#3330
- Refactored
SalesFunnelFrontendPresenter::validateFunnel
to call BasePresenter::onlyLoggedIn
instead of redirecting to custom login page. remp/crm#3288
[ScenariosModule]:
- Changed
ScenariosRepository
to use new DatabaseTransaction
API. remp/crm#3330
[SegmentModule]
- Fixed
isIn
segment check crashing in case tested column was requested with prefix (e.g. users.id
) but segment fields were not prefixed (id, email
). remp/crm3344
[SubscriptionsModule]
- Changed subscription edit form to display only active subscription types. remp/crm#3262
- Changed
SubscriptionTypeTagsRepository
and SubscriptionTransferConfirmationFormFactory
to use new DatabaseTransaction
API. remp/crm#3330
[UpgradesModule]
- BREAKING: Updated frontend icons used in the module to Font Awesome v6. remp/crm#2936
- If you have registered your own frontend layout, please update your font awesome to the latest v6 version.
[UsersModule]
- Fixed incorrectly escaped header in admin user detail, when showing user who is also an institution. remp/helpdesk#3129
- Changed
UsersRepository
, UserConnectedAccountsRepository
, AccessTokensRepository
to use new DatabaseTransaction
API. remp/crm#3330