Changelog

Changelog for the latest releases of the LocalStack for Snowflake
VersionChanges
0.2.4Support POWER/POW/DIV0NULL/IFNULL functions; Add support for COPY INTO location; Add initial support for table/database clones; Establish parity with snowflake when csv imports; Allow binding multiple values; Fix database and schema names in copy into table; Fix executeUpdate in JDBC; Support ORDER and NOORDER from AUTOINCREMENT column def; Add initial logic and tests for replicating resources between accounts; Convert empty csv values to null; Add support and tests for LATERAL queries; Add initial support for EXECUTE IMMEDIATE; Add initial support for tags; Add identifier support to SELECT queries; Fix inserting timestamp values correctly; Fix timestamps in insert for current_timestamp; Add support for init scripts; Fix handling timestamp values on update; Add support for DESCRIBE STAG; Add initial support for storage integrations; Enhance parity of TIMESTAMP_LTZ; Create clone db using identifiers; Add mock support for replication databases to fix TF issues; Fix logic for setting session parameters; Add support for some extended GRANT statements; Support ALTER SEQUENCE; Support creating stages with storage integrations; Terraform create database fixes; Improve general error handling; Add initial support for SHOW GRANTS TO/OF
0.2.3Add initial support for OBJECT_KEYS/PARSE_IP/DESCRIBE FUNCTION functions; add support for DATE_TRUNC/NVL2/LEAST/GREATEST/COALESCE/SPLIT/FLOOR/DATE_FROM_PARTS/LAST_QUERY_ID/INITCAP/LEAD/LAG/DATEDIFF/TIMEDIFF/HASH/ANY_VALUE/CONTAINS/BETWEEN/MODE/AVG/CBRT/CEIL/ZEROIFNULL/ARRAY_UNIQUE_AGG/DEGREES/RADIANS/EXP/REPEAT/REVERSE/SQRT/ASCII/LOG/LN/IS_NULL_VALUE function; enhance parity for creation/deletion of schemas with fully qualified names; enhance parity for inserting timestamps with subsecond precision; enhance parity for CTAS with nested subqueries; enhance parity for id placeholders in JDBC prepared statements; enhance parity for metadata queries and schema lookup with fully qualified table names; MIN_BY/MAX_BY aggregate functions adjustments; Properly extract db/schema parameters for JDBC connections; Implement trigonometric and hyperbolic functions; Add support for GET stage files
0.2.2Add initial support for hybrid tables, and dynamic tables; add support for OBJECT_CONSTRUCT_KEEP_NULL/AS_DOUBLE/AS_INTEGER/AS_NUMBER/AS_CHAR; add /result API endpoint to retrieve query results; track original types in internal VARIANTs; enhance parity for SHOW WAREHOUSES queries; support for SHOW TASKS; enhance parsing of stage params; fix selection of columns when querying stage files; automatically adjust PG JIT support if LLVM libs are missing; enhance custom JSON parsing to allow escaped characters; enhance parity of TIMESTAMP_LTZ for Flyway compatibility
0.2.1Add initial support for Iceberg tables; wrap variant args in TO_VARIANT, based on SF function metadata; initial support for external volumes; initial support for Snowflake pipes; support LIST/REMOVE queries for staged files; support SHOW PIPES queries; support COPY GRANTS in CREATE TABLE queries; add new SQL functions: REPLACE/REGEXP_REPLACE/TIMEDIFF/DATEADD/OBJECT_INSERT/OBJECT_DELETE/NVL/LTRIM/RTRIM/TRIM/NULLIF/NULLIFZERO/CHECK_XML/BITSHIFTLEFT/BITSHIFTRIGHT/BITXOR/BITOR/BITNOT/DIV0/SEQ8; implement RANK/DENSE_RANK; implement AS_ARRAY/AS_BOOLEAN/AS_BINARY/TO_OBJECT conversion functions; enhance logic for TO_CHAR; enhance parity for timestamp types/aliases; support window queries with QUALIFY; support COUNT_IF aggregate functions; make CREATE SERVER queries idempotent; fix CURRENT_VERSION() and SHOW TABLES for better Flyway compatibility; introduce SF_HOSTNAME_REGEX config to expose SF routes on custom domains; override for native operators to allow comparison of VARIANT and mixed types; add MUI data-grid for results table in UI; add squashing of Docker image to reduce image size
0.2.0Support BITAND, FLATTEN, RANDOM, RANDSTR, UUID_STRING, RATIO_TO_REPORT SQL functions (among others); add Snowflake proxy request handler; add initial version of simple UI view to run queries, configure the proxy, and inspect logs; fix execution of CTAS queries with UNION selects; fix logic for PUT file uploads to stages via JDBC driver; support parsing incomplete JSON with missing list items; enhance support for TABLESAMPLE queries; enhance parity for Snowflake timestamp data types; modulo operation for numbers with mixed types/signs; enhanced support for SHOW PARAMETERS; table column definitions with nextval sequence auto-increment; initial CRUD support for STREAMLIT queries; enhance parity for CREATE SEQUENCE; better support for FILE FORMAT queries; remove NOT NULL constraints from column definitions in CTAS queries; initial support for GRANT ROLE statements; initial support for temporary and transient tables; add support for some trigonometric functions; add Snowflake v2 SQL APIs; add fix for describeOnly INSERT queries to avoid duplicate inserts
0.1.26Support CONVERT_TIMEZONE, IFF SQL functions; implement ALTER WAREHOUSE as no-op; implement time functions HOUR/MINUTE/SECOND; enhance parity for running queries via JDBC driver; fix Arrow encoding for columns with NULL scalar values; enhance support for system$cancel_all_queries; support empty braces on column types; support running SQL queries from within JS UDFs; execute JS functions via node.js instead of plv8; add support for INFORMATION_SCHEMA.PROCEDURES; parity fixes in column types; add CSV_IMPORT_MAX_ROWS config; refactor QueryProcessor interface to return initialize_db queries; enhance performance of CSV imports by using psql directly; implement DAYOFWEEKISO/DAYOFWEEK; support parsing of variable assignments with nested structures; enhance parity for queries with DB identifiers containing dots; add initial support for loading data from public S3 buckets; add initial support for SHOW IMPORTED KEYS; extend persistence mechanism to store Postgres state file assets; convert result row cells to string for JSON result encoding
0.1.25Enhance support for SHOW USERS/ROLES/WAREHOUSES/FUNCTIONS/STAGES queries; initial persistence support for Snowflake store; enhance parity for timestamp types; fix SHOW PARAMETERS for Terraform compatibility; set up CI build for localstack/snowflake Docker image
0.1.24Enhance parity around user-defined PROCEDUREs; fix upper-casing for result of CURRENT_SCHEMA() function and information_schema queries; enhance support for UNIQUE column constraints; add initial support for cross-DB resource sharing
0.1.23Add initial simple scheduler to periodically run tasks
0.1.22Fix query transforms for ADD COLUMN queries; fix wrapping of VALUES subquery in braces for MERGE queries; add initial CRUD support for TASKs; support DROP PRIMARY KEY queries; migrate use of localstack.http to rolo
0.1.21Add support for consuming table stream records via DML statements
0.1.20Initial simple support for table streams; add support for SHOW DATABASES, SHOW VIEWS; enhance parity for Arrow results of TIMESTAMP_NTZ values; more refactoring into QueryProcessor classes; fix identifier uppercasing for ALTER TABLE queries; fix extraction of DB name from CREATE SCHEMA queries
0.1.19Return SELECT results in arrow format for pandas compatibility; add add_months function; fix UDFs with raw expressions; upgrade to Postgres v15; distinguish internal/external VARIANTs; print query processors in CI logs; enable lazy installation of plv8 extension; enhance parity around CREATE VIEW queries; extend analytics; return row_count for UPDATE queries; add statementTypeId
0.1.18Add support for various array and aggregation functions; enhance FILE FORMAT operations; fix CTAS (Create Table AS) queries; support INFER_SCHEMA(..) for getting schema from parquet files; better handling of upper/lowercase identifiers
0.1.17Support creation/deletion of stages; add IS_ARRAY function; remove DuckDB based DB engine; refactor codebase to use QueryProcessor interface; enhance proper handling of column names for table aliases
0.1.16Add support for SHOW PROCEDURES and SHOW IMPORTED KEYS; add basic support for session parameters
0.1.15Fix result type conversation for GET_PATH(..) util function
0.1.14Enhance parity around SHOW TABLES/OBJECTS/COLUMNS queries; add more array util functions; fix STRING_AGG for different DISTINCT/GROUP combinations
0.1.13Support some CURRENT_* functions; enhance LISTAGG for distinct values; add test for JS UDFs with exports
0.1.12Cast params for string_agg/listagg; more parity fixes for upper/lowercase names
0.1.11Enhance parity for array aggregation functions; enhance parity around subqueries and timestamp timezones; add logic to keep track of case-sensitive db/table identifiers
0.1.10Add query transforms for CLUSTER BY; add SF_S3_ENDPOINT config; more parity fixes
0.1.9Add support for Python UDFs; enhance parity around CREATE OR REPLACE FUNCTION queries; add analytics setup
0.1.8Add SF_LOG config to enable request/response trace logging
0.1.7Add initial support for Snowflake JavaScript UDFs; enhance parity around responses for DB/table creation; enhancements for Snowflake streaming logic
0.1.6Introduce session state to retain DB/schema across queries; support async queries and result_scan(..)
0.1.5Enhance parity around DESCRIBE TABLE results; support MIN_BY/MAX_BY aggregate functions
0.1.4Add logic to parse and replace DB references in queries
0.1.3Add DBEngine abstraction, experimental support for duckdb; enhance support for JSON queries
0.1.2Add logic to ingest a CSV file from a Snowflake stage into a table
0.1.1Initial support for Kafka connector and snowpipe/streaming APIs
0.1.0Initial release of the extension