
Announcing the LocalStack for Snowflake 2026.07.0 Release
Introduction
LocalStack for Snowflake 2026.07.0 is now available. This release fixes persistence across container restarts and updates transaction handling for DDL statements. It also addresses query translation issues found in dbt models and other workloads that use CTEs, aggregate aliases, UNPIVOT, QUALIFY, and UNION ALL.
The remaining changes improve metadata queries and JavaScript stored procedure behavior. There are no new SQL functions in this release.
Get a free LocalStack trial to access the latest fixes in LocalStack for Snowflake 2026.07.0.
How to upgrade?
To upgrade to LocalStack for Snowflake 2026.07.0 using the LocalStack CLI, run:
docker pull localstack/snowflake:2026.07.0localstack start --stack snowflakeIf you’re using the lstk CLI, the first run prompts you to select a default emulator. You can select and run the Snowflake emulator from that flow as well.
If you’re using LocalStack for Snowflake with Docker CLI or Docker Compose, you can pin the image version in your docker run command or Docker Compose file to 2026.07.0.
What’s new in LocalStack for Snowflake 2026.07.0?
- Persistence across restarts
- DDL transaction behavior
- SQL function and expression compatibility updates
- Improved parity with Snowflake
- Conclusion
Persistence across restarts
Tables and data created with PERSISTENCE=1 are now available after stopping and restarting the emulator. Startup initialization can run repeatedly against the persisted database without failing on resources that already exist.
Snapshot persistence also skips an unnecessary SQL dump during shutdown. This allows the emulator to save its state within the container shutdown period instead of leaving the persisted state incomplete.
DDL transaction behavior
DDL statements now follow Snowflake transaction behavior. If a CREATE, ALTER, DROP, TRUNCATE, or COMMENT statement runs during an open transaction, the emulator commits that transaction before executing the DDL statement.
As a result, tables created by one session are immediately visible to other sessions. This fixes intermittent object-not-found errors in multi-threaded dbt runs that use pooled connections. GRANT and REVOKE keep the current transaction open, matching Snowflake’s behavior for those statements.
SQL function and expression compatibility updates
This release includes fixes for SQL functions and query expressions used in CTE-heavy and dbt-generated queries:
| Function or expression | Notes |
|---|---|
| MAX / GREATEST | Expressions such as MAX(GREATEST(ts1, ts2)) now resolve ts1 and ts2 as source columns when the same names are also used by aggregate aliases. This avoids an invalid nested aggregate during query translation. |
| UNPIVOT | UNPIVOT now preserves non-unpivoted columns when its source is a CTE defined through SELECT *, including qualified stars, joins, EXCLUDE, and RENAME. |
| COALESCE | Boolean comparisons inside COALESCE now use compatible types when the expression appears under NOT, AND, or a WHERE clause. |
| QUALIFY / UNION ALL | A QUALIFY branch that selects * through a CTE chain can now be combined with other UNION ALL branches without adding an internal window column to that branch. |
Improved parity with Snowflake
We have made several additional changes to match Snowflake behavior:
SHOW USER FUNCTIONSnow limits results to the requested schema. Internal emulator functions are omitted, so dbt relation discovery no longer fails while populating its cache.- Scripting keywords such as
loop,while, andcursorcan now be used as table aliases and column qualifiers with fully qualified table names. This applies to standalone queries and views generated by dbt. - JavaScript stored procedures now support both documented forms of
ResultSet.getColumnValue(): a one-based column index or a column name. Unknown names and indexes return a Snowflake-style error.
Conclusion
LocalStack for Snowflake 2026.07.0 is a maintenance release focused on persistence, transaction behavior, and SQL compatibility. Existing dbt projects and test suites should encounter fewer failures around cross-session DDL visibility, CTE column resolution, aggregate aliases, and stored procedure result access.
Sign up for a free trial or upgrade to LocalStack for Snowflake 2026.07.0 to use these fixes in your local development environment.