Skip to content

Commit 06e006d

Browse files
Release Notes for v25.2-v25.2.0-alpha.2 (#19477)
1 parent 7d2d394 commit 06e006d

File tree

3 files changed

+125
-1
lines changed

3 files changed

+125
-1
lines changed

Diff for: src/current/_data/releases.yml

+28
Original file line numberDiff line numberDiff line change
@@ -8478,3 +8478,31 @@
84788478
docker_arm_experimental: false
84798479
docker_arm_limited_access: false
84808480
source: true
8481+
8482+
8483+
- release_name: v25.2.0-alpha.2
8484+
major_version: v25.2
8485+
release_date: '2025-03-31'
8486+
release_type: Testing
8487+
go_version: go1.23.7
8488+
sha: 61700b1044e25a8ea71e4c07a1681be521312760
8489+
has_sql_only: true
8490+
has_sha256sum: true
8491+
mac:
8492+
mac_arm: true
8493+
mac_arm_experimental: true
8494+
mac_arm_limited_access: false
8495+
windows: true
8496+
linux:
8497+
linux_arm: true
8498+
linux_arm_experimental: false
8499+
linux_arm_limited_access: false
8500+
linux_intel_fips: true
8501+
linux_arm_fips: false
8502+
docker:
8503+
docker_image: cockroachdb/cockroach-unstable
8504+
docker_arm: true
8505+
docker_arm_experimental: false
8506+
docker_arm_limited_access: false
8507+
source: true
8508+
previous_release: v25.2.0-alpha.1

Diff for: src/current/_data/versions.csv

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ v24.1,2024-05-20,2025-05-20,2025-11-20,24.1.5,24.1.6,2024-10-21,2025-10-21,2026-
1717
v24.2,2024-08-12,2025-02-12,N/A,N/A,N/A,N/A,N/A,N/A,v24.1,release-24.2,2028-08-12
1818
v24.3,2024-11-18,2025-11-18,2026-05-18,N/A,N/A,N/A,N/A,N/A,v24.2,release-24.3,N/A
1919
v25.1,2025-02-18,2026-08-18,N/A,N/A,N/A,N/A,N/A,N/A,v24.3,release-25.1,N/A
20-
v25.2,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A
20+
v25.2,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A
+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
## v25.2.0-alpha.2
2+
3+
Release Date: March 31, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v25-2-0-alpha-2-sql-language-changes">SQL language changes</h3>
8+
9+
- `num_nulls()` and `num_nonnulls()` no longer require that all arguments have the same type.
10+
[#141193][#141193]
11+
- `concat()` no longer requires that all arguments have the same type.
12+
[#141193][#141193]
13+
- `pg_column_size()` no longer requires that all arguments have the same type.
14+
[#141193][#141193]
15+
- Users can now begin logical data replication (LDR) on an existing table if the user has a table-level `REPLICATIONDEST` privilege. Furthermore, users can now begin LDR onto an automatically created table if the user has the parent database level `CREATE` privilege. Finally, during bidirectional LDR, the user in the original source URI, who will begin the reverse LDR stream, will authorize via this table-level `REPLICATIONDEST` privilege.
16+
[#142840][#142840]
17+
- `concat_ws()` now accepts arguments of any type in the second and later positions (the separator must still be a string).
18+
[#141193][#141193]
19+
- Filters are now supported in JSONPath queries, using the format `$ ? (predicate)`. This allows results to be filtered. For example, `SELECT jsonb_path_query('{"a": [1,2,3]}', '$.a ? (1 == 1)');`.
20+
[#143097][#143097]
21+
- `format()` no longer requires that all post-format string arguments have the same type.
22+
[#141193][#141193]
23+
- `json_build_object()`, `jsonb_build_object()`, `json_build_array()`, and `jsonb_build_array()` no longer require that all arguments have the same type.
24+
[#141193][#141193]
25+
- Added the `jsonb_path_exists` function, which accepts a JSON object and JSONPath query and returns whether the query returned any items.
26+
[#143028][#143028]
27+
- Addition, subtraction, multiplication, division, and modulo operators are now supported in JSONPath queries.
28+
[#143210][#143210]
29+
30+
<h3 id="v25-2-0-alpha-2-operational-changes">Operational changes</h3>
31+
32+
- All `ALTER VIRTUAL CLUSTER REPLICATION JOB` commands for physical cluster replication (PCR), except for `ALTER VIRTUAL CLUSTER SET REPLICATION SOURCE`, will require the `REPLICATIONDEST` privilege, in addition to `MANAGEVIRTUALCLUSTER`. `ALTER VIRTUAL CLUSTER SET REPLICATION SOURCE` now requires the `REPLICATIONSOURCE` privilege. If the ingestion job was created before v25.1, the user can still alter the replication job without the `REPLICATIONDEST` privilege.
33+
[#142772][#142772]
34+
35+
<h3 id="v25-2-0-alpha-2-db-console-changes">DB Console changes</h3>
36+
37+
- The lock and latch wait time components of a query's cumulative contention time are now tracked separately and surfaced as annotations in `EXPLAIN ANALYZE` output.
38+
[#113649][#113649]
39+
- The metric that measures cumulative contention time now includes time spent waiting to acquire latches, in addition to time spent acquiring locks. This metric is displayed in both the DB Console and the `EXPLAIN ANALYZE` output.
40+
[#113649][#113649]
41+
- The Replica Quiescence graph on the Replication dashboard in the DB Console now displays the number of replicas quiesced with leader leases. [#143215][#143215]
42+
43+
<h3 id="v25-2-0-alpha-2-bug-fixes">Bug fixes</h3>
44+
45+
- Fixed a bug where index backfills unnecessarily merged new data written to an index, which could lead to extra contention.
46+
[#142768][#142768]
47+
- Fixed a bug that could leave behind a dangling reference to a dropped role if that role had default privileges granted to itself. The bug was caused by defining privileges such as: `ALTER DEFAULT
48+
PRIVILEGES FOR ROLE self_referencing_role GRANT INSERT ON TABLES TO self_referencing_role`. [#143287][#143287]
49+
- Fixed a bug that caused changefeeds to fail on startup when scanning a single key.
50+
[#143102][#143102]
51+
- Fixed a bug where secondary indexes could be unusable by DML statements while a primary key swap was occurring, if the new primary key did not contain columns from the old primary key.
52+
[#141850][#141850]
53+
- Fixed a crash due to `use of enum metadata before hydration` when using LDR with user-defined types. [#143311][#143311]
54+
- MVCC garbage collection is now fully subject to IO admission control. Previously, it was possible for MVCC GC to cause store overload (such as LSM inversion) when a large amounts of data would become eligible for garbage collection. Should any issues arise from subjecting MVCC GC to admission control, the `kv.mvcc_gc.queue_kv_admission_control.enabled` cluster setting can be set to `false` to restore the previous behavior. [#143122][#143122]
55+
- Fixed a bug where CockroachDB would encounter an internal error when decoding the gists of plans with `CALL` statements. The bug had been present since v23.2.
56+
[#143252][#143252]
57+
- Fixed a bug where calling a stored procedure could drop the procedure if it had `OUT` parameters that were not used by the calling routine. This bug had existed since PL/pgSQL `CALL` statements were introduced in v24.1.
58+
[#143173][#143173]
59+
- Fixed a bug where CockroachDB incorrectly resolved routine overloads in some cases. Previously, it allowed creating routines with signatures differing only in type width (e.g., `f(p VARCHAR(1))` and `f(p VARCHAR(2))`), which is not permitted in PostgreSQL. This required precise type casting during invocation. Similarly, when dropping a routine, CockroachDB previously required exact types, unlike PostgreSQL, which is more lenient (e.g., `DROP FUNCTION f(VARCHAR)` would fail in the preceding example). This bug had existed since v23.1.
60+
[#143159][#143159]
61+
- The reader virtual cluster now starts if the user begins a physical cluster replication (PCR) stream from a cursor via `ALTER VIRTUAL CLUSTER virtual_cluster START REPLICATION OF physical_cluster ON pgurl WITH READ VIRTUAL CLUSTER`.
62+
[#143072][#143072]
63+
64+
<h3 id="v25-2-0-alpha-2-performance-improvements">Performance improvements</h3>
65+
66+
- Index backfills and row-level TTL deletions that encounter transaction contention will now be retried with smaller batch sizes more quickly, which reduces the latency of these jobs under high-contention workloads.
67+
[#142702][#142702]
68+
- Queries that use `SHOW TABLES` without using the `estimated_row_count` column no longer need to look up the table statistics.
69+
[#59838][#59838]
70+
71+
<h3 id="v25-2-0-alpha-2-miscellaneous">Miscellaneous</h3>
72+
73+
- `pg_column_size()` is now regarded as Stable, matching PostgreSQL. As a result, it will no longer be allowed in computed column expressions or partial index predicate expressions.
74+
[#141193][#141193]
75+
76+
77+
[#143287]: https://github.com/cockroachdb/cockroach/pull/143287
78+
[#143122]: https://github.com/cockroachdb/cockroach/pull/143122
79+
[#59838]: https://github.com/cockroachdb/cockroach/pull/59838
80+
[#142772]: https://github.com/cockroachdb/cockroach/pull/142772
81+
[#113649]: https://github.com/cockroachdb/cockroach/pull/113649
82+
[#143159]: https://github.com/cockroachdb/cockroach/pull/143159
83+
[#141193]: https://github.com/cockroachdb/cockroach/pull/141193
84+
[#143210]: https://github.com/cockroachdb/cockroach/pull/143210
85+
[#143215]: https://github.com/cockroachdb/cockroach/pull/143215
86+
[#143102]: https://github.com/cockroachdb/cockroach/pull/143102
87+
[#143311]: https://github.com/cockroachdb/cockroach/pull/143311
88+
[#143173]: https://github.com/cockroachdb/cockroach/pull/143173
89+
[#143072]: https://github.com/cockroachdb/cockroach/pull/143072
90+
[#142840]: https://github.com/cockroachdb/cockroach/pull/142840
91+
[#143097]: https://github.com/cockroachdb/cockroach/pull/143097
92+
[#141850]: https://github.com/cockroachdb/cockroach/pull/141850
93+
[#143252]: https://github.com/cockroachdb/cockroach/pull/143252
94+
[#142702]: https://github.com/cockroachdb/cockroach/pull/142702
95+
[#143028]: https://github.com/cockroachdb/cockroach/pull/143028
96+
[#142768]: https://github.com/cockroachdb/cockroach/pull/142768

0 commit comments

Comments
 (0)