Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
ba0bef7
Update release notes for v25.4-v25.4.1
Nov 26, 2025
d568378
Update release notes for v25.4-v25.4.1
Nov 26, 2025
a4f3778
Update release notes for v25.4-v25.4.1
Nov 26, 2025
1cf085d
Update release notes for v25.4-v25.4.1
Nov 26, 2025
0606e28
Update release notes for v25.4-v25.4.1
Nov 26, 2025
bf4b697
Update release notes for v25.4-v25.4.1
Nov 26, 2025
badd8af
Update release notes for v25.4-v25.4.1
Nov 26, 2025
a72018b
Update release notes for v25.4-v25.4.1
Nov 26, 2025
9db233e
Update release notes for v25.4-v25.4.1
Nov 26, 2025
08b9c0e
Update release notes for v25.4-v25.4.1
Nov 26, 2025
39b5fbc
Update release notes for v25.4-v25.4.1
Nov 26, 2025
b1609d2
Update release notes for v25.4-v25.4.1
Nov 26, 2025
c99d368
Update release notes for v25.4-v25.4.1
Nov 26, 2025
0dbb7af
Update release notes for v25.4-v25.4.1
Nov 26, 2025
1330329
Update release notes for v25.4-v25.4.1
Nov 26, 2025
03ef086
Update release notes for v25.4-v25.4.1
Nov 26, 2025
338d32f
Update release notes for v25.4-v25.4.1
Nov 26, 2025
0408d2a
Update release notes for v25.4-v25.4.1
Nov 26, 2025
49facfb
Update release notes for v25.4-v25.4.1
Nov 26, 2025
2f9318f
Update release notes for v25.4-v25.4.1
Nov 26, 2025
b0f5e61
Update release notes for v25.4-v25.4.1
Nov 26, 2025
369234f
Update release notes for v25.4-v25.4.1
Nov 26, 2025
7b53474
Update release notes for v25.4-v25.4.1
Nov 26, 2025
cacd157
Update release notes for v25.4-v25.4.1
Nov 26, 2025
71252bb
Update release notes for v25.4-v25.4.1
Nov 26, 2025
a8f4733
Update release notes for v25.4-v25.4.1
Nov 26, 2025
9eeb1f8
Update release notes for v25.4-v25.4.1
Nov 26, 2025
a114a44
Update release notes for v25.4-v25.4.1
Nov 26, 2025
4e6ab88
Update release notes for v25.4-v25.4.1
Nov 26, 2025
0741035
Update release notes for v25.4-v25.4.1
Nov 26, 2025
8e9656f
Update release notes for v25.4-v25.4.1
Dec 2, 2025
9845945
Update release notes for v25.4-v25.4.1
Dec 2, 2025
1d534af
Update release notes for v25.4-v25.4.1
Dec 2, 2025
24eaf27
Update release notes for v25.4-v25.4.1
Dec 3, 2025
cb2f8ff
Update release notes for v25.4-v25.4.1
Dec 3, 2025
b498c6b
Update release notes for v25.4-v25.4.1
Dec 3, 2025
fadd3aa
Update v25.4.1.md
mikeCRL Dec 3, 2025
02295d3
Merge branch 'main' into v25.4.1-release-notes
mikeCRL Dec 3, 2025
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 @@ -9956,3 +9956,31 @@
docker_arm_limited_access: false
source: true
previous_release: v24.3.22


- release_name: v25.4.1
major_version: v25.4
release_date: '2025-12-03'
release_type: Production
go_version: go1.25.3
sha: 60d802bd0bcb2c1aa81a4b5fd73fb4aa13bb5114
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
docker_arm: true
docker_arm_experimental: false
docker_arm_limited_access: false
source: true
previous_release: v25.4.0
2 changes: 1 addition & 1 deletion src/current/_data/versions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ v24.3,2024-11-18,2025-11-18,2026-05-18,24.3.11,24.3.12,2025-05-05,2026-05-05,202
v25.1,2025-02-18,2025-08-18,N/A,N/A,N/A,N/A,N/A,N/A,v24.3,release-25.1,2029-02-18
v25.2,2025-05-09,2026-05-12,2026-11-12,N/A,N/A,N/A,N/A,N/A,v25.1,release-25.2,2029-05-09
v25.3,2025-08-04,2026-02-04,N/A,N/A,N/A,N/A,N/A,N/A,v25.2,release-25.3,2029-08-04
v25.4,2025-11-03,2026-11-03,2027-05-03,N/A,N/A,N/A,N/A,N/A,v25.3,release-25.4,2029-11-03
v25.4,2025-11-03,2026-11-03,2027-05-03,N/A,N/A,N/A,N/A,N/A,v25.3,release-25.4,2029-11-03
62 changes: 62 additions & 0 deletions src/current/_includes/releases/v25.4/v25.4.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
## v25.4.1

Release Date: December 3, 2025

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

<h3 id="v25-4-1-sql-language-changes">SQL language changes</h3>

