Changelog
Changelog for the latest releases of the LocalStack for Snowflake
Version | Changes |
---|---|
0.2.2 | Add 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.1 | Add 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.0 | Support 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.26 | Support 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.25 | Enhance 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.24 | Enhance 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.23 | Add initial simple scheduler to periodically run tasks |
0.1.22 | Fix query transforms for ADD COLUMN queries; fix wrapping of VALUES subquery in braces for MERGE queries; add initial CRUD support for TASK s; support DROP PRIMARY KEY queries; migrate use of localstack.http to rolo |
0.1.21 | Add support for consuming table stream records via DML statements |
0.1.20 | Initial 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.19 | Return SELECT results in arrow format for pandas compatibility; add add_months function; fix UDFs with raw expressions; upgrade to Postgres v15; distinguish internal/external VARIANT s; 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.18 | Add 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.17 | Support 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.16 | Add support for SHOW PROCEDURES and SHOW IMPORTED KEYS ; add basic support for session parameters |
0.1.15 | Fix result type conversation for GET_PATH(..) util function |
0.1.14 | Enhance parity around SHOW TABLES/OBJECTS/COLUMNS queries; add more array util functions; fix STRING_AGG for different DISTINCT /GROUP combinations |
0.1.13 | Support some CURRENT_* functions; enhance LISTAGG for distinct values; add test for JS UDFs with exports |
0.1.12 | Cast params for string_agg /listagg ; more parity fixes for upper/lowercase names |
0.1.11 | Enhance 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.10 | Add query transforms for CLUSTER BY ; add SF_S3_ENDPOINT config; more parity fixes |
0.1.9 | Add support for Python UDFs; enhance parity around CREATE OR REPLACE FUNCTION queries; add analytics setup |
0.1.8 | Add SF_LOG config to enable request/response trace logging |
0.1.7 | Add initial support for Snowflake JavaScript UDFs; enhance parity around responses for DB /table creation; enhancements for Snowflake streaming logic |
0.1.6 | Introduce session state to retain DB/schema across queries; support async queries and result_scan(..) |
0.1.5 | Enhance parity around DESCRIBE TABLE results; support MIN_BY /MAX_BY aggregate functions |
0.1.4 | Add logic to parse and replace DB references in queries |
0.1.3 | Add DBEngine abstraction, experimental support for duckdb ; enhance support for JSON queries |
0.1.2 | Add logic to ingest a CSV file from a Snowflake stage into a table |
0.1.1 | Initial support for Kafka connector and snowpipe /streaming APIs |
0.1.0 | Initial release of the extension |