Versions and compatibility
Compatibility
In short, almost everything is compatible with almost everything. We rarely change the core protocols that various components use to communicate.
You might encounter specific restrictions when following the documentation, for example, some of our data models might call for a reasonably recent version of the warehouse loader.
When in doubt, feel free to start a thread on Discourse.
Upgrades and deprecation
If you are using Snowplow BDP, you don’t need to deal with upgrading your pipeline, as we perform upgrades for you.
Some major upgrades might have breaking changes. In this case, we provide upgrade guides, such as the ones for RDB Loader.
From time to time, we develop better applications for certain tasks and deprecate the old ones. Deprecations are announced on Discourse.
We still keep the documentation for legacy applications for reference, along with guidance on what they have been replaced with.
Latest versions
Core pipeline
If you are using Snowplow BDP, you don’t need to install any of the core pipeline components yourself. We deploy your pipeline and keep it up to date.
- AWS
- GCP
- Azure
Component | Latest version |
---|---|
Stream Collector | 3.2.1 |
Enrich | 5.1.2 |
RDB Loader (Redshift, Snowflake, Databricks) | 6.1.2 |
Lake Loader | 0.5.0 |
Snowflake Streaming Loader | 0.3.0 |
S3 Loader | 2.2.9 |
Snowbridge | 2.4.2 |
Elasticsearch Loader | 2.1.2 |
Postgres Loader | 0.3.3 |
Dataflow Runner | 0.7.5 |
Component | Latest version |
---|---|
Stream Collector | 3.2.1 |
Enrich | 5.1.2 |
RDB Loader (Snowflake, Databricks) | 6.1.2 |
BigQuery Loader | 1.7.1 |
Lake Loader | 0.5.0 |
Snowflake Streaming Loader | 0.3.0 |
GCS Loader | 0.5.6 |
Snowbridge | 2.4.2 |
Lake Loader | 0.5.0 |
Postgres Loader | 0.3.3 |
Component | Latest version |
---|---|
Stream Collector | 3.2.1 |
Enrich | 5.1.2 |
RDB Loader (Snowflake) | 6.1.2 |
Lake Loader | 0.5.0 |
Snowflake Streaming Loader | 0.3.0 |
Iglu (schema registry)
If you are using Snowplow BDP, you don’t need to install Iglu Server yourself. It’s also unlikely that you need to use any of the other components in this section. You can manage your data structures in the UI or via the API.
Component | Latest version |
---|---|
Iglu Server | 0.12.0 |
igluctl utility | 0.13.0 |
Iglu Scala client | 2.2.1 |
Iglu Ruby client | 0.2.0 |
Iglu Objective-C client | 0.1.1 |
Trackers
Tracker | Latest version |
---|---|
JavaScript (Web and Node.js) | 4.1.0 |
iOS | 6.0.8 |
Android | 6.0.6 |
React Native | 2.1.1 |
Flutter | 0.7.1 |
WebView | 0.2.1 |
Roku | 0.2.0 |
Google AMP | 1.1.0 |
Pixel | 0.3.0 |
Golang | 3.1.0 |
.NET | 1.3.0 |
Java | 2.1.0 |
Python | 1.0.3 |
Scala | 2.0.0 |
Ruby | 0.8.0 |
Rust | 0.2.0 |
PHP | 0.8.0 |
C++ | 2.0.0 |
Unity | 0.8.1 |
Lua | 0.2.0 |
Data Models
dbt
Modeling data with dbt is our recommended approach.
- Snowplow Unified Digital
- Snowplow Media Player
- Snowplow Normalize
- Snowplow E-commerce
- Snowplow Attribution
snowplow-unified version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres | Spark |
---|---|---|---|---|---|---|---|
0.5.0 | >=1.6.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
0.4.5 | >=1.6.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
snowplow-media-player version | snowplow-web version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres | Spark |
---|---|---|---|---|---|---|---|---|
0.9.2 | N/A | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
0.8.0 | N/A | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
0.5.3 | >=0.14.0 to <0.16.0 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
0.4.2 | >=0.13.0 to <0.14.0 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
0.4.1 | >=0.12.0 to <0.13.0 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
0.3.4 | >=0.9.0 to <0.12.0 | >=1.0.0 to <1.3.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
0.1.0 | >=0.6.0 to <0.7.0 | >=0.20.0 to <1.1.0 | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ |
snowplow-normalize version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres | Spark |
---|---|---|---|---|---|---|---|
0.4.0 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ |
0.3.5 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
0.2.3 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
0.1.0 | >=1.0.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
snowplow-ecommerce version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres | Spark |
---|---|---|---|---|---|---|---|
0.9.0 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ⚠️ | ✅ |
0.8.2 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ⚠️ | ❌ |
0.3.0 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
0.2.1 | >=1.0.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
Postgres is technically supported in the models within the package, however one of the contexts’ names is too long to be loaded via the Postgres Loader.
snowplow-attribution version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres | Spark |
---|---|---|---|---|---|---|---|
0.4.0 | >=1.6.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
0.3.0 | >=1.6.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
See also the dbt version compatibility checker.
SQL Runner
We recommend using the dbt models above, as they are more actively developed.
The latest version of SQL Runner itself is 0.10.1.
Model | Redshift | BigQuery | Snowflake |
---|---|---|---|
Web | 1.3.1 | 1.0.4 | 1.0.2 |
Mobile | 1.1.0 | 1.1.0 | 1.1.0 |
Testing and debugging
If you are using Snowplow BDP, you don’t need to install Snowplow Mini yourself. We (optionally) deploy it and keep it up to date for you.
Application | Latest version |
---|---|
Snowplow Micro | 2.1.2 |
Snowplow Mini | 0.21.0 |
Analytics SDKs
SDK | Latest version |
---|---|
Scala | 3.0.0 |
Javascript | 0.3.1 |
Python | 0.2.3 |
.NET | 0.2.1 |
Go | 0.3.0 |