Skip to content

Commit 440d094

Browse files
authored
Merge branch 'main' into vector-indexes
2 parents bbac04f + 19e613b commit 440d094

35 files changed

+1031
-169
lines changed

.github/workflows/nightly.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

src/current/_data/releases.yml

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8981,14 +8981,6 @@
89818981
docker_arm_limited_access: false
89828982
source: true
89838983
previous_release: v24.1.17
8984-
cloud_only: true
8985-
cloud_only_message_short: 'Available only for select CockroachDB Cloud clusters'
8986-
cloud_only_message: >
8987-
This version is currently available only for select
8988-
CockroachDB Cloud clusters. To request to upgrade
8989-
a CockroachDB self-hosted cluster to this version,
8990-
[contact support](https://support.cockroachlabs.com/hc/requests/new).
8991-
89928984

89938985
- release_name: v23.2.25
89948986
major_version: v23.2
@@ -9016,13 +9008,6 @@
90169008
docker_arm_limited_access: false
90179009
source: true
90189010
previous_release: v23.2.24
9019-
cloud_only: true
9020-
cloud_only_message_short: 'Available only for select CockroachDB Cloud clusters'
9021-
cloud_only_message: >
9022-
This version is currently available only for select
9023-
CockroachDB Cloud clusters. To request to upgrade
9024-
a CockroachDB self-hosted cluster to this version,
9025-
[contact support](https://support.cockroachlabs.com/hc/requests/new).
90269011

90279012
- release_name: v24.3.12
90289013
major_version: v24.3
@@ -9050,6 +9035,34 @@
90509035
docker_arm_limited_access: false
90519036
source: true
90529037
previous_release: v24.3.11
9038+
9039+
9040+
- release_name: v25.1.6
9041+
major_version: v25.1
9042+
release_date: '2025-05-05'
9043+
release_type: Production
9044+
go_version: go1.23.7
9045+
sha: 8277f164925ba5fb24d987ff1af4703d5f084da1
9046+
has_sql_only: true
9047+
has_sha256sum: true
9048+
mac:
9049+
mac_arm: true
9050+
mac_arm_experimental: true
9051+
mac_arm_limited_access: false
9052+
windows: true
9053+
linux:
9054+
linux_arm: true
9055+
linux_arm_experimental: false
9056+
linux_arm_limited_access: false
9057+
linux_intel_fips: true
9058+
linux_arm_fips: false
9059+
docker:
9060+
docker_image: cockroachdb/cockroach
9061+
docker_arm: true
9062+
docker_arm_experimental: false
9063+
docker_arm_limited_access: false
9064+
source: true
9065+
previous_release: v25.1.5
90539066
cloud_only: true
90549067
cloud_only_message_short: 'Available only for select CockroachDB Cloud clusters'
90559068
cloud_only_message: >

src/current/_includes/releases/v23.1/v23.1.0.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,12 +293,6 @@ With the move from Preview to GA, this feature brings many new capabilities, suc
293293
</tr>
294294
</thead>
295295
<tbody>
296-
<tr>
297-
<td><p>Support longer incremental backup chains</p>
298-
</td>
299-
<td><p>We now support up to 400 incremental backups, an 8x increase, enabling you to preserve your data even more effectively (reducing RPO) while being more cost-efficient. Incremental backups contain only the data that has changed since the last backup, so they are smaller and faster to produce.
300-
</td>
301-
</tr>
302296
<tr>
303297
<td><p>Restrict backups to a locality</p>
304298
</td>
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
## v25.1.6
2+
3+
Release Date: May 5, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v25-1-6-sql-language-changes">SQL language changes</h3>
8+
9+
- Added the `WITH IGNORE_FOREIGN_KEYS` option to `SHOW CREATE TABLE` which omits foreign key constraints from the output schema. This option is also allowed in `SHOW CREATE VIEW`, but has no effect. It cannot be combined with the `WITH REDACT` option.
10+
[#142161][#142161]
11+
- `EXPLAIN ANALYZE` statements now display the number of transaction retries and time spent retrying, if non-zero, in the plan output.
12+
[#142928][#142928]
13+
- A new `execution time` statistic is now reported on `EXPLAIN ANALYZE` output for most operators. Previously, this statistic was only available on the DistSQL diagrams in `EXPLAIN ANALYZE (DISTSQL)` output.
14+
[#143895][#143895]
15+
16+
<h3 id="v25-1-6-operational-changes">Operational changes</h3>
17+
18+
- The `sys.cpu.host.combined.percent-normalized` metric has been updated to include additional counters for more accurate host CPU measurement and to reduce underreporting. It now accounts for time spent processing hardware (`irq`) and software (`softirq`) interrupts, as well as `nice` time, which represents low-priority user-mode activity.
19+
[#142906][#142906]
20+
- The `server.client_cert_expiration_cache.capacity` cluster setting has been removed. The `security.certificate.expiration.client` and `security.certificate.ttl.client` metrics now report the lowest value observed for a user in the last 24 hours.
21+
[#143729][#143729]
22+
23+
<h3 id="v25-1-6-bug-fixes">Bug fixes</h3>
24+
25+
- Previously, fast failback for physical cluster replication (PCR) could succeed even if the destination cluster protected timestamp had been removed, causing the reverse stream to enter a crashing loop. This fix ensures the failback command fast fails.
26+
[#142922][#142922]
27+
- 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 virtual_cluster ON physical_cluster WITH READ VIRTUAL CLUSTER`.
28+
[#143141][#143141]
29+
- Fixed a bug that caused changefeeds to fail on startup when scanning a single key.
30+
[#143150][#143150]
31+
- 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 amount 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.
32+
[#143277][#143277]
33+
- 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.
34+
[#143290][#143290]
35+
- 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.
36+
[#143315][#143315]
37+
- Fixed a crash due to `use of enum metadata before hydration` when using logical data replication (LDR) with user-defined types.
38+
[#143373][#143373]
39+
- Fixed a bug where a GC threshold error (which appears as "batch timestamp must be after replica GC threshold ...") could cause a schema change that backfills data to fail. Now, the error will cause the backfill to be retried at a higher timestamp to avoid the error.
40+
[#143520][#143520]
41+
- Fixed a bug in `v24.1.14`, `v24.3.7`, `v24.3.8`, and `v25.1` that could cause a nil-pointer error when a column's default expression contained a volatile expression (like `nextval`) as a UDF argument.
42+
[#143634][#143634]
43+
- Fixed a potential deadlock that could occur during client certificate updates while metrics were being collected. This issue affected the reliability of certificate expiration reporting.
44+
[#143729][#143729]
45+
- Previously, the fields `maximum memory usage` and `max sql temp disk usage` in the `EXPLAIN ANALYZE` output could be under-reported for distributed plans when memory-intensive operations were fully performed on the remote nodes. This is now fixed. The bug existed in v22.1 and later.
46+
[#143794][#143794]
47+
- The `ALTER VIRTUAL CLUSTER SET REPLICATION READ VIRTUAL CLUSTER` syntax is now supported for adding a reader virtual cluster for an existing Physical Cluster Replication (PCR) standby.
48+
[#143853][#143853]
49+
- Fixed a bug where CockroachDB could encounter a `cannot specify timestamp older than ...` error during table statistics collection in some cases (e.g., when the cluster is overloaded). The bug was present since v19.1.
50+
[#144018][#144018]
51+
- Fixed a bug that could cause a stack overflow during execution of a prepared statement that invoked a PL/pgSQL routine with a loop. The bug existed in versions v23.2.22, v24.1.15, v24.3.9, v25.1.2, v25.1.3, and pre-release versions of v25.2 prior to v25.2.0-alpha.3.
52+
[#144031][#144031]
53+
54+
<h3 id="v25-1-6-performance-improvements">Performance improvements</h3>
55+
56+
- Schema changes that require data to be backfilled no longer hold a protected timestamp for the entire duration of the backfill; this means there is less overhead caused by MVCC garbage collection after the backfill completes.
57+
[#143520][#143520]
58+
59+
<h3 id="v25-1-6-miscellaneous">Miscellaneous</h3>
60+
61+
- Fix rare corruption bug that impacts import and
62+
materialized views. [#144687][#144687]
63+
64+
65+
[#142928]: https://github.com/cockroachdb/cockroach/pull/142928
66+
[#143729]: https://github.com/cockroachdb/cockroach/pull/143729
67+
[#143277]: https://github.com/cockroachdb/cockroach/pull/143277
68+
[#143853]: https://github.com/cockroachdb/cockroach/pull/143853
69+
[#144018]: https://github.com/cockroachdb/cockroach/pull/144018
70+
[#144031]: https://github.com/cockroachdb/cockroach/pull/144031
71+
[#143895]: https://github.com/cockroachdb/cockroach/pull/143895
72+
[#144687]: https://github.com/cockroachdb/cockroach/pull/144687
73+
[#143141]: https://github.com/cockroachdb/cockroach/pull/143141
74+
[#143150]: https://github.com/cockroachdb/cockroach/pull/143150
75+
[#143290]: https://github.com/cockroachdb/cockroach/pull/143290
76+
[#143373]: https://github.com/cockroachdb/cockroach/pull/143373
77+
[#142161]: https://github.com/cockroachdb/cockroach/pull/142161
78+
[#142906]: https://github.com/cockroachdb/cockroach/pull/142906
79+
[#142922]: https://github.com/cockroachdb/cockroach/pull/142922
80+
[#143315]: https://github.com/cockroachdb/cockroach/pull/143315
81+
[#143520]: https://github.com/cockroachdb/cockroach/pull/143520
82+
[#143634]: https://github.com/cockroachdb/cockroach/pull/143634
83+
[#143794]: https://github.com/cockroachdb/cockroach/pull/143794
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- The following keywords are only accepted in lowercase: `strict`, `lax`, `exists`, `like_regex`, `flag`, `is unknown`, `to`, `last`. [#144255](https://github.com/cockroachdb/cockroach/issues/144255)
2+
- Comparisons involving empty arrays (e.g., `SELECT jsonb_path_query('{"a": [1], "b": []}', '$.a == $.b');`) return `null`, rather than `false` as in PostgreSQL. [#145099](https://github.com/cockroachdb/cockroach/issues/145099)

src/current/_includes/v25.2/known-limitations/plpgsql-limitations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
- PL/pgSQL arguments cannot be referenced with ordinals (e.g., `$1`, `$2`). [#114701](https://github.com/cockroachdb/cockroach/issues/114701)
66
- The following statements are not supported:
77
- `FOR` cursor loops, `FOR` query loops, and `FOREACH` loops. [#105246](https://github.com/cockroachdb/cockroach/issues/105246)
8-
- `RETURN NEXT` and `RETURN QUERY`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744)
98
- `PERFORM`, `EXECUTE`, `GET DIAGNOSTICS`, and `CASE`. [#117744](https://github.com/cockroachdb/cockroach/issues/117744)
109
- PL/pgSQL exception blocks cannot catch [transaction retry errors]({% link {{ page.version.version }}/transaction-retry-error-reference.md %}). [#111446](https://github.com/cockroachdb/cockroach/issues/111446)
1110
- `RAISE` statements cannot be annotated with names of schema objects related to the error (i.e., using `COLUMN`, `CONSTRAINT`, `DATATYPE`, `TABLE`, or `SCHEMA`). [#106237](https://github.com/cockroachdb/cockroach/issues/106237)

src/current/_includes/v25.2/known-limitations/sql-cursors.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,6 @@ CockroachDB implements SQL {% if page.name == "known-limitations.md" %} [cursor]
33
- `DECLARE` only supports forward cursors. Reverse cursors created with `DECLARE SCROLL` are not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102)
44
- `FETCH` supports forward, relative, and absolute variants, but only for forward cursors. [#77102](https://github.com/cockroachdb/cockroach/issues/77102)
55
- `BINARY CURSOR`, which returns data in the Postgres binary format, is not supported. [#77099](https://github.com/cockroachdb/cockroach/issues/77099)
6-
- `WITH HOLD`, which allows keeping a cursor open for longer than a transaction by writing its results into a buffer, is accepted as valid syntax within a single transaction but is not supported. It acts as a no-op and does not actually perform the function of `WITH HOLD`, which is to make the cursor live outside its parent transaction. Instead, if you are using `WITH HOLD`, you will be forced to close that cursor within the transaction it was created in. [#77101](https://github.com/cockroachdb/cockroach/issues/77101)
7-
- This syntax is accepted (but does not have any effect):
8-
{% include_cached copy-clipboard.html %}
9-
~~~ sql
10-
BEGIN;
11-
DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar;
12-
CLOSE test_cur;
13-
COMMIT;
14-
~~~
15-
- This syntax is not accepted, and will result in an error:
16-
{% include_cached copy-clipboard.html %}
17-
~~~ sql
18-
BEGIN;
19-
DECLARE test_cur CURSOR WITH HOLD FOR SELECT * FROM foo ORDER BY bar;
20-
COMMIT; -- This will fail with an error because CLOSE test_cur was not called inside the transaction.
21-
~~~
226
- Scrollable cursor (also known as reverse `FETCH`) is not supported. [#77102](https://github.com/cockroachdb/cockroach/issues/77102)
237
- [`SELECT ... FOR UPDATE`]({% link {{ page.version.version }}/select-for-update.md %}) with a cursor is not supported. [#77103](https://github.com/cockroachdb/cockroach/issues/77103)
248
- Respect for [`SAVEPOINT`s]({% link {{ page.version.version }}/savepoint.md %}) is not supported. Cursor definitions do not disappear properly if rolled back to a `SAVEPOINT` from before they were created. [#77104](https://github.com/cockroachdb/cockroach/issues/77104)

src/current/_includes/v25.2/sidebar-data/sql.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,12 @@
885885
"/${VERSION}/common-table-expressions.html"
886886
]
887887
},
888+
{
889+
"title": "JSONPath Queries",
890+
"urls": [
891+
"/${VERSION}/jsonpath.html"
892+
]
893+
},
888894
{
889895
"title": "Name Resolution",
890896
"urls": [

src/current/_includes/v25.2/sql/privileges.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ Privilege | Levels | Description
1919
<a id="modifyclustersetting"></a>`MODIFYCLUSTERSETTING` | System | Grants the ability to modify [cluster settings]({% link {{ page.version.version }}/cluster-settings.md %}).
2020
`MODIFYSQLCLUSTERSETTING` | System | Grants the ability to modify SQL [cluster settings]({% link {{ page.version.version }}/cluster-settings.md %}) (cluster settings prefixed with `sql.`).
2121
`NOSQLLOGIN` | System | Prevents roles from connecting to the SQL interface of a cluster.
22-
`REPLICATION` | System | Grants the ability to create a [logical data replication]({% link {{ page.version.version }}/logical-data-replication-overview.md %}) or [physical cluster replication]({% link {{ page.version.version }}/physical-cluster-replication-overview.md %}) stream.
22+
**Deprecated** `REPLICATION` | System | As of v25.2 `REPLICATION` is **deprecated**. Instead, use the `REPLICATIONSOURCE` and `REPLICATIONDEST` privileges at the table level. Grants the ability to create a [logical data replication]({% link {{ page.version.version }}/logical-data-replication-overview.md %}) or [physical cluster replication]({% link {{ page.version.version }}/physical-cluster-replication-overview.md %}) stream.
23+
<a id="replicationdest"></a><span class="version-tag">New in v25.2:</span>`REPLICATIONDEST` | Table | Grants the ability to run logical data replication into an existing table on the destination cluster. For more details, refer to the [Set Up Logical Data Replication]({% link {{ page.version.version }}/set-up-logical-data-replication.md %}) tutorial.
24+
<a id="replicationsource"></a><span class="version-tag">New in v25.2:</span> `REPLICATIONSOURCE` | Table | Grants the ability to run logical data replication from a table on the source cluster. For more details, refer to the [Set Up Logical Data Replication]({% link {{ page.version.version }}/set-up-logical-data-replication.md %}) tutorial.
2325
`RESTORE` | System, Database | Grants the ability to restore [backups]({% link {{ page.version.version }}/backup-and-restore-overview.md %}) at the system or database level. Refer to `RESTORE` [Required privileges]({% link {{ page.version.version }}/restore.md %}#required-privileges) for more details.
2426
`SELECT` | Table, Sequence | Grants the ability to run [selection queries]({% link {{ page.version.version }}/query-data.md %}) at the table or sequence level.
2527
`UPDATE` | Table, Sequence | Grants the ability to run [update statements]({% link {{ page.version.version }}/update-data.md %}) at the table or sequence level.

src/current/cockroachcloud/regions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ Geographic Area | Region Name | Location
3737
Asia Pacific | `ap-south-1` | Mumbai
3838
| `ap-southeast-1` | Singapore
3939
North America | `us-east-1` | N. Virginia
40+
| `us-east-2` | Ohio
4041
| `us-west-2` | Oregon
4142
Western Europe | `eu-central-1` | Frankfurt
4243
| `eu-west-1` | Ireland
44+
| `eu-west-2` | London
4345
</section>
4446

4547
<section class="filter-content" markdown="1" data-scope="advanced">
@@ -123,6 +125,7 @@ North America | `us-central1` | Iowa
123125
| `us-west2` | California
124126
South America | `southamerica-east1` | São Paulo
125127
Western Europe | `europe-west1` | St. Ghislain
128+
| `europe-west2` | London
126129
| `europe-west3` | Frankfurt
127130

128131
</section>

src/current/v23.1/take-full-and-incremental-backups.md

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,7 @@ If you are taking backups on a regular cadence, we recommend [creating a schedul
153153

154154
### Recommendations for incremental backup frequency
155155

156-
Incremental backups form chains between full backups. Each incremental backup contains only the data that has changed since a base set of backups. This base set of backups must include one full backup and can include many incremental backups, which are smaller and faster to produce than full backups. You can take incremental backups either as of a given timestamp or with full [revision history]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}).
157-
158-
Cockroach Labs recommends taking incremental backups every 10 minutes. CockroachDB supports up to 400 incremental backups between full backups. This may vary based on your specific use-case, so we recommend testing within your own environment and workloads. This can look like:
159-
160-
- A full backup taken daily with incrementals taken every hour for a total of 24 incremental backups.
161-
- A full backup taken daily with incrementals taken every 10 minutes for a total of 144 incremental backups.
162-
- A full backup taken daily with incrementals taken every 5 minutes for a total of 288 incremental backups.
163-
- A full backup taken weekly with incrementals taken every hour for a total of 168 incremental backups.
164-
- A full backup taken weekly with incrementals taken every 30 minutes for a total of 336 incremental backups.
156+
Incremental backups form chains between full backups. Each incremental backup contains only the data that has changed since a base set of backups. This base set of backups must include one full backup and can include multiple incremental backups, which are typically smaller and faster to run than full backups. You can take incremental backups either as of a given timestamp or with full [revision history]({% link {{ page.version.version }}/take-backups-with-revision-history-and-restore-from-a-point-in-time.md %}). Cockroach Labs supports up to 48 incremental backups between full backups.
165157

166158
### Garbage collection and backups
167159

0 commit comments

Comments
 (0)