Releases: remp2020/remp
0.23.0
Project
- Fixed possible UI flaws caused by select pickers overflowing if the content is too wide. remp/remp#781
[Beam]
- BREAKING: Environment variable
QUEUE_DRIVER
changed toQUEUE_CONNECTION
, please update your.env
file accordingly. remp/remp#491 - Upgraded Laravel version to 5.8. remp/remp#491
- Fixed possibility of missing data in the Segments API unique count aggregation if the aggregation was not fully resolved - if one of the groupped fields was not set in the raw data. remp/remp#902
- Fixed missing
Access-Control-Allow-Headers
header in preflight request causing IOTA loading issues. remp/remp#905 - Added option to specify
tags
parameter in/api/articles/top
and/api/authors/top
API endpoints vianame
orexternal_id
parameters. remp/remp#897 - Added
TagCategory
to categorizeTags
. Added support forTagCategories
to/api/v2/articles/upsert
API. remp/remp#898
[Campaign]
- BREAKING: Environment variable QUEUE_DRIVER changed to QUEUE_CONNECTION, please update your .env file accordingly. remp/remp#491
- Upgraded Laravel version to 5.8. remp/remp#491
[Mailer]
- Fixed incorrect
updated_at
setting when subscribing user to the newsletter and updating newsletter. remp/remp#896 - Added
page_url
toListForm
to set frontend URL where information about newsletter (with past editions) is available. remp/remp#882 - Added separate configuration for tests, so we can guarantee tests reproducibility. remp/remp#890
- Added
context
andmail_type_variant_id
parameters toMailJobCreateApiHandler
. remp/remp#890 - Added API endpoint
/api/v1/mailers/mail-type-variants
to create new mail type variants. See README.md for more details. remp/remp#890 - Fixed "copy" feature of mail templates broken since internal changes in
0.20.0
. remp/crm#1889 - Changed type of
payload
column inhermes_tasks
error logging table tomediumtext
to avoid issues with trimmed payloads in case the hermes message was bigger. remp/crm#1891
[Sso]
- BREAKING: Environment variable QUEUE_DRIVER changed to QUEUE_CONNECTION, please update your .env file accordingly. remp/remp#491
- Upgraded Laravel version to 5.8. remp/remp#491
0.22.0
Project
- BREAKING: Bumping minimal version of PHP to 7.4. Version is enforced by Composer and any older version is not allowed anymore. Please upgrade PHP accordingly.
[Beam]
- Added support for Sentry error logging. Airbrake is becoming obsolete and will be dropped in the future releases. remp/remp#888
[Campaign]
- Added support for Sentry error logging. Airbrake is becoming obsolete and will be dropped in the future releases. remp/remp#888
- Fixed segment caching if there's an issue with listing of segment. remp/remp#891
[Mailer]
- Added
email
parameter to templates. Previously it could have been available by returning it viaIUser
interface in jobs, from now it's available everywhere. remp/remp#880 - Fixed slow mailgun events hermes processing by adding missing
mail_sender_id
index. remp/remp#881 - Added attribute
autocomplete=off
tostart_at
input field inNewBatchForm
. remp/remp#854 - Added
save_start
submit button toNewBatchForm
to create new mail job batch and set its status toready
. remp/remp#855 - Changed
MailWorkerCommand
to cleanmail_job_queue
table after all batch mail jobs are done. This change should help with email sending issues caused by possible database deadlock. remp/remp#886
[Sso]
- Added support for Sentry error logging. Airbrake is becoming obsolete and will be dropped in the future releases. remp/remp#888
- Added documentation for
JWT_EMAIL_PATTERN_WHITELIST
variable, fixed how email is validated against listed domains. remp/remp#848
0.21.5
[Beam]
- Fixed pageviews and time spent stats in tags listing. remp/remp#776
[Mailer]
- Fixed unresolved
settings
andunsubscribe
template variables if system was configured to use Mailgun mailer with batch sending. Please be aware that there's still known issue that the links do not receive tracking (RTM) params if batch sending is used. remp/remp#879
0.21.4
0.21.3
0.21.2
[Beam]
- Fixed broken aggregaton of pageviews data which didn't correctly aggregate anonymous pageview and timespent counts/sums. remp/remp#869
- Based on your current data retention setup, it's recommended to reaggregate the data after you release the segments API fix (replace 1000 with the actual number of hours you want to reaggregate):
for i in {0..1000} ; do php artisan pageviews:aggregate-load --now="$i hours ago" ; done for i in {0..1000} ; do php artisan pageviews:aggregate-timespent --now="$i hours ago" ; done
- Based on your current data retention setup, it's recommended to reaggregate the data after you release the segments API fix (replace 1000 with the actual number of hours you want to reaggregate):
[Mailer]
- Changed
MissingConfiguration
component to check configurations of all mailers used as sending mailers in newsletter lists besides default mailer. remp/remp#858 - Fixed Bearer authorization in
/api/v1/users/logs
and/api/v1/users/logs-count-per-status
API calls. remp/remp#865 - Added support for checkbox in the settings page. remp/crm#1624
- Fixed Mailer forms - all fields are required and couldn't be changed. remp/remp#837
- Added UrlParserGenerator requires articles urls to be filled. remp/remp#837
- Fixed incompatible types warning in
ConfigsRepository
. remp/remp#874
0.21.1
0.21.0
[Campaign]
- Fixed adding of new variant to the existing campaign. remp/remp#860
[Mailer]
- Added support for multiple mailers of the same class. Added optional
code
parameter toMailer
constructor to set unique code for mailer and differentiate between mailers of the same type. remp/remp#828 - Added
code
option toMailgunEventsCommand
to set up command for specific Mailgun mailer. remp/remp#828 - Fixed validation of mail generator API. remp/remp#866
0.20.0
Project
- BREAKING: All applications now require Node 12+. Please schedule update of Node accordingly.
- Updated docker image of Telegraf to the currently latest 1.17.3.
- Fixed occasional very slow initialization of grid filters causing whole grids to load slowly (tens of seconds).
[Beam]
- Added new function remplib.tracker.setArticle to allow setting article information to REMP JS tracking script after the script was already initialized. remp/crm#1635
- Added new optional parameter
includeStorageParams
for internal functionaddSystemUserParams
to allowtrackCheckout
function gets stored tracking parameters. remp/crm#1617 - [Tracker] Fixed possible overwrite of category when tracking pageview and event APIs with
category
key in tracked tags. - Added statistics and detail page for sections and tags. remp/remp#776
- Fixed remplib initialization flow - there was a window where remplib wasn't yet initialized but public functions would be callable. These calls would cause errors. remp/remp#856
[Campaign]
- Fixed bug for some banner templates if the saved text was too long. remp/remp#819
- Fixed text warning in campaign form segments list. remp/remp#584
- Added emitting of
remp:showtimeReady
JS event when all banners from showtime were processed. Event can be used when you want to run your implementation after the showtime asynchronous execution. remp/web#1393 - Fixed missing click tracking in OverlayTwoButtonSignature banner preview template. remp/remp#797
- Fixed broken control group tracking when showtime experiment (fast implementation) is used.
- Fixed missing campaign_id in banners created by CampaignSeeder. remp/remp#838
[Mailer]
- BREAKING: Updated underlying Nette framework to the latest version (3.1).
- Update Composer to version 2.
- In
app/config/config.local.neon
replaceclass
keyword withfactory
. - If you implemented your own mailers:
- Interface
Nette\Mail\IMailer
should be replaced in favor ofNette\Mail\Mailer
.
- Interface
- If you implemented your own authenticators:
- Interface
Nette\Security\IAuthenticator
should be replaced in favor ofNette\Security\Authenticator
. - Interface
Nette\Http\UserStorage
should be replaced in favor ofNette\Bridges\SecurityHttp\SessionStorage
. - Interface
Nette\Security\Identity
should be replaced in favor ofNette\Security\SimpleIdentity
.
- Interface
- If you implemented your own API handlers:
-
API handler registration method (the one called in the config) changed from
addApiHandler
toaddApi
-
API handler parameter definition changed. If you implement your own handlers, change the definition based on the following examples:
[ new InputParam(InputParam::TYPE_POST, 'name', InputParam::REQUIRED), new InputParam(InputParam::TYPE_GET, 'mail_type_codes', InputParam::OPTIONAL, null, true), new InputParam(InputParam::TYPE_POST_RAW, 'raw'), ];
[ (new PostInputParam('name'))->setRequired(), (new GetInputParam('mail_type_codes'))->setMulti(), new RawInputParam('raw'), ];
-
API handle
handle
method signature changed tohandle(array $params): ResponseInterface
.
-
- Configuration of form control html attributes changed from
setAttribute
tosetHtmlAttribute
.
- Added new
codes
parameter toGET /api/v1/mailers/templates
API endpoint. Parameter is used to list email templates for given mail_template codes. remp/remp#814 - Added
click_tracking
parameter toPOST /api/v1/mailers/templates
to define whether click tracking should be enabled/disabled/use default for created template. remp/remp#824 - Added snippets which are independent part of emails that can be included across all templates, layouts and other snippets. remp/remp#550
- Fixed email conversion matching and processing. Bug was introduced in
0.17.0
and caused no conversions to be matched with the emails. remp/remp#834 - Added support for textarea in the settings page. remp/crm#1624.
- Changed dashboard subscribers count chart readability. Instead of absolute counts the chart now displays gain/loses of subscribers compared to 30 days ago. remp/remp#701
- Changed list detail subscribers count chart readability. Instead of absolute counts the chart now displays gain/loses of subscribers compared to 30 days ago. remp/remp#701
- Added
mail_type
to snippets to define snippets with samecode
for different mail types. When rendering mail template that includes snippet, first it tries to match snippet with mail type of given template. If there is not specified snippet with mail type then it uses general snippet with no mail type included. remp/remp#816
0.19.0
Important
We have identified possibly incorrectly stored values in timestamp
columns of Beam/Campaign/SSO applications.
This issue could have occurred if your database time_zone was not set to the UTC and used any other local timezone. All features worked correctly, but the underlying date was not stored correctly and issues could have emerged later.
If you're not sure if your database is in UTC, follow these steps to verify and fix the issue. Otherwise you could see incorrect dates in the app after the update to this version.
-
Check whether your database is configured in UTC. Please run following query in Beam:
select published_at, convert_tz(published_at, '+00:00', @@session.time_zone) from articles order by published_at desc limit 1;
The result will look like this:
+---------------------+---------------------------------------------------------+ | published_at | convert_tz(published_at, '+00:00', @@session.time_zone) | +---------------------+---------------------------------------------------------+ | 2021-01-25 14:01:04 | 2021-01-25 15:01:04 |
-
If the two dates are the same, your DB uses UTC and you're fine. Otherwise, proceed to this tutorial: https://gist.github.com/rootpd/c5e04612e47c80a10635a0477a4afa8e.
[Beam]
- Added option to filter top articles and top tags by author. remp/remp#803
- [Segments]: Improved live caching of segments, avoiding queries that are not necessary to execute.
- [Segments]: Explicitly closing open Elastic scrolls once we don't need them anymore, since they're expensive to maintain for Elastic.
- Added explicit DB connection time zone to enforce UTC communication between application and database. remp/remp#809
- Added command for processing of conversion sources that runs in batch mode or for specific conversion (
php artisan conversions:process-sources [--conversion_id]
). remp/remp#464- Added new
conversion_sources
table. remp/remp#464 - Processing of conversion sources is also invoked in conversion upsert endpoint right after aggregation of conversion events. remp/remp#464
- Added new
- Calling of conversion events aggregation has been moved into separate job class. Another job class has been created for conversion sources command as well. remp/remp#464
- Added new columns in
articles.show
view into referer stats section -first conversion source count
andlast conversion source count
. remp/remp#464 - [Segments]: Added new referer-based fields to the API responses (see Swagger for additional information):
derived_referer_host_with_path
derived_referer_medium
derived_referer_source
[Campaign]
- Fixed possible issue with campaign stats A/B test evaluation if variant had 100% conversion rate.
- Added explicit DB connection time zone to enforce UTC communication between application and database. remp/remp#809
[Mailer]
- BREAKING: Service
hermesRestart
was renamed tohermesShutdown
to correctly indicate its behavior.- If you used it in your configuration, please replace the usage of
hermesRestart
tohermesShutdown
. - Replace the use of
Tomaj\Hermes\Restart\RedisRestart
toTomaj\Hermes\Shutdown\RedisShutdown
. - Replace the use of
Tomaj\Hermes\Restart\SharedFileRestart
toTomaj\Hermes\Shutdown\SharedFileShutdown
.
- If you used it in your configuration, please replace the usage of
- Added support for custom Message-ID headers in Mailer in Mailgun implementation. Mailgun reused same Message-ID for all emails within one batch which could cause unexpected behavior. remp/remp#801
- Fixed type-related issue with Mailgun event daemon processor which caused synchronization not to work.
- Added support for Hermes message priorities. See
app/config/config.local.neon.example
for example use of registering multiple priority queues for Hermes. - Fixed injection of
UNSUBSCRIBE_URL
environment variable into the email parameters. Sender was injecting only name of the newsletter list instead of the wholeUNSUBSCRIBE_URL
with%type%
replaced with the actual newsletter list code. #87 - Added option to configure which mailer to use for each mail type (list) separately. remp/remp#793
[Sso]
- Models from
\App
namespace moved toApp\Models
(compatibility with current Laravel conventions). - Added explicit DB connection time zone to enforce UTC communication between application and database. remp/remp#809