From 6cbbc19a9098c982e0f060bd9f5701928564777a Mon Sep 17 00:00:00 2001 From: ebembi-crdb <169454390+ebembi-crdb@users.noreply.github.com> Date: Wed, 27 May 2026 18:00:19 +0530 Subject: [PATCH] Add release notes for v26.2.1 --- src/current/v26.2/release-v26.2.1.md | 58 ++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/current/v26.2/release-v26.2.1.md diff --git a/src/current/v26.2/release-v26.2.1.md b/src/current/v26.2/release-v26.2.1.md new file mode 100644 index 00000000000..2c6c5f3b729 --- /dev/null +++ b/src/current/v26.2/release-v26.2.1.md @@ -0,0 +1,58 @@ +## v26.2.1 + +Release Date: April 15, 2026 + +{% include releases/new-release-downloads-docker-image.md release=include.release %} + +

SQL language changes

+ +- Changed the `canary_stats_mode` session variable values from `off`/`on` to `force_stable`/`force_canary`, letting you opt in per session without enabling canary statistics cluster-wide. +- Added the cluster setting `sql.stats.table_statistics_cache.capacity`, which controls the maximum number of tables whose statistics are kept in memory. +- Added the `optimizer_span_limit` session variable, which lets you cap how many spans query planning can generate for a constrained index scan when large `IN` lists would otherwise create too many spans. + +

Operational changes

+ +- Added the `mma.overloaded_store..skipped` gauges, which help you track overloaded stores that were detected but deferred from rebalancing in the current pass. + - `lease_grace` + - `short_dur` + - `medium_dur` + - `long_dur` + + For each bucket, `success + failure + skipped` now matches the total number of overloaded stores observed. +- Three new admission control metrics are now available for monitoring disk bandwidth token usage: admission.granter.disk_write_byte_tokens_used.regular.kv, admission.granter.disk_write_byte_tokens_used.elastic.kv, and admission.granter.disk_write_byte_tokens_used.snapshot.kv. The existing admission.granter.disk_write_byte_tokens_exhausted_duration.kv metric is now marked as essential and will appear on the Overload dashboard. +- Documented the following cluster settings: + - `obs.ash.enabled` + - `obs.ash.sample_interval` + - `obs.ash.buffer_size` + - `obs.ash.log_interval` + - `obs.ash.log_top_n` + - `obs.ash.response_limit` + +

Bug fixes

+ +- Fixed a bug where query planning could hang when you ran a query with a `JOIN` and a `LIMIT` value greater than `4294967295`.This is edited draft +- Fixed a bug where using the pgwire extended query protocol to prepare a statement after rolling back to a savepoint could cause an internal error ("read sequence number is ignored after savepoint rollback"). This affected client drivers that use the Parse message (extended protocol) rather than simple query execution. +- Fixed a bug where histogram charts in the **DB Console** could show zero values for virtual clusters even when metrics had data. Edited +- Fixed a bug where the **Jobs** page could show duplicate titles when viewed in the **CockroachDB Cloud Console** with **new navigation** enabled. +- Fixed a bug where `IMPORT INTO` from Parquet files could crash a node when you specified a target column list that omitted a non-final table column, which could also lead to repeated node crashes as the import job moved between nodes. +- Fixed a bug where opening the **DB Console** with the `?cluster=` URL parameter could hide the **OIDC login** button and prevent OpenID Connect (OIDC) sign-in for non-default virtual clusters. +- Updated the `storage.compression.cr` metric to include blob files, improving the accuracy of the reported compression ratio. +- Fixed a bug that could cause a node to crash during startup if rebalancing ran before any stores were available. +- Fixed a rare bug that could crash a node while running internal SQL queries. +- Fixed a rare nil pointer dereference panic in the tenant capabilities watcher that could occur when a tenant entry was removed before it was fully populated by the rangefeed. +- Fixed a bug where long-running `BACKUP` operations to Amazon S3 using `AUTH=implicit` could fail with credential-expiration errors (for example, `ExpiredToken`) during credential rotation. +- Fixed a data race in the multi-metric allocator between gossip-driven store load updates and concurrent lease/replica rebalancing decisions. +- Fixed a bug where `RESTORE TABLE` could fail with a descriptor rewrite error when restoring a multi-region table from a backup taken while an `ALTER TABLE ... SET LOCALITY` schema change was in progress. +- Fixed a bug where Physical Cluster Replication (PCR) reader tenants could fail to authenticate after replication progressed, causing your SQL connections to fail with `descriptor not found`. +- Fixed a bug where `CREATE VECTOR INDEX` could crash during backfill and fail the schema change when the table had a virtual computed column defined before the vector column. +- Fixed a bug where unqualified function calls could fail with misleading privilege errors when multiple databases had identically named functions in custom schemas and a query plan was reused across databases. +- A physical cluster replication reader tenant no longer fails authentication and other queries with errors of the form "resolved to but found no descriptor with id " after the reader tenant ingests a system table at an ID different from the one it was bootstrapped with. Previously, a per-node namespace cache could pin the bootstrap-time ID and require a tenant restart to recover. +- Stopped logging a spurious "declarative schema changer does not support DISCARD" message every time a DISCARD statement was executed. The message had no functional impact but could produce very high log volume on busy clusters that issue DISCARD on every connection checkout. +- Fixed a bug where `ALTER TABLE ... DROP CONSTRAINT , ADD PRIMARY KEY (...)` could leave behind an unintended unique secondary index on the former primary key columns. +- Fixed a bug where users could see an empty **Databases** page in the **DB Console** or get `404` responses even when they had `CONNECT` privileges through role membership. +- Fixed a bug where setting `AWS_SKIP_CHECKSUM=true` for S3-compatible external storage might not disable checksums for multipart uploads, which could cause uploads to fail on services that do not support CRC checksums. +- Fixed a bug where transient I/O errors reading from the AbortSpan were misidentified as replica corruption, causing the node to crash. These errors are now returned to the caller as regular errors. Epic: none + +

Build changes

+ +- Migrated cluster-ui npm publishing workflow to OIDC trusted publishers.