diff --git a/content/en/references/changelog/index.md b/content/en/references/changelog/index.md index e7db950..0428b43 100644 --- a/content/en/references/changelog/index.md +++ b/content/en/references/changelog/index.md @@ -9,36 +9,37 @@ cascade: hide_readingtime: true --- -| Version | Changes | -|-----------|-----------------------------------------------------------------------------------------------------------------------| -| 0.2.3 | Add 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.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 | +| Version | Changes | +|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 0.2.4 | Support `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.3 | Add 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.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 |