Releases: remp2020/remp
Releases · remp2020/remp
3.10.0
[Beam]
- [Tracker] Fixed Tracker not publishing messages to pub/sub due to prematurely closed client. remp/remp#1384
- [Segments] Fixed Elasticsearch 8 incompatibility in mapping caching. remp/remp#1385
- Fixed newsletters being marked as
finished
in some occurences. remp/respekt#289
[Campaign]
- Fixed missing session source on showtime requests which got executed before the session source could be stored. remp/web#2656
- Fixed campaign-module migrations by moving country seeder into campaign-module. remp/remp#1287
- Added option to use Campaign and Banner UUIDs in the search box.
- Fixed ARIA-compatibility of close buttons in Campaign banners. remp/helpdesk#3037
[Mailer]
- Added ability to set custom health check TTL for
ProcessJobCommand
. remp/remp#1376 - Fixed parsing of attachment's filename from header within
MailgunMailer
. remp/remp#1386- Previous implementation incorrectly parsed filenames with dash. Filename of attached file "invoice-2024-09-24.pdf" would be only last part "24.pdf".
- Added
MailHeaderTrait
with methodgetHeaderParameter()
and tests to validate it.
- Fixed mail type stats when groupped by week or month. remp/remp#1374
- Changed behavior of
rtm_click
parameter. If the mail template disables click tracking,rtm_click
is not added to the links anymore. remp/respekt#305 - Fixed removed
<a>
by the newsfilter replace rules which didn't expect anchors withouthref
attribute. remp/helpdesk#3082 - Fixed possible issues with chart rendering if there's no data to evaluate yet.
3.9.3
3.9.2
3.9.0
[Beam]
- IMPORTANT Removed section Visitors. remp/remp#1349
- Related data (tables
session_devices
&session_referers
) are persisted in DB until the next major update. - New data are not processed (command
pageviews:process-sessions
was removed).
- Related data (tables
- IMPORTANT Removed section Google Analytics Reporting. remp/remp#1349
- Data were loaded from discontinued version of Google Analytics.
- [Tracker] Fixed PubSub implementation of message broker to avoid unnecessary log records. remp/remp#1372
[Campaign]
- BREAKING: Changed internals of the application causing cached/generated files not to work anymore.
- After the release, please run
php artisan optimize:clear
on each server the app is deployed to. This applies also to the development environment after you checkout the latest version. If you deploy to the clean environment, you can skip this step. - After the release, please run
php artisan campaigns:refresh-cache
command at least once to refresh the Redis cache.
- After the release, please run
- IMPORTANT: Changed
/showtime.php
path to/vendor/campaign/showtime.php
inremplib.js
remp/remp#1287- Make sure this new path is accessible on your running installations.
- Extracted campaign to separate campaign module, that will be includable by the skeleton app in the future. remp/remp#1287
- Added copy buttons to the campaign edit and detail pages. remp/remp#1369
[Mailer]
- IMPORTANT: Changed setting of Symfony Console to stop quietly catch exceptions. remp/remp#1364
- Changed setting of
Symfony\Component\Console\Application->setCatchExceptions()
to false. - We don't want Symfony to catch these errors (and only show them in the command's output). We want all exceptions of the application to bubble up to Tracy.
- If you want to keep previous behaviour, you can override it within your
config.local.neon
by callingsetCatchExceptions(true)
withinsetup
directive ofconsole
service.console: setup: - setCatchExceptions(true)
- Changed setting of
- Fixed default sender in template form - update it to default of newsletter list when newsletter list is selected. remp/respekt#220
- Added functionality to duplicate newsletter lists with the possibility to copy subscribers. remp/remp#1363
- Set
opened
andclicked
columns inTemplatePresenter
template listing, to not orderable in favor of more precise numbers. remp/remp#611 - Fixed description of auto subscribe toggle when editing newsletter list. remp/remp#1366
- If auto subscribe is enabled:
- When adding newsletter list, all existing users are subscribed to this new newsletter list (see \Remp\MailerModule\Hermes\ListCreatedHandler).
- When editing newsletter list, only new users will be subscribed to edited newsletter list.
- If auto subscribe is enabled:
- Added article url support to DailyMinuteGenerator. remp/remp#1370
- Added ability to export sent emails stats in
ListPresenter
. remp/remp#1362 - Fixed Delete User API response not being actually as empty as HTTP code states. remp/remp#1378
3.8.0
[Beam]
- Added a custom Carbon date request validator and integrated it into
ArticleDetailsController::dtReferers
to validatevisited_to
andvisited_from
request inputs. remp/remp#1101 - [Tracker] Updated list of referer sources so that the newer social/searches are recognized. remp/remp#1313
- Fixed an XSS vulnerability within creating and editing a segment. remp/remp#1343
- Added mobile concurrents percentage value to
DashboardController::mostReadArticles
response. remp/remp#1352 - Added custom Carbon date request validator to validate date inputs in requests. remp/remp#1101
[Campaign]
- Fixed an XSS vulnerability within creating and editing a campaign. remp/remp#1343
- IMPORTANT: Added unique suffix to banner position (for hidden html banners) in
Showtime::prioritizeCampaignBannerOnPosition
. Prevents suppressing other banners. remp/remp#1346 - Added custom Carbon date request validator to validate date inputs in
campaigns/{campaign}/stats/data
API endpoint. remp/remp#1101
[Mailer]
- Changed the maximum length of the
name
column in themail_templates
table to 768 characters. remp/remp#1257 - Added match
x.com
domain inEmbedParser::isTwitterLink
. remp/helpdesk#2759 - Updated Chart.js library which handles charts in the application. remp/remp#1361
- Fixed chart on the newsletter list detail, so it makes some sense now. remp/remp#1361
- Added ability to edit newsletter list category. remp/remp#724
- Added option to prefill newsletter list preview URL by using existing email's public preview URL. remp/remp#724
- Added support for group actions in
data_table.latte
. remp/remp#724 - Added edit button to newsletter list detail. remp/remp#1367
- Changed
Preview url
andList image
buttons to disabled if their url is not provided. remp/remp#1367 - Added edit and show button to sent emails detail. remp/remp#1367
- Added preview and fullscreen edit for text layout. remp/remp#1094
- Added
locked
parameter toNewsfilterGenerator
params to differentiate between locked and unlocked version when rendering template. remp/remp#1358
3.7.1
[Beam]
- Fixed newsletters not being sent anymore if there was an issue with sending for more than two sending periods. remp/remp#1351
- [Tracker] Updated Goa library from v1 to v3. remp/remp#1341
- [Segments] Updated Goa library from v1 to v3. remp/remp#1341
- [Segments] Added
load_progress
attribute to journal list pageviews. remp/remp#1335
[Mailer]
- BREAKING: Removed
autoload
flag from configs table andConfigsRepository::loadAllAutoload
. - BREAKING: Removed command
mail:remove-old-batches
. remp/remp#1354- Use newly added
application:cleanup
instead.
- Use newly added
- BREAKING: Fixed
RedisClientTrait
default database value from0
tonull
. remp/remp#1357- This affects you only if you configure Redis database manually to something other than
0
in your config. - The change fixes use of
RedisClientTrait
ignoring database configured inRedisClientFactory
and forcing DB0
instead, causing your data to be stored in DB0
even if you configured your environment/RedisClientFactory
to use other database. - IMPORTANT: It is important to move hermes keys
hermes_tasks_high
,hermes_tasks
,hermes_tasks_low
(withMOVE
command) to correct Redis DB after you shut down your old Hermes workers, and before you start the new ones. - IMPORTANT: We also recommend not having any active jobs (processing or sending) during the release process.
- This affects you only if you configure Redis database manually to something other than
- Added option to track variant subscriptions to Tracker. remp/web#2404
- Added Mailer's segment "Everyone" which lists all subscribers known to Mailer. remp/crm#2973
- This segment should ideally replace
all_users
provided by CRM and effectively serve as a default. Mailer still filters users based on their newsletter subscription to the email they're receiving.
- This segment should ideally replace
- URL parser generator's segment is now optional. remp/crm#2973
- If not provided, Mailer's segment with subscribers of selected mail type is used as a default.
- Fixed duplicate entry error when subscribing to already subscribed variant within
UserSubscriptionsRepository->subscribeUser
. remp/remp#1355 - Added
application:cleanup
command to execute configured data retention policies. remp/remp#1354- By default, the system purges all expired autologin tokens and processed batches not sent within 24 hours.
- You can configure/change the retention polices in
config.neon
, see README for more information.
- Fixed status set to batch by
ProcessJobCommand
after processing failed. Batch is now set to original status. remp/remp#1360 - Fixed
ContentGenerator
bug where static time from class instance creation was being passed to the email template instead of an actual time. remp/remp#1316 - Added ability to filter mail_logs by mail template codes in
LogsHandler
api handler. remp/respekt#211
3.6.0
[Beam]
- BREAKING: Removed unused
autoload
property withinConfig
. remp/remp#992- If you're loading configs yourself and actively using
autoload
property, you need to remove dependency on it before updating to this version.
- If you're loading configs yourself and actively using
- DEPRECATED: Deprecated usage of
ConversionRateConfig
from DI container or creating directly through constructor. UseConversionRateConfig::build()
method instead. remp/remp#992- Remember, by using
ConversionRateConfig::build()
you'll get newer values from the config and not cached ones.
- Remember, by using
- DEPRECATED: Deprecated
Article::getConversionRateConfig()
. Create your own instance of ConversionRateConfig instead. remp/remp#992 - DEPRECATED: Deprecated usage of
Article::getConversionRateAttribute
without passing ConversionRateConfig as a first parameter. remp/remp#992 - Fixed issue with
load_timespent
parameter in/journal/pageviews/list
which didn't include the timespent into pageview object. remp/remp#1334 - Added average spent times into article detail page. remp/remp#1328
- Added parameter to pass
ConversionRateConfig
as a first parameter toArticle::getConversionRateAttribute()
. remp/remp#992 - Added
ConversionRateConfig::build()
to create new instance ofConversionRateConfig
with fresh values from the config. remp/remp#992 - Added ability to cache values for 60 seconds within
Article::getConversionRateConfig()
for long-running processes/workers. remp/remp#992 - Fixed slow load of datatables for systems with high amount of authors and tags. remp/remp#1347
[Campaign]
- Fixed typo in event name for Newsletter banner in README.
- Fixed loading of available countries for campaign copy action. remp/remp#1323
- Fixed the paging of scheduled campaigns. remp/remp#1310
- Refactored referer filter to traffic source filter. remp/remp#1336
- Added ability to filter campaign by session referer (traffic source) in showtime. remp/remp#1336
[Mailer]
- IMPORTANT: The default Hermes queue for asynchronous events is now
hermes_tasks
(medium priority) instead ofhermes_tasks_low
(low priority). remp/remp#1342- If you emit your own Hermes events with the default priority, please revise whether they should keep using the default priority, or whether they should be explicitly emitted as "low priority".
- DEPRECATED: Deprecated
autoload
flag within configs. From now on, all configs are loaded regardless of this flag and this flag will be removed in the next major release. remp/remp#992- Consequently, we deprecated method
ConfigsRepository::loadAllAutoload()
. UseConfigsRepository::all()
instead.
- Consequently, we deprecated method
- DEPRECATED: Deprecated
MailgunMailer::mailer()
. UseMailgunMailer::createMailer()
instead. remp/remp#992 - Fixed incorrect
/mailer/health
healthcheck HTTP status code in case of failure (was always 200). remp/remp#1322 - Fixed conditions to unreachable healthcheck messages. remp/remp#1322
- Added new parameters between default template parameters to identify newsletter (
newsletter_id
,newsletter_code
,newsletter_title
) and variant (variant_id
,variant_code
,variant_title
). remp/remp#1321 - Added support for One-Click unsubscribe according to RFC8058. remp2020/mailer-module#3
- Added option to configure maximum number of send attempts in
SendEmailHandler
. remp/remp#1331- You can configure this in your
config.local.neon
by calling e.g.setMaxRetries(10)
withinsetup
directive ofsendEmailHermesHandler
service.
- You can configure this in your
- Fixed issue with oversize images in MS Outlook. remp/remp#1330
- Fixed issue with persistent embed cookies stored in system
tmp
folder, which were shared across releases. remp/helpdesk#2587- Each release now stores embed cookies in its own temp folder.
- Added ability to set custom CURL settings for
EmbedParser
. remp/helpdesk#2594 - Fixed buggy regexp pattern in
NewsfilterGenerator
causing elements to be removed non-voluntary. remp/crm#3151 - Added ability to refresh internal config cache after a certain amount of time mainly for a longer running processes/workers. remp/remp#992
- Added ability for
MailgunMailer
andSmtpMailer
to refresh config during the runtime (for example when there's long-running worker and the config is changed). remp/remp#992 - Added new events emitted before (
Remp\MailerModule\Events\BeforeUserEmailChangeEvent
) and after (Remp\MailerModule\Events\UserEmailChangedEvent
) email change. remp/remp#1348
3.5.1
3.5.0
Project
- Fixed possible redirect issue after login causing HTTP 404 after successful login. remp/remp#1235
[Beam]
- Fixed entity and segment group seeder to avoid duplicates in the database. remp/remp#1317
- Added
--force
parameter to migration inupdate-prod
make target. remp/remp#1317
[Campaign]
- Changed campaign display rules evaluation to evaluate pageview attributes before including campaign between active campaigns. remp/remp#1302
- Fixed bug - when copying campaign, removal of assigned segment affected existing campaign segments. remp/remp#1308
- Fixed reporting unknown country as exception. remp/remp#1314
- Added
--force
parameter to migration inupdate-prod
make target. remp/remp#1317
[Mailer]
- BREAKING: Updated
monolog/monolog
to version^3.0
. remp/remp#1315- If any of your extensions rely on monolog, please review your implementation.
- BREAKING: Updated
robmorgan/phinx
library to the latest version. remp/remp#1315- If you write your own migrations, you might want to test them against an empty DB. Types are now strict and older migrations could be broken if you used incorrect type in the past.
- BREAKING: Updated
latte/latte
templating system to version^3.0
. remp/remp#1315- If you create your own presenters/templates, please see the migration guide at https://latte.nette.org/en/cookbook/migration-from-latte2.
- BREAKING: Updated
nette/mail
library to version^4.0
. remp/remp#1315- If you use it directly or extend our
SmtpMailer
, please review breaking changes from https://github.com/nette/mail/releases/tag/v4.0.0.
- If you use it directly or extend our
- IMPORTANT: Updated Nette's underlying libraries to version
^4.0
(nette/robot-loader
,nette/utils
). remp/remp#1315 - IMPORTANT: Updated
mailgun/mailgun-php
to version^4.0
. remp/remp#1315 - Fixed possible render time / memory issues on job detail belonging to newsletter list with lots of emails.
- Changed generator rule for
<em>
HTML tag - removed new line. remp/crm#3012 - Changed command order in
update-dev
andupdate-prod
make targets to clear cache before running other command. remp/remp#1317
[Sso]
- Added
--force
parameter to migration inupdate-prod
make target. remp/remp#1317
3.4.0
Project
- Fixed possible redirect issue after login causing HTTP 404 after successful login. remp/remp#1235
[Campaign]
We want to thank @pulzarraider for the optimization-related contributions.
- Fixed search by name on snippets listing. remp/remp#1303
- Added snippet search to the universal search bar. remp/remp#1303
- Fixed Campaign's
showtime.php
crashing if there are no active campaigns. - Added campaign collections. remp/remp#1286
- Added
ONE_TIME_BANNER_ENABLED
env variable to disable fetching data for one time banners. - Added
REDIS_PERSISTENT
env variable to enable presistent redis connection. - Added showtime optimizations for better performance.
- Fixed routes same name conflict.
- Added support for Redis PHP extension.
- Added
REDIS_PARAMETER_LIMIT
env variable to avoid errors when calling Redis functions with large arrays. remp/remp#1307 - Added index to
created_at
andupdated_at
campaign columns. remp/remp#1286 - Fixed sorting campaigns by
is active
column. remp/helpdesk#2231
[Mailer]
- BREAKING: Removed
EnvironmentConfig::setParam()
andEnvironmentConfig::getParam()
methods. remp/remp#1299- Use of these could lead to circular dependency issues if values were read by environment config itself.
- We recommend the extraction of these values to their separate config classes.
- Fixed circular dependency issue with configs using environment variables. remp/remp#1299
- Added new parameter
start_at
intov1/mailer/jobs
andv2/mailer/jobs
to allow schedule the start of sending. remp/respekt#19 - Added
BeforeUsersDeleteEvent
andUsersDeletedEvent
events to emit before and after users are deleted. remp/remp#1301
[Sso]
- Fixed scenario when invalidated token was allowed to be refreshed just to be evaluated as invalid again.
- Fixed blacklist-related exception if token was blacklisted but the blacklist was not enabled.