Skip to content

Commit 7184227

Browse files
author
Automated Release Bot
committed
Update release notes for v25.4-v25.4.0-beta.2
1 parent 2f6beaa commit 7184227

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
## v25.4.0-beta.2
2+
3+
Release Date: October 10, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v25-4-0-beta-2-general-changes">General changes</h3>
8+
9+
- The changefeed bulk
10+
delivery setting was made optional. [#154953][#154953]
11+
12+
<h3 id="v25-4-0-beta-2-sql-language-changes">SQL language changes</h3>
13+
14+
- Added the `SHOW INSPECT ERRORS` command. This command can be used to view issues that are identified by running the `INSPECT` command to validate tables and indexes. [#154337][#154337]
15+
- Added the `sql.catalog.allow_leased_descriptors.enabled` cluster setting, which is false by default. When set to true, queries that access the `pg_catalog` or `information_schema` can use cached leased descriptors to populate the data in those tables, with the tradeoff that some of the data could be stale. [#154491][#154491]
16+
- We now support index acceleration for a subset of jsonb_path_exists filters.
17+
18+
Given the `jsonb_path_exists(json_obj, json_path_expression)`, we only support
19+
inverted index for json_path_expression that matches one of the following
20+
patterns:
21+
22+
- The json_path_expression must NOT be in STRICT mode.
23+
- keychain mode: $.[key|wildcard].[key|wildcard]...
24+
- For this mode, we will generate a prefix span for the inverted expression.
25+
- filter with end value mode, with equality check: $.[key|wildcard]? (@.[key|wildcard].[key|wildcard]... == [string|number|null|boolean])
26+
- For this mode, since the end value is fixed, we will generate a single value span.
27+
28+
Specifically, we don't support the following edge case:
29+
30+
- $
31+
- $[*]
32+
- $.a.b.c == 12 or $.a.b.c > 12 or $.a.b.c < 12 (operation expression)
33+
- $.a.b ? (@.a > 10) (filter, with inequality check)
34+
35+
Note that the cases we support is to use `jsonb_path_exists` in filters,
36+
as in, when they are used in the WHERE clause. [#154631][#154631]
37+
- The optimizer can now use table statistics
38+
that merge the latest full statistic with all newer partial statistics,
39+
including those over arbitrary constraints over a single span. [#154755][#154755]
40+
41+
<h3 id="v25-4-0-beta-2-operational-changes">Operational changes</h3>
42+
43+
- Two new changefeed metrics for tracking
44+
the max skew between a changefeed's slowest and fastest span/table
45+
have been added. The metrics are gauge metrics with the names
46+
`changefeed.progress_skew.{span,table}`. [#154166][#154166]
47+
- The metrics `sql.select.started.count`, `sql.insert.started.count`, `sql.update.started.count`, and `sql.delete.started.count` are now emitted with labels under the common metric name `sql.started.count`, using a `query_type` label to distinguish each operation. [#154388][#154388]
48+
- Added the cluster setting `storage.unhealthy_write_duration` (defaults to 20s), which is used to indicate to the allocator that a store's disk is unhealthy. The cluster setting `kv.allocator.disk_unhealthy_io_overload_score` controls the overload score assigned to a store with an unhealthy disk, where a higher score results in preventing lease or replica transfers to the store, or shedding of leases by the store. The default value of that setting is 0, so the allocator behavior is unaffected. [#154459][#154459]
49+
- Added cluster setting `sql.schema.approx_max_object_count` (default: 20,000) to prevent creation of new schema objects when the limit is exceeded. The check uses cached table statistics for performance and is approximate - it may not be immediately accurate until table statistics are updated by the background statistics refreshing job. Clusters that have been running stably with a larger object count should raise the limit or disable the limit by setting the value to 0. In future releases, the default value for this setting will be raised as more CockroachDB features support larger object counts. [#154576][#154576]
50+
51+
<h3 id="v25-4-0-beta-2-bug-fixes">Bug fixes</h3>
52+
53+
- Vector index backfill will now properly track job
54+
progress in SHOW JOBS output. [#154261][#154261]
55+
- A bug has been fixed that caused panics when
56+
executing `COPY` into a table with hidden columns and expression
57+
indexes. The panic only occurred when the
58+
`expect_and_ignore_not_visible_columns_in_copy` setting was enabled.
59+
This bug has been present since
60+
`expect_and_ignore_not_visible_columns_in_copy` was introduced in
61+
v22.1.0. [#154289][#154289]
62+
- **Idle latency** on the **Transaction Details** page in the DB Console is now reported more accurately. Previously, transactions that used prepared statements (e.g., with placeholders) overcounted idle time, while those that included observer statements (common in the SQL CLI) undercounted it. [#154385][#154385]
63+
- Fixed a bug where `RESTORE` of a database with a `SECONDARY REGION` did not apply the lease preferences for that region. [#154659][#154659]
64+
- A bug where a changefeed could perform
65+
many unnecessary job progress saves during an initial scan has
66+
been fixed. [#154709][#154709]
67+
- A bug where a changefeed targeting only a subset
68+
of a table's column families could become stuck has been fixed. [#154915][#154915]
69+
70+
<h3 id="v25-4-0-beta-2-performance-improvements">Performance improvements</h3>
71+
72+
- The cost of generic query plans
73+
is now calculated based on worst-case selectivities for placeholder
74+
equalities (e.g., x = $1). This reduces the chance of suboptimal generic
75+
query plans being chosen when `plan_cache_mode=auto`. [#154899][#154899]
76+
77+
78+
[#154337]: https://github.com/cockroachdb/cockroach/pull/154337
79+
[#154491]: https://github.com/cockroachdb/cockroach/pull/154491
80+
[#154388]: https://github.com/cockroachdb/cockroach/pull/154388
81+
[#154459]: https://github.com/cockroachdb/cockroach/pull/154459
82+
[#154385]: https://github.com/cockroachdb/cockroach/pull/154385
83+
[#154755]: https://github.com/cockroachdb/cockroach/pull/154755
84+
[#154576]: https://github.com/cockroachdb/cockroach/pull/154576
85+
[#154915]: https://github.com/cockroachdb/cockroach/pull/154915
86+
[#154631]: https://github.com/cockroachdb/cockroach/pull/154631
87+
[#154261]: https://github.com/cockroachdb/cockroach/pull/154261
88+
[#154659]: https://github.com/cockroachdb/cockroach/pull/154659
89+
[#154953]: https://github.com/cockroachdb/cockroach/pull/154953
90+
[#154166]: https://github.com/cockroachdb/cockroach/pull/154166
91+
[#154289]: https://github.com/cockroachdb/cockroach/pull/154289
92+
[#154709]: https://github.com/cockroachdb/cockroach/pull/154709
93+
[#154899]: https://github.com/cockroachdb/cockroach/pull/154899

0 commit comments

Comments
 (0)