Releases: fivetran/dbt_hubspot
Release list
v1.8.0 dbt_hubspot
PR #201 includes the following updates:
Under the Hood
- Migrates the
union_connections,apply_source_relation, andpartition_by_source_relationmacros to thedbt_fivetran_utilspackage. - Adds the
fivetran_using_source_casingvariable for case-sensitive destination support. When enabled, downstream transformations respect source casing to ensure consistent results. See the Additional Configurations section of the README for details.
Full Changelog: v1.7.2...v1.8.0
v1.7.2 dbt_hubspot
PR #198 includes the following update:
Schema/Data Change
1 total change • 0 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_hubspot__contact |
Changed field | merged_object_ids (string or integer) |
merged_object_ids (string) |
HubSpot can sync this field as an integer when no contacts have been merged. Casting to string prevents runtime errors in the downstream merge_contacts() macro where the split function requires a string. |
Full Changelog: v1.7.1...v1.7.2
v1.7.1 dbt_hubspot
PR #195 includes the following updates:
Feature Update
- Optimizes the
merge_contacts()macro for Databricks destinations.
Full Changelog: v1.7.0...v1.7.1
v1.7.0 dbt_hubspot
PR #194 includes the following updates:
Schema/Data Changes
4 total changes • 4 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
hubspot__email_sends |
Removed column | was_unsubcribed |
Field deprecated in v1.5.0 release has been sunset. Use the corrected spelling was_unsubscribed existing field instead. |
|
hubspot__engagements |
Removed columns | owner_idis_activecreated_timestampoccurred_timestampactivity_typelast_updated_timestamp |
Fields deprecated for HubSpot v3 API connectors in v0.11.0 release have been sunset. The engagement source table now only contains type, id, _fivetran_synced, portal_id, and source_relation. All engagement properties (timestamps, owner, status) are available in child engagement tables (e.g., hubspot__engagement_emails, hubspot__engagement_notes). Junction table aggregations (contact_ids, deal_ids, company_ids) remain available in hubspot__engagements. |
|
stg_hubspot__contact_list |
Removed columns | is_deletableis_dynamicmetadata_errormetadata_last_processing_state_change_atmetadata_last_size_change_atmetadata_processingmetadata_sizeportal_id |
Fields deprecated for HubSpot v3 API connectors in v0.22.0 release have been sunset. | |
stg_hubspot__engagement |
Removed columns | owner_idis_activecreated_timestampoccurred_timestamp |
Fields deprecated for HubSpot v3 API connectors v0.11.0 release have been sunset. The engagement source table now only contains type, id, _fivetran_synced, and portal_id. These properties are available in child engagement staging tables instead. |
Under the Hood
- Updates
engagements_joinedmacro to remove all coalesce logic to remove sunset columns. - Brought seed column types in
integration_tests/dbt_project.ymlup to date to resolve runtime warnings.
Documentation Update
- Removes documentation for above sunset fields in the above models.
Full Changelog: v1.6.1...v1.7.0
v1.6.1 dbt_hubspot
PR #193 includes the following updates:
Test Fixes
- Removes duplicate column definitions in YAML schema files to avoid
dbt parsewarnings. - Corrects descriptions for several fields.
Full Changelog: v1.6.0...v1.6.1
v1.6.0 dbt_hubspot
PR #192 includes the following updates:
Documentation
- Updates README with standardized Fivetran formatting.
Under the Hood
- In the
quickstart.ymlfile:- Adds
supported_varsfor Quickstart UI customization.
- Adds
Full Changelog: v1.5.0...v1.6.0
v1.5.0 dbt_hubspot
Schema/Data Changes
3 total changes • 1 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_hubspot__contacthubspot__contacts |
Removed column | calculated_merged_vids |
Field deprecated in v1.3.0 has been sunset. Use merged_object_ids instead |
|
hubspot__email_sends |
Added column | was_unsubscribed |
Fix spelling error - replaces misspelled was_unsubcribed column |
|
hubspot__email_sends |
Deprecated column | was_unsubcribed |
[DEPRECATED] Maintained for backwards compatibility. Use was_unsubscribed instead. Will be removed in a future release. |
Under the Hood
- Updates seeds and macros to support the schema changes.
Full Changelog: v1.4.0...v1.5.0
v1.4.0 dbt_hubspot
PR #188 includes the following updates:
Features
- Increases the required dbt version upper limit to v3.0.0
Full Changelog: v1.3.0...v1.4.0
v1.3.0 dbt_hubspot
PR #186 and PR #187 include the following updates:
Schema/Data Change
8 total changes • 6 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
stg_hubspot__owner_teamstg_hubspot__formstg_hubspot__rolestg_hubspot__teamstg_hubspot__team_userstg_hubspot__users |
New column | is_deleted (aliased from _fivetran_deleted) |
Boolean indicating whether a record has been deleted in Hubspot and/or inferred deleted in Hubspot by Fivetran | |
| All models | New column | source_relation |
Identifies the source connection when using multiple hubspot connections | |
hubspot__company_history |
Updated surrogate key | id = company_id + field_name + valid_from |
id = source_relation + company_id + field_name + valid_from |
|
hubspot__contact_history |
Updated surrogate key | id = contact_id + field_name + valid_from |
id = source_relation + contact_id + field_name + valid_from |
|
hubspot__deal_history |
Updated surrogate key | id = deal_id + field_name + valid_from |
id = source_relation + deal_id + field_name + valid_from |
|
hubspot__daily_ticket_history |
Updated surrogate key | ticket_day_id = date_day + ticket_id |
ticket_day_id = source_relation + date_day + ticket_id |
|
int_hubspot__pivot_daily_ticket_historyint_hubspot__ticket_calendar_spine |
Updated surrogate key | id = date_day + ticket_id |
id = source_relation + date_day + ticket_id |
|
int_hubspot__daily_ticket_history |
Updated surrogate key | id = date_day + ticket_id + field_name |
id = source_relation + date_day + ticket_id + field_name |
Additional Breaking Changes
If you are currently using the hubspot__company_pass_through_columns or hubspot__deal_pass_through_columns variables to persist the _fivetran_deleted field, please add an alias to avoid duplicate column errors.
Please note that
_fivetran_deletedis coalesced with theis_<company/deal>_eabledfield present in thehubspot__companies,hubspot__deals, andhubspot__deal_stagesmodels.
vars:
hubspot__company_pass_through_columns:
- name: "_fivetran_deleted"
alias: "_fivetran_company_deleted" # Can choose any alias other than _fivetran_deleted
hubspot__deal_pass_through_columns:
- name: "_fivetran_deleted"
alias: "_fivetran_deal_deleted" # Can choose any alias other than _fivetran_deletedFeature Update
- Union Data Functionality: This release supports running the package on multiple hubspot source connections. See the README for details on how to leverage this feature.
- Coalesces
is_<company/deal>_deletedwith_fivetran_deletedinstg_hubspot__companyandstg_hubspot__deal.
Tests Update
- Removes uniqueness tests. The new unioning feature requires combination-of-column tests to consider the new
source_relationcolumn in addition to the existing primary key, but this is not supported across dbt versions. - These tests will be reintroduced once a version-agnostic solution is available.
We have kept uniqueness tests on the surrogate keys listed above.
Under the Hood
- Ensures that the
datatypeconfig of_fivetran_deleted/is_deleteduses the cross-compatibledbt.type_boolean()macro.
Contributors
Full Changelog: v1.2.0...v1.3.0
v1.2.0 dbt_hubspot
PR #182 includes the following updates:
Schema/Data Change
5 total changes • 2 possible breaking changes
| Data Model(s) | Change type | Old | New | Notes |
|---|---|---|---|---|
| stg_hubspot__property | Primary Key Change | _fivetran_id + hubspot_object |
property_name + hubspot_object |
The composite primary key is now property_name and hubspot_object instead of _fivetran_id and hubspot_object. The _fivetran_id field is marked as deprecated. |
| stg_hubspot__property_option | Primary Key Change | property_id + property_option_label |
property_option_name + hubspot_object + property_option_label |
The composite primary key is now property_option_name, hubspot_object, and property_label instead of property_id and property_option_label. The property_id field is marked as deprecated. |
| stg_hubspot__property_option | New Column | hubspot_object |
Added to support new composite primary key and joins with the PROPERTY table. |
|
| stg_hubspot__property_option | New Column | property_option_name |
Added to support new composite primary key. | |
| int_hubspot__email_aggregate_status_change | New Column | unique_key |
Adds surrogate key generated from email_campaign_id and email_send_id to ensure uniqueness. Previously we only included email_send_id in its uniqueness test. |
Bug Fix
- Fixes join condition in
hubspot__email_sendsmodel to include bothemail_send_idandemail_campaign_idwhen joining with unsubscribes data, preventing potential data integrity issues with duplicate email send IDs across different campaigns.
Under the Hood
- Updates join logic in the
add_property_labelsmacro to joinPROPERTYandPROPERTY_OPTIONonhubspot_objectinstead of_fivetran_id/property_id. This is used in the following staging models:stg_hubspot__companystg_hubspot__contactstg_hubspot__dealstg_hubspot__ticket
- Updates
get_property_option_columnsmacro to include the newhubspot_objectandnamecolumns for property options. - Updates uniqueness tests in
int_hubspot__email_aggregate_status_changeto use the newunique_keyfield instead ofemail_send_id. - Updates documentation in staging models to reflect the deprecated status of
_fivetran_idandproperty_idfields and explain the new composite primary key structure. - Updates
property_optionseed data to include the newly added columns. - Adds consistency data validation tests for
hubspot__companies.
Full Changelog: v1.1.0...v1.2.0