<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RudderStack Docs – 0.25</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/</link><description>Recent content in 0.25 on RudderStack Docs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://www.rudderstack.com/docs/archive/profiles/0.25/index.xml" rel="self" type="application/rss+xml"/><item><title>Archive: Profiles Overview</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/overview/</guid><description>
&lt;!-- Page Type: Explanation -->
&lt;!-- Documentation Rating: Technical Accuracy Score: 100, Comprehensibility Score: 95, Overall Score: 98 -->
&lt;!-- Table of Contents:
1. Introduction
2. Why use Profiles?
2.1 Move faster with an end-to-end platform
2.2 Enrich user profiles with features
2.3 Unlock deeper insights
2.4 Deliver personalization and recommendations
2.5 Predict user conversions and churn
3. Who can leverage Profiles?
4. Video Tutorial Series -->
&lt;p>Modern data teams rely on their warehouse as a single source of truth for customer data. RudderStack&amp;rsquo;s &lt;strong>Profiles&lt;/strong> is a declarative framework that transforms configuration into optimized SQL — letting you define &lt;strong>what&lt;/strong> a customer looks like (identity rules, features, cohorts) rather than &lt;strong>how&lt;/strong> to compute it.&lt;/p>
&lt;p>Unlike traditional semantic layers that abstract SQL, Profiles inverts the paradigm: you declare entities and their attributes in version-controlled YAML, and the system generates warehouse-native SQL that handles identity resolution, incremental computation, and feature aggregation automatically.&lt;/p>
&lt;p>With Profiles, data teams can stop maintaining thousands of lines of brittle SQL and start maintaining clean, reviewable configurations that compile to a comprehensive customer 360 table.&lt;/p>
&lt;blockquote class="success">
&lt;div class="tip-quote">
&lt;img src=https://www.rudderstack.com/docs/docs/images/tick.svg loading="lazy" alt="success" decoding="async" class="img__small" style="
margin-top: 3px; width: 20px;height: 16px;" />
&lt;div class="tip-text">
&lt;p>Check the comprehensive &lt;a href="https://www.youtube.com/playlist?list=PLmlCAvdaZkW6dbdgkYPDP8ybIZcSlVBGx" >12-part video series on RudderStack Profiles&lt;/a> to build an end-to-end Profiles project that helps you:&lt;/p>
&lt;ul>
&lt;li>Solve identity resolution at the root&lt;/li>
&lt;li>Create an identity graph with all your customer data&lt;/li>
&lt;li>Model powerful Customer 360 views in your data warehouse&lt;/li>
&lt;/ul>
&lt;/div>
&lt;/div>
&lt;/blockquote>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe src="https://www.youtube.com/embed/VVvmvhfJARY" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video">&lt;/iframe>
&lt;/div>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="why-use-profiles" data-heading="Why use Profiles?" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h2 id="why-use-profiles">Why use Profiles?&lt;/h2>&lt;p>Data teams typically choose between two painful paths: maintaining sprawling SQL codebases with complex dependencies, or locking into rigid SaaS platforms that can&amp;rsquo;t model their unique business logic.&lt;/p>
&lt;p>Profiles offers a third way — &lt;strong>declarative customer data modeling&lt;/strong>:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Traditional approach&lt;/th>
&lt;th>Profiles approach&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Write complex SQL joins across identity tables&lt;/td>
&lt;td>Declare identity types and stitching rules in YAML&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Build and maintain aggregation pipelines&lt;/td>
&lt;td>Define features as &lt;code>select&lt;/code> expressions; system handles grouping&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Manage incremental logic manually&lt;/td>
&lt;td>Declare once; incremental computation is automatic&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Debug SQL across dozens of files&lt;/td>
&lt;td>Review diffs in version-controlled configuration&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>This declarative DNA means your team defines the &lt;strong>semantics&lt;/strong> — what constitutes a user, what &amp;ldquo;lifetime value&amp;rdquo; means for your business — while Profiles handles the &lt;strong>mechanics&lt;/strong> of &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/identity-graph/" >Identity Graphs&lt;/a>, table scans, and efficient computation.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="move-faster-with-an-end-to-end-platform" data-heading="Move faster with an end-to-end platform" data-level="4" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h4 id="move-faster-with-an-end-to-end-platform">Move faster with an end-to-end platform&lt;/h4>&lt;p>Profiles integrates directly with RudderStack&amp;rsquo;s other pipelines:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.rudderstack.com/docs/sources/event-streams/" >Event Stream&lt;/a> pipelines have known schemas and unique identifiers through the ingested customer data. Profiles can produce a baseline identity graph, and user features out of the box. Data teams can then augment the graph and features using any other data in their warehouse.&lt;/li>
&lt;li>&lt;a href="https://www.rudderstack.com/docs/sources/reverse-etl/" >Reverse ETL&lt;/a> pipelines make it easy to send data from the customer 360 table directly to the downstream tools used by marketing, customer success, product, and other teams.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="enrich-user-profiles-with-features" data-heading="Enrich user profiles with features" data-level="4" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h4 id="enrich-user-profiles-with-features">Enrich user profiles with features&lt;/h4>&lt;p>You can &lt;a href="https://www.rudderstack.com/docs/profiles/concepts/features/" >enhance user profiles&lt;/a> with additional data points and features. When new data sources are added, discovered, or calculated, data teams can add them to their Profiles configuration without having to clean data and update complex models and dependencies.&lt;/p>
&lt;p>The features/traits can include demographic information, preferences, purchase history, browsing behavior, or other static or computed data points.&lt;/p>
&lt;p>You can define the associated properties or attributes that provide detailed information for each new feature. For example, if the feature is &lt;code>purchase_history&lt;/code>, its properties can include the date of purchase, product category, or order value.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="unlock-deeper-insights" data-heading="Unlock deeper insights" data-level="4" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h4 id="unlock-deeper-insights">Unlock deeper insights&lt;/h4>&lt;p>Profiles extends its capabilities to support features derived from complex concepts such as funnels, organizational metrics, and machine learning models. You can understand your customer&amp;rsquo;s journey through your sales funnel or locate each user across the histogram of customer metric values by simply defining a trait.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="deliver-personalization-and-recommendations" data-heading="Deliver personalization and recommendations" data-level="4" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h4 id="deliver-personalization-and-recommendations">Deliver personalization and recommendations&lt;/h4>&lt;p>Using Profiles, you can ship &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/real-time-personalization/" >projects like personalization&lt;/a> significantly faster by focusing entirely on activating key user features instead of cleaning and modeling data to build them.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="predict-user-conversions-and-churn" data-heading="Predict user conversions and churn" data-level="4" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h4 id="predict-user-conversions-and-churn">Predict user conversions and churn&lt;/h4>&lt;p>You can leverage &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/propensity/" >Propensity Scores&lt;/a> to build predictive features that help you predict in advance whether a lead is likely to convert, or a customer is likely to churn or make a purchase.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="who-can-leverage-profiles" data-heading="Who can leverage Profiles?" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/overview/" data-title="Profiles Overview" -->
&lt;h2 id="who-can-leverage-profiles">Who can leverage Profiles?&lt;/h2>&lt;p>Profiles is built for data engineers, data scientists, and technical marketers who want &lt;strong>configuration over code&lt;/strong>.&lt;/p>
&lt;p>You define &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/identity-graph/" >identity stitching&lt;/a> rules, entity relationships, and user features in YAML—no hand-written SQL for identity resolution or feature computation. The declarative model means:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Reviewable changes&lt;/strong>: Pull request diffs show &lt;strong>what&lt;/strong> changed in your customer model, not SQL syntax changes buried in logic.&lt;/li>
&lt;li>&lt;strong>Composable features&lt;/strong>: Entity vars reference each other naturally; the system resolves dependencies.&lt;/li>
&lt;li>&lt;strong>Portable definitions&lt;/strong>: Your customer model is decoupled from warehouse-specific SQL dialects.&lt;/li>
&lt;/ul>
&lt;br /></description></item><item><title>Archive: Concepts</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/</guid><description/></item><item><title>Archive: Developer Docs ↗️</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/</guid><description/></item><item><title>Archive: Management, Scheduling, and Data Activation</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/management/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/management/</guid><description/></item><item><title>Archive: RudderStack Data Apps</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/</guid><description>
&lt;p>RudderStack&amp;rsquo;s &lt;strong>Data Apps&lt;/strong> help data teams accelerate key projects like attribution, propensity scoring, and real-time personalization.&lt;/p>
&lt;p>You can leverage the power of your Customer 360 without the need for complex SQL or Python coding and enable your data teams to deliver impactful results quickly.&lt;/p>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="use-cases" data-heading="Use cases" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/" data-title="RudderStack Data Apps" -->
&lt;h2 id="use-cases">Use cases&lt;/h2>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Use case&lt;/th>
&lt;th style="text-align:left">Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/attribution/" >Attribution&lt;/a>&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Deliver accurate, report-ready first and last-touch attribution data for paid campaigns, including RoAS.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/propensity/" >Propensity scores&lt;/a>&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Generate propensity scores using your own churn or conversion definitions, then automatically sync them to user profiles in business tools.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/data-apps/real-time-personalization/" >Real-time personalization&lt;/a>&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Make your customer 360 available via API to drive real-time website and app personalization, enhancing user engagement, and conversion rates.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item><item><title>Archive: Additional Resources</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/additional-resources/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/additional-resources/</guid><description/></item><item><title>Archive: Profiles Changelog</title><link>https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/</link><pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate><guid>https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/</guid><description>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0260" data-heading="Version 0.26.0" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0260">Version 0.26.0&lt;/h2>&lt;p>&lt;em>23 July 2026&lt;/em> &lt;br />
&lt;em>Schema version: 99&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">July 23, 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">July 23, 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">July 28, 2026&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Rule-based filtering (&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/advanced-id-stitcher-features/id-graph-cardinality-rules/" >ID Graph Cardinality Rules&lt;/a>) is now supported in ID Stitcher for &lt;strong>BigQuery&lt;/strong>, in addition to Snowflake&lt;/li>
&lt;li>ID Stitcher metadata logging (&lt;code>log_direct_edge_info&lt;/code> and &lt;code>log_node_metadata&lt;/code>) is now supported for &lt;strong>BigQuery&lt;/strong>, in addition to Snowflake. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/profiles-yaml/id-stitcher/" >ID Stitcher&lt;/a>&lt;/li>
&lt;li>&lt;strong>Per-source edge attribution&lt;/strong>: Each bucket in the &lt;code>edges_by_type&lt;/code> metadata column now carries a &lt;code>sources[]&lt;/code> array listing the source models that contributed the edge. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/identity-graph/" >Identity Graph&lt;/a>&lt;/li>
&lt;li>The &lt;code>&amp;lt;material&amp;gt;_&amp;lt;entity&amp;gt;_CARDINALITY_AUDIT&lt;/code> table includes a new &lt;code>source_models&lt;/code> column, so you can trace a capped or dropped edge back to the source models that produced it&lt;/li>
&lt;li>&lt;strong>Incremental entity var bundling&lt;/strong>: Support to compute incremental entity vars in a bundle is now available.&lt;/li>
&lt;li>Profiles writes user-facing output tables to a schema separate from its internal working tables.&lt;/li>
&lt;li>The &lt;code>pb&lt;/code> CLI supports shell autocompletion&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>BigQuery queries now enforce GoogleSQL, with normalized JSON and time expressions&lt;/li>
&lt;li>S3 configuration resolution and the Redshift S3 write path support IAM role authentication, in addition to key-based authentication&lt;/li>
&lt;li>The &lt;code>pb&lt;/code> version is included in the task summary&lt;/li>
&lt;li>Snowflake OCSP cache miss errors can be suppressed using a PB environment toggle&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Rebase-affected default materials are now reused at compile time&lt;/li>
&lt;li>&lt;code>rebase_incremental&lt;/code> is no longer silently skipped in already-materialized timegrain buckets&lt;/li>
&lt;li>Material cleanup now tolerates dependency cycles instead of failing&lt;/li>
&lt;li>Connection leaks and broken pipe errors caused by unbounded connection pools are fixed&lt;/li>
&lt;li>Query tags work again on Snowflake&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs — you can ignore it:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get the &lt;code>ssh: handshake failed&lt;/code> error, then you will have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0257" data-heading="Version 0.25.7" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0257">Version 0.25.7&lt;/h2>&lt;p>&lt;em>15 June 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Projects that use &lt;code>case_based_join&lt;/code> optimization no longer fail with an ambiguous column name error when an input&amp;rsquo;s id select reuses an id-stitcher column under a non-&lt;code>main_id&lt;/code> type; the var-table → id-stitcher join keys are now properly qualified.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0256" data-heading="Version 0.25.6" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0256">Version 0.25.6&lt;/h2>&lt;p>&lt;em>4 June 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>To avoid out-of-memory issues on BigQuery, var-table bundles for inputs with no identifier column now generate &lt;code>input_row_id&lt;/code> via the native &lt;code>GENERATE_UUID()&lt;/code> instead of an unpartitioned &lt;code>ROW_NUMBER() OVER()&lt;/code> window.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0255" data-heading="Version 0.25.5" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0255">Version 0.25.5&lt;/h2>&lt;p>&lt;em>29 Apr 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a bug where features with non-default time grains were not getting included in the feature view.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0253" data-heading="Version 0.25.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0253">Version 0.25.3&lt;/h2>&lt;p>&lt;em>16 Apr 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a bug to prevent an occurance of empty entity var bundle.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0252" data-heading="Version 0.25.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0252">Version 0.25.2&lt;/h2>&lt;p>&lt;em>15 Apr 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Suppressed unnecessary warning logs.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0251" data-heading="Version 0.25.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0251">Version 0.25.1&lt;/h2>&lt;p>&lt;em>31 March 2026&lt;/em> &lt;br />
&lt;em>Schema version: 97&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">March 31, 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">March 31, 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">March 31, 2026&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Incremental features&lt;/strong>: You can compute features incrementally. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/incremental-features/" >Incremental Features&lt;/a> for more details.&lt;/li>
&lt;li>You can now materialize ID stitcher models as tables instead of views. Configure via &lt;code>materialization: output_type: table&lt;/code> on your ID stitcher model for better downstream query performance.&lt;/li>
&lt;li>&lt;strong>Dry-Run Mode&lt;/strong>: New &lt;code>--mock_material_run&lt;/code> flag (used with &lt;code>--assume_all_inputs_exist&lt;/code>) lets you simulate a full pb run without executing any SQL against the warehouse. This is useful for validating project definitions, debugging model graphs, and testing configurations without live warehouse access.&lt;/li>
&lt;li>You no longer need to write &lt;code>{{entity.Var(&amp;quot;var_name&amp;quot;)}}&lt;/code> — you can now simply use &lt;code>{{entity.var_name}}&lt;/code> with dot syntax to access entity vars, input vars, and columns in SQL templates.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Better error messages for incomplete incremental yaml configuration&lt;/li>
&lt;li>BigQuery legacy SQL queries have been migrated to GoogleSQL (standard SQL)&lt;/li>
&lt;li>Python models are removed&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>GRPC connection issues and file path issues encountered on Windows are now fixed&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs — you can ignore it:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get the &lt;code>ssh: handshake failed&lt;/code> error, then you will have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0250-beta" data-heading="Version 0.25.0 (Beta)" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0250-beta">Version 0.25.0 (Beta)&lt;/h2>&lt;p>&lt;em>10 December 2025&lt;/em> &lt;br />
&lt;em>Schema version: 96&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">December 10, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">December 15, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">December 17, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>A major re-architecture is introduced in this beta release. The core engine has been rebuilt from the ground up to support a powerful new capability — accessing and instantiating any past version of any model in your project.&lt;/p>
&lt;p>&lt;strong>Why this matters:&lt;/strong> This foundational change is essential for enabling true incremental computation. By tracking model versions over time, Profiles Builder (PB) can now intelligently determine what needs to be recomputed, dramatically improving performance and reducing costs for large-scale projects.&lt;/p>
&lt;blockquote class="warning">
&lt;div class="tip-quote">
&lt;img src=https://www.rudderstack.com/docs/docs/images/warning.svg alt="warning" loading="lazy" decoding="async" class="img__small" style="
margin-top: 3px; width: 20px;height: 16px;" />
&lt;div class="tip-text">&lt;p>&lt;strong>🔒 Safety First:&lt;/strong>&lt;/p>
&lt;p>As this is a beta release with significant architectural changes, you must explicitly opt-in to use it. Set &lt;code>allow_beta: true&lt;/code> in your &lt;code>pb_project.yaml&lt;/code> or use the CLI beta flag.&lt;/p>
&lt;/div>
&lt;/div>
&lt;/blockquote>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Building &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/incremental-features/" >Incremental Features&lt;/a> is now possible.&lt;/li>
&lt;li>Added explicit consent requirement for beta releases: Users must now opt-in to run PB commands with a beta release, either by passing a CLI argument (&lt;code>--allow_beta&lt;/code>) or by setting &lt;code>allow_beta: true&lt;/code> in your &lt;code>pb_project.yaml&lt;/code> file.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a nil pointer exception in some cases while loading the projects&lt;/li>
&lt;li>Fixed an issue with Redshift during runs, where internal table creation fails if it already exists&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Major internal rearchitecture of PB to enable incremental support&lt;/li>
&lt;li>Propensity model&amp;rsquo;s internal training and prediction table names changed&lt;/li>
&lt;li>Model names and paths have changed for cohort and feature views. However, there will be no change in frontier view names to avoid impact on downstream pipelines.&lt;/li>
&lt;li>Removed unnecessary warning logs while loading projects&lt;/li>
&lt;li>Shows the right error message that explains why a project failed instead of showing context cancelled as the message&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs — you can ignore it:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get the &lt;code>ssh: handshake failed&lt;/code> error, then you will have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0246" data-heading="Version 0.24.6" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0246">Version 0.24.6&lt;/h2>&lt;p>&lt;em>2 February 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed wrong model reference path issue faced in Windows OS&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Try both IPV4 and IPV6 addresses for GRPC connectivity between internal processes&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0244" data-heading="Version 0.24.4" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0244">Version 0.24.4&lt;/h2>&lt;p>&lt;em>15 January 2026&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Added retry functionality to retryable errors thrown by BigQuery&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0243" data-heading="Version 0.24.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0243">Version 0.24.3&lt;/h2>&lt;p>&lt;em>8 December 2025&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Added timeout to queries run on cleanup command&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0242" data-heading="Version 0.24.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0242">Version 0.24.2&lt;/h2>&lt;p>&lt;em>21 November 2025&lt;/em> &lt;br />&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a nil pointer exception in some cases while loading the projects&lt;/li>
&lt;li>Fixed an issue which occurs in Redshift during runs, where internal table creation fails if it already exists&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Removed unnecessary warning logs while loading projects&lt;/li>
&lt;li>Shows the right error message that explains why a project failed instead of showing &lt;code>context cancelled&lt;/code> as the message&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0240" data-heading="Version 0.24.0" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0240">Version 0.24.0&lt;/h2>&lt;p>&lt;em>4 November 2025&lt;/em> &lt;br />
&lt;em>Schema version: 93&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">November 4, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">November 4, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">November 6, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Rule-based filtering (&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/advanced-id-stitcher-features/id-graph-cardinality-rules/" >ID Graph Cardinality Rules&lt;/a>) is now supported in ID Stitcher for &lt;strong>Snowflake&lt;/strong>&lt;/li>
&lt;li>&lt;code>pb init pb-project&lt;/code> generates project with optimizations configuration file by default&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>IPv4 addressing is used for Go and Python RPC servers&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs — you can ignore it:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get the &lt;code>ssh: handshake failed&lt;/code> error, then you will have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0233" data-heading="Version 0.23.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0233">Version 0.23.3&lt;/h2>&lt;p>&lt;em>2 Oct 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed an issue where enabling ID stitcher metadata resulted in a SQL error.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0232" data-heading="Version 0.23.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0232">Version 0.23.2&lt;/h2>&lt;p>&lt;em>18 Sep 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed an issue where referencing models in a case-insensitive manner caused errors.&lt;/li>
&lt;li>Resolved a regression affecting PyNative package registration.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0231" data-heading="Version 0.23.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0231">Version 0.23.1&lt;/h2>&lt;p>&lt;em>9 September 2025&lt;/em> &lt;br />
&lt;em>Schema version: 92&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">September 9, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">September 10, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">September 15, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Added metadata in ID stitcher internal mapping table — this metadata helps you understand how identifiers are connected and trace the lineage of your identity graph. To enable, toggle on &lt;code>log_direct_edge_info&lt;/code> and &lt;code>log_node_metadata&lt;/code> flags under id stitcher model spec. An example is shown below:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">models&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">user_id_stitcher&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_type&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">id_stitcher&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_spec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">entity_key&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">user&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">log_direct_edge_info&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">log_node_metadata&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb show models --tree&lt;/code> prints output in a tree format.&lt;/li>
&lt;li>Added support for hooks on feature-views. An example is shown below:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">entities&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">user&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">id_stitcher&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">models/test_id__&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">feature_views&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">hooks&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">pre_run&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;CREATE OR REPLACE VIEW {{warehouse.NamedWhObject(name=&amp;#39;x1&amp;#39;, type=&amp;#39;VIEW&amp;#39;)}} AS (SELECT 1 as testCol);&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">post_run&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;CREATE OR REPLACE VIEW {{warehouse.NamedWhObject(name=&amp;#39;x2&amp;#39;, type=&amp;#39;VIEW&amp;#39;)}} AS (SELECT 1 as testCol);&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>Removed ID collator as a model type.&lt;/li>
&lt;li>PB logs are now redirected to &lt;code>stderr&lt;/code>. &lt;code>pb show models --json &amp;gt; output.json&lt;/code> output is a valid JSON file now.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the bug wherein a non-converged ID graph (after maximum iterations) resulted in an error.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs — you can ignore it:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get the &lt;code>ssh: handshake failed&lt;/code> error, then you will have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0224" data-heading="Version 0.22.4" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0224">Version 0.22.4&lt;/h2>&lt;p>&lt;em>18 Aug 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a Databricks OAuth authentication issue affecting PyNative models such as Audit, Propensity, etc.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0222" data-heading="Version 0.22.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0222">Version 0.22.2&lt;/h2>&lt;p>&lt;em>14 May 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Miscellaneous&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Maintenance release: Updated dependencies to the latest compatible versions.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0221" data-heading="Version 0.22.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0221">Version 0.22.1&lt;/h2>&lt;p>&lt;em>6 May 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a &lt;code>pb audit&lt;/code> issue.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0220" data-heading="Version 0.22.0" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0220">Version 0.22.0&lt;/h2>&lt;p>&lt;em>24 April 2025&lt;/em> &lt;br />
&lt;em>Schema version: 89&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">April 24, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">April 24, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">April 29, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Support for using the OAuth protocol for authorization and authentication with Databricks.&lt;/li>
&lt;li>Added &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/advanced-id-stitcher-features/" >ID stitcher rules&lt;/a> — this feature allows you to control which nodes and edges are included in your ID graph by defining rules in a warehouse table.&lt;/li>
&lt;li>Improved logging and error handling.&lt;/li>
&lt;li>MFA token caching support is added for Snowflake. Pass passcode with &lt;code>--passcode&lt;/code> flag. Ex: &lt;code>pb run --passcode 123456&lt;/code>.&lt;/li>
&lt;li>Log file is renamed to &lt;code>pb.log&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb tutorial&lt;/code> now accepts the &lt;code>--rpc_python_path&lt;/code> flag.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed PyNative packages loading issues.&lt;/li>
&lt;li>Fixed an issue where duplicates under &lt;code>model_folders&lt;/code> were resulting in an error.&lt;/li>
&lt;li>Fixed an issue with PyNative models when using with a Snowflake unencrypted private key.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross-database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0216" data-heading="Version 0.21.6" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0216">Version 0.21.6&lt;/h2>&lt;p>&lt;em>1 April 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the Bitbucket Git URL parsing issue.&lt;/li>
&lt;li>Fixed an issue to control the number of warehouse calls made for pre-existing checks when running with high concurrency.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0215" data-heading="Version 0.21.5" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0215">Version 0.21.5&lt;/h2>&lt;p>&lt;em>26 March 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Corrected the protobuf dependency versions.&lt;/li>
&lt;li>Fixed the Databricks validating privileges issue when catalog has special characters.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0214" data-heading="Version 0.21.4" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0214">Version 0.21.4&lt;/h2>&lt;p>&lt;em>13 March 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed an issue wherein the metadata of column materials&amp;rsquo; parent field was set wrong.&lt;/li>
&lt;li>Boundaries of month and year timegrains are now made to coincide with week boundary.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0213" data-heading="Version 0.21.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0213">Version 0.21.3&lt;/h2>&lt;p>&lt;em>11 March 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed Snowflake key-pair auth regression.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0212" data-heading="Version 0.21.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0212">Version 0.21.2&lt;/h2>&lt;p>&lt;em>6 March 2025&lt;/em> &lt;br />
&lt;em>Schema version: 88&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">March 6, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">March 6, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">March 11, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Schema has been updated from 85 to 88.&lt;/li>
&lt;li>Introduced &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/concepts/timegrains/" >Timegrains&lt;/a> - timegrains give you the ability to control the frequency at which certain models run irrespective of the frequency at which you trigger the Profiles project runs.&lt;/li>
&lt;li>Introduced a change wherein the IDs to be considered for ID stitching must be of string data type. If ID columns in your inputs are not strings, you must cast them explicitly.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Optimizations&lt;/strong>&lt;/p>
&lt;html lang="en">
&lt;blockquote class="info">
&lt;div class="tip-quote">
&lt;img src=https://www.rudderstack.com/docs/docs/images/info.svg loading="lazy" alt="info" decoding="async" class="img__small" style="margin-top: 3px; width: 20px;height: 16px;" />
&lt;div class="tip-text">These optimizations are still in beta and are released behind feature flags. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/optimizations/" >Optimizations&lt;/a> for more information.&lt;/div>
&lt;/div>
&lt;/blockquote>
&lt;/html>
&lt;ul>
&lt;li>Input var bundling: With this optimization, PB automatically bundles the execution of some &lt;code>input_vars&lt;/code> together during runtime, based on the var definitions.&lt;/li>
&lt;li>Entity var bundling: With this optimization, PB automatically bundles the execution of some &lt;code>entity_vars&lt;/code> together during runtime, based on the var definitions.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>ID stitcher now runs in &lt;strong>incremental&lt;/strong> mode by default.&lt;/li>
&lt;li>Reduced the package size by 50% by removing debugging information while building the binary.&lt;/li>
&lt;li>&lt;code>pb show plan&lt;/code> now shows the disabled materials. This is helpful when working with timegrains to understand which materials run in a particular timegrain.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Deprecation&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Username/password authentication is now deprecated for Snowflake - use key-pair authentication instead.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0203" data-heading="Version 0.20.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0203">Version 0.20.3&lt;/h2>&lt;p>&lt;em>3 February 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a performance issue for nested column models by adding &lt;code>LIMIT 1&lt;/code> to the query that checks if a column exists or not.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0202" data-heading="Version 0.20.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0202">Version 0.20.2&lt;/h2>&lt;p>&lt;em>28 January 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed an issue where project fails on Snowflake and Redshift when the ID columns are of non-string types.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0201" data-heading="Version 0.20.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0201">Version 0.20.1&lt;/h2>&lt;p>&lt;em>27 January 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed an issue wherein any changes to &lt;code>id_types&lt;/code> are not considered in the ID stitcher model hash computation.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0200" data-heading="Version 0.20.0" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0200">Version 0.20.0&lt;/h2>&lt;p>&lt;em>Schema version: 85&lt;/em>&lt;/p>
&lt;p>&lt;strong>Release Schedule&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Milestone&lt;/th>
&lt;th style="text-align:left">Date&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">CLI release&lt;/td>
&lt;td style="text-align:left">January 21, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>dev&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">January 21, 2025&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Deployment to &lt;strong>production&lt;/strong> workspaces&lt;/td>
&lt;td style="text-align:left">January 25, 2025&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Schema has been updated from 84 to 85.&lt;/li>
&lt;li>Added a column description: The YAML description of each feature now gets added in &lt;code>feature_views&lt;/code> as a comment in the corresponding column.&lt;/li>
&lt;li>Azure DevOps Git URLs are now supported while creating a Profiles project in the dashboard. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/management/import-from-git/" >Import Profiles Project from Git&lt;/a> for more information.&lt;/li>
&lt;li>&lt;code>WHERE&lt;/code> clause support: Input YAMLs now support the &lt;code>WHERE&lt;/code> clause, helping you filter out any unnecessary rows from the source and reduce the need for an additional SQL model.&lt;/li>
&lt;li>A new command &lt;code>pb tutorial&lt;/code> is now added. Profiles Tutorial is a guided interactive tutorial within the Profiles CLI and walks you through the key Profiles concepts and how they work. See &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/profiles-tutorial/" >Profiles Tutorial&lt;/a> for more information.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>ID stitcher performance improvements: Rows in the ID stitcher table are compacted based on &lt;code>node_id&lt;/code>, &lt;code>node_id_type&lt;/code>, and &lt;code>main_id&lt;/code> to remove duplicates. Also, some unnecessary steps are removed from the ID stitching process to make it faster.&lt;/li>
&lt;li>Removed empty lines from the generated SQL to make it more readable.&lt;/li>
&lt;li>The SQL errors now show the file path and the corresponding error, instead of printing the entire query in the console/logs.&lt;/li>
&lt;li>Removed some unnecessary internal models to simplify the model graph in case of column models.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the issue wherein running the var materials failed sometimes if the PB process was killed forcefully, by making the process idempotent.&lt;/li>
&lt;li>You can now refer to features on SQL models and Python model (non-entity-var features) also using the general path reference for the feature, i.e. &lt;code>&amp;lt;entity&amp;gt;/&amp;lt;cohort&amp;gt;/&amp;lt;feature-name&amp;gt;&lt;/code>. You can also refer to the inherited features in the same way.&lt;/li>
&lt;li>Fixed the issue wherein &lt;code>--output_folder&lt;/code> flag was not respected in &lt;code>pb run&lt;/code> and &lt;code>pb compile&lt;/code> commands by supporting absolute paths.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Deprecation&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>python_model&lt;/code> model type is now deprecated.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;li>Timegrains is an experimental feature. There might be some undiscovered issues.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0193" data-heading="Version 0.19.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0193">Version 0.19.3&lt;/h2>&lt;p>&lt;em>9 January 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Properly sets the Snowflake connection parameter &lt;code>application&lt;/code> to &lt;code>Rudderstack_Warehouse&lt;/code>.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0192" data-heading="Version 0.19.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0192">Version 0.19.2&lt;/h2>&lt;p>&lt;em>6 December 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a common tables migration bug where PB may go into an unrecoverable state when you run it in two parallel processes.&lt;/li>
&lt;li>Fixed an inconsistency in incremental ID stitching due to differences in how warehouses treat NULL values sorting.&lt;/li>
&lt;li>Fixed a bug in incremental ID stitching related to occasional changes in the main IDs when you add new edges to the cluster.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0191" data-heading="Version 0.19.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0191">Version 0.19.1&lt;/h2>&lt;p>&lt;em>29 November 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a bug causing an unexpected change in the profiles ID when the ID stitcher is running in incremental mode.&lt;/li>
&lt;li>Fixed a crash that occurs while parsing a YAML which starts with a list at the root level.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-019" data-heading="Version 0.19" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-019">Version 0.19&lt;/h2>&lt;p>&lt;em>14 November 2024&lt;/em> &lt;br />
&lt;em>Schema version: 84&lt;/em>&lt;/p>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Schema has been updated from 80 to 84.&lt;/li>
&lt;li>Project created using &lt;code>pb init pb-project&lt;/code> now locks the PB version.&lt;/li>
&lt;li>Task summary is now shown at the end of each run, including relevant command details like start time, end time, sequence number, and total models processed (if any).&lt;/li>
&lt;li>The number of iterations/loops during ID stitching are now logged.&lt;/li>
&lt;li>A new tool named &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/profiles-audit/" >&lt;strong>Profiles ID Stitcher Audit tool&lt;/strong>&lt;/a> is introduced. It is embedded within the core PB CLI tool and helps you analyze the health of your ID graph by giving you a high level aggregate analysis of your ID graph across entities. You can also analyze a single cluster by visualizing all IDs and their connections, along with highlighting the most important IDs that form connections in that group.&lt;/li>
&lt;li>A key named &lt;code>carry_forward_privileges&lt;/code> (type Boolean) is added in the &lt;code>pb_project.yaml&lt;/code> file. This key determines whether the privileges granted on the views should be retained after the view definitions are updated. This resolves the issue where recreating views for each model in the project led to revoked privileges. &lt;strong>Note that using this key can lead to some performance overhead&lt;/strong>.&lt;/li>
&lt;li>A new column named &lt;code>pb_version&lt;/code> is added to the &lt;code>material_registry&lt;/code> table in the database which denotes the PB version that created the entry.&lt;/li>
&lt;li>A new flag &lt;code>pb show idstitcher-report --seed_clusters_csv&lt;/code> is added which you can use to pass a CSV file with two columns - &lt;code>id&lt;/code> and &lt;code>id_type&lt;/code>. The cluster ID can be either &lt;code>rudder_id&lt;/code> or &lt;code>other_id&lt;/code>. Each row specifies an ID to be mapped to a cluster main ID, which is then included in the report.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>An error is now thrown if a model has a feature without any IDs.&lt;/li>
&lt;li>User-friendly messages are shown in case a package isn&amp;rsquo;t installed.&lt;/li>
&lt;li>Error is now thrown if duplicate feature names are present for a cohort.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Resolved the cleanup issue where some materials cleanup failed due to dependencies.&lt;/li>
&lt;li>Fixed an issue where a non-existent folder inside &lt;code>model_folders&lt;/code> caused the project to fail.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;li>Timegrains is an experimental feature. There might be some undiscovered issues.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0185" data-heading="Version 0.18.5" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0185">Version 0.18.5&lt;/h2>&lt;p>&lt;em>9 January 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Properly sets the Snowflake connection parameter &lt;code>application&lt;/code> to &lt;code>Rudderstack_Warehouse&lt;/code>.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0184" data-heading="Version 0.18.4" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0184">Version 0.18.4&lt;/h2>&lt;p>&lt;em>25 October 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>The schema name has been prepended to the drop statements executed during cleanup. This ensures that deletions are always performed in the correct schema.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0183" data-heading="Version 0.18.3" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0183">Version 0.18.3&lt;/h2>&lt;p>&lt;em>16 October 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed a bug that causes cleanup of materials fail due to &lt;code>current transaction is aborted&lt;/code> error. With the fix, if cleanup of one material fails (for some reason, ex: other objects depend on it), the cleanup of other expired materials should continue.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0182" data-heading="Version 0.18.2" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0182">Version 0.18.2&lt;/h2>&lt;p>&lt;em>4 October 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Resolved a migration bug which occurs when there are nested model folders containing non yaml files.&lt;/li>
&lt;li>Cleanup with flag &lt;code>--remove_latest_view_ptrs&lt;/code> was not respecting retention time period set in pb_project.yaml. This is fixed.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0181" data-heading="Version 0.18.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0181">Version 0.18.1&lt;/h2>&lt;p>&lt;em>3 October 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed issue in default ID stitcher for &lt;code>run_type: discrete&lt;/code>.&lt;/li>
&lt;li>Resolved a bug that occurs when a project contains multiple entities with same cohort name.&lt;/li>
&lt;li>During migration, pb was skipping non-YAML files, which caused scheduled runs to fail. This is fixed.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-018" data-heading="Version 0.18" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-018">Version 0.18&lt;/h2>&lt;p>&lt;em>27 September 2024&lt;/em> &lt;br/>
&lt;em>Schema version: 80&lt;/em>&lt;/p>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Cohort model now lets you perform filtering using a &lt;code>filter_expression&lt;/code> followed by AND/OR list of expressions, for example:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">models&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">high_value_us_residents&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_type&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">cohort&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_spec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="l">...&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">filter_expression&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">AND&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- {{&lt;span class="w"> &lt;/span>&lt;span class="l">user.Var(&amp;#39;country&amp;#39;) }} = &amp;#39;US&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- {{&lt;span class="w"> &lt;/span>&lt;span class="l">user.Var(&amp;#39;salary&amp;#39;) }} &amp;gt; 10000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>You can define the &lt;code>retention_period&lt;/code> for each model of a project. Further, the &lt;code>pb cleanup materials --expired&lt;/code> command cleans up the materials beyond the defined retention period.&lt;/li>
&lt;li>Referring other &lt;code>entity_vars&lt;/code>/&lt;code>input_vars&lt;/code> is now simplified. You can use &lt;code>{{entityName.entity_varName}}&lt;/code> instead of the earlier one &lt;code>{{entityName.Var(&amp;quot;entity_varName&amp;quot;)}}&lt;/code>. Note that the earlier syntax also works fine.&lt;/li>
&lt;li>You can use features of an SQL model while using a cohort. To do so, specify the &lt;code>entity_key&lt;/code> or &lt;code>entity_cohort&lt;/code> in the &lt;code>model_spec&lt;/code> of an SQL model.&lt;/li>
&lt;li>&lt;code>pb cleanup materials --concurrency&lt;/code> - A new command which enables concurrency for cleanup, by defining the number of concurrent workers for cleanup. The default value is 1.&lt;/li>
&lt;li>The default offset value while executing &lt;code>pb run&lt;/code> command is now updated to 0. It was 30 minutes earlier.&lt;/li>
&lt;li>A new flag &lt;code>--end_time_offset&lt;/code> is added to the compile/run commands for adding an offset to the end timestamp, in a human readable format. It means that RudderStack &lt;strong>does not use&lt;/strong> any data you load in the warehouse after the offset time has elapsed for that run. For example, &lt;code>pb run --end_time_offset=45m&lt;/code> ensures that RudderStack does not use any data older than 45 minutes from the run’s start time. Note that you can&amp;rsquo;t use this new flag with the &lt;code>seq_no&lt;/code> or &lt;code>end_time&lt;/code> flags.&lt;/li>
&lt;li>You can now import Packages starting with SSH URLs, for example, &lt;code>ssh://git@host:port/path.git&lt;/code>.&lt;/li>
&lt;li>You can run or import projects hosted on S3 as packages by adding &lt;code>block_store_creds&lt;/code> in your &lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/site-configuration-file/" >site configuration&lt;/a> file. To run the project, execute &lt;code>pb run -p s3://&amp;lt;url&amp;gt;&lt;/code> command.&lt;/li>
&lt;li>Running a project with the &lt;code>--migrate_on_load&lt;/code> flag now stores generated artifacts in the output subfolder instead of migrations.&lt;/li>
&lt;li>For an &lt;code>entity_var&lt;/code>/&lt;code>input_var&lt;/code>, the &lt;code>default&lt;/code> key has been renamed to &lt;code>default_value&lt;/code>.&lt;/li>
&lt;li>Simplified the project created using &lt;code>pb init pb-project&lt;/code> by removing the dependency on corelib package , sample SQL model, model contracts and CSV’s in the inputs file.&lt;/li>
&lt;li>RudderStack now uses &lt;code>INNER JOIN&lt;/code> instead of &lt;code>RIGHT JOIN&lt;/code> when calculating &lt;code>entity_vars&lt;/code>. This results in performance improvement and also prevents some values from getting lost.&lt;/li>
&lt;li>Feature view model with &lt;code>main_id&lt;/code> as an identifier is created by default.&lt;/li>
&lt;li>Schema has been updated from 72 to 80.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>By default, RudderStack ignores all the blank values in the ID stitcher model.&lt;/li>
&lt;li>There is a slight aesthetic improvement in HTML reports generated using &lt;code>pb show idstitcher-report&lt;/code> command.&lt;/li>
&lt;li>Relevant errors are now thrown if you specify an unknown YAML key in the model definition.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>validity_time&lt;/code> key has been removed.&lt;/li>
&lt;li>The &lt;code>pb validate access&lt;/code> command, for Databricks, now checks only for the necessary permissions and not for ALL the privileges.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Databricks&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Concurrency does not work for cleanup.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;li>Timegrains is an experimental feature. There might be some undiscovered issues.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0171" data-heading="Version 0.17.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0171">Version 0.17.1&lt;/h2>&lt;p>&lt;em>9 January 2025&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Properly sets the Snowflake connection parameter &lt;code>application&lt;/code> to &lt;code>Rudderstack_Warehouse&lt;/code>.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-017" data-heading="Version 0.17" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-017">Version 0.17&lt;/h2>&lt;p>&lt;em>14 August 2024&lt;/em> &lt;br/>
&lt;em>Schema version: 72&lt;/em>&lt;/p>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.rudderstack.com/docs/archive/profiles/0.25/dev-docs/commands/#plan" >&lt;code>pb show plan&lt;/code>&lt;/a>: A new subcommand is added to show detailed information about the materials with different timegrains along with their dependencies in the order of execution.&lt;/li>
&lt;li>The casing for the input tables names defined using double quotes is preserved in the warehouse. For example, the table defined as &lt;code>table: &amp;quot;TableName&amp;quot;&lt;/code> will be referred as &lt;code>TableName&lt;/code> in the warehouse.&lt;/li>
&lt;li>Schema has been updated from 71 to 72.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Relevant error message is shown if the computed status for a material is not possible.&lt;/li>
&lt;li>An error is thrown if multiple feature views are defined with the same name.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the issue where &lt;code>input_vars&lt;/code> was not getting defined on the packages.&lt;/li>
&lt;li>Resolved the bug where the project was failing due to empty or commented YAML files.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;p>&lt;strong>BigQuery&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Redshift&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Other issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;code>WhtGitCache&lt;/code> to make it work.&lt;/li>
&lt;li>The code for &lt;code>validity_time&lt;/code> is redundant and should be removed.&lt;/li>
&lt;li>Timegrains is an experimental feature. There might be some undiscovered issues.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-0161" data-heading="Version 0.16.1" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-0161">Version 0.16.1&lt;/h2>&lt;p>&lt;em>6 August 2024&lt;/em>&lt;/p>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the concurrency issue where project run was failing because the same ID stitcher model was served as an input source to two models.&lt;/li>
&lt;li>Resolved the ambiguous column issue by using an alias for selecting &lt;code>main_id&lt;/code> in the &lt;code>entity_var&lt;/code>.&lt;/li>
&lt;/ul>
&lt;!-- end-chunk -->
&lt;!-- begin-chunk data-anchor="version-016" data-heading="Version 0.16" data-level="2" data-permalink="https://www.rudderstack.com/docs/archive/profiles/0.25/changelog/" data-title="Profiles Changelog" -->
&lt;h2 id="version-016">Version 0.16&lt;/h2>&lt;p>&lt;em>1 August 2024&lt;/em> &lt;br/>
&lt;em>Schema version: 71&lt;/em>&lt;/p>
&lt;p>&lt;strong>What&amp;rsquo;s New&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>You can now choose between the username-password and key-pair authentication modes while running the &lt;code>pb init connection&lt;/code> command for Snowflake.&lt;/li>
&lt;li>Added support to remove materials based on time in hours and milliseconds. For example, to remove materials older than 3 hours, use &lt;code>pb cleanup materials --retention_time_in_hours 3&lt;/code>. To remove materials older than 100 milliseconds, use &lt;code>pb cleanup materials --retention_time_in_ms 100&lt;/code>.&lt;/li>
&lt;li>Schema has been updated from 69 to 71.&lt;/li>
&lt;li>Edge type &lt;code>preferred&lt;/code> has been renamed to &lt;code>coercive&lt;/code>. Here’s a sample code:&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">example&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_type&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">sql_template&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">model_spec&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">single_sql&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="p">|&lt;/span>&lt;span class="sd">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="sd"> select * from {{this.DeRef(test, dependency = &amp;#34;coercive&amp;#34;)}}&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Improvements&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Changed the casting for timestamp columns for Snowflake, Redshift, and Databricks warehouses to avoid a timestamp with string comparison. &lt;code>CAST(timestamp_column AS TIMESTAMP) &amp;lt; ‘2024-07-28T23:00:00Z’&lt;/code> has been changed to &lt;code>CAST(timestamp_column AS TIMESTAMP) &amp;lt; CAST(‘2024-07-28T23:00:00Z’ AS TIMESTAMP)&lt;/code>&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Bug Fixes&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Fixed the &lt;strong>Sequence number conflict found&lt;/strong> error on BigQuery.&lt;/li>
&lt;li>Fixed the bug in RudderStack dashboard where entities weren’t showing up, in case no features were defined in the project.&lt;/li>
&lt;li>Resolved the intermittent &lt;strong>timeout waiting for python client to initialize&lt;/strong> error for projects using PyNative models.&lt;/li>
&lt;li>Fixed the &lt;strong>directory not empty&lt;/strong> error when Profiles tries to clone a git repository.&lt;/li>
&lt;li>Fixed the issue where the registry entry for materials was not using the same casing due to which the relations were getting created in the warehouse. Now the cleanup is able to delete materials that were skipped earlier due to case mismatch.&lt;/li>
&lt;li>Fixed the issue where the same hash was calculated for different cohorts, as the filter pipeline wasn’t being considered.&lt;/li>
&lt;li>Fixed the issue where some procedures on Snowflake and BigQuery were not getting removed after the run.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Known Issues&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>RudderStack does not support accessing input sources in a different project for the BigQuery warehouse.&lt;/li>
&lt;li>Linux users might see this warning for all command runs - you can ignore it: &lt;code>WARN[0000]log.go:228 gosnowflake.(*defaultLogger).Warn DBUS_SESSION_BUS_ADDRESS envvar looks to be not set, this can lead to runaway dbus-daemon processes. To avoid this, set envvar DBUS_SESSION_BUS_ADDRESS=$XDG_RUNTIME_DIR/bus (if it exists) or DBUS_SESSION_BUS_ADDRESS=/dev/null&lt;/code>.&lt;/li>
&lt;li>Redshift: If two different users create material objects on the same schema, RudderStack gives an error during cleanup when trying to drop views created by the other user, like &lt;code>user_var_table&lt;/code>.&lt;/li>
&lt;li>&lt;code>pb validate access&lt;/code> command does not work for BigQuery.&lt;/li>
&lt;li>&lt;code>pb insert&lt;/code> does not work for Redshift, Databricks, and BigQuery.&lt;/li>
&lt;li>Cross database references can fail on Redshift for a few clusters.&lt;/li>
&lt;li>If you are referring a public package in the project and get &lt;code>ssh: handshake failed error&lt;/code>, then you’ll have to manually remove the entire folder from &lt;em>WhtGitCache&lt;/em> to make it work.&lt;/li>
&lt;li>The code for &lt;code>validity_time&lt;/code> is redundant and should be removed.&lt;/li>
&lt;li>Timegrains is an experimental feature. There might be some undiscovered issues.&lt;/li>
&lt;li>While creating Activations, validation for Redshift does not work correctly in the RudderStack dashboard.&lt;/li>
&lt;/ul></description></item></channel></rss>