Skip to content

snowplow-unified v0.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 26 Feb 11:11
· 38 commits to main since this release

Summary

This release adds one major new feature, which is custom aggregations on the views, sessions, and users tables. You can read more about it in our docs here. We also added the ability to manage grants to all tables in the package via the snowplow__grant_select_to variable.

Under the hood we did a lot of small tweaks and improvements including prefixing all macro calls for easier custom models, moved cluster by fields to macros, ensure that the manifest tables are only full refreshed when snowplow__allow_refresh is set to true AND there is a full refresh flag on the run, and added a few context fields to the derived tables that were being discarded previously.

🚨 Breaking Changes 🚨

  • We have changed the behavior of the allow_refresh macro so now if snowplow__allow_refresh is set to true it will only refresh the manifest models if the --full-refresh flag is also set. If you require the old behavior where it would refresh the manifest models on an incremental run when snowplow__allow_refresh was set to true, please overwrite this macro. See the Overriding Macros guide for more details.
  • Renamed snowplow__page_view_passthroughs to snowplow__view_passthroughs to be consistent with the rest of the package
  • Minimum snowplow-utils version is now 0.16.2

Features

  • Add new passthrough aggregations to the views, sessions, and users table, enabled using snowplow__view/session/user_aggregations
  • Reorder and add some additional context fields to derived tables (non-breaking change)
  • Add snowplow__custom_sql to allow adding custom sql to the snowplow_unified_base_events_this_run and snowplow_unified_events_this_run models
  • Add macro to define cluster-by for tables to allow users to overwrite this if required
  • Add check for --full-refresh flag before allowing refresh of manifest models when snowplow__allow_refresh is set to true.
  • Add ability to grant select to a list of users, principals or roles on tables created by the package using snowplow__grant_select_to for all warehouses except BigQuery
  • Add auto-grant of usage on schemas to snowplow__grant_select_to, can be disabled using snowplow__grant_schema_usage (see docs at https://docs.snowplow.io/docs/modeling-your-data/modeling-your-data-with-dbt/package-features/table-grants/)

Fixes

  • Fix a bug where if you ran the package in a period with no data, and had list all events enabled, the package would error rather than complete
  • Fix incorrect tagging in app errors module tables

Under the hood

  • Prefix all macro calls with package name for easier customization
  • Use macros for grouped fields (e.g. contexts) where possible
  • Bump actions version numbers

Upgrading

Bump the snowplow-unified version in your packages.yml file, paying attention to the breaking changes above..