Release v0.9.0

Dittofeed v0.9.0: Resend Support, Dashboard UX, Worker Stability

Hi all, release v0.9.0 comes with a grab bag of awesome features, improvements, and fixes. This release includes Resend support, as well as some major improvements to dittofeed-dashboard's UX, and to the stability and observability of the dittofeed-worker!

It also brings with it a number of new contributors. A big welcome and thank you to:

We also wrote a post on about our experience optimizing user segmentation in ClickHouse, and would love it if you gave it a read!

Release Details

New: Resend Support

Resend is one the most popular, and fastest growing email service providers. Dittofeed now supports Resend for sending emails.

Shout out to neo773 for contributing this significant feature!

New: Switch Workspaces

We've now provided the ability to easily switch between workspaces. This is an impactful feature which makes it convenient to maintain multiple workspaces for different environments e.g. staging vs production.

New: User Delete Button

We've now added a delete button to the /dashboard/users/[id] page, providing a more convenient way to delete users while testing.

Thanks to mehulmathur16 for this feature!

New: Example User Property Values

You can now configure "example" user properties from the /dashboard/user-properties/[id]  page. The values then provide default mock values when rendering templates in the template editor. This is particularly useful when rendering complex user properties such as arrays of objects.

New: Default "From" Email

We now allow users to configure a default "from" value for email templates, used on creation of the template. This is configured in Dittofeed's email settings /dashboard/settings#email-channel.

Thanks to tobihans for this feature!

Improved: Delete Confirmation Dialogues

We now display confirmation dialogues before allowing workspace members to delete resources including:

  • Templates
  • Journeys
  • Segments
  • Subscription Groups

Thanks to Dhanus3133 for this improvement!

New: Display Workspace Id in Settings

Every workspace has a "workspace Id". It's useful to know this is for debugging purposes, especially for self-hosting users. This is now exposed in the dashboard settings, for convenient access. /dashboard/settings#workspace-metadata

Improved: Hide Internal User Properties

Dittofeed has a concept of "Internal" resources, including internal user properties. Internal resources are created programmatically, rather than configured explicitly by workspace members.

Internal user properties had previously been exposed from the  /dashboard/users/[id] page, and are now hidden.

Improved: Worker Stability

Several key changes were made to improve the stability of Dittofeed's worker.

  • The workflowTaskTimeout was increased for the computed properties workflow responsible for re-computing segments and user properties. Occasionally, this timeout would be hit during deployments.
  • Reduce the total lifespan of the computed properties workflow from ~24 hours to ~2 hours.  These workflows would reach temporals max history length, causing them to fail, which this change addresses.
  • A number of additional custom spans and metrics for observing the performance and stability of the worker.

Fix: Validate Segment JSON Paths

Segments that used JSON path syntax, like trait segments, didn't handle incorrectly specified paths. Now, segments using incorrect paths are skipped, allowing the remaining segments and user properties to be computed as normal.

Upgrading Self-Hosted to v0.10.0

If you're self-hosting v0.9.0 and want to upgrade to v0.10.0 you can use our upgrade guide.

Wrap Up

This is a big release with a lot of new stuff for Dittofeed, which introduced a bunch of new contributors. Until next time.

Last post
Next post