Skip to content

Release Notes for v25.3-v25.3.0-alpha.2 #19782

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/current/_data/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8743,3 +8743,31 @@
docker_arm_experimental: false
docker_arm_limited_access: false
source: true


- release_name: v25.3.0-alpha.2
major_version: v25.3
release_date: '2025-06-16'
release_type: Testing
go_version: go1.23.7
sha: 5ccd93e6229fab8737eb2991f3116faa58ea1aec
has_sql_only: true
has_sha256sum: true
mac:
mac_arm: true
mac_arm_experimental: true
mac_arm_limited_access: false
windows: true
linux:
linux_arm: true
linux_arm_experimental: false
linux_arm_limited_access: false
linux_intel_fips: true
linux_arm_fips: false
docker:
docker_image: cockroachdb/cockroach-unstable
docker_arm: true
docker_arm_experimental: false
docker_arm_limited_access: false
source: true
previous_release: v25.3.0-alpha.1
76 changes: 76 additions & 0 deletions src/current/_includes/releases/v25.3/v25.3.0-alpha.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
## v25.3.0-alpha.2

Release Date: June 16, 2025

{% include releases/new-release-downloads-docker-image.md release=include.release %}

<h3 id="v25-3-0-alpha-2-general-changes">General changes</h3>

- Changefeed source metadata now includes the `crdb_internal_table_id` field, enabling downstream consumers to uniquely identify tables even if table names change.
[#147341][#147341]
- Changefeeds emitting to Kafka sinks that were created in CockroachDB v24.2.1+, or v23.2.10+ and v24.1.4+ with the `changefeed.new_kafka_sink.enabled` cluster setting enabled now include the message key, size, and MVCC timestamp in message too large error logs.
[#147543][#147543]

<h3 id="v25-3-0-alpha-2-sql-language-changes">SQL language changes</h3>

- Added support for query tagging, which allows users to add query tags to their SQL statements via comments. These query tags are included in:
- All log entries generated during the execution of a SQL statement and are prefixed by `querytag-`.
- Traces and are prefixed by `querytag-`.
- In the `crdb_internal.cluster_execution_insights` and `crdb_internal.node_execution_insights` virtual tables in a new `query_tags` JSONB column.
This feature is disabled by default and can be enabled using the `sql.sqlcommenter.enabled` cluster setting. Comments must follow the [SQLCommenter specification](https://google.github.io/sqlcommenter/spec/). [#145435][#145435]
- Added a session variable `initial_retry_backoff_for_read_committed` that controls the initial backoff duration when retrying an individual statement in an explicit `READ COMMITTED` transaction. A duration of `0` disables exponential backoff. If a statement in an explicit `READ COMMITTED` transaction is failing with the `40001` error `ERROR: restart transaction: read committed retry limit exceeded; set by max_retries_for_read_committed=...`, then you should set `initial_retry_backoff_for_read_committed` to a duration proportional to the typical execution time of the statement (in addition to also increasing `max_retries_for_read_committed`). [#146860][#146860]
- Added the `SHOW CREATE ALL ROUTINES` statement, which can be used to show `CREATE` statements for all user-defined functions (UDFs) and procedures in the current database.
[#147452][#147452]
- Added the metrics `sql.txn.auto_retry.count` and `sql.statements.auto_retry.count`, which count the number of automatic retries of SQL transactions and statements, respectively, within the database. These metrics differ from the related `txn.restarts.*` metrics, which count retryable errors emitted by the KV layer that must be retried. The new `sql.txn.auto_retry.count` and `sql.statements.auto_retry.count` metrics count auto-retry actions taken by the SQL layer in response to some of those retryable errors.
[#147682][#147682]
- Increased the default value for the `max_retries_for_read_committed` session variable from `10` to `100`. Testing has shown that some high-contention workloads running under `READ COMMITTED` isolation benefit from more statement retries. [#147869][#147869]
- The session variable `initial_retry_backoff_for_read_committed` now defaults to `2` (milliseconds). Testing has shown that some high-contention workloads running under `READ COMMITTED` isolation benefit from exponential backoff. `2` might be too quick of an initial backoff for longer-running statements, but setting this value much higher than the normal duration of execution will cause excessive delay. [#147869][#147869]

<h3 id="v25-3-0-alpha-2-operational-changes">Operational changes</h3>

- Added an `alter_changefeed` structured log event to provide more visibility into when an `ALTER CHANGEFEED` event occurred and what changed.
[#147679][#147679]
- Added new timeseries metrics to the `storage.value_separation.*` namespace for observing the behavior of storage engine value separation.
[#147728][#147728]

<h3 id="v25-3-0-alpha-2-db-console-changes">DB Console changes</h3>

- The Hot Ranges page node filter has been moved out of the main filter container and now filters nodes on the backend to reduce load time.
[#147089][#147089]
- The Insights page in the DB Console now displays SQL commenter query tags for statement executions. These tags provide application context (such as application name, user ID, or feature flags) embedded in SQL comments using the `sqlcommenter` format. This information can help correlate slow query performance with specific application states. The Query Tags column is available in the Statement Executions view's Statement Insights table, but it is hidden by default. To display it, use the Columns selector.
[#147439][#147439]
- Retry counts for statements executing under `READ COMMITTED` isolation are now more accurate.
[#147682][#147682]

<h3 id="v25-3-0-alpha-2-bug-fixes">Bug fixes</h3>

- Fixed an issue where self-referencing triggers did not have their dependencies properly recorded, which could lead to broken dependencies. [#147018][#147018]
- Fixed a security issue where optimizer predicate reordering could leak information about hidden rows protected by row-level security (RLS) policies. [#147348][#147348]
- Fixed a bug on the SQL Activity Statements and Transactions pages where the time picker failed to support sub-hour time ranges when `sql.stats.aggregation.interval` was set to a value under 1 hour. Previously, selecting a short time window (e.g., 10 minutes) would query for a full hour of data. This fix ensures that the selected time range is respected, enabling more precise analysis of recent activity. [#147447][#147447]
- `FUNCTION` and `PROCEDURE` are now shown via `\h SHOW CREATE` in the CLI doc. [#147666][#147666]
- Fixed a bug where functions lost their row-level security (RLS) policy backreferences, leading to schema change failures. [#147696][#147696]
- Fixed a bug where `ALTER TABLE` was modifying identity attributes on columns not backed by a sequence. [#147698][#147698]
- Fixed an error in `crdb_internal.table_spans` when a table's schema had been dropped. [#147766][#147766]
- Fixed a bug where introspection queries (e.g., querying the `crdb_internal` system catalog) could fail if a dropped constraint referenced a column that was also being dropped. [#147773][#147773]
- Fixed a bug where adding multiple columns in a single statement with `AddGeometryColumn` would cause runtime errors. [#147998][#147998]

[#147018]: https://github.com/cockroachdb/cockroach/pull/147018
[#147348]: https://github.com/cockroachdb/cockroach/pull/147348
[#147447]: https://github.com/cockroachdb/cockroach/pull/147447
[#147543]: https://github.com/cockroachdb/cockroach/pull/147543
[#146860]: https://github.com/cockroachdb/cockroach/pull/146860
[#147682]: https://github.com/cockroachdb/cockroach/pull/147682
[#147679]: https://github.com/cockroachdb/cockroach/pull/147679
[#147089]: https://github.com/cockroachdb/cockroach/pull/147089
[#147666]: https://github.com/cockroachdb/cockroach/pull/147666
[#147698]: https://github.com/cockroachdb/cockroach/pull/147698
[#147773]: https://github.com/cockroachdb/cockroach/pull/147773
[#147998]: https://github.com/cockroachdb/cockroach/pull/147998
[#145435]: https://github.com/cockroachdb/cockroach/pull/145435
[#147452]: https://github.com/cockroachdb/cockroach/pull/147452
[#147869]: https://github.com/cockroachdb/cockroach/pull/147869
[#147766]: https://github.com/cockroachdb/cockroach/pull/147766
[#147439]: https://github.com/cockroachdb/cockroach/pull/147439
[#147341]: https://github.com/cockroachdb/cockroach/pull/147341
[#147728]: https://github.com/cockroachdb/cockroach/pull/147728
[#147696]: https://github.com/cockroachdb/cockroach/pull/147696
Loading