Skip to content

Commit a093e99

Browse files
release-notes-automation[bot]Automated Release BotmikeCRL
authored
Release Notes for v26.1-v26.1.0-alpha.2 (#21490)
* Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Update release notes for v26.1-v26.1.0-alpha.2 * Updates per PM discussion --------- Co-authored-by: Automated Release Bot <[email protected]> Co-authored-by: Mike Lewis <[email protected]> Co-authored-by: mikeCRL <[email protected]>
1 parent a66e5dd commit a093e99

File tree

3 files changed

+147
-1
lines changed

3 files changed

+147
-1
lines changed

src/current/_data/releases.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10011,3 +10011,31 @@
1001110011
docker_arm_limited_access: false
1001210012
source: true
1001310013
previous_release: v25.4.0
10014+
10015+
10016+
- release_name: v26.1.0-alpha.2
10017+
major_version: v26.1
10018+
release_date: '2025-12-11'
10019+
release_type: Testing
10020+
go_version: go1.25.3
10021+
sha: 7991c17b6f2957e381666bf13d6405c8037f46c1
10022+
has_sql_only: true
10023+
has_sha256sum: true
10024+
mac:
10025+
mac_arm: true
10026+
mac_arm_experimental: true
10027+
mac_arm_limited_access: false
10028+
windows: true
10029+
linux:
10030+
linux_arm: true
10031+
linux_arm_experimental: false
10032+
linux_arm_limited_access: false
10033+
linux_intel_fips: true
10034+
linux_arm_fips: false
10035+
docker:
10036+
docker_image: cockroachdb/cockroach-unstable
10037+
docker_arm: true
10038+
docker_arm_experimental: false
10039+
docker_arm_limited_access: false
10040+
source: true
10041+
previous_release: v26.1.0-alpha.1

src/current/_data/versions.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ 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-1
2020
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
2121
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
2222
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
23-
v26.1,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.4,release-25.4,N/A
23+
v26.1,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.4,release-26.1,N/A
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
## v26.1.0-alpha.2
2+
3+
Release Date: December 11, 2025
4+
5+
{% include releases/new-release-downloads-docker-image.md release=include.release %}
6+
7+
<h3 id="v26-1-0-alpha-2-sql-language-changes">SQL language changes</h3>
8+
9+
- Added a new session variable, `use_swap_mutations`, which controls whether the new update swap and delete swap operators are enabled for use by `UPDATE` and `DELETE` statements. [#145019][#145019]
10+
- Fixed a bug where the results of `ALTER SEQUENCE`'s increment and `SELECT nextval()` operations were not as expected. The value of a sequence after an `ALTER SEQUENCE` statement has executed on it is now consistent with a sequence created with those values. [#154489][#154489]
11+
- SQL statements executed in stored procedures and user-defined functions now record SQL statistics, including latencies and execution metrics. These statistics appear on the **SQL Activity** and **Insights** pages of the DB Console. Limitation: SQL statements within a stored procedure or user-defined function are not collected for active statement diagnostics requests. Statement diagnostics remain available for top-level statement executions. [#156905][#156905]
12+
- The `ALTER COLUMN ...` sequence identity
13+
commands are run by the declarative schema changer. [#157030][#157030]
14+
- The `cumulative time spent waiting in admission control` is now displayed in `EXPLAIN ANALYZE` output when it is non-zero. This helps identify delays caused by admission control during query execution. [#158055][#158055]
15+
- Restarting a sequence with an updated increment has the expected initial value. [#158065][#158065]
16+
- The `cumulative time spent waiting in admission control` reported in `EXPLAIN ANALYZE` now includes the time spent in quorum replication flow control. This update enhances the precision of wait time analysis, offering a more accurate depiction of query execution time by considering additional wait durations within the quorum replication processes. [#158076][#158076]
17+
- Added a new "hint injection" ability that allows operators to dynamically inject inline hints into statements, without modifying the text of those statements. Hints can be injected using the built-in function `crdb_internal.inject_hint` with the target statement fingerprint to rewrite. For example, to add an index hint to the statement `SELECT * FROM my_table WHERE col = 3`, use:
18+
19+
~~~
20+
SELECT crdb_internal.inject_hint(
21+
'SELECT * FROM my_table WHERE col = _',
22+
'SELECT * FROM my_table@my_table_col_idx WHERE col = _'
23+
);
24+
~~~
25+
26+
Whenever a statement is executed matching statement fingerprint `SELECT * FROM my_table WHERE col = _`, it will first be rewritten to include the injected index hint. [#158096][#158096]
27+
- `ALTER TABLE ... SET SCHEMA` is supported by the declarative schema changer. [#158141][#158141]
28+
- `kv cpu time` is now displayed in `EXPLAIN ANALYZE`, providing insights into the CPU resources used by KV operations during query execution. [#158499][#158499]
29+
- CockroachDB now negotiates the pgwire protocol version with PostgreSQL 18+ clients that request protocol version 3.2. Previously, connections from these clients would fail with an "unknown protocol version" error. The server now sends a `NegotiateProtocolVersion` message to indicate it supports version 3.0, allowing the connection to proceed normally. [#158636][#158636]
30+
31+
<h3 id="v26-1-0-alpha-2-operational-changes">Operational changes</h3>
32+
33+
- All queries to system and crdb_internal by
34+
default will begin failing, notifying users that they must override the
35+
access gate if they wish to use those namespaces.
36+
37+
The `allow_unsafe_internals` setting now defaults to `false`, restricting access to the `system` and `crdb_internal` namespaces. Queries to these namespaces will now fail unless access is manually enabled. Usage is also audited. [#158085][#158085]
38+
- Jobs that are paused due to a specific reason, including jobs which pause themselves when encountering errors such as running out of disk space, now record that reason in their displayed status field of `SHOW JOBS`. [#158350][#158350]
39+
- The following metrics are now marked as essential to support end-user troubleshooting of authentication latency issues:
40+
- `auth.jwt.conn.latency`
41+
- `auth.cert.conn.latency`
42+
- `auth.password.conn.latency`
43+
- `auth.ldap.conn.latency`
44+
- `auth.gss.conn.latency`
45+
- `auth.scram.conn.latency`
46+
- `auth.ldap.conn.latency.internal` [#158424][#158424]
47+
48+
<h3 id="v26-1-0-alpha-2-db-console-changes">DB Console changes</h3>
49+
50+
- The log of messages and events recorded by a job is now shown to non-admin users on the DB Console Jobs page. [#152853][#152853]
51+
- The DB Console now accurately displays **vCPU** counts on the **Overview** page instead of operating system CPU counts. This update uses cgroups to provide a correct vCPU measurement, reflecting reserved compute resources in Kubernetes and other virtualized environments. [#158219][#158219]
52+
- Jobs which are paused for a specific reason now show that reason, and are highlighted in the UI. [#158364][#158364]
53+
- The `kvCPUTimeNanos` is now recorded in `crdb_internal.statement_statistics` and `crdb_internal.transaction_statistics`. In the DB Console, a **KV CPU Time** column is now displayed in the **SQL Activity** > **Statements** and **Transactions** pages, allowing you to monitor and analyze the CPU time consumed by KV operations during query execution. [#158398][#158398]
54+
- The `admissionWaitTime` is now recorded in `crdb_internal.statement_statistics` and `crdb_internal.transaction_statistics`. In the DB Console, an **Admission Wait Time** column is now displayed in the **SQL Activity** > **Statements** and **Transactions** pages. [#158500][#158500]
55+
56+
<h3 id="v26-1-0-alpha-2-bug-fixes">Bug fixes</h3>
57+
58+
- Fixed a bug that could cause an internal error in some cases for PL/pgSQL routines that perform database reads within an exception block. [#156902][#156902]
59+
- Fixed a bug where a SQL statement with side effects (e.g., `INSERT`) inside a PL/pgSQL routine could be dropped if it used an `INTO` clause and none of the target variables were referenced. This bug had been present since v23.2. [#156966][#156966]
60+
- Fixed a bug where renaming a column that participated in multiple hash-sharded indexes would fail. [#158045][#158045]
61+
- Fixed a bug where `ORDER BY` clauses in user-defined set-returning SQL functions with `OUT` parameters were ignored when the function was called directly in a `SELECT` list (e.g., `SELECT f()`). The ordering is now properly preserved and enforced. [#158162][#158162]
62+
- The pgwire server now exits promptly on context cancellation. [#158269][#158269]
63+
- Fixed a bounded memory leak that could occur during table statistics collection on tables that contain both very wide (10 KiB or more) and small (under 400B) `BYTES`-like values within the same row, along with virtual computed columns. This bug had been present since stats collection on virtual computed columns was introduced in v24.1. [#158370][#158370]
64+
- Temporary schema cleanup no longer retries after poisoned transaction errors, reducing log noise. [#158396][#158396]
65+
- When changing the time interval on the **Metrics** page, the DB Console previously sent duplicate requests for metrics data. This has been fixed, and the UI now issues a single, efficient request when updating the time interval. [#158595][#158595]
66+
67+
<h3 id="v26-1-0-alpha-2-performance-improvements">Performance improvements</h3>
68+
69+
- Added new `update swap` and `delete swap` operators that allow some `UPDATE` and `DELETE` statements to execute in 1 roundtrip instead of 2 roundtrips. These operators can be used when:
70+
71+
- All columns in the primary index are constrained to a single exact value
72+
by the `WHERE` clause;
73+
- Only a single row is modified;
74+
- There are no foreign-key checks or cascades;
75+
- There are no uniqueness checks;
76+
- There are no check constraints;
77+
- There are no vector indexes modified;
78+
- There are no passthrough columns to `RETURNING`;
79+
- There are no triggers;
80+
- The table only uses a single column family;
81+
- There are no mutation columns or mutation indexes (i.e., the table is
82+
not undergoing an `ALTER`);
83+
- There are no columns using composite encoding (e.g., `DECIMAL`, `FLOAT`,
84+
`JSON`, etc.). [#145019][#145019]
85+
- The optimizer now collapses repeated `%` wildcard characters in `LIKE` patterns. This may improve performance of queries using such patterns. [#158025][#158025]
86+
- More of the CPU usage of LDR jobs is subject to background job admission control limits. [#158361][#158361]
87+
88+
89+
[#158424]: https://github.com/cockroachdb/cockroach/pull/158424
90+
[#156966]: https://github.com/cockroachdb/cockroach/pull/156966
91+
[#158269]: https://github.com/cockroachdb/cockroach/pull/158269
92+
[#145019]: https://github.com/cockroachdb/cockroach/pull/145019
93+
[#158350]: https://github.com/cockroachdb/cockroach/pull/158350
94+
[#157030]: https://github.com/cockroachdb/cockroach/pull/157030
95+
[#158396]: https://github.com/cockroachdb/cockroach/pull/158396
96+
[#158085]: https://github.com/cockroachdb/cockroach/pull/158085
97+
[#152853]: https://github.com/cockroachdb/cockroach/pull/152853
98+
[#158219]: https://github.com/cockroachdb/cockroach/pull/158219
99+
[#158500]: https://github.com/cockroachdb/cockroach/pull/158500
100+
[#156902]: https://github.com/cockroachdb/cockroach/pull/156902
101+
[#154489]: https://github.com/cockroachdb/cockroach/pull/154489
102+
[#158636]: https://github.com/cockroachdb/cockroach/pull/158636
103+
[#158398]: https://github.com/cockroachdb/cockroach/pull/158398
104+
[#158595]: https://github.com/cockroachdb/cockroach/pull/158595
105+
[#155216]: https://github.com/cockroachdb/cockroach/pull/155216
106+
[#158364]: https://github.com/cockroachdb/cockroach/pull/158364
107+
[#158045]: https://github.com/cockroachdb/cockroach/pull/158045
108+
[#158162]: https://github.com/cockroachdb/cockroach/pull/158162
109+
[#158076]: https://github.com/cockroachdb/cockroach/pull/158076
110+
[#158025]: https://github.com/cockroachdb/cockroach/pull/158025
111+
[#156905]: https://github.com/cockroachdb/cockroach/pull/156905
112+
[#158055]: https://github.com/cockroachdb/cockroach/pull/158055
113+
[#158141]: https://github.com/cockroachdb/cockroach/pull/158141
114+
[#158499]: https://github.com/cockroachdb/cockroach/pull/158499
115+
[#158370]: https://github.com/cockroachdb/cockroach/pull/158370
116+
[#158361]: https://github.com/cockroachdb/cockroach/pull/158361
117+
[#158065]: https://github.com/cockroachdb/cockroach/pull/158065
118+
[#158096]: https://github.com/cockroachdb/cockroach/pull/158096

0 commit comments

Comments
 (0)