LocalStack LogoLocalStack Icon

Announcing the LocalStack for Snowflake 1.6 Release

LocalStack for Snowflake 1.6 improves Iceberg integration for AWS S3 Tables and Polaris vended credentials, introduces new SQL functions, and delivers targeted parity updates.

Announcing the LocalStack for Snowflake 1.6 Release

Introduction

LocalStack for Snowflake 1.6 focuses on compatibility improvements for Iceberg workflows, SQL function coverage, and response-shape parity for common client integrations. This release expands Iceberg table support by enabling direct integration with AWS S3 Tables and improving Polaris catalog integrations with access delegation mode support.

Beyond Iceberg enhancements, version 1.6 adds new SQL functions commonly used in data transformation and validation workflows, and introduces targeted parity improvements across cross-database SELECT statements, stage GET/PUT behavior, numeric casting for large values, and connector-compatible DML stats metadata.

Get your free LocalStack trial to access the latest features in LocalStack for Snowflake 1.6!

How to upgrade?

To upgrade to LocalStack for Snowflake 1.6 using the LocalStack CLI, run:

Terminal window
docker pull localstack/snowflake:1.6.0
localstack start --stack snowflake

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 1.6.0.

What’s new in LocalStack for Snowflake 1.6?

Iceberg integration improvements

The Iceberg support has been expanded with targeted improvements for external REST catalogs and table reuse workflows.

Integrate Snowflake Iceberg tables with AWS S3 Tables

The Snowflake emulator now supports the CATALOG_TABLE_NAME parameter for CREATE ICEBERG TABLE, allowing Iceberg tables to reference existing tables in an external REST catalog (for example, AWS S3 Tables) instead of creating a new catalog table implicitly.

When CATALOG_TABLE_NAME is provided without explicit column definitions, the emulator infers the table schema from the external catalog table definition, enabling a simpler local workflow when the external table already exists.

Support access delegation mode in Polaris catalog integrations

The Snowflake emulator now supports ACCESS_DELEGATION_MODE within REST_CONFIG for CREATE CATALOG INTEGRATION when using Polaris-style REST catalogs. This enables vended-credential flows (for example, ACCESS_DELEGATION_MODE='VENDED_CREDENTIALS') and simplifies Iceberg table creation by removing the need for external volumes and separate IAM role wiring in common Polaris setups.

Support for several new SQL functions

We have added support for several new SQL functions in LocalStack for Snowflake. The new functions include:

FunctionNotes
REGEXP_LIKEReturns TRUE if a string matches a regular expression pattern. Supports RLIKE and REGEXP aliases and the parameters flags (c, i, m, s).
TRY_PARSE_JSONParses a string as JSON and returns a VARIANT value or NULL if parsing fails. Supports the optional duplicate-key parameter ('s' strict / 'd' allow).
SPLIT_PARTSplits a string by a delimiter and returns the requested part (supports negative indices; returns empty string when out of bounds).
STRIP_NULL_VALUERemoves object attributes with NULL values from a semi-structured value (e.g., VARIANT/OBJECT).

Improved parity with Snowflake

We have made several enhancements to LocalStack for Snowflake to improve compatibility with the Snowflake service. These include:

  • Added stats metadata to query responses for DML operations (INSERT, UPDATE, DELETE).
  • Enhanced support for large numeric literals and mixed DECIMAL/DOUBLE values in VALUES(..) clauses.
  • Updated embedded Apache NiFi to version 2.7.1, aligning Openflow parity with upstream updates.
  • Enabled cross-database queries in standalone SELECT statements by extending the existing cross-database access mechanism beyond CREATE VIEW/TABLE queries.
  • Improved dynamic table query handling by supporting multi-line CREATE DYNAMIC TABLE statements and adding support for DROP DYNAMIC TABLE IF EXISTS.
  • Enhanced parity for TO_DATE(..) with large datetime values (for example, years greater than 9999) by improving parsing and conversion logic for large date strings.
  • Enhanced SHOW OBJECTS output by populating the rows column from backend table statistics.
  • Improved stage file operations by verifying the Accept header for GET/PUT statements and by enhancing PUT/GET response fields, including correct stageInfo.location resolution and additional StageStorageInfo fields.

Conclusion

LocalStack for Snowflake 1.6 continues to focus on high-signal compatibility improvements for local Snowflake development. The Iceberg enhancements for AWS S3 Tables and Polaris catalog integrations, combined with new SQL functions and targeted parity fixes for query execution and response behavior, make it easier to run realistic Snowflake workflows locally with fewer connector and client discrepancies.

Sign up for a free trial or upgrade to LocalStack for Snowflake 1.6 to leverage these improvements in your local development environment.


Harsh Mishra
Harsh Mishra
Engineer at LocalStack
Harsh Mishra is an Engineer at LocalStack and AWS Community Builder. Harsh has previously worked at HackerRank, Red Hat, and Quansight, and specialized in DevOps, Platform Engineering, and CI/CD pipelines.