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 (Enterprise or Cloud), 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 (Enterprise or Cloud), 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
Component | Latest version |
---|---|
Stream Collector | 2.9.0 |
Enrich | 3.7.1 |
RDB Loader (Redshift, Snowflake, Databricks) | 5.4.1 |
S3 Loader | 2.2.7 |
Snowbridge | 2.0.3 |
Elasticsearch Loader | 2.0.9 |
Postgres Loader | 0.3.3 |
Dataflow Runner | 0.7.3 |
Component | Latest version |
---|---|
Stream Collector | 2.9.0 |
Enrich | 3.7.1 |
RDB Loader (Snowflake, Databricks) | 5.4.1 |
BigQuery Loader | 1.6.4 |
GCS Loader | 0.5.4 |
Snowbridge | 2.0.3 |
Postgres Loader | 0.3.3 |
Iglu (schema registry)
If you are using Snowplow BDP (Enterprise or Cloud), 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.9.1 |
igluctl utility | 0.10.2 |
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) | 3.8.0 |
iOS | 5.0.0 |
Android | 5.0.0 |
React Native | 1.4.0 |
Flutter | 0.3.0 |
WebView | 0.2.0 |
Roku | 0.2.0 |
Google AMP | 1.0.3 |
Pixel | 0.3.0 |
Golang | 3.0.0 |
.NET | 1.2.1 |
Java | 1.0.0 |
Python | 0.14.0 |
Scala | 2.0.0 |
Ruby | 0.8.0 |
Rust | 0.2.0 |
PHP | 0.6.1 |
C++ | 1.0.0 |
Unity | 0.7.0 |
Lua | 0.2.0 |
Data Models
dbt
Modeling data with dbt is our recommended approach.
- Snowplow Web
- Snowplow Mobile
- Snowplow Media Player
- Snowplow Normalize
- Snowplow E-commerce
- Snowplow Fractribution
From version v0.13.0 onwards you must be using RDB Loader v4.0.0 and above, or BigQuery Loader v1.0.0 and above. If you are not using these versions, or are using the Postgres loader, you will need to set snowplow__enable_load_tstamp
to false
in your dbt_project.yml
and will not be able to use the consent models.
snowplow-web version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres |
---|---|---|---|---|---|---|
0.14.0 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.13.3 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.11.0 | >=1.0.0 to <1.3.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.5.1 | >=0.20.0 to <1.0.0 | ✅ | ❌ | ✅ | ✅ | ✅ |
0.4.1 | >=0.18.0 to <0.20.0 | ✅ | ❌ | ✅ | ✅ | ❌ |
snowplow-mobile version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres |
---|---|---|---|---|---|---|
0.7.0 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.6.3 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.5.5 | >=1.0.0 to <1.3.0 | ✅ | ✅ | ✅ | ✅ | ✅ |
0.2.0 | >=0.20.0 to <1.0.0 | ✅ | ❌ | ✅ | ✅ | ✅ |
snowplow-media-player version | snowplow-web version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres |
---|---|---|---|---|---|---|---|
0.5.0 | >=0.14.0 to <0.15.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 |
---|---|---|---|---|---|---|
0.3.0 | >=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 |
---|---|---|---|---|---|---|
0.4.0 | >=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 | ✅ | ✅ | ❌ | ✅ | ❌ |
snowplow-fractribution version | dbt versions | BigQuery | Databricks | Redshift | Snowflake | Postgres |
---|---|---|---|---|---|---|
0.3.0 | >=1.4.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ |
0.2.0 | >=1.3.0 to <2.0.0 | ✅ | ✅ | ❌ | ✅ | ❌ |
0.1.0 | >=1.0.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 (Enterprise or Cloud), 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 | 1.6.0 |
Snowplow Mini | 0.15.1 |
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 |