[Beam]
- BREAKING: Removed auto-enabling of AIRBRAKE error logging in case
AIRBRAKE_ENABLED is missing. remp/remp#994
- remplib.js - added option to track article’s
contentType when tracking pageviews. remp/remp#988
- Breaking: Derived parameter
is_article in Elastic storage is set to true only if value of contentType is set to 'article'. Previously, all tracked articles had is_article value set to true- this may affect Beam segments that worked with article: true rule or users processing is_article parameter in raw Elastic data.
- Refactored beam
CompressAggregations command to run in chunks because of colliding database transactions with AggregatePageviewLoadJob command, which caused deadlock. remp/remp#944
- Added
content_type filter to the api/articles/unread API to exclude unwanted content types. remp/remp#973
- Added support for remplib.js reinitialization, necessary for correct execution in single-page apps. See README for more information. remp/remp#968
- Fixed broken
ArticleSeeder and EntitySeeder.
- Fixed possibility of an error on the articles grids if filter matched too many articles. remp/remp#977
- Added
SameSite=Lax attribute to all cookies set by remplib.js. Missing attribute could possibly lead to issues on Safari, which doesn’t defaults to Lax like other browsers. remp/remp#957
- [Tracker] Added option to limit tracked time spent for one pageview. Set tracker’s ENV variable
TRACKER_TIMESPENT_LIMIT to desired pageview tracking threshold (in seconds). Helps to filter out tracking of articles opened for too long (forgotten browser window on different workspace/monitor acts as active in some browsers). remp/remp#242
- [Tracker] Added support for canonical URL tracking to complement full URL tracking. If it’s not found in the HTML, no canonical URL is stored and only regular URL is tracked. remp/remp#988
- Added tooltip to the user path chart. remp/remp#551
- Updated Docker Telegraf configuration to include
canonical_url in the concurrents data. This will be necessary in the future to correctly display non-article traffic on the main dashboard. remp/remp#472
- Changed output of
service:elastic-data-retention Beam command to correctly reflect if index was deleted or not. remp/remp#940
- [Segments] Fixed ignoring of segment’s
active flag in user/browser segment presence API check. remp/remp#1007
- The bug caused that it was possible to check presence of users/browsers in segments even if the segment was not active.
- Property filter now correctly filters all sections of Beam, not just the main dashboard data. remp/remp#987
[Campaign]
- BREAKING: Removed auto-enabling of AIRBRAKE error logging in case
AIRBRAKE_ENABLED is missing. remp/remp#994
- Fixed caching of Newsletter rectangle banner, which broke after the recent framework updates and caused configuration not to be available at the time of banner rendering. remp/remp#959
- Changed default stats view to include 30 days of data instead of 2 to allow bigger picture in campaign evaluation by default. remp/remp#969
- Added support for remplib.js reinitialization, necessary for correct execution in single-page apps. See README for more information. remp/remp#968
- Fixed unnecessary storing of empty URL/referer filters of “Where to display” section in campaign configuration. remp/remp#975
- Added
SameSite=Lax attribute to all cookies set by remplib.js. Missing attribute could possibly lead to issues on Safari, which doesn’t defaults to Lax like other browsers. remp/remp#957
- Added
rtmSource to campaign’s custom JS params, so clients can correctly track events without hardcoding the rtmSource to some arbitrary value.
- Added support for global campaign/banner variables. See README for more information. remp/remp#972
- Fixed missing
variables template param in BannerController->copy method. remp/remp#991
- Fixed inefficient querying of campaign active status on campaign listing. remp/remp#1000
- Added support for pageview attributes to showtime request and added ui for configuring pageview attributes to campaign form. See README for more information. remp/remp#986
- Added error logging from showtime experiment
showtime.php into laravel.log. remp/remp#994
- Added support for Sentry error logging from showtime experiment
showtime.php. remp/remp#994
[Mailer]
- BREAKING: Renamed
UrlParserGenerator to ArticleUrlParserGenerator. remp/remp#949
- Check your configuration if you are registering this generator.
- BREAKING: Finalized refactoring of
Remp\MailerModule\Repositories\IConversionsRepository interface, removed obsolete methods. remp/remp#907
- Methods
getBatchTemplatesConversions and getNonBatchTemplateConversions were removed, because they encouraged suboptimal (non-time-constrained) implementation.
- In your implementation replace them with newly added
getBatchTemplatesConversionsSince and getNonBatchTemplatesConversionsSince respectively.
- BREAKING: Removed public preview URL specified by template code. remp/remp#581
- IMPORTANT: The database migration can take up to 5-10 minutes, depending on the number of mail templates you currently have. Our testing migration with 100K templates took around 10 minutes.
- Use replacement public preview URL specified by random string (so it’s not guessable).
- If you need to obtain HTML of email via template code, you can use newly added
/api/v1/mailers/render-template API.
- Changed encoding of
mail_logs.subject column to uft8mb4_unicode_ci to match encoding of mail_templates.subject. remp/remp#984
- IMPORTANT: If you have more then 50M records in the
mail_logs table, the MailLogsSubjectEncoding migration can be time-consuming. Consider raising your deploy timeout limits or mark the migration as complete and run the queries manually. Our testing migration with ~20M records took 3 minutes.
- Added email generator
ShopUrlParserGenerator to get informations about products. remp/remp#949
- Fixed broken new email template page when no layout or newsletter list was defined.
- Added
SimpleAuthenticator, which keeps plain list of emails and passwords that are valid to log in. Mailer can use this authenticator (instead of e.g. Sso Authenticator) to make it work without an external authentication system.
- Added support for
ignore_content_types parameter in UnreadArticlesResolver used in generated/personalized e-mails. Parameter excludes articles of certain content types and avoids their use in generated e-mails. remp/remp#973
- Added public preview for emails (templates), accessible without authentication. Preview link is accessible in each email detail eg.: (http://mailer.remp.press/template/show/1). remp/remp#581
- Added API endpoint
/api/v1/mailers/render-template. Returns a rendered HTML email. remp/remp#581
- Added widget for
ArticleUrlParserGenerator. remp/remp#946
- Added demo user subscriptions in
demo:seed command.
- Added the check of cache to prevent display campaigns to users excluded from campaigns. remp/remp#833
- Fixed job unsubscribe stats inconsistency. remp/remp#993
- Job detail (left panel) could display unsubscribes for non-related newsletter lists unsubscribed along with the sent newsletter.
- Added
ApplicationStatus component, displaying online/offline status of Mailer workers. As follow up, MissingConfiguration component was removed and its functionality was merged into ApplicationStatus component. remp/remp#985