- Added a `sql.statements.rows_read.count` metric that counts the number of index rows read by SQL statements. [#156459][#156459]
- Added a `sql.statements.index_rows_written.count` metric that counts the number of primary and secondary index rows modified by SQL statements. [#156459][#156459]
- Added a `sql.statements.index_bytes_written.count` metric that counts the number of primary and secondary index bytes modified by SQL statements. [#156459][#156459]
- Added a `sql.statements.bytes_read.count` metric that counts the number of bytes scanned by SQL statements. [#156459][#156459]
- CockroachDB now supports index accelerating `jsonb_path_exists` filters with JSONpath expressions that end with an AnyKey (`*`). [#156508][#156508]

<h3 id="v25-4-1-bug-fixes">Bug fixes</h3>

- Fixed a bug where CockroachDB would hit an internal error when performing an inverted join using an inverted index in which the first prefix column had `DESC` direction. The bug was present since v21.1. [#154970][#154970]
- Fixed a bug in the `cockroach node drain` command where draining a node using virtual clusters (such as clusters running Physical Cluster Replication (PCR)) could return before the drain was complete, possibly resulting in shutting down the node while it still had active SQL clients and range leases. [#155633][#155633]
- Fixed an internal error that could occur when replacing a user-defined function or stored procedure using `CREATE OR REPLACE`, if the existing signature included multiple `DEFAULT` expressions. This bug was introduced in v24.2, when support for `DEFAULT` expressions was added. [#155927][#155927]
- Fixed a bug where the job responsible for compacting stats for the SQL activity state could enter an unschedulable state. [#155963][#155963]
- Fixed a bug where DML statements on regional by row tables with unique indexes that do not reference the region could sometimes fail under `READ COMMITTED` isolation. [#156136][#156136]
- Fixed a bug that prevented the optimizer from recognizing correlated filters when one of the filtered columns had a single distinct value across all rows. This could lead to suboptimal query plans in some cases. [#156286][#156286]
- Fixed a bug where changefeeds using CDC queries could sometimes unexpectedly fail after a schema change with a descriptor retrieval error. [#156545][#156545]
- Fixed a bug where `DROP SCHEMA CASCADE` with complex references from triggers could run into an error. [#156564][#156564]
- Fixed a bug in the `ltree2text` built-in function where the returned `TEXT` value was incorrectly wrapped in single quotes. This bug had been present since the `ltree2text` function was introduced in v25.4.0. [#156667][#156667]
- Fixed a bug where the "atomic" `COPY` command (controlled via the `copy_from_atomic_enabled` session setting, `true` by default) could encounter `RETRY_COMMIT_DEADLINE_EXCEEDED` transaction errors if the whole command took 1 minute or more. This bug occurred only when the vectorized engine was used for `COPY`. [#156695][#156695]
- Fixed a bug that caused incorrect results for queries that filter indexed `LTREE` columns with the `<@` (contained-by) operator. This bug was present since v25.4.0. [#156779][#156779]
- Fixed a bug that caused incorrect `gossip.callbacks.pending_duration` metric values to be recorded. [#156947][#156947]
- Fixed a bug in JSONPath index acceleration where queries using `jsonb_path_exists` with a root key (e.g., `$.b`) incorrectly returned no results when the queried JSON was an array. This fix enables unwrapping a single array layer at the root, allowing the path to be evaluated against each element. This bug was present since v25.4.0. [#156968][#156968]
- Fixed a bug that could cause internal errors for queries using generic query plans with `NULL` placeholder values. [#156979][#156979]
- Fixed a bug where CockroachDB could encounter an internal error when evaluating a `COPY FROM` command in a transaction after it was rolled back to a savepoint. The bug was present since before v23.2. [#157037][#157037]

<h3 id="v25-4-1-performance-improvements">Performance improvements</h3>

- The optimizer will no longer choose a generic query plan with unbounded cardinality over a custom query plan with bounded cardinality, regardless of `optimizer_prefer_bounded_cardinality`, better optimizing such queries. [#155460][#155460]

<h3 id="v25-4-1-miscellaneous">Miscellaneous</h3>

- Logical Data Replication (LDR) no longer requires the database name to be specified in the external connection URI when setting up a bidirectional stream. [#155737][#155737]
- Span config reconciliation jobs no longer fail on the destination after failover from a Physical Cluster Replication (PCR) stream of a system virtual cluster. [#156812][#156812]

[#156812]: https://github.com/cockroachdb/cockroach/pull/156812
[#155927]: https://github.com/cockroachdb/cockroach/pull/155927
[#157037]: https://github.com/cockroachdb/cockroach/pull/157037
[#155460]: https://github.com/cockroachdb/cockroach/pull/155460
[#156564]: https://github.com/cockroachdb/cockroach/pull/156564
[#156667]: https://github.com/cockroachdb/cockroach/pull/156667
[#156779]: https://github.com/cockroachdb/cockroach/pull/156779
[#155737]: https://github.com/cockroachdb/cockroach/pull/155737
[#155561]: https://github.com/cockroachdb/cockroach/pull/155561
[#156459]: https://github.com/cockroachdb/cockroach/pull/156459
[#156136]: https://github.com/cockroachdb/cockroach/pull/156136
[#155963]: https://github.com/cockroachdb/cockroach/pull/155963
[#156695]: https://github.com/cockroachdb/cockroach/pull/156695
[#156968]: https://github.com/cockroachdb/cockroach/pull/156968
[#156979]: https://github.com/cockroachdb/cockroach/pull/156979
[#156508]: https://github.com/cockroachdb/cockroach/pull/156508
[#154970]: https://github.com/cockroachdb/cockroach/pull/154970
[#155633]: https://github.com/cockroachdb/cockroach/pull/155633
[#156286]: https://github.com/cockroachdb/cockroach/pull/156286
[#156545]: https://github.com/cockroachdb/cockroach/pull/156545
[#156947]: https://github.com/cockroachdb/cockroach/pull/156947
Loading