Releases: snowplow/dbt-snowplow-web
snowplow-web v1.0.1
Summary
This version aligns the full refresh protection on manifest tables with other packages, requiring both snowplow__allow_refresh
to be true
and a --full-refresh
flag.
Features
- Require full refresh flag to refresh manifest tables
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v1.0.0
Summary
This version marks a major milestone as we move the package into a 1.0.0 release. The release itself only makes a few fixes for some issues, but this state marks the package as stable and production ready. This package will only receive critical bug fixes going forward as we invest our effort in new packages and projects.
Breaking changes
- We now require a dbt version >=1.6.0 to run this package
Fixes
- Set default variables for contexts (Close #54)
- Replace old macro in custom example (Close #236)
- Remove full version number for core web vitals from bigquery (Close #235)
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v0.16.2
Summary
This version fixes an incorrect default value for the snowplow__cwv_context
variable for Redshift/Postgres users. There is no action needed from any users on this change.
Fixes
- Fix incorrect default table name for core web vitals on redshift
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v0.16.1
Summary
This version fixes an issue where the app_id filter was being ignored in the new models.
Fixes
- Correctly process app id filter
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v0.16.0
Summary
This version adds a load of new features, powered by a complete refactor of the core processing of the package by moving it out to the new base
macro functionality provided in snowplow_utils
. This enables users to now specify custom fields for sessionization and user identification, to add custom entities/SDEs fields to the base events table for redshift/postgres, and to add passthrough fields to the derived tables so you can now more easily add your own fields to our tables. In addition we've increased the flexibility of how you apply user stitching, and made it available on the page views table!
From this release onwards, the package is being released under the Snowplow Community License, Version 1.0. If you are uncertain how it applies to your use case, check our answers to frequently asked questions.
🚨 Breaking Changes 🚨
- Bumped required dbt version to 1.5.0
- Added new fields (
original_domain_sessionid
andoriginal_domain_userid
) to all tables to support custom identifiers - Bumped snowplow_utils required version to 0.15.0
- Altered entity/self-describing table variables to only be table names, instead of source strings
- Renamed columns in quarantined sessions and sessions lifecycle manifest table (please run the ALTER TABLE statements in the migration guide or do a full-refresh)
- Seeds have been renamed to be prefixed with
snowplow_web_*
to align with the rest of the package, and now you can use your own seed files or tables in their place (see the package config)
Features
- Migrate base models to the new
base
macros for flexibility and consistency - Add ability to add custom entity/self-describing event columns to the
base_events_this_run
table for Redshift/Postgres - Add ability to use a custom session identifier and user identifier
- Add new fields
original_domain_sessionid
andoriginal_domain_userid
to derived tables (where applicable) - Add ability to pass fields through to derived page views, sessions, and user tables
- Add option to choose the logged
user_id
field that session stitching uses - Add ability to run user stitching on the derived page views table
Under the hood
- Aligned variables to follow the public docs
- Contexts are now joined and de-duped via a macro for Postgres/Redshift
- But filtering is now case insensitive
Upgrading
Bump the snowplow-web version in your packages.yml
file and follow all the other steps in our migration guide.
snowplow-web v0.16.0-rc1
Summary
This release candidate adds a load of new features, powered by a complete refactor of the core processing of the package by moving it out to the new base
macro functionality provided in snowplow_utils
. This enables users to now specify custom fields for sessionization and user identification, to add custom entities/SDEs fields to the base events table for redshift/postgres, and to add passthrough fields to the derived tables so you can now more easily add your own fields to our tables. In addition we've increased the flexibility of how you apply user stitching, and made it available on the page views table!
As always with a release candidate please feedback any issues you find, either via Github or Discourse, and the new docs for this version of the package are available at a temporary preview docs site before they are deployed to the main site when the full version of the package is released.
From this release onwards, the package is being released under the Snowplow Community License, Version 1.0. If you are uncertain how it applies to your use case, check our answers to frequently asked questions.
🚨 Breaking Changes 🚨
- Bumped required dbt version to 1.5.0
- Added new fields (
original_domain_sessionid
andoriginal_domain_userid
) to all tables to support custom identifiers - Bumped snowplow_utils required version to 0.15.0
- Altered entity/self-describing table variables to only be table names, instead of source strings
- Renamed columns in quarantined sessions and sessions lifecycle manifest table (please run the ALTER TABLE statements in the migration guide or do a full-refresh)
- Seeds have been renamed to be prefixed with
snowplow_web_*
to align with the rest of the package, and now you can use your own seed files or tables in their place (see the package config)
Features
- Migrate base models to the new
base
macros for flexibility and consistency - Add ability to add custom entity/self-describing event columns to the
base_events_this_run
table for Redshift/Postgres - Add ability to use a custom session identifier and user identifier
- Add new fields
original_domain_sessionid
andoriginal_domain_userid
to derived tables (where applicable) - Add ability to pass fields through to derived page views, sessions, and user tables
- Add option to choose the logged
user_id
field that session stitching uses - Add ability to run user stitching on the derived page views table
Under the hood
- Aligned variables to follow the public docs
- Contexts are now joined and de-duped via a macro for Postgres/Redshift
Upgrading
Bump the snowplow-web version in your packages.yml
file and follow all the other steps in our migration guide.
snowplow-web v0.15.2
Summary
This version fixes a rare bug in the event of null values on specific fields used by the Core Web Vitals optional module.
Fixes
- Prevent duplicates in web vital measurements (Close #215)
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v0.15.1
Summary
This version brings Redshift/Postgres support for the optional Core Web Vitals module, adds the default channel group
field to the derived page_views table, contains a fix for Redshift users based on a default column size, another for Core Web Vital users and also adds the package name to the run limits log. Note the snowplow_utils
minimum version has now increased to 0.14.3.
Features
- Add Redshift/Postgres support for Core Web Vitals
- Add default channel group to page views (Close #211)
- Added package name to run limits log message
- Handle unexpected high web vital values (Close #208)
Fixes
- Fix issue with new runs of Redshift due to default column size.
🚨 Breaking Changes 🚨
Existing Core Web Vital optional module users on Snowflake and Databricks will need to make changes to one of their derived tables. For a full sql script on how to achieve this, check out the relevant migration guide The other option is to do a complete refresh of the package.
Upgrading
Bump the snowplow-web version in your packages.yml
file.
snowplow-web v0.15.0
Summary
The main change in this version is the addition of many new fields to the derived tables (sessions
, pageviews
, users
), including the ability to define your conversion events that are aggregated per session. You can read more about it in our docs here! We also add the (optional) count of events per event type for each session, you can enable it by turning on the snowplow__list_event_counts
variable.
There is a new optional module called core web vitals
which will allow you to model raw events sent from the Snowplow Web Vitals plugin (@snowplow/browser-plugin-web-vitals) of the JavaScript tracker to measure and evaluate the speed, responsiveness, and visual stability of websites.
This version also moves the iab, ua, and yauaa contexts into the base events this run table for Postgres/Redshift, completing the work to decouple our sessions models from the page view models for all warehouses.
🚨 Breaking Changes 🚨
Please note that we have added a variable, snowplow__enable_consent
to enable the models in the consent module. Please make sure you set this variable to true in your dbt_project.yml file to be able to run them:
# dbt_project.yml
vars:
snowplow_web:
snowplow__enable_consent: true
While not breaking in that your models should all still run, there are many new columns in the sessions, pageviews and users tables that will be automatically added to your derived tables, which may have unintended consequences with existing queries or BI tools that use column position (although dbt usually appends these columns to the end). New columns will only be populated from new runs onwards, if you wish to populate them for older records you will need to do a full refresh.
Features
- Move contexts into base table for redshift (Close #185)
- Add support for user-defined conversion aggregation to sessions
- Add new fields to the sessions table including enhanced and last geo data, default channel group, marketing source platform, event count, and optional count by event_name
- Add new fields to the users table relating to the latest event geo and browser information
- Add core web vitals module
Under the hood
- Optimizes a filter in the
snowplow_web_user_sessions_this_run
model (Close #186) - Ensure deterministic modeling when two genuine events occur at the same time in a session (Close #178)
Docs
- Remove docs that are no longer necessary
Upgrading
Bump the snowplow-web version in your packages.yml
file.
Some of the tables are relying now on seeds that have just been introduced with this version (dim_ga4_source_categories
, dim_geo_country_mapping
,dim_rfc_5646_language_mapping
). Please run dbt seed --select snowplow_web --full-refresh
on your first run.
snowplow-web v0.14.1
Summary
This version fixes an issue for new runs of the package on redshift where empty text field sizes were set to a length of 1.
Fixes
- Fixes error with new install on redshift for character varying field sizes.
Upgrading
To upgrade bump the snowplow-web version in your packages.yml
file.