Releases: remp2020/crm-application-module
Releases · remp2020/crm-application-module
3.7.0
- BREAKING: Added
iterateTokens
method to theCrm\ApplicationModule\Models\User\UserDataStorageInterface
interface.- If you extend this interface, add empty or default implementation of
iterateTokens
. Method should iterate through all stored tokens in user data storage and call$callback
for each record with token and its user data.
- If you extend this interface, add empty or default implementation of
- Added
application:change_config_value
command for scheduled changes of configs. remp/crm#3357
3.6.0
- 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
andonRollback
. (example usage: to be able to delay event dispatching during transaction) DatabaseTransaction
is now implemented withinReplicaManager
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 viaRepository->getTransaction()
) to ensure correct transaction handling within nested transactions. remp/crm#3330
- Added callbacks
- 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
3.5.2
- 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.
- Fixed statically seeded calendar, which ended at the end of this year and caused charts not to extend into 2025 and beyond.
2.11.1
- 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.
- Fixed statically seeded calendar, which ended at the end of this year and caused charts not to extend into 2025 and beyond.
3.5.0
- 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.
3.4.0
- BREAKING: Removed method
provide
fromDataProviderInterface
. remp/crm#3284- After the change, there is no specific requirement on data provider implementation registered in
DataProviderManager
. - If you directly implemented
DataProviderInterface
, replace the interface withDefaultDataProviderInterface
, containing formerprovide
method. - If you extended
DataProviderInterface
with custom interface, make sure you either implementprovide
method or extendDefaultDataProviderInterface
.
- After the change, there is no specific requirement on data provider implementation registered in
- Added Puerto Rico into the country database. remp/crm#3256
- Added Gibraltar into the country database. remp/crm#3257
- Added French Polynesia into the country database. remp/crm#3258
- Added
localized_countries
config to enable localized countries based on the user's locale. remp/crm#2978- The config is disabled by default to maintain backwards compatibility. This might change in the future.
- Added
CountriesSelectItemsBuilder
to translate country names based on the application configuration. remp/crm#2978
3.3.0
- Added helper method
createMultiple
toActiveRowFactory
. remp/crm#2925 - DEPRECATED: Deprecated
autoload
flag withinconfigs
table. This flag is not used anymore and will be removed in the next major release. remp/crm#2605- Deprecated
loadAllAutoload
method withinConfigsRepository
.
- Deprecated
- Refactored ApplicationConfig + added ability to force refresh config cache. remp/crm#2605
- Fixed measurements keys to contain JavaScript Date class. remp/crm#1241
- Added extension
ContributteTranslationExtension
to support translations within Twig. remp/crm#3214
3.2.0
- BREAKING: Changed minimal version of
nette/application
to version 3.2.- Due to newly introduced framework types, there is
$user
Latte variable (of type\Nette\Security\User
) in every Latte template. - If you use
$user
Latte variable of different type, you have to rename it to avoid type mismatch.
- Due to newly introduced framework types, there is
- BREAKING: Added
registerScenariosTriggers
method toApplicationModuleInterface
.- We recommend to extend
CrmModule
in your module classes, or in case of implementing this interface directly, we recommend to implement empty method.
- We recommend to extend
- Added button to GoogleBarGraph and GoogleLineGraph, to export/download data in CSV format. remp/crm#3117
- Fixed registration of
Contributte\FormMultiplier\DI\MultiplierExtension
. remp/crm#3138- The extension was supposed to be registered by
ApplicationModule
, but it silently failed.
- The extension was supposed to be registered by
- Fixed possible XSS vulnerability and enabled proactively-before-disabled escaping of values. remp/crm#1794
- Added
escapehtml
function both to PHP and Latte to escape HTML entities. remp/crm#1794 - Deprecated
SnippetsRepository->loadAllByIdentifier
, useSnippetsRepository->loadByIdentifier
instead. remp/crm#3029 - Fixed 'Too Many Connections' bug within PHPUnit tests by reconnecting to the database after each test.
- Added
EventGeneratorOutputProviderInterface
for use withEventGeneratorInterface
. remp/crm#1409- We encourage to implement this interface/method in your custom event generators to provide output params to scenario validator.
- In the next major release the interface
EventGeneratorOutputProviderInterface
will be merged toEventGeneratorInterface
interface.
3.1.1
3.1.0
- Added option to register custom callbacks when Hermes's default
Crm\ApplicationModule\Hermes\RedisDriver
waits for next tasks. remp/crm#3111- You can register the callbacks in your
config.neon
by callingsetupWaitCallback
withinsetup
directive ofhermesDriver
service.
- You can register the callbacks in your
- Added
OriginalDataAwareInterface
interface used for object/database row which have to remember its original values. remp/respekt#148- You can now read
getOriginalData()
from theActiveRow
instances (if they implement this interface) after the object was updated.
- You can now read
- Fixed
locale
parameter for snippets with set parameters (locale
was removed if any parameters were set). remp/crm#3113