diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml index a98effd7ac7..23476ba380f 100644 --- a/src/current/_data/releases.yml +++ b/src/current/_data/releases.yml @@ -9258,3 +9258,30 @@ docker_arm_limited_access: false source: true previous_release: v24.1.18 + + +- release_name: v25.3.0-alpha.1 + major_version: v25.3 + release_date: '2025-06-09' + release_type: Testing + go_version: go1.23.7 + sha: 6843e110b2e0519a66262715c6dafe6a82be209f + 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-unstable + docker_arm: true + docker_arm_experimental: false + docker_arm_limited_access: false + source: true diff --git a/src/current/_data/versions.csv b/src/current/_data/versions.csv index 38d1b5b8a75..0b8733a8b04 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -18,3 +18,4 @@ 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-1 v24.3,2024-11-18,2025-11-18,2026-05-18,24.3.11,24.3.12,2025-05-05,2026-05-05,2027-05-05,v24.2,release-24.3,N/A 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,N/A 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,N/A +v25.3,N/A,N/A,N/A,v25.2,master,N/A diff --git a/src/current/_includes/releases/v25.3/v25.3.0-alpha.1.md b/src/current/_includes/releases/v25.3/v25.3.0-alpha.1.md new file mode 100644 index 00000000000..873716c0567 --- /dev/null +++ b/src/current/_includes/releases/v25.3/v25.3.0-alpha.1.md @@ -0,0 +1,421 @@ +## v25.3.0-alpha.1 + +Release Date: June 9, 2025 + +{% include releases/new-release-downloads-docker-image.md release=include.release %} +

Security updates

+ +- The client for the sql connection will additionally get a new error if trying to connect with unsupported cipher along with the error in `OPS` channel. * client error: ``` > ./cockroach sql --certs-dir=certs --url "postgresql://root@localhost:26257" # # Welcome to the CockroachDB SQL shell. # All statements must be terminated by a semicolon. # To exit, type: \q. # ERROR: cannot use SSL/TLS with the requested ciphers: presented cipher TLS_AES_128_GCM_SHA256 not in allowed cipher suite list SQLSTATE: 08004 Failed running "sql" ``` * ops channel error: ``` E250512 06:53:28.160841 24028 1@server/server_sql.go:1977 ⋮ [T1,Vsystem,n1,client=‹127.0.0.1:62122›] 479 serving SQL client conn: presented cipher TLS_AES_128_GCM_SHA256 not in allowed cipher suite list ``` [#146522][#146522] + +

General changes

+ +- Enhanced the `/status/v2/hotranges` endpoint by adding two new filtering options: + - `per_node_limit` (`int32`): Specifies the maximum number of hot ranges to return per node. Defaults to `128` if not set. + - `stats_only` (`bool`): When set to `true`, returns only the statistics for hot ranges without fetching descriptor information, such as databases, tables, and indexes. [#144091][#144091] +- Changefeeds now round down the progress of each range to 1 second, in order to cover more ranges in fine-grained checkpointing. [#146979][#146979] + +

{{ site.data.products.enterprise }} edition changes

+ +- Reduced the maximum backoff for changefeed retries from 10 minutes to 1 minute, which results in faster recovery from transient errors. [#146448][#146448] + +

SQL language changes

+ +- Added a new session variable `create_table_with_schema_locked`, which can be used to ensure all tables created by a session have the storage parameter `schema_locked` set. [#143892][#143892] +- The following syntax is now supported: `GRANT ... ON ALL ROUTINES IN SCHEMA ...`; `REVOKE ... ON ALL ROUTINES IN SCHEMA ...`; `ALTER DEFAULT PRIVILEGES GRANT ... ON ROUTINES ...`; `ALTER DEFAULT PRIVIELGES REVOKE ... ON ROUTINES ...`. The `ROUTINES` keyword makes the command apply to both functions and stored procedures. Note that `ALTER DEFAULT PRIVILEGES ... ON FUNCTIONS` already applied to stored procedures (which aligns with the PostgreSQL behavior), and that is not changing. [#144189][#144189] +- The variable arguments of polymorphic built-in functions (e.g., `concat`, `num_nulls`, `format`, `concat_ws`, etc.) no longer need to have the same type, matching PostgreSQL behavior. As a result, CockroachDB's type inference engine will no longer be able to infer argument types in some cases where it previously could, and there is a possibility that CockroachDB applications will encounter new errors. The new session variable `use_pre_25_2_variadic_builtins` restores the previous behavior (and limitations). [#144522][#144522] +- Added new cluster settings: `sql.metrics.application_name.enabled` and `sql.metrics.database_name.enabled`. These settings default to `false` and can be set to `true` to display the application name and database name, respectively, on supported metrics. [#144610][#144610] +- Added support for query tagging, which allows users to add query tags to their SQL statements via comments. These query tags are included in: +- All log entries generated during the execution of a SQL statement and are prefixed by `querytag-`. +- Traces and are prefixed by `querytag-`. +- In the `crdb_internal.cluster_execution_insights` and `crdb_internal.node_execution_insights` virtual tables in a new `query_tags` JSONB column. +This feature is disabled by default and can be enabled using the `sql.sqlcommenter.enabled` cluster setting. Comments must follow the [SQLCommenter specification](https://google.github.io/sqlcommenter/spec/). [#145435][#145435] +- `~~*` and `!~~*` are now supported aliases for `ILIKE` and `NOT ILIKE`. [#146764][#146764] +- `~~*` and `!~~*` are now supported aliases for `ILIKE` and `NOT ILIKE`. [#146764][#146764] +- The `information_schema.triggers` table is now populated with trigger metadata. Users can query this table to see all triggers defined in their database, including the trigger name, timing (`BEFORE`/`AFTER`), event type (`INSERT`/`UPDATE`/`DELETE`), and associated function. Each trigger event appears as a separate row in the table. [#147237][#147237] +- The `pg_catalog.pg_trigger` table now returns metadata about database triggers. [#147248][#147248] +- Deterministic collations are now supported with LIKE. A deterministic collation considers strings to be equal only if they consist of the same byte sequence. [#147045][#147045] +- Assigning to an element of a composite-typed variable in a PL/pgSQL routine now respects case-sensitivity rules. For example, a field named `"FOO_Bar"` can be assigned like `NEW."FOO_Bar" = 100`. [#143579][#143579] + +

Operational changes

+ +- Prometheus metrics are now also available at the `/metrics` endpoint, in addition to the existing `/_status/vars` endpoint. The new `/metrics` endpoint emits statically labeled metrics and will evolve more rapidly as CockroachDB migrates metrics to use labels instead of defining different metric names. For compatibility, users can continue to use `/_status/vars`, where metric names will remain stable. [#143536][#143536] +- Added 4 new latency metrics: sql.service.latency.historical, sql.service.latency.consistent, sql.exec.latency.historical, sql.exec.latency.consistent for easier query optimizations. [#142826][#142826] +- Partial index schema changes are supported in replicating tables when logical_replication.consumer.immediate_mode_writer is not set to legacy-kv [#144508][#144508] +- The cluster setting `server.client_cert_expiration_cache.capacity` has been deprecated. The client certificate cache now evicts client certificates based on expiration time. [#144181][#144181] +- Logs for hot ranges (`hot_ranges_stats` events) have been moved to the `HEALTH` logging channel. [#144567][#144567] +- Added a new metric, `kv.loadsplitter.cleardirection`, which increments when the load-based splitter observes that more than 80% of replica access samples are moving in a single direction (either left/descending or right/ascending). [#143927][#143927] +- When the `server.telemetry.hot_ranges_stats.enabled` cluster setting is enabled, nodes check for hot ranges every minute instead of every 4 hours. A node logs its hot ranges when any single replica exceeds 250 ms of CPU time per second. In multi-tenant deployments, the check runs every 5 minutes and logs hot ranges for the entire cluster. [#144414][#144414] +- Added the metric `changefeed.checkpoint.timestamp_count` that measures the number of unique timestamps in a changefeed span-level checkpoint. It may be useful to monitor this metric to determine if quantization settings should be changed. [#145117][#145117] +- In a physical cluster replication (PCR) deployment, it is not possible for the standby system virtual cluster, or the reader virtual cluster to upgrade the reader virtual cluster by setting the version cluster setting. It is necessary to: + 1. Upgrade the standby system virtual cluster. + 1. Upgrade the primary system virtual cluster. + 1. Upgrade the primary virtual cluster. + 1. Wait for the replicated time to advance past the time the primary virtual cluster upgraded. + 1. Shut down the reader virtual cluster. + 1. Upgrade the destination host cluster. + 1. Re-initialize the reader virtual cluster with `ALTER VIRTUAL CLUSTER SET REPLICATION READ VIRTUAL CLUSTER`. [#146127][#146127] +- Added job tracing support to changefeeds. [#144412][#144412] + +

Command-line changes

+ +- Node attributes (attrs) will now appear in the node status cli command. [#143421][#143421] +- Updated the `\d ` command to show policy and Row Level Security information similar to what is shown in the output of `SHOW CREATE TABLE`. [#146215][#146215] +- Added the `--validate-zip-file` flag to `cockroach debug zip` command. This flag performs a quick validation check to ensure that the generated zip file is not corrupted. The flag is enabled by default. [#146192][#146192] +- The SQL shell now supports the compact output mode when `auto_trace` is enabled. [#146432][#146432] + +

DB Console changes

+ +- Schema insights that recommend replacing an index were previously a two-statement command consisting of a `CREATE INDEX` and a `DROP INDEX` statement. When these two DDL statements were run as a single batched command, it was possible for one statement to succeed and one to fail. This is because DDL statements do not have the same atomicity guarantees as other SQL statements in CockroachDB. Index-replacement insights are now a single `CREATE INDEX` statement followed by a comment with additional DDL statements to be run manually: an `ALTER INDEX ... NOT VISIBLE` statement, which makes the old index invisible to the optimizer, followed by a `DROP INDEX` statement that should only be run after making the old index invisible and verifying that workload performance is satisfactory. [#144101][#144101] +- Updated the titles of the disk throughput graphs on the Metrics page Hardware dashboard to display only "Bytes/s" instead of including a specific magnitude, "MiB/s". The titles of the graphs are now “"Disk Read Bytes/s" and "Disk Write Bytes/s". [#147462][#147462] + +

Bug fixes

+ +- Fixed a bug where using values changefeed.aggregator.flush_jitter, min_checkpoint_frequency such that changefeed.aggregator.flush_jitter * min_checkpoint_frequency < 1 would cause a panic. Jitter will now be disabled in this case. Fixes: #143436 [#144304][#144304] +- Fixed a bug that could cause queries that perform work in parallel to ignore the requested quality-of-service level. Affected operations include lookup joins, DistSQL execution, and foreign-key checks. [#144427][#144427] +- Improve the performance of `SHOW CREATE TABLE` on multi-region databases with large numbers of objects. [#144900][#144900] +- Fixed a bug where running `DROP INDEX` on a hash-sharded index did not properly detect dependencies from functions and procedures on the shard column. This caused the `DROP INDEX` statement to fail with an internal validation error. Now the statement returns a correct error message, and using `DROP INDEX ... CASCADE` works as expected by dropping the dependent functions and procedures. [#145107][#145107] +- Fixed a bug that prevented variable references using ordinal syntax (like `$1`) from reflecting updates to the variable. Referencing variables declared in PL/pgSQL blocks (instead of parameters) via ordinal syntax is now disallowed. The bug had existed since v24.1. [#144347][#144347] +- Fixed a bug that prevented variable references using ordinal syntax (like `$1`) from reflecting updates to the variable. Referencing variables declared in PL/pgSQL blocks (instead of parameters) via ordinal syntax is now disallowed. The bug had existed since v24.1. [#144347][#144347] +- Fixed a bug that caused index expression elements of primary keys to be shown incorrectly in the output of `SHOW CREATE TABLE`. [#144716][#144716] +- Fixed a bug that could lead to schema changes hanging after a cluster recovered from availability issues. [#145462][#145462] +- Previously, on a table with multiple column families, CockroachDB could encounter a `Non-nullable column "‹×›:‹×›" with no value` error in rare cases during table statistics collection. The bug was present since v19.2 and is now fixed. [#145481][#145481] +- Fixed a bug that could cause a row-level TTL job to fail with the error "comparison of two different versions of enum" if an `ENUM` type referenced by the table experienced a schema change. [#145374][#145374] +- Fixed a bug where the physical cluster replication (PCR) reader catalog job could hit validation errors when schema objects had dependencies between them (for example, when a sequence's default expression was being removed). [#145972][#145972] +- Creating a vector index on a table that contains a `NULL` vector value will no longer cause an internal error. [#145983][#145983] +- Fixed an internal assertion failure that could occur during operations like `ALTER TYPE` or `ALTER DATABASE ... ADD REGION` when temporary tables were present. [#145551][#145551] +- Row-level security (RLS) `SELECT` policies during `UPDATE` operations are now only applied when referenced columns appear in the `SET` or `WHERE` clauses, matching the behavior of PostgreSQL. This improves compatibility. [#145344][#145344] +- Fixed an issue where using inline log configuration could cause internal errors on the DB Console's Logs page for a node at `#/node/{nodeID}/logs`. [#145329][#145329] +- Fixed an integer overflow in the `split_part` function when using extremely negative field positions like Go's `math.MinInt64`. [#146271][#146271] +- Fixed incorrect application of SELECT policies to RETURNING clauses in INSERT and UPDATE when no table columns were referenced. [#145890][#145890] +- Fixed a bug that prevented `TRUNCATE` from succeeding if any indexes on the table had back-reference dependencies, such as from a view or function referencing the index. [#146287][#146287] +- Fixed a bug where `ALTER TABLE` operations with multiple commands could generate invalid zone configurations. [#146369][#146369] +- Fixed a bug where an invalid comment in the `system.comment` table for a schema object could make it inacessible. [#146213][#146213] +- Fixed a bug where a CockroachDB node could crash when executing `DO` statements that contain currently unsupported DDL statements like `CREATE TYPE` in a non-default configuration (additional logging needed to be enabled, e.g., via the `sql.log.all_statements.enabled` cluster setting). This bug was introduced in v25.1. [#146406][#146406] +- Prevent use of future timestamps when using `AS OF SYSTEM TIME` with `CREATE TABLE ... AS` and materialized views. Previously, such timestamps could cause errors, delays, or hangs. [#146446][#146446] +- Fixed an internal error that could be hit when `ADD COLUMN UNIQUE` and `ALTER PRIMARY KEY` were executed within the same transaction. [#146567][#146567] +- Fixed a bug that prevented temporary views and sequences from being created if the `pg_temp` schema was explicitly specified in the qualified name of the object being created. [#146586][#146586] +- Fixed a bug where CockroachDB would not use the vectorized fast path for `COPY` when it was supported. The bug was only present in previous v25.2 releases. [#146696][#146696] +- Errors triggered by DB Console activity no longer cause the node to crash. [#145563][#145563] +- Prevents HTTP connections from stopping server shutdown. [#146744][#146744] +- The MVCC timestamp is now emitted correctly when the `mvcc_timestamp` is used with CDC queries. [#146836][#146836] +- Fixed a bug in v25.2.0 where a vector search operator could drop user-supplied filters if the same vector column was indexed twice and a vector index with no prefix columns was defined after a vector index with prefix columns. [#146259][#146259] +- Fixed a bug that could cause the `cockroach` process to `segfault` when collecting runtime execution traces (typically collected via the **Advanced Debug** page in the Console). [#146883][#146883] +- Fixed a data race in the `cloudstorage` sink. [#146297][#146297] +- Fixed a bug where the `kv.rangefeed.closed_timestamp.slow_ranges` would not be incremented when a rangefeed closed timestamp was slower than the target threshold. [#146949][#146949] +- Fixed a bug that could cause an `AFTER` trigger to fail with `client already committed or rolled back the transaction` if the query also contained foreign-key cascades. The bug had existed since `AFTER` triggers were introduced in v24.3. [#146890][#146890] +- Prevent dropping columns or indexes that are still referenced by triggers. Previously, these operations could succeed silently, potentially breaking trigger functionality. [#146683][#146683] +- Fixed a bug where searching a vector with a query vector that doesn't match the dimensions of the vector column in the table would cause a node to crash. [#146848][#146848] +- Specifying types for a subset of columns in a generator function's column definition list now results in a syntax error instead of an internal error. [#145492][#145492] +- Fixed a bug that caused the SQL Activity > Statement Fingerprint page to fail to load details for statements run with application names containing a `#` character. [#147021][#147021] +- CockroachDB could previously incorrectly evaluate `to_regclass`, `to_regnamespace`, `to_regproc`, `to_regprocedure`, `to_regrole`, and `to_regtype` builtin functions when the query using them happened to be evaluated in distributed fashion. The bug has been present since the introduction of these builtins in 23.1 and is now fixed. [#147362][#147362] +- Fixed a bug that caused the optimizer to ignore index hints when optimizing some forms of prepared statements. This could result in one of two unexepcted behaviors: a query errors with the message `index cannot be used for this query` when the index can actually be used; or a query uses an index that does not adhere to the hint. The hints relevant to this bug are regular index hints, e.g., `SELECT * FROM tab@index`, `FORCE_INVERTED_INDEX`, and `FORCE_ZIGZAG`. [#147368][#147368] +- Fixed a bug where the `pg_catalog.pg_policy` table could contain duplicate OID values when multiple tables had policies with the same policy ID. All rows in `pg_policy` now have unique OIDs as required. [#147373][#147373] +- Fixed a bug where the `rolbypassrls` column in `pg_roles` and `pg_authid` tables always returned false, even for roles with the `BYPASSRLS` option. [#147357][#147357] +- Fixed a bug that could cause stable expressions to be folded in cached query plans. The bug could cause stable expressions like `current_setting` to return the wrong result if used in a prepared statement. The bug was introduced in point releases v23.2.22, v24.1.14, v24.3.9, and v25.1.2, and the v25.2 alpha. [#147187][#147187] +- Fixed an issue where updating child metrics and reinitializing metrics at the same time could cause scrape errors. [#147486][#147486] +- Fixed a runtime panic in the `substring_index` function that occurred when the count argument was the minimum 64-bit integer value. [#147546][#147546] +- Fixed a memory leak in index backfill jobs where completed spans were duplicated in memory on each progress update after resuming from a checkpoint. This could cause out-of-memory (OOM) errors when backfilling indexes on large tables with many ranges. This bug affected release version v25.2.0 and pre-release versions v25.2.0-alpha.3 through v25.2.0-rc.1. [#147511][#147511] +- Fixed a bug where prepared statements on schema changes could fail with runtime errors. [#147658][#147658] + +

Performance improvements

+ +- Prepared statements are now more efficiently cached. [#144021][#144021] +- Prepared statements are now more efficiently cached. [#144021][#144021] +- TTL jobs now respond to cluster topology changes by restarting and rebalancing across available nodes. [#145214][#145214] + +

Miscellaneous

+ +

Missing category

+ +- Fixes an issue with LDR where the presence of a unique index may cause spurious DLQ entries if the unique index has a smaller index id than the primary key index. [#147117][#147117] +- Scheduled backups now prevent multiple compaction jobs from running in parallel on its backups. [#145930][#145930] +- `backup.compaction.window_size` must be at least 3 instead of 2. [#145895][#145895] +- Compaction jobs now properly fail upon encountering range keys. [#144958][#144958] + +

Changes without release note annotation

+ +- [#145195][#145195] [13835e918][13835e918] kv: extract KVBatch service from Internal service and remove api_drpc_hacky +- [#145195][#145195] [3853e29f5][3853e29f5] kv: extract KVBatch service from Internal service and remove api_drpc_hacky +- [#147548][#147548] [0d303dab5][0d303dab5] crosscluster/physical: skip TestAlterTenantAddReader under deadlock +- [#147520][#147520] [f54b19227][f54b19227] roachprod: add changefeed.stage.* metrics +- [#147306][#147306] [0a8379e73][0a8379e73] sql: maintain backref during restore of trigger +- [#147311][#147311] [071c31b5c][071c31b5c] drt: update YAML configurations and scripts for 300-node scale cluster +- [#147067][#147067] [94b9f3f75][94b9f3f75] roachtest-operations: fix node-kill +- [#147022][#147022] [303c52245][303c52245] cloud: redact azure secret keys in URI +- [#145078][#145078] [111b77369][111b77369] failureinjection: introduce Failer wrapper for using FailureModes +- [#146638][#146638] [17693edbe][17693edbe] roachtest: extend timeout for fine grained checkpointing +- [#146084][#146084] [e4a172f62][e4a172f62] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [43206d17d][43206d17d] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [888e80501][888e80501] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [7915dfada][7915dfada] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [ca33f1660][ca33f1660] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [34955a649][34955a649] kvserver,kvnemesis: dump raft logs on failure +- [#146084][#146084] [873b5bb9e][873b5bb9e] kvserver,kvnemesis: dump raft logs on failure +- [#146624][#146624] [5f0eb7d74][5f0eb7d74] kvcoord: flush all revisions of buffered write when necessary +- [#146072][#146072] [054b66d25][054b66d25] github-pull-request-make: unbreak stress diff pkg detection on rel branches +- [#146359][#146359] [155ee48f0][155ee48f0] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [cc7ccae3a][cc7ccae3a] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [c083ea439][c083ea439] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [360f92ac0][360f92ac0] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [5c21a7b8b][5c21a7b8b] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [879776795][879776795] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [8c7fcd0d5][8c7fcd0d5] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [42e2f952c][42e2f952c] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146359][#146359] [ccd901442][ccd901442] metric,tenantcostserver: fix bug in UpdateIfHigher and use counters +- [#146183][#146183] [b1274e5d0][b1274e5d0] status: unredact health alerts +- [#146622][#146622] [dd899c63a][dd899c63a] roachprod: add new metrics +- [#146458][#146458] [cc8948629][cc8948629] docgen: expose WITH/WITHOUT HOLD syntax in SQL cursor diagram +- [#145431][#145431] [f87566ef5][f87566ef5] roachtest: Test fine grained checkpointing +- [#146296][#146296] [72a1b4b74][72a1b4b74] changefeedccl: turn on verbose logging for TestChangefeedCursor +- [#142901][#142901] [6d84b6220][6d84b6220] roachprod-microbench: failure groups +- [#142901][#142901] [c21085622][c21085622] roachprod-microbench: failure groups +- [#146285][#146285] [b7fe53ab7][b7fe53ab7] roachtest: init providers in main(), not init() +- [#146298][#146298] [a10c45e64][a10c45e64] revert "sql: remove old hyperloglog version" +- [#146298][#146298] [56151d2a9][56151d2a9] revert "sql: remove old hyperloglog version" +- [#146353][#146353] [45e5f2ef0][45e5f2ef0] roachtest: bump http timeout in quit roachtest +- [#145113][#145113] [b3849a872][b3849a872] drpc,bazel: add protoc-gen-go-drpc compiler and integrate with Bazel/Gazelle +- [#146201][#146201] [0e85be2e6][0e85be2e6] roachprod: use az sdk for checking for live migrations +- [#146267][#146267] [ff1b7d5e5][ff1b7d5e5] kvserver: skip test on failed re-listen +- [#146073][#146073] [e432e7609][e432e7609] kvcoord: add debugging for TestDistSenderReplicaStall +- [#146181][#146181] [3e7c4395b][3e7c4395b] tenanttokenbucket: improve redacted logging +- [#146069][#146069] [6d76a2910][6d76a2910] kvserver: logging improvements for TestAtomicReplicationChange +- [#146069][#146069] [f92bb23af][f92bb23af] kvserver: logging improvements for TestAtomicReplicationChange +- [#146069][#146069] [964403236][964403236] kvserver: logging improvements for TestAtomicReplicationChange +- [#146069][#146069] [f1c9905ac][f1c9905ac] kvserver: logging improvements for TestAtomicReplicationChange +- [#145899][#145899] [a198a4422][a198a4422] roachtest: start workload after initial scan +- [#145417][#145417] [cc9cfb5b6][cc9cfb5b6] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [69854cbb2][69854cbb2] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [763afb3f8][763afb3f8] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [d3e3d3023][d3e3d3023] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [ad9fdc65e][ad9fdc65e] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [53c301bee][53c301bee] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [19b3db691][19b3db691] kvserver,snaprecv: move MultiSSTWriter +- [#145417][#145417] [3d45ccea7][3d45ccea7] kvserver,snaprecv: move MultiSSTWriter +- [#144458][#144458] [584d9d885][584d9d885] workload: use multi region partitioner in auditor +- [#144573][#144573] [ff410e1db][ff410e1db] roachprod: suppress metamorphic constants when checking binary version +- [#145106][#145106] [b5145b915][b5145b915] roachprod: add CLI option to download certs dir +- [#144751][#144751] [fbaf2bd3c][fbaf2bd3c] ui: enhance metric display +- [#144218][#144218] [16ddb9763][16ddb9763] roachtest/allocbench: Add labels to the std-dev metric +- [#144218][#144218] [8b29e4802][8b29e4802] roachtest/allocbench: Add labels to the std-dev metric +- [#144613][#144613] [2094de2f7][2094de2f7] kvserver: hard-code RangeKeysInOrder=true +- [#144613][#144613] [36cd0048b][36cd0048b] kvserver: hard-code RangeKeysInOrder=true +- [#144613][#144613] [f6c2815c0][f6c2815c0] kvserver: hard-code RangeKeysInOrder=true +- [#144613][#144613] [36c25f9b5][36c25f9b5] kvserver: hard-code RangeKeysInOrder=true +- [#144390][#144390] [57c707a48][57c707a48] roachprod/roachtest: add detection for live VM migrations on Azure +- [#144390][#144390] [4aeb6482d][4aeb6482d] roachprod/roachtest: add detection for live VM migrations on Azure +- [#144300][#144300] [a92e01689][a92e01689] authors: Add Abhishek Munnolimath to Authors +- [#144180][#144180] [795db86c3][795db86c3] fix: ttl job description doesnot quote key column +- [#144285][#144285] [c5ad4f032][c5ad4f032] kvserver: improve TestMultiSSTWriterInitSST +- [#144285][#144285] [2610e17b8][2610e17b8] kvserver: improve TestMultiSSTWriterInitSST +- [#144285][#144285] [61c44b64a][61c44b64a] kvserver: improve TestMultiSSTWriterInitSST +- [#144284][#144284] [131867856][131867856] drt: fix issue with add-index +- [#143926][#143926] [17bdf425d][17bdf425d] roachtest: Add unit labels in clusterstatscollector aggregate output +- [#143431][#143431] [f4c660d0d][f4c660d0d] stop: run closers in reverse order + +

Doc updates

+ +{% comment %}Docs team: Please add these manually.{% endcomment %} + + + +[#142826]: https://github.com/cockroachdb/cockroach/pull/142826 +[#142901]: https://github.com/cockroachdb/cockroach/pull/142901 +[#143421]: https://github.com/cockroachdb/cockroach/pull/143421 +[#143431]: https://github.com/cockroachdb/cockroach/pull/143431 +[#143536]: https://github.com/cockroachdb/cockroach/pull/143536 +[#143579]: https://github.com/cockroachdb/cockroach/pull/143579 +[#143892]: https://github.com/cockroachdb/cockroach/pull/143892 +[#143926]: https://github.com/cockroachdb/cockroach/pull/143926 +[#143927]: https://github.com/cockroachdb/cockroach/pull/143927 +[#144021]: https://github.com/cockroachdb/cockroach/pull/144021 +[#144091]: https://github.com/cockroachdb/cockroach/pull/144091 +[#144101]: https://github.com/cockroachdb/cockroach/pull/144101 +[#144180]: https://github.com/cockroachdb/cockroach/pull/144180 +[#144181]: https://github.com/cockroachdb/cockroach/pull/144181 +[#144189]: https://github.com/cockroachdb/cockroach/pull/144189 +[#144218]: https://github.com/cockroachdb/cockroach/pull/144218 +[#144284]: https://github.com/cockroachdb/cockroach/pull/144284 +[#144285]: https://github.com/cockroachdb/cockroach/pull/144285 +[#144300]: https://github.com/cockroachdb/cockroach/pull/144300 +[#144304]: https://github.com/cockroachdb/cockroach/pull/144304 +[#144347]: https://github.com/cockroachdb/cockroach/pull/144347 +[#144390]: https://github.com/cockroachdb/cockroach/pull/144390 +[#144412]: https://github.com/cockroachdb/cockroach/pull/144412 +[#144414]: https://github.com/cockroachdb/cockroach/pull/144414 +[#144427]: https://github.com/cockroachdb/cockroach/pull/144427 +[#144458]: https://github.com/cockroachdb/cockroach/pull/144458 +[#144508]: https://github.com/cockroachdb/cockroach/pull/144508 +[#144522]: https://github.com/cockroachdb/cockroach/pull/144522 +[#144567]: https://github.com/cockroachdb/cockroach/pull/144567 +[#144573]: https://github.com/cockroachdb/cockroach/pull/144573 +[#144610]: https://github.com/cockroachdb/cockroach/pull/144610 +[#144613]: https://github.com/cockroachdb/cockroach/pull/144613 +[#144716]: https://github.com/cockroachdb/cockroach/pull/144716 +[#144751]: https://github.com/cockroachdb/cockroach/pull/144751 +[#144900]: https://github.com/cockroachdb/cockroach/pull/144900 +[#144958]: https://github.com/cockroachdb/cockroach/pull/144958 +[#145078]: https://github.com/cockroachdb/cockroach/pull/145078 +[#145106]: https://github.com/cockroachdb/cockroach/pull/145106 +[#145107]: https://github.com/cockroachdb/cockroach/pull/145107 +[#145113]: https://github.com/cockroachdb/cockroach/pull/145113 +[#145117]: https://github.com/cockroachdb/cockroach/pull/145117 +[#145195]: https://github.com/cockroachdb/cockroach/pull/145195 +[#145214]: https://github.com/cockroachdb/cockroach/pull/145214 +[#145329]: https://github.com/cockroachdb/cockroach/pull/145329 +[#145344]: https://github.com/cockroachdb/cockroach/pull/145344 +[#145374]: https://github.com/cockroachdb/cockroach/pull/145374 +[#145417]: https://github.com/cockroachdb/cockroach/pull/145417 +[#145431]: https://github.com/cockroachdb/cockroach/pull/145431 +[#145435]: https://github.com/cockroachdb/cockroach/pull/145435 +[#145462]: https://github.com/cockroachdb/cockroach/pull/145462 +[#145481]: https://github.com/cockroachdb/cockroach/pull/145481 +[#145492]: https://github.com/cockroachdb/cockroach/pull/145492 +[#145551]: https://github.com/cockroachdb/cockroach/pull/145551 +[#145563]: https://github.com/cockroachdb/cockroach/pull/145563 +[#145890]: https://github.com/cockroachdb/cockroach/pull/145890 +[#145895]: https://github.com/cockroachdb/cockroach/pull/145895 +[#145899]: https://github.com/cockroachdb/cockroach/pull/145899 +[#145930]: https://github.com/cockroachdb/cockroach/pull/145930 +[#145972]: https://github.com/cockroachdb/cockroach/pull/145972 +[#145983]: https://github.com/cockroachdb/cockroach/pull/145983 +[#146069]: https://github.com/cockroachdb/cockroach/pull/146069 +[#146072]: https://github.com/cockroachdb/cockroach/pull/146072 +[#146073]: https://github.com/cockroachdb/cockroach/pull/146073 +[#146084]: https://github.com/cockroachdb/cockroach/pull/146084 +[#146127]: https://github.com/cockroachdb/cockroach/pull/146127 +[#146181]: https://github.com/cockroachdb/cockroach/pull/146181 +[#146183]: https://github.com/cockroachdb/cockroach/pull/146183 +[#146192]: https://github.com/cockroachdb/cockroach/pull/146192 +[#146201]: https://github.com/cockroachdb/cockroach/pull/146201 +[#146213]: https://github.com/cockroachdb/cockroach/pull/146213 +[#146215]: https://github.com/cockroachdb/cockroach/pull/146215 +[#146259]: https://github.com/cockroachdb/cockroach/pull/146259 +[#146267]: https://github.com/cockroachdb/cockroach/pull/146267 +[#146271]: https://github.com/cockroachdb/cockroach/pull/146271 +[#146285]: https://github.com/cockroachdb/cockroach/pull/146285 +[#146287]: https://github.com/cockroachdb/cockroach/pull/146287 +[#146296]: https://github.com/cockroachdb/cockroach/pull/146296 +[#146297]: https://github.com/cockroachdb/cockroach/pull/146297 +[#146298]: https://github.com/cockroachdb/cockroach/pull/146298 +[#146353]: https://github.com/cockroachdb/cockroach/pull/146353 +[#146359]: https://github.com/cockroachdb/cockroach/pull/146359 +[#146369]: https://github.com/cockroachdb/cockroach/pull/146369 +[#146406]: https://github.com/cockroachdb/cockroach/pull/146406 +[#146432]: https://github.com/cockroachdb/cockroach/pull/146432 +[#146446]: https://github.com/cockroachdb/cockroach/pull/146446 +[#146448]: https://github.com/cockroachdb/cockroach/pull/146448 +[#146458]: https://github.com/cockroachdb/cockroach/pull/146458 +[#146522]: https://github.com/cockroachdb/cockroach/pull/146522 +[#146567]: https://github.com/cockroachdb/cockroach/pull/146567 +[#146586]: https://github.com/cockroachdb/cockroach/pull/146586 +[#146622]: https://github.com/cockroachdb/cockroach/pull/146622 +[#146624]: https://github.com/cockroachdb/cockroach/pull/146624 +[#146638]: https://github.com/cockroachdb/cockroach/pull/146638 +[#146683]: https://github.com/cockroachdb/cockroach/pull/146683 +[#146696]: https://github.com/cockroachdb/cockroach/pull/146696 +[#146744]: https://github.com/cockroachdb/cockroach/pull/146744 +[#146764]: https://github.com/cockroachdb/cockroach/pull/146764 +[#146836]: https://github.com/cockroachdb/cockroach/pull/146836 +[#146848]: https://github.com/cockroachdb/cockroach/pull/146848 +[#146883]: https://github.com/cockroachdb/cockroach/pull/146883 +[#146890]: https://github.com/cockroachdb/cockroach/pull/146890 +[#146949]: https://github.com/cockroachdb/cockroach/pull/146949 +[#146979]: https://github.com/cockroachdb/cockroach/pull/146979 +[#147021]: https://github.com/cockroachdb/cockroach/pull/147021 +[#147022]: https://github.com/cockroachdb/cockroach/pull/147022 +[#147045]: https://github.com/cockroachdb/cockroach/pull/147045 +[#147067]: https://github.com/cockroachdb/cockroach/pull/147067 +[#147117]: https://github.com/cockroachdb/cockroach/pull/147117 +[#147187]: https://github.com/cockroachdb/cockroach/pull/147187 +[#147237]: https://github.com/cockroachdb/cockroach/pull/147237 +[#147248]: https://github.com/cockroachdb/cockroach/pull/147248 +[#147306]: https://github.com/cockroachdb/cockroach/pull/147306 +[#147311]: https://github.com/cockroachdb/cockroach/pull/147311 +[#147357]: https://github.com/cockroachdb/cockroach/pull/147357 +[#147362]: https://github.com/cockroachdb/cockroach/pull/147362 +[#147368]: https://github.com/cockroachdb/cockroach/pull/147368 +[#147373]: https://github.com/cockroachdb/cockroach/pull/147373 +[#147462]: https://github.com/cockroachdb/cockroach/pull/147462 +[#147486]: https://github.com/cockroachdb/cockroach/pull/147486 +[#147511]: https://github.com/cockroachdb/cockroach/pull/147511 +[#147520]: https://github.com/cockroachdb/cockroach/pull/147520 +[#147546]: https://github.com/cockroachdb/cockroach/pull/147546 +[#147548]: https://github.com/cockroachdb/cockroach/pull/147548 +[#147658]: https://github.com/cockroachdb/cockroach/pull/147658 +[054b66d25]: https://github.com/cockroachdb/cockroach/commit/054b66d25 +[071c31b5c]: https://github.com/cockroachdb/cockroach/commit/071c31b5c +[0a8379e73]: https://github.com/cockroachdb/cockroach/commit/0a8379e73 +[0d303dab5]: https://github.com/cockroachdb/cockroach/commit/0d303dab5 +[0e85be2e6]: https://github.com/cockroachdb/cockroach/commit/0e85be2e6 +[111b77369]: https://github.com/cockroachdb/cockroach/commit/111b77369 +[131867856]: https://github.com/cockroachdb/cockroach/commit/131867856 +[13835e918]: https://github.com/cockroachdb/cockroach/commit/13835e918 +[155ee48f0]: https://github.com/cockroachdb/cockroach/commit/155ee48f0 +[16ddb9763]: https://github.com/cockroachdb/cockroach/commit/16ddb9763 +[17693edbe]: https://github.com/cockroachdb/cockroach/commit/17693edbe +[17bdf425d]: https://github.com/cockroachdb/cockroach/commit/17bdf425d +[19b3db691]: https://github.com/cockroachdb/cockroach/commit/19b3db691 +[2094de2f7]: https://github.com/cockroachdb/cockroach/commit/2094de2f7 +[2610e17b8]: https://github.com/cockroachdb/cockroach/commit/2610e17b8 +[303c52245]: https://github.com/cockroachdb/cockroach/commit/303c52245 +[34955a649]: https://github.com/cockroachdb/cockroach/commit/34955a649 +[360f92ac0]: https://github.com/cockroachdb/cockroach/commit/360f92ac0 +[36c25f9b5]: https://github.com/cockroachdb/cockroach/commit/36c25f9b5 +[36cd0048b]: https://github.com/cockroachdb/cockroach/commit/36cd0048b +[3853e29f5]: https://github.com/cockroachdb/cockroach/commit/3853e29f5 +[3d45ccea7]: https://github.com/cockroachdb/cockroach/commit/3d45ccea7 +[3e7c4395b]: https://github.com/cockroachdb/cockroach/commit/3e7c4395b +[42e2f952c]: https://github.com/cockroachdb/cockroach/commit/42e2f952c +[43206d17d]: https://github.com/cockroachdb/cockroach/commit/43206d17d +[45e5f2ef0]: https://github.com/cockroachdb/cockroach/commit/45e5f2ef0 +[4aeb6482d]: https://github.com/cockroachdb/cockroach/commit/4aeb6482d +[53c301bee]: https://github.com/cockroachdb/cockroach/commit/53c301bee +[56151d2a9]: https://github.com/cockroachdb/cockroach/commit/56151d2a9 +[57c707a48]: https://github.com/cockroachdb/cockroach/commit/57c707a48 +[584d9d885]: https://github.com/cockroachdb/cockroach/commit/584d9d885 +[5c21a7b8b]: https://github.com/cockroachdb/cockroach/commit/5c21a7b8b +[5f0eb7d74]: https://github.com/cockroachdb/cockroach/commit/5f0eb7d74 +[61c44b64a]: https://github.com/cockroachdb/cockroach/commit/61c44b64a +[69854cbb2]: https://github.com/cockroachdb/cockroach/commit/69854cbb2 +[6d76a2910]: https://github.com/cockroachdb/cockroach/commit/6d76a2910 +[6d84b6220]: https://github.com/cockroachdb/cockroach/commit/6d84b6220 +[72a1b4b74]: https://github.com/cockroachdb/cockroach/commit/72a1b4b74 +[763afb3f8]: https://github.com/cockroachdb/cockroach/commit/763afb3f8 +[7915dfada]: https://github.com/cockroachdb/cockroach/commit/7915dfada +[795db86c3]: https://github.com/cockroachdb/cockroach/commit/795db86c3 +[873b5bb9e]: https://github.com/cockroachdb/cockroach/commit/873b5bb9e +[879776795]: https://github.com/cockroachdb/cockroach/commit/879776795 +[888e80501]: https://github.com/cockroachdb/cockroach/commit/888e80501 +[8b29e4802]: https://github.com/cockroachdb/cockroach/commit/8b29e4802 +[8c7fcd0d5]: https://github.com/cockroachdb/cockroach/commit/8c7fcd0d5 +[94b9f3f75]: https://github.com/cockroachdb/cockroach/commit/94b9f3f75 +[964403236]: https://github.com/cockroachdb/cockroach/commit/964403236 +[a10c45e64]: https://github.com/cockroachdb/cockroach/commit/a10c45e64 +[a198a4422]: https://github.com/cockroachdb/cockroach/commit/a198a4422 +[a92e01689]: https://github.com/cockroachdb/cockroach/commit/a92e01689 +[ad9fdc65e]: https://github.com/cockroachdb/cockroach/commit/ad9fdc65e +[b1274e5d0]: https://github.com/cockroachdb/cockroach/commit/b1274e5d0 +[b3849a872]: https://github.com/cockroachdb/cockroach/commit/b3849a872 +[b5145b915]: https://github.com/cockroachdb/cockroach/commit/b5145b915 +[b7fe53ab7]: https://github.com/cockroachdb/cockroach/commit/b7fe53ab7 +[c083ea439]: https://github.com/cockroachdb/cockroach/commit/c083ea439 +[c21085622]: https://github.com/cockroachdb/cockroach/commit/c21085622 +[c5ad4f032]: https://github.com/cockroachdb/cockroach/commit/c5ad4f032 +[ca33f1660]: https://github.com/cockroachdb/cockroach/commit/ca33f1660 +[cc7ccae3a]: https://github.com/cockroachdb/cockroach/commit/cc7ccae3a +[cc8948629]: https://github.com/cockroachdb/cockroach/commit/cc8948629 +[cc9cfb5b6]: https://github.com/cockroachdb/cockroach/commit/cc9cfb5b6 +[ccd901442]: https://github.com/cockroachdb/cockroach/commit/ccd901442 +[d3e3d3023]: https://github.com/cockroachdb/cockroach/commit/d3e3d3023 +[dd899c63a]: https://github.com/cockroachdb/cockroach/commit/dd899c63a +[e432e7609]: https://github.com/cockroachdb/cockroach/commit/e432e7609 +[e4a172f62]: https://github.com/cockroachdb/cockroach/commit/e4a172f62 +[f1c9905ac]: https://github.com/cockroachdb/cockroach/commit/f1c9905ac +[f4c660d0d]: https://github.com/cockroachdb/cockroach/commit/f4c660d0d +[f54b19227]: https://github.com/cockroachdb/cockroach/commit/f54b19227 +[f6c2815c0]: https://github.com/cockroachdb/cockroach/commit/f6c2815c0 +[f87566ef5]: https://github.com/cockroachdb/cockroach/commit/f87566ef5 +[f92bb23af]: https://github.com/cockroachdb/cockroach/commit/f92bb23af +[fbaf2bd3c]: https://github.com/cockroachdb/cockroach/commit/fbaf2bd3c +[ff1b7d5e5]: https://github.com/cockroachdb/cockroach/commit/ff1b7d5e5 +[ff410e1db]: https://github.com/cockroachdb/cockroach/commit/ff410e1db