Firebolt continuously releases updates so that you can benefit from the latest and most stable service. These updates might happen daily, but we aggregate release notes to cover a longer time period for easier reference. The most recent release notes from the latest version are below.

Firebolt might roll out releases in phases. New features and changes may not yet be available to all accounts on the release date shown.

Firebolt Release Notes - Version 4.22

New Features

Support for Iceberg is now in public preview

Added the READ_ICEBERG() table-valued function, which allows reading from external Iceberg tables, and added Iceberg support to LOCATION with SOURCE = 'ICEBERG'. Documentation for the function is available here and documentation for the new type of location here.

Added the ICU_NORMALIZE function to standardize text formats across locales

Added the ICU_NORMALIZE function to process text based on a specific locale. This helps in standardizing text formats across different languages and regions, ensuring uniformity and compatibility in data outputs. Documentation for the function is available here

Added the AGO(interval) function for subtracting intervals from the current timestamp.

Added the AGO(interval) function, which subtracts the specified interval from the current timestamp. This addition provides users with a convenient way to calculate past dates and times, enhancing time-based data analysis. Documentation for the function is available here.

Added a named parameter INFER_SCHEMA to the READ_CSV function

Added a named parameter INFER_SCHEMA to the READ_CSV function. When INFER_SCHEMA is true, the function determines column data types instead of using TEXT.

Extended Parquet data type support

Added support for reading the following data types from Parquet files:

  • fixed_size_binary as BYTEA
  • uuid as BYTEA
  • time32 and time64 as TIMESTAMP with 1970-01-01 as the date component. Note that time64 with nanosecond precision is truncated to microsecond precision.

Introduced new ingestion related settings Introduced insert_sharding to enforce partition locality during ingestion into partitioned tables. Introduced tablet_min_size_bytes and tablet_max_size_bytes to control min/max tablet sizes during ingestion.

Added an ability to override public settings per query You can now override settings by appending WITH (<setting_1_name> = <setting_1_value>, ...) to queries. This lets you apply settings directly to specific queries without affecting the entire session. Documentation is available here.

Performance Improvements

Rearchitected the Parquet reader for predictable memory usage and improved performance with external tables and READ_PARQUET function. The Parquet reader was rearchitected to provide more predictable memory usage when reading from external tables or using the READ_PARQUET table-valued function. This change improves performance for many Parquet workloads. Users benefit from enhanced memory efficiency and faster query processing. More updates, like applying these changes to the COPY FROM command, are planned for future releases. This improvement is being rolled out gradually over multiple weeks.

UX changes

Introduced a new flow for managing service accounts with enhanced security via improved secret rotation and user associations in any organization account

Introduced a new flow for creating and altering service accounts that enables user associations in any organization account. This improvement simplifies account management and enhances security through an improved process for rotating secrets.

Bug Fixes

Fixed incorrect results when using UNION ALL with overlapping aggregation or join keys followed by further aggregation or joining

Fixed a bug that could cause incorrect results on multi-node engines when doing a UNION ALL over subqueries that have overlapping but separate aggregation or join keys, and then later on aggregating by or joining on these keys.