Skip to content

0.19.0

Compare
Choose a tag to compare
@rootpd rootpd released this 16 Feb 11:44
· 1219 commits to master since this release
c8fe967

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.

  1. 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                                     |
    
  2. 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
  • 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 and last 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 to hermesShutdown to correctly indicate its behavior.
    • If you used it in your configuration, please replace the usage of hermesRestart to hermesShutdown.
    • Replace the use of Tomaj\Hermes\Restart\RedisRestart to Tomaj\Hermes\Shutdown\RedisShutdown.
    • Replace the use of Tomaj\Hermes\Restart\SharedFileRestart to Tomaj\Hermes\Shutdown\SharedFileShutdown.
  • 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 whole UNSUBSCRIBE_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 to App\Models (compatibility with current Laravel conventions).
  • Added explicit DB connection time zone to enforce UTC communication between application and database. remp/remp#809