v26.2 Changelog for Cloud

[Edit this page](https://github.com/ClickHouse/clickhouse-docs/blob/main/docs/cloud/reference/01_changelog/02_release_notes/26_2.md)

## Backward Incompatible Changes[​](#backward-incompatible-changes "Direct link to Backward Incompatible Changes")

### Query and syntax changes[​](#query-and-syntax-changes "Direct link to Query and syntax changes")

- Fixed inconsistent query formatting caused by incorrect alias substitution. Note: when the analyzer is disabled, certain `CREATE VIEW` queries that use `IN` with an alias reference may no longer be processed. To avoid this, ensure the analyzer is enabled (it has been enabled by default since 24.3). [#82838](https://github.com/ClickHouse/ClickHouse/pull/82838) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- An empty column list in `JOIN USING ()` is now a syntax error. Previously, this was reported as `INVALID_JOIN_ON_EXPRESSION` at query execution time, and in some cases (such as joining with `Join` storage) could cause a `LOGICAL_ERROR`. [#92371](https://github.com/ClickHouse/ClickHouse/pull/92371) ([Vladimir Cherkasov](https://github.com/vdimir)).
- Subqueries are no longer allowed in `ORDER BY` and other table key expressions. [#96847](https://github.com/ClickHouse/ClickHouse/pull/96847) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

### Data type changes[​](#data-type-changes "Direct link to Data type changes")

- Added support for `Nullable(Tuple)`. To enable it, set `allow_experimental_nullable_tuple_type = 1`. [#89643](https://github.com/ClickHouse/ClickHouse/pull/89643) ([Nihal Z. Miaji](https://github.com/nihalzp)).
- Advanced shared data for the JSON type is now enabled by default. Downgrading to versions earlier than 25.8 will not be possible, as older versions cannot read data parts written with the new JSON format. For safe upgrades, set the `compatibility` setting to the previous version, or set MergeTree settings `dynamic_serialization_version='v2'` and `object_serialization_version='v2'`. [#92511](https://github.com/ClickHouse/ClickHouse/pull/92511) ([Pavel Kruglov](https://github.com/Avogar)).
- `SKIP REGEXP` in the JSON type now uses partial matching by default. [#92847](https://github.com/ClickHouse/ClickHouse/pull/92847) ([Pavel Kruglov](https://github.com/Avogar)).
- Fixed a logical error that occurred on `Variant` type mismatch. [#95811](https://github.com/ClickHouse/ClickHouse/pull/95811) ([Bharat Nallan](https://github.com/bharatnc)).
- `DATE` columns from PostgreSQL are now inferred as `Date32` in ClickHouse (previously they were inferred as `Date`, which could overflow for values outside its narrow range). Inserting `Date32` values back to PostgreSQL is also now supported. [#95999](https://github.com/ClickHouse/ClickHouse/pull/95999) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

### Storage and index changes[​](#storage-and-index-changes "Direct link to Storage and index changes")

- Improved the storage layout of the inverted text index for more efficient reads from object storage, along with better merge performance for tables with inverted text indexes. If you used the experimental text index before version 25.12, you must drop the index before upgrading and rebuild it on the new version. [#91518](https://github.com/ClickHouse/ClickHouse/pull/91518) ([Anton Popov](https://github.com/CurtizJ)).
- The storage format for statistics has changed — all statistics are now stored in a single file. [#93414](https://github.com/ClickHouse/ClickHouse/pull/93414) ([Anton Popov](https://github.com/CurtizJ)).
- Index filenames are now escaped to prevent broken parts. ClickHouse will fail to load indices with non-ASCII characters in their name that were created by previous versions. To handle this, use the MergeTree setting `escape_index_filenames`. [#94079](https://github.com/ClickHouse/ClickHouse/pull/94079) ([Raúl Marín](https://github.com/Algunenano)).

### Removed features[​](#removed-features "Direct link to Removed features")

- The `DEFLATE_QPL` and `ZSTD_QAT` codecs have been removed. Convert any existing data compressed with these codecs to another codec before upgrading. Note that using these codecs previously required enabling `enable_deflate_qpl_codec` or `enable_zstd_qat_codec`. [#92150](https://github.com/ClickHouse/ClickHouse/pull/92150) ([Robert Schulze](https://github.com/rschu1ze)).
- `INSERT` into simple `ALIAS` columns is no longer supported (reverts [#84154](https://github.com/ClickHouse/ClickHouse/issues/84154)). This feature did not work with custom formats and was not guarded by a setting. [#92849](https://github.com/ClickHouse/ClickHouse/pull/92849) ([Azat Khuzhin](https://github.com/azat)).
- The `Lazy` database engine has been removed and is no longer available. [#93627](https://github.com/ClickHouse/ClickHouse/pull/93627) ([Alexey Milovidov](https://github.com/alexey-milovidov)).
- The `transposed_with_wide_view` mode of `metric_log` has been removed due to a bug that made it unusable. It is no longer possible to define `system.metric_log` with this mode. [#93867](https://github.com/ClickHouse/ClickHouse/pull/93867) ([Alexey Milovidov](https://github.com/alexey-milovidov)).

### Settings and configuration changes[​](#settings-and-configuration-changes "Direct link to Settings and configuration changes")

- A new setting now throws an error if a data lake catalog does not have access to object storage. [#93606](https://github.com/ClickHouse/ClickHouse/pull/93606) ([Konstantin Vedernikov](https://github.com/scanhex12)).
- CPU scheduling for workloads is now preemptive by default. See the `cpu_slot_preemption` server setting. [#94060](https://github.com/ClickHouse/ClickHouse/pull/94060) ([Sergei Trifonov](https://github.com/serxa)).
- The settings `exact_rows_before_limit`, `rows_before_aggregation`, `cross_to_inner_join_rewrite`, `regexp_dict_allow_hyperscan`, `regexp_dict_flag_case_insensitive`, `regexp_dict_flag_dotall`, and `dictionary_use_async_executor` have been reclassified from format settings to regular settings. This is mostly an internal change with no user-visible side effects, unless you specified any of these in an Iceberg, DeltaLake, Kafka, S3, S3Queue, Azure, Hive, RabbitMQ, Set, FileLog, or NATS table engine definition — in which case, such definitions will now throw an error instead of silently ignoring them. [#94106](https://github.com/ClickHouse/ClickHouse/pull/94106) ([Robert Schulze](https://github.com/rschu1ze)).
- The semantics of `do_not_merge_across_partitions_select_final` have been simplified. Previously, the feature could be automatically enabled even when not explicitly set, which caused confusion and production issues. Now: setting it to `1` enables the functionality unconditionally, and setting it to `0` defers to the new setting `enable_automatic_decision_for_merging_across_partitions_for_final` (default `1`). [#96110](https://github.com/ClickHouse/ClickHouse/pull/96110) ([Nikita Taranov](https://github.com/nickitat)).
- Added S3 schema validation. [#96194](https://github.com/ClickHouse/ClickHouse/pull/96194) ([Konstantin Vedernikov](https://github.com/scanhex12)).
- The `apply_row_policy_after_final` setting is now enabled by default, ensuring that `ROW POLICY` respects `FINAL` as it did originally. If you previously relied on `optimize_move_to_prewhere_if_final=1` to apply row policies before `FINAL`, use `apply_row_policy_after_final=0` instead. [#97279](https://github.com/ClickHouse/ClickHouse/pull/97279) ([Nikolai Kochetov](https://github.com/KochetovNicolai)).

### Security and access control changes[​](#security-and-access-control-changes "Direct link to Security and access control changes")