---
title: Generators Release - 2.4.0
description: New Snowflake dbt Data Vault generator, improvements and fixes for biGENIUS-X generators, and upgrade guidance for release 2.4.0.
---

[Skip to content](https://knowledge.bigenius-x.com/generators-release-2.4.0#main-content)

[Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en) [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal?hsLang=en)

[![TRI\_Logo\_biGENIUS\_2020\_RGB\_s](https://knowledge.bigenius-x.com/hs-fs/hubfs/Marketing/TRI_Logo_biGENIUS_2020_RGB_s.png?width=150&height=42&name=TRI_Logo_biGENIUS_2020_RGB_s.png)](https://www.bigenius-x.com/)

Open main navigation

Close main navigation

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new)
- [Go to Customer Portal](https://knowledge.bigenius-x.com/customer-portal)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [biGENIUS-X Knowledge Base](https://knowledge.bigenius-x.com/?hsLang=en)
2. [Product Release Notes](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en)
3. [Generators](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#generators)

# Generators Release - 2.4.0

## 21/10/2026

### New Snowflake dbt generator

The new dbt generator for Data Vault on Snowflake covers Stage, Raw Vault and Business Vault.

The Snowflake dbt Data Mart and combined VaultAndMart generators will follow in a later release.

### General

- Restored validation for conflicting target object names within the same layer. This check was temporarily disabled in 2.3.1.
- Custom template errors now appear in **Show as Code** and custom template previews. Generation also reports them as validation errors and identifies the affected model object and part.
- Generated foreign-key scripts, SQL Server deployment-validation scripts and Databricks dbt source declarations now keep a consistent order between runs. This makes changes easier to review.
- Fixed invalid notebooks on Databricks, Fabric Spark and Fabric Warehouse when source code contains mixed line endings, tabs or other control characters. Empty notebooks also generate correctly.
- Fixed deployment failures caused by views or loaders being created before the tables and views they use. This covers row condensing, self-referencing lookups and delete detection, including projects with result views disabled.
- Fixed generation of the data quality check for outdated versions on historized objects when result views are disabled and **Persist Validity** is enabled. The required before-load action now generates and deploys correctly.

### Data Vault

- Added Non-Historized Satellite and Non-Historized Business Satellite model object types for attributes that do not need version history.
- Added the **Excluded from Delta Detection** property to Raw Vault and Business Vault satellites, including dbt on Databricks. You can exclude technical attributes, such as a source modification timestamp, from change detection. These attributes remain stored, but changes to them alone do not create a new version.
- Optimized satellite loading by restricting reads of existing data to keys in the current batch. No configuration is required. This applies to regular, link, business, multi-active and effectivity satellites on SQL Server, Oracle, Snowflake, Databricks Spark, Fabric Spark and Fabric Warehouse. dbt and record-tracking satellites are excluded.
- Fixed Multi-Active Satellite change detection and validity handling. A new, changed or missing sequence now replaces the complete active set for the hub and closes the previous set. Unchanged sets no longer create unnecessary versions.
- Fixed validity closing for Link Satellites on Driving Key Links when **Persist Validity** is enabled. A change of relationship now closes the previous relationship's satellite row.
- Fixed **Multi Version Load** handling for satellites. Source versions are now skipped if their validity start timestamp is at or before the newest stored start timestamp for the key. This prevents late-arriving versions from changing previously loaded history.
- Fixed deployment ordering for Business Driving Key Links so source views are created before the views and loaders that use them.
- Fixed data types of default values in Point-in-Time source views. This prevents timestamp contract errors when running Data Vault dbt projects on Databricks SQL warehouses.

### Data Store

- Fixed delete detection with a separate delete-detection source. **Deleted Set** and **Full Set** now identify the intended deletion candidates consistently across platforms, including Oracle.

### Snowflake

- Changed the default **Hash Algorithm** to `SHA2-256`. Hash columns now default to `BINARY(32)`. `MD5` is available as a binary alternative, and the existing `HASH` option remains available. Review the upgrade guidance below before changing an existing project's hash settings.

### Databricks

- Added the project property **Use Unique Constraints** for Unity Catalog projects, including dbt. It controls unique constraint generation and allows a unique constraint instead of a primary key when key columns are nullable. The property is enabled by default.

### dbt on Databricks

- Fixed constraint creation in generated dbt projects. Custom materializations now apply declared `NOT NULL`, primary key, unique and foreign key constraints when supported by Databricks and enabled in the project settings.
- Fixed execution of pre-hooks and post-hooks with dbt 2, including the post-hook that closes validity periods for historized records.
- Fixed data types in generated dbt tables. Calculated and aggregated values now use the modeled type, precision and scale, including decimal rounding.

### Databricks and Microsoft Fabric

- Fixed inserted-row counts in generated loader notebooks. Update-only operations no longer overwrite the count from the preceding insert.
- Fixed Hierarchy Flatten loaders ignoring the dataflow filter for starting rows. Only the selected starting rows now produce hierarchy paths, while related rows remain available for traversal. This applies to Data Vault and Data Mart notebooks.

### Oracle

- Made **Partition Clause** available for Mart Dimensions and Mart Facts in the combined VaultAndMart generator, as well as the standalone Data Mart generator.
- Fixed timestamp values for singleton records so they include hours, minutes and seconds.

### Before you upgrade

These notes apply to existing generators. Review the sections relevant to your project before regenerating and deploying.

#### Snowflake hashing

Check your project's hash algorithm and hash-column data types. To retain existing keys, keep `HASH` with the existing numeric hash columns.

Switching to `SHA2-256` or `MD5` requires compatible binary columns, a planned redeployment and a full reload of affected tables. Use `BINARY(32)` for `SHA2-256` and `BINARY(16)` for `MD5`. The new defaults do not migrate existing data.

#### Data Vault history and reloads

- **Multi-Active Satellites.** Each delivery must contain the complete set of active sequences for every hub it includes. Delivering only some sequences closes the missing ones. A hub omitted entirely keeps its current set. Reload affected tables to repair data loaded with the previous logic; regenerating the code alone does not repair it.
- **Driving Key Link Satellites.** Regenerating the code fixes future validity closing but does not repair extra open rows left by the previous logic. Reload affected tables to repair that history.
- **Multi Version Load.** Review sources that deliver backdated satellite versions. Versions whose validity start timestamp is at or before the newest stored start timestamp for the key are skipped without a warning.

#### Databricks constraints and dbt tables

- **Runtime requirements.** [Unique constraints](https://docs.databricks.com/aws/en/tables/constraints) require Unity Catalog and are a preview feature in Databricks SQL and Databricks Runtime 18.2 or later. Disable **Use Unique Constraints** on earlier runtimes. The generated dbt statement that applies `NOT NULL` to several columns requires Databricks SQL or [Databricks Runtime 16.3 or later](https://docs.databricks.com/aws/en/sql/language-manual/sql-ref-syntax-ddl-alter-table).
- **Null values in existing dbt tables.** On incremental runs, columns that contain nulls keep those values and produce a warning. They do not receive `NOT NULL` or dependent key constraints. Correct the data before a full refresh, which enforces non-nullability and can fail if nulls remain.
- **dbt column types.** Existing tables retain their previous physical column types until a `--full-refresh`. New loads use the modeled precision and scale. Plan a full refresh if existing column types or previously loaded values need to match the model.

#### Oracle satellite loads

Review satellite statistics before the first load after deployment or truncation, and before large catch-up loads. Statistics that describe an empty or much smaller table can cause a slow execution plan with the new restriction to keys in the current batch.

- [Getting started](https://knowledge.bigenius-x.com/getting-started?hsLang=en#main-content)

    - [Guidelines](https://knowledge.bigenius-x.com/getting-started?hsLang=en#guidelines)
    - [Start working](https://knowledge.bigenius-x.com/getting-started?hsLang=en#start-working)
    - [Account](https://knowledge.bigenius-x.com/getting-started?hsLang=en#account)
- [General overview](https://knowledge.bigenius-x.com/general-overview?hsLang=en)
- [Artificial Intelligence](https://knowledge.bigenius-x.com/artificial-intelligence?hsLang=en)
- [Application Modules](https://knowledge.bigenius-x.com/application-modules?hsLang=en#main-content)

    - [Administration](https://knowledge.bigenius-x.com/application-modules?hsLang=en#administration)
    - [Solutions](https://knowledge.bigenius-x.com/application-modules?hsLang=en#solutions)
    - [Global Features](https://knowledge.bigenius-x.com/application-modules?hsLang=en#global-features)
    - [Projects](https://knowledge.bigenius-x.com/application-modules?hsLang=en#projects)
    - [Branches](https://knowledge.bigenius-x.com/application-modules?hsLang=en#branches)
    - [Data Connections](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-connections)
    - [Dataflow Modeling - Overview](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-overview)
    - [Dataflow Modeling - Wizard Steps](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-wizard-steps)
    - [Dataflow Modeling - Terms](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-terms)
    - [Dataflow Modeling - Term Mapping](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-term-mapping)
    - [Dataflow Modeling - Relationships](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-relationships)
    - [Dataflow Modeling - Data Quality](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-data-quality)
    - [Dataflow Modeling - Indexes](https://knowledge.bigenius-x.com/application-modules?hsLang=en#dataflow-modeling-indexes)
    - [Relationship Modeling](https://knowledge.bigenius-x.com/application-modules?hsLang=en#relationship-modeling)
    - [Generate Artifacts](https://knowledge.bigenius-x.com/application-modules?hsLang=en#generate-artifacts)
    - [Project Settings](https://knowledge.bigenius-x.com/application-modules?hsLang=en#project-settings)
    - [Data Marketplace](https://knowledge.bigenius-x.com/application-modules?hsLang=en#data-marketplace)
- [Generators](https://knowledge.bigenius-x.com/generators?hsLang=en#main-content)

    - [Fabric Warehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-warehouse)
    - [Fabric Lakehouse](https://knowledge.bigenius-x.com/generators?hsLang=en#fabric-lakehouse)
    - [Databricks](https://knowledge.bigenius-x.com/generators?hsLang=en#databricks)
    - [Snowflake](https://knowledge.bigenius-x.com/generators?hsLang=en#snowflake)
    - [Microsoft SQL Server](https://knowledge.bigenius-x.com/generators?hsLang=en#microsoft-sql-server)
    - [Artifacts](https://knowledge.bigenius-x.com/generators?hsLang=en#artifacts)
    - [Replace Placeholders](https://knowledge.bigenius-x.com/generators?hsLang=en#replace-placeholders)
    - [Target solution environment](https://knowledge.bigenius-x.com/generators?hsLang=en#target-solution-environment)
    - [Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment)
    - [Deployment with an Azuze DevOps pipeline](https://knowledge.bigenius-x.com/generators?hsLang=en#deployment-with-an-azuze-devops-pipeline)
    - [Delta Deployment](https://knowledge.bigenius-x.com/generators?hsLang=en#delta-deployment)
    - [Load control environment](https://knowledge.bigenius-x.com/generators?hsLang=en#load-control-environment)
    - [Load data with a native load control](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-a-native-load-control)
    - [Load data with Apache Airflow](https://knowledge.bigenius-x.com/generators?hsLang=en#load-data-with-apache-airflow)
    - [Model Object Type](https://knowledge.bigenius-x.com/generators?hsLang=en#model-object-type)
    - [Properties](https://knowledge.bigenius-x.com/generators?hsLang=en#properties)
    - [Default Terms](https://knowledge.bigenius-x.com/generators?hsLang=en#default-terms)
- [Discovery application](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#main-content)

    - [Discovery configurations](https://knowledge.bigenius-x.com/discovery-application?hsLang=en#discovery-configurations)
- [Best practices](https://knowledge.bigenius-x.com/best-practices?hsLang=en#main-content)

    - [Modeling Approaches](https://knowledge.bigenius-x.com/best-practices?hsLang=en#modeling-approaches)
    - [Use Cases](https://knowledge.bigenius-x.com/best-practices?hsLang=en#use-cases)
    - [Business Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#business-rules)
    - [Data Quality Rules](https://knowledge.bigenius-x.com/best-practices?hsLang=en#data-quality-rules)
- [FAQs](https://knowledge.bigenius-x.com/faqs?hsLang=en)
- [Product Release Notes](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#main-content)

    - [SaaS Application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#saas-application)
    - [Discovery application](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#discovery-application)
    - [Generators](https://knowledge.bigenius-x.com/product-release-notes?hsLang=en#generators)
- [Legal Documents](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#main-content)

    - [Current legal docs](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#current-legal-docs)
    - [Software Product and Limits](https://knowledge.bigenius-x.com/legal-documents?hsLang=en#software-product-and-limits)

- [Contact us](https://knowledge.bigenius-x.com/kb-tickets/new?hsLang=en)
- [Customer Portal](https://knowledge.bigenius-x.com/customer-portal)
- [Sign in](https://knowledge.bigenius-x.com/_hcms/mem/login)

[![biGENIUS logo](https://knowledge.bigenius-x.com/hubfs/TRI_Logo_biGENIUS_2020_RGB-1.svg "biGENIUS logo")](https://www.bigenius-x.com)

<https://www.linkedin.com/company/bigenius> <https://www.youtube.com/@biGENIUS_DWA>

All rights reserved © 2025, biGENIUS AG