Enrich 3.2.5 released

We are pleased to announce the release of version 3.2.5 of Snowplow’s Enrich

Mailgun webhook support has been updated to work with Mailgun’s new API #665

When we first added support for Mailgun webhooks, Mailgun was sending data as application/x-www-form-urlencoded or multipart/form-data. See this post from when Mailgun introduced support for webhooks.

Now, Mailgun sends data as application/json, specified here, so now our Mailgun adaptor has been updated to work with Mailgun’s new API.

HTTP requests now explicitly set an Accept header #667

When we need to send HTTP requests, e.g. support Custom API Request Enrichments, we now explicitly set a header Accept: */*.

Before this release, depending on the circumstances, we either sent Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 or no Accept header at all, both of which could confuse certain HTTP servers.

Note that we still expect responses to be valid JSON, but we chose to send Accept: */* at this point, as we would prefer that any errors that might result to be found in bad rows.

If you have a Custom API Request Enrichment configured, requests coming through to the API in your Custom API Request Enrichment configuration will now include this header.

Support for disabling the Custom API enrichment cache #670

A Snowplow enrichment can run many million times per hour, so we when you configure a Custom API Request Enrichment we typically expect you’d want to take advantage of caching.

However, we do recognise that in some cases you may have a specific reason for disabling the Custom API Request Enrichment’s cache, for example:

  • When serving stale data is to be avoided at all costs, and you can both plan for the extra traffic to your preferred API and accept that your pipeline will not benefit from the efficiency caching could provide.
  • When you know that API requests won’t be repeated, and thus that cached responses won’t be used. For example, if you are doing unique lookups, e.g. by telephone numbers.

If you have such a use case, it is now possible to disable the Custom API Request Enrichment cache. This can be done by using schema version 1-0-1 for your Custom API Request Enrichment configuration and setting cache size to 0.

Upgrading to 3.2.5

If you are already running a recent version of Enrich, then upgrading is as easy as pulling the newer version of the docker image:

docker pull snowplow/snowplow-enrich-pubsub:3.2.5
docker pull snowplow/snowplow-enrich-kinesis:3.2.5
docker pull snowplow/stream-enrich-kafka:3.2.5
Check out the Enrich documentation for the full guide on running and configuring the apps.