From a01f7984188a886e0e75e2fc37cfdd089b48df4a Mon Sep 17 00:00:00 2001 From: katmayb Date: Mon, 17 Mar 2025 08:42:05 -0400 Subject: [PATCH 1/5] Release page --- src/current/releases/v25.2.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/current/releases/v25.2.md diff --git a/src/current/releases/v25.2.md b/src/current/releases/v25.2.md new file mode 100644 index 00000000000..06a72e49f9c --- /dev/null +++ b/src/current/releases/v25.2.md @@ -0,0 +1,33 @@ +--- +title: What's New in v25.2 +toc: true +toc_not_nested: true +summary: Additions and changes in CockroachDB version v25.2 since version v25.1 +major_version: v25.2 +pre_production_preview: false +pre_production_preview_version: false +docs_area: releases +--- + +{% comment %}Load releases from _data/releases.yml. Uncomment the commented line below to print the structure to debug.{% endcomment %} +{% assign rel = site.data.releases | where_exp: "rel", "rel.major_version == page.major_version" | sort: "release_date" | reverse %} +{% comment %}rel: {{ rel}}{% endcomment %} + +{% comment %}Load major-version support details from _data/versions.yml. Uncomment the commented line below to print the structure to debug. {% endcomment %} +{% assign vers = site.data.versions | where_exp: "vers", "vers.major_version == page.major_version" | first %} + +{% if rel.size > 0 %} +{% assign today = "today" | date: "%Y-%m-%d" %} +{% comment %}vers: {{ vers }}{% endcomment %} + +{% include releases/testing-release-notice.md major_version=vers %} + +{% include releases/whats-new-intro.md major_version=vers %} + +{% for r in rel %} +{% include releases/{{ page.major_version }}/{{ r.release_name }}.md release=r.release_name %} +{% endfor %} + +{% else %} +No releases are available for this version. See the [Releases]({% link releases/index.md %}) page for all available releases. +{% endif %} From c4d722e0499c33f5e0158ea8d75cbb314708126d Mon Sep 17 00:00:00 2001 From: katmayb Date: Mon, 17 Mar 2025 10:19:58 -0400 Subject: [PATCH 2/5] unedited notes + created v25.2.md file --- src/current/_data/releases.yml | 27 + src/current/_data/versions.csv | 1 + .../releases/v25.2/v25.2.0-alpha.1.md | 465 ++++++++++++++++++ 3 files changed, 493 insertions(+) create mode 100644 src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml index 6f923506144..412953a5445 100644 --- a/src/current/_data/releases.yml +++ b/src/current/_data/releases.yml @@ -8458,3 +8458,30 @@ a CockroachDB self-hosted cluster to this version, [contact support](https://support.cockroachlabs.com/hc/requests/new). + + +- release_name: v25.2.0-alpha.1 + major_version: v25.2 + release_date: '2025-03-24' + release_type: Testing + go_version: go1.23.7 + sha: ccc3f31caec8193d217ce6866dfb3757c1ca47f6 + 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 bf81e3b4187..fd6c3312eee 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -17,3 +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- 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 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 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 +v25.2,N/A,N/A,N/A,v25.1,master,N/A diff --git a/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md b/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md new file mode 100644 index 00000000000..fdd42935b80 --- /dev/null +++ b/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md @@ -0,0 +1,465 @@ +## v25.2.0-alpha.1 + +Release Date: March 24, 2025 + +{% include releases/new-release-downloads-docker-image.md release=include.release %} + +

Backward-incompatible changes

+ +- The default value of the autocommit_before_ddl session variable is now true. This will cause any schema change statement that is sent during a transaction to make the current transaction commit before executing the schema change in a separate transaction. This change is being made because CockroachDB does not have full support for multiple schema changes in a transaction, as described here: https://www.cockroachlabs.com/docs/stable/online-schema-changes#schema-changes-within-transactions Users who do not desire the autocommit behavior can preserve the old behavior by changing the default value of autocommit_before_ddl with a command such as: ``` ALTER ROLE ALL SET autocommit_before_ddl = false; ``` [#139871][#139871] + +

Security updates

+ +- Added server.oidc_authentication.provider.custom_ca cluster setting to support custom root CA for verifying certificates while authenticating with the OIDC provider. [#140583][#140583] + +

General changes

+ +- When changefeeds are created with a resolved option lower than the min_checkpoint_frequency option, a message was printed to inform the user. This message is now a notice, and includes extra information if either option was a default. [#142094][#142094] +- Adds the logging of changefeed_canceled events to the telemetry log. [#142139][#142139] +- This change updates the response headers of http request to include: "Cache-control: no-store" instead of "Cache-control:no-cache". This change means that http requests to the server will no longer be cached in the client. requests for UI assets, such as bundle.js, fonts, etc. will still include "Cache-control:no-cache" to ensure they are cached and that db console loads quickly. [#142277][#142277] +- Added the `headers_json_column_name option to the kafka sink, allowing users to specify a column in their table(s) of type JSONB to be used as the kafka headers for each row. Detailed behaviour: - The value of the specified field must be a JSON object (or NULL, or 'null'::json). If it isn't, a rate-limited warning will be logged. Nulls will be skipped. - The values of the JSON object are used as headers for the kafka message. Primitive JSON types (string, number, boolean) will be converted to strings. Nulls will be skipped. Other types (object, array) will be sent as their serialized JSON representation. [#142092][#142092] + +

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

+ +- Added a new envelope type `enriched`. Fixes: #139652 [#140112][#140112] +- Add support for the enriched envelope type to avro. [#140525][#140525] +- The cluster setting changefeed.new_webhook_sink_enabled/changefeed.new_webhook_sink.enabled is no longer supported. The new webhook sink has been enabled by default since v23.2, and the first version webhook sink has been removed. [#141940][#141940] +- The cluster setting changefeed.new_pubsub_sink_enabled/changefeed.new_pubsub_sink.enabled is no longer supported. The new pubsub sink has been enabled by default since v23.2, and the first version pubsub sink has been removed. [#141948][#141948] + +

SQL language changes

+ +- SHOW JOBS is now based on a new mechanism for storing information about the progress and status of running jobs. Epic: none. [#138104][#138104] +- SHOW TENANT WITH REPLICATION STATUS will now display the `ingestion_job_id` column after the `name` column. [#138967][#138967] +- Since v23.2 table statistics histograms have been collected for non-indexed JSON columns. Histograms are no longer collected for these columns. This reduces memory usage during table statistics collection, for both automatic and manual collection via `ANALYZE` and `CREATE STATISTICS`. This can be reverted by setting the cluster setting `sql.stats.non_indexed_json_histograms.enabled` to `true`. [#139766][#139766] +- Optimizer_use_merged_partial_statistics is now enabled by default, meaning the optimizer will use partial stats if available to estimate more up-to-date statistics. [#139925][#139925] +- The `optimizer_prefer_bounded_cardinality` session setting has been added which instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. [#139985][#139985] +- The `optimizer_min_row_count` session setting has been added which sets a lower bound on row count estimates for relational expressions during query planning. A value of zero, which is the default, indicates no lower bound. Note that if this is set to a value greater than zero, a row count of zero can still be estimated for expressions with a cardinality of zero, e.g., for a contradictory filter. Setting this to a value higher than 0, such as 1, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. [#140065][#140065] +- Fixed a bug existing only in pre-release versions of v25.1 which could cause unexpected errors during planning for `VALUES` expressions containing function calls with multiple overloads. [#140277][#140277] +- The `optimizer_check_input_min_row_count` session setting has been added to control the minimum row count estimate for buffer scans of foreign key and unqiueness checks. It defaults to 0. [#140735][#140735] +- Adding jsonpath type, without parsing, evaluation, or table creation. Currently accepts any non-empty string. [#140204][#140204] +- Added the `substring_index` built-in function, which extracts a portion of a string based on a specified delimiter and occurrence count, following MySQL behavior. [#141929][#141929] +- Added compression support for changefeed webhook sinks. This reduces network bandwidth and storage usage, improving performance and lowering costs. Users can enable compression by setting the compression= option. Supported algorithms are gzip and zstd. Fixes: https://github.com/cockroachdb/cockroach/issues/132279 Epic: https://cockroachlabs.atlassian.net/browse/CRDB-39392 [#138872][#138872] +- Holdable cursors declared using `CURSOR WITH HOLD` are now supported. A holdable cursor fully executes a query upon txn commit and stores the result in a row container, which is maintained by the session. [#141943][#141943] +- The `split_part` built-in function now supports negative `return_index_pos` values, returning the |n|th field from the end when specified. [#141944][#141944] +- Adding parser for jsonpath type. Accepts setting mode (`strict/lax`), key accessors (`.name`), and array wildcards (`[*]`). [#142010][#142010] +- New `WITH IGNORE_FOREIGN_KEYS` option is added to `SHOW CREATE TABLE` stmt which makes it so that the foreign key constraints are not included in the output schema. This option is also acceptable in `SHOW CREATE VIEW` but has no influence there. It cannot be combined with existing `WITH REDACT` option. [#142151][#142151] +- CREATE TABLE AS SELECT ... FROM ... AS OF SYSTEM TIME x is now supported. It cannot be executed within an explicit transaction. [#142147][#142147] +- Invocations of stored procedures via CALL statements will now be counted towards newly added `sql.call_stored_proc.count.started` and `sql.call_stored_proc.count` metrics. Previously, they were counted against `sql.misc.count.started` and `sql.misc.count` metrics. [#142249][#142249] +- Statements such as REFRESH MATERIALIZED VIEW and CREATE MATERIALIZED VIEW can now be executed with an AS OF SYSTEM TIME clause. These statements can still not be used in an explicit transaction. [#142259][#142259] +- Support double-quoted key accessors within jsonpath (`SELECT '$."1key"."key2"'::JSONPATH;`). [#142241][#142241] +- Support jsonpath array integer indexing (ex. `$.a[1]`). [#142241][#142241] +- Support jsonpath array ranges (ex. `$.a[1 to 3]`). [#142241][#142241] +- Support jsonpath array unions (ex `$.a[1, 2 to 4, 7, 8]`). [#142241][#142241] +- Fixed a regression due to join-elimination rules that left a Project operator below a Join, preventing optimizer rules from applying. [#142252][#142252] +- This patch adds the new ALTER VIRTUAL CLUSTER .. SET REPLICATION SOURCE cmd so a user can configure the producer jobs on the source cluster. Currently they can only configure the EXPIRATION WINDOW. This patch also removes the EXPIRATION WINDOW option from the consumer side cmd, ALTER VIRTUAL CLUSTER SET REPLICATION. [#142501][#142501] +- Add the `jsonb_path_query` function, which takes in a JSON object and a Jsonpath query, and returns the resulting JSON object. [#142336][#142336] + +

Operational changes

+ +- The `storage.queue.store-failures` metric was removed. [#139150][#139150] +- Customers must pass URIs as external connections to create LDR statments. [#139383][#139383] +- The following cluster settings have been deprecated: - `sql.metrics.statement_details.plan_collection.enabled` - `sql.metrics.statement_details.plan_collection.period` [#138042][#138042] +- Reduce noise when using dynamically provisioned logging sinks. Fixes: https://cockroachlabs.atlassian.net/browse/CLOUDOPS-8044 [#139565][#139565] +- New metrics for monitoring changefeed span-level checkpoint creation have been added: - `changefeed.checkpoint.create_nanos`, which measures the time it takes to create a changefeed checkpoint - `changefeed.checkpoint.total_bytes`, which measures the total size of a changefeed checkpoint in bytes - `changefeed.checkpoint.span_count`, which measures the number of spans in a changefeed checkpoint [#139375][#139375] +- The following schema changes are now whitelisted to run during LDR. - ALTER INDEX RENAME - ALTER INDEX .. NOT VISIBLE - ALTER TABLE .. ALTER COLUMN .. SET DEFAULT - ALTER TABLE .. ALTER COLUMN .. DROP DEFAULT - ALTER TABLE .. ALTER COLUMN SET VISIBLE [#141858][#141858] +- Add sql.statement_timeout.count to track the number of SQL statements that fail due to exceeding the statement timeout. [#142078][#142078] +- Adds the sql.transaction_timeout.count metric to track the number of SQL statements that fail due to exceeding the transaction timeout. Informs #142008 [#142105][#142105] +- Add jobs.row_level_ttl.num_delete_batch_retries to track the number of times the TTL job had to reduce the batch size and try again. [#141953][#141953] +- To create an LDR STREAM, a user requires the REPLICATIONDEST priv, instead of the REPLICATION priv. [#142345][#142345] +- To create a PCR STREAM, a user requires the REPLICATIONDEST priv, in addition to the already required MANAGEVIRTUALCLUSTER priv. [#142345][#142345] +- The `kv.snapshot_receiver.excise.enable` cluster setting has been retired. Excise is now enabled unconditionally. [#142651][#142651] +- Introduces a new cluster setting server.child_metrics.include_aggregate.enabled that modifies the behaviour of prometheus metric reporting (/_status/vars). By default it is set to true which maintains the existing behaviour. It can be toggled to false to stop the reporting of the aggregate time series which prevents issues with double counting when querying metrics. [#141601][#141601] + +

Command-line changes

+ +- Improves the performance of the debug zip query that collects transaction_contention_events data, reducing the chances of "memory budget exceeded" or "query execution canceled due to statement timeout" errors. [#139735][#139735] +- This change removes the ``--storage-engine`` parameter from the CLI. It has been deprecated for over 4 years. [#139744][#139744] + +

DB Console changes

+ +- The /_admin/v1/settings API (and therfore cluster settings console page) now returns cluster settings using the same redaction logic as querying `SHOW CLUSTER SETTINGS` and `crdb_internal.cluster_settings`. This means that only settings flagged as "sensitive" will be redacted, all other settings will be visible. The same authorization is required for this endpoint, meaning the user must be an admin or have MODIFYCLUSTERSETTINGS or VIEWCLUSTERSETTINGS roles to hit this API. The exception is that if the user has VIEWACTIVITY or VIEWACTIVITYREDACTED, they will see console only settings. [#138688][#138688] +- The overload dashboard on DB Console now shows only the v2 replication admission control metrics, where previously it displayed both v1 and v2 metrics. Additionally, the aggregate size of queued replication entries is now shown. [#139066][#139066] +- Jobs can now choose to emit messages that are shown on the job detail page in 25.1+. Epic: none. [#139246][#139246] +- An event is posted when a store is getting close to full capacity. [#139199][#139199] +- Percentile latencies are no longer available for SQL Activity. The implementation of these percentiles was error-prone and difficult to understand since it was computed differently from the other SQL statistics we collect. Customers interested in viewing percentile latencies per statement fingerprint are encouraged to use the experimental per-fingerprint histograms that can be enabled with the `sql.stats.detailed_latency_metrics.enabled` cluster setting. This will enable externalized histogram metrics via the Prometheus scrape endpoint. [#139500][#139500] +- Surface commit latency in the transactions pages [#139946][#139946] +- The Paused Follower graph is removed from the Replication Dashboard in DB Console as followers are no longer paused by default from v25.1. [#141427][#141427] +- DB console's index.html page now includes a Content-Security-Policy (CSP) header to help prevent malicious XSS attacks. [#142282][#142282] + +

Bug fixes

+ +- Storage parameters with the same key would lead to ambiguity. This has now been fixed - an error will be surfaced if duplicate storage parameters are specified. [#139172][#139172] +- Fixed a bug where the error "batch timestamp T must be after replica GC threshold" could occur during a schema change backfill operation, and cause the schema change job to retry infinitely. Now this error is treated as permanent, and will cause the job to enter the failed state. [#139203][#139203] +- Previously, whenever CockroachDB collected a statement bundle when plan-gist-based matching was used, `plan.txt` file would be incomplete, and this is now fixed. The bug has been present since introduction of plan-gist-based matching feature in 23.1 but was partially addressed in 24.2 release. [#127604][#127604] +- Previously, EXPLAIN ANALYZE of mutations statements would always get `actual row count: 1` execution statistic for the corresponding mutation node in the plan, regardless of how many rows were actually modified. The bug has been present since before 22.2 version and is now fixed. [#139278][#139278] +- Fixes a bug where sometimes activating diagnostics for sql activity appears unresponsive, with no state or status update upon activating. Now, the status should always reflect that diagnosticsa are active or that a statement bundle is downloadable. [#139342][#139342] +- The to_regclass, to_regtype, to_regrole, and related functions now return NULL for any numerical input argument. [#139777][#139777] +- Fix a rare bug in which a query might fail with error "could not find computed column expression for column in table" while dropping a virtual computed column from the table. This bug was introduced in v23.2.4. [#139388][#139388] +- The optimizer could produce incorrect query plans for queries using trigram similarity filters (e.g. `col % 'val'`) when `pg_trgm.similarity_threshold` was set to 0. This bug was introduced in v22.2.0 and is now fixed. Note that this issue does not affect v24.2.0+ releases when the `optimizer_use_trigram_similarity_optimization` session variable (introduced in v24.2.0) is set to its default value `true`, as it would skip this behaviour. [#139265][#139265] +- Fixed a bug that could cause SHOW TABLES and other introspection operations to encounter a "batch timestamp must be after replica GC threshold" error. [#139532][#139532] +- Fixed a bug existing only in pre-release versions of v25.1. The bug could cause creation of a PL/pgSQL routine with a CTE to fail with an error like the following: `unexpected root expression: with`. [#140083][#140083] +- Configuring replication controls on a partition name of an index that is not unique across all indexes will correctly impact only that partition. [#140167][#140167] +- Data distribution page in advanced debug will no longer crash if there are null values for `raw_sql_config` in `crdb_internal.zones`. [#140066][#140066] +- Fixed a bug where dropping a table with a trigger using the legacy schema changer could leave an orphaned reference in the descriptor. This occurred when two tables were dependent on each other via a trigger, and the table containing the trigger was dropped. [#140995][#140995] +- Addresses a bug that could cause concurrent DML to prevent primary key changes from succeeding [#141189][#141189] +- Fixed a bug that prevented transaction retry errors encountered during implicit transactions from being automatically retried internally if the autocommit_before_ddl session variable was enabled and the statement was a schema change. [#141369][#141369] +- A step in the 25.1 upgrade finalization process that required backfilling jobs now uses locks to ensure it makes progress even when there is contention on the jobs table to prevent the possibility of becoming stuck under heavy load. Epic: none. [#141420][#141420] +- Fixed a bug that could prevent SHOW CREATE TABLE from working if a database was offline (e.g., due to a RESTORE on that database). [#141195][#141195] +- A step in the 25.1 upgrade finalization process that required backfilling jobs now uses locks to ensure it makes progress even when there is contention on the jobs table to prevent the possibility of becoming stuck under heavy load. Epic: none. [#141459][#141459] +- Fix a bug that prevented starting multi-table LDR streams on tables that used user-defined types. Epic: none. [#141634][#141634] +- A bug has been fixed that could cause "nil pointer dereference" errors when executing statements with UDFs. The error could also occur when executing statements with some built-in functions, like obj_description. [#141596][#141596] +- Previously, a node that was drained as part of decommissioning may have interrupted SQL connections that were still active during drain (and for which drain would have been expected to wait). Epic: None [#141411][#141411] +- Fixed a bug where the fraction completed and internal checkpoints during an index backfill operation would stop getting written if any of the periodic fraction/checkpoint write operations failed. Additional logging was added so that progress is logged in addition to being written to the job record. This bug affected schema change operations such as creating an index or adding a non-nullable column to a table. [#141714][#141714] +- A bug has been fixed that could cause gateway nodes to panic when performing an `UPSERT` on a table with a `BOOL` primary key column and a partial index with the PK column as the predicate expression. [#141728][#141728] +- CockroachDB could previously incorrectly evaluate casts to some Oid types (like REGCLASS) in some cases and this has now been fixed. The bug has been present since at least 22.1 version. [#141946][#141946] +- Transactions that enter the aborted state will now release locks they are holding immediately, as long as there is no SAVEPOINT active in the transaction. [#140160][#140160] +- Fixed a bug when running with autocommit_before_ddl that could cause a runtime error when binding a previously prepared DDL statement. [#142034][#142034] +- Fixed a bug where orphaned leases were not properly cleaned up. [#141429][#141429] +- Previously the CREATE LOGICALLY REPLICATED syntax would always create the destination side table with the source side name, instead of the user provided name. This patch ensures the user provided name is used. [#142235][#142235] +- Fixed a bug that would prevent CREATE TRIGGER and DROP TRIGGER statements from working if the autocommit_before_ddl setting was enabled, and if the statement was either sent as a prepared statement or as part of a batch of multiple statements. [#142202][#142202] +- Fix a bug that could cause the upgrade to 25.1 to crash if a job was missing from the virtual table, for example if a malformed job had no payload info. Epic: none. [#142284][#142284] +- The TTL deletion job now includes a retry mechanism that progressively reduces the batch size when encountering contention. This improves the chances of successful deletion without requiring manual adjustments to TTL knobs. [#141953][#141953] +- Fixed an issue where removed nodes could leave persistent entries in crdb_internal.gossip_alerts. [#142385][#142385] +- Invalid default expressions could cause backfilling schema changes to retry forever [#142490][#142490] +- Fast failback could succeed even if the target cluster pts had been removed, causing the reverse stream to enter a crashing loop. This patch ensures the failback cmd fast fails. [#142231][#142231] +- Fixed an issue where dropping a database with triggers could fail due to an undropped back reference to a trigger function. [#142670][#142670] +- Fixed a bug where replication controls on indexes and partitions would not get properly updated during an index backfill (in the [Declarative Schema Changer](https://www.cockroachlabs.com/docs/stable/online-schema-changes#declarative-schema-changer)) to its new ID; effectively discarding the replication controls set on it before the backfill. [#141800][#141800] +- Address a bug where CREATE SEQUENCE could succeed under schema / database with a drop in progress. [#142696][#142696] +- Fixes bug in client certificate expiration metrics. [#142682][#142682] +- PCR reader catalogs could have orphan rows in system.namespace after a object is renamed. [#142829][#142829] +- Fixed a bug where during validation of a table-level zone config, inherited values were incorrectly populated from the default range instead of from the parent database. [#142760][#142760] +- Fixed a bug which would send a replica outside of a tenant known region, when SURVIVE REGION FAILURE was set and we configured exactly 3 regions. [#142838][#142838] + +

Performance improvements

+ +- Improved directory traversal performance by switching from filepath.Walk to filepath.WalkDir. fix: solve the lint error by crlfmt [#139108][#139108] +- Removed a potential storage read from raft commit pipeline. This reduces the worst-case KV write latency. [#139609][#139609] +- The `optimizer_check_input_min_row_count` session settings now defaults to 1, resulting in better query plans for foreign key and uniqueness checks. [#140735][#140735] +- This change restores the changefeed checkpoint immediately to the changefrontier. This potentially reduces duplicate messages in the event that the frontier writes a checkpoint before it receives updates and covers the previous checkpoint from the aggregators, overwriting the checkpoint with less information. [#139969][#139969] + +

Build changes

+ +- Upgrade to Go 1.23.6 [#140626][#140626] +- Enable the use of profile-guided optimization in the `cockroach` binary. [#142697][#142697] + +

Miscellaneous

+ +

Missing category

+ +- When configuring the `sql.ttl.default_delete_rate_limit` cluster setting a notice is displayed informing that the TTL rate limit is not per leaseholder with a link to the docs. [#142061][#142061] +- Update to Go 1.23.7 [#142698][#142698] +- Improve S3 credential caching for STS credentials [#142434][#142434] +- Updated the `CREATE TRIGGER` `only implemented in the declarative schema changer` error message to include a helpful suggestion and link to relevant docs. [#141738][#141738] +- DROP INDEX can now only be run when `sql_safe_updates` are set to false. [#139456][#139456] + +

Changes without release note annotation

+ +- [#142716][#142716] [d716bf5c2][d716bf5c2] roachtest: remove old excise setting in admission control test +- [#142476][#142476] [3416acf41][3416acf41] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [f3c62e586][f3c62e586] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [8e0cced53][8e0cced53] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [4b2d97fc6][4b2d97fc6] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [81aaa0643][81aaa0643] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [61ee39580][61ee39580] kvserver: untangle shared/external snap streaming logic +- [#142476][#142476] [c2f5acddd][c2f5acddd] kvserver: untangle shared/external snap streaming logic +- [#142648][#142648] [be9de983e][be9de983e] kvserver: document rangedel problems in snapshot receive path +- [#142648][#142648] [670db3fd5][670db3fd5] kvserver: document rangedel problems in snapshot receive path +- [#142599][#142599] [fbc3fdf43][fbc3fdf43] goschedstats: cleanup and minor API improvement +- [#142599][#142599] [8408cf11e][8408cf11e] goschedstats: cleanup and minor API improvement +- [#142599][#142599] [aee22d963][aee22d963] goschedstats: cleanup and minor API improvement +- [#142599][#142599] [191fadd39][191fadd39] goschedstats: cleanup and minor API improvement +- [#141770][#141770] [d7d62dabd][d7d62dabd] roachtest: warm up sysbench using oltp_read_only +- [#141770][#141770] [7baaaa32a][7baaaa32a] roachtest: warm up sysbench using oltp_read_only +- [#141770][#141770] [de45fb598][de45fb598] roachtest: warm up sysbench using oltp_read_only +- [#141895][#141895] [eee65c38f][eee65c38f] drtprod: fetch the DD API KEY +- [#142053][#142053] [9eaa84c61][9eaa84c61] server: output abbreviated jemalloc stats for observability +- [#141982][#141982] [563858381][563858381] sniffarg: move helper to new package +- [#141933][#141933] [a60105b5c][a60105b5c] roachtest: fix iptable dropped packets check +- [#141874][#141874] [603cd7e37][603cd7e37] Revert "kvserver: enable leader leases by default" +- [#140548][#140548] [a432cb85c][a432cb85c] roachprod/failure-injection: add initial framework for failure injection library +- [#140548][#140548] [5186dd452][5186dd452] roachprod/failure-injection: add initial framework for failure injection library +- [#140548][#140548] [1da54220e][1da54220e] roachprod/failure-injection: add initial framework for failure injection library +- [#140548][#140548] [a9b587961][a9b587961] roachprod/failure-injection: add initial framework for failure injection library +- [#140650][#140650] [538f1914b][538f1914b] Make docker init script respect COCKROACH_DATABASE when processing SQL files +- [#141455][#141455] [04dc19585][04dc19585] roachtest/mixedversion: consolidate predecessor funcs +- [#141455][#141455] [d2af9c931][d2af9c931] roachtest/mixedversion: consolidate predecessor funcs +- [#141455][#141455] [8d1be2bbf][8d1be2bbf] roachtest/mixedversion: consolidate predecessor funcs +- [#141619][#141619] [d9fdece13][d9fdece13] kvserver: show store number when printing metrics +- [#141430][#141430] [f33b7c585][f33b7c585] roachtest: run post test health checks on system +- [#141430][#141430] [98dcef253][98dcef253] roachtest: run post test health checks on system +- [#141147][#141147] [f4333e57c][f4333e57c] sql: add sslocal.SqlStats reference to sql server +- [#141414][#141414] [7b3f10b08][7b3f10b08] roachtest: log queried URL in HealthStatus +- [#141399][#141399] [2f7a68412][2f7a68412] tabledesc: implement vector index retrieval in the catalog +- [#141384][#141384] [2225d2d65][2225d2d65] docgen: update DO statement diagram +- [#140604][#140604] [3ca9845cc][3ca9845cc] roachtest: use atomic pointer for logger +- [#140680][#140680] [38f1665b3][38f1665b3] docgen: add DO statement diagram +- [#140953][#140953] [1d4c348b4][1d4c348b4] vecindex: deflake TestVectorManager +- [#140952][#140952] [8e5590c16][8e5590c16] Revert "jobs: parse internal jobs queries at init time" +- [#139557][#139557] [80b6d64e0][80b6d64e0] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [3e47dc4da][3e47dc4da] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [924d7d28d][924d7d28d] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [18ff035e4][18ff035e4] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [7fbc3d2ae][7fbc3d2ae] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [0a115606c][0a115606c] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [ff466290a][ff466290a] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [7f7c1742b][7f7c1742b] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [75f011b27][75f011b27] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [82dc133ac][82dc133ac] tests: add parallel flavors of BenchmarkSysbench +- [#139557][#139557] [f5e596a01][f5e596a01] tests: add parallel flavors of BenchmarkSysbench +- [#139665][#139665] [a7acd05d2][a7acd05d2] Vector manager +- [#139665][#139665] [cf4e18a3e][cf4e18a3e] Vector manager +- [#139665][#139665] [e16e1dcbb][e16e1dcbb] Vector manager +- [#139075][#139075] [031e0558e][031e0558e] roachtest: mark polled VM preemptions as non reportable +- [#139075][#139075] [2ff9ee5bd][2ff9ee5bd] roachtest: mark polled VM preemptions as non reportable +- [#140150][#140150] [3b1a0b094][3b1a0b094] roachprod: add ip address expander func +- [#140150][#140150] [4140914d6][4140914d6] roachprod: add ip address expander func +- [#140150][#140150] [4eb45f2ce][4eb45f2ce] roachprod: add ip address expander func +- [#140460][#140460] [29161af05][29161af05] changefeedccl: deprecate initial_resolved from changeaggregator_spec +- [#139728][#139728] [659258746][659258746] tests: extract sniffArgs helper +- [#139365][#139365] [f82b7c803][f82b7c803] docgen: update COPY TO STDOUT portions of SQL diagram +- [#140109][#140109] [7550d5d35][7550d5d35] changefeedccl: skip TestChangefeedNemeses under deadlock +- [#140087][#140087] [59207bca8][59207bca8] Revert "sql/stats: generation count was incorrectly incremented on each look up" +- [#140087][#140087] [e634a4833][e634a4833] Revert "sql/stats: generation count was incorrectly incremented on each look up" +- [#139993][#139993] [073c2af29][073c2af29] vecpb: add vector index config to the index descriptor +- [#134796][#134796] [4d559009f][4d559009f] workload : fix tpcc multiple workload load generation +- [#139731][#139731] [e4f91b7fd][e4f91b7fd] pkg/cli: validate input file in tsdump command +- [#139706][#139706] [04d582139][04d582139] kvserver: avoid an alloc in the write path +- [#139540][#139540] [54f2d13ad][54f2d13ad] drtprod: add dependent target failure check +- [#139478][#139478] [3f0ede98f][3f0ede98f] drtprod: minor fix in drt-large +- [#139451][#139451] [4ecf5c9d9][4ecf5c9d9] kvserver: potentially deflake TestDeleteRangeTombstoneSetsGCHint +- [#139443][#139443] [f27a48e2d][f27a48e2d] drtprod: YAML for 300 node and YCSB scripts +- [#137743][#137743] [4a5c503e9][4a5c503e9] stop: grow stacks for async tasks +- [#139050][#139050] [fc74b6ff1][fc74b6ff1] vecstore: implement GetFullVectors for the persistent store +- [#139050][#139050] [825cca6cb][825cca6cb] vecstore: implement GetFullVectors for the persistent store +- [#139050][#139050] [cca9535e0][cca9535e0] vecstore: implement GetFullVectors for the persistent store + +

Doc updates

+ +{% comment %}Docs team: Please add these manually.{% endcomment %} + + + +[#127604]: https://github.com/cockroachdb/cockroach/pull/127604 +[#134796]: https://github.com/cockroachdb/cockroach/pull/134796 +[#137743]: https://github.com/cockroachdb/cockroach/pull/137743 +[#138042]: https://github.com/cockroachdb/cockroach/pull/138042 +[#138104]: https://github.com/cockroachdb/cockroach/pull/138104 +[#138688]: https://github.com/cockroachdb/cockroach/pull/138688 +[#138872]: https://github.com/cockroachdb/cockroach/pull/138872 +[#138967]: https://github.com/cockroachdb/cockroach/pull/138967 +[#139050]: https://github.com/cockroachdb/cockroach/pull/139050 +[#139066]: https://github.com/cockroachdb/cockroach/pull/139066 +[#139075]: https://github.com/cockroachdb/cockroach/pull/139075 +[#139108]: https://github.com/cockroachdb/cockroach/pull/139108 +[#139150]: https://github.com/cockroachdb/cockroach/pull/139150 +[#139172]: https://github.com/cockroachdb/cockroach/pull/139172 +[#139199]: https://github.com/cockroachdb/cockroach/pull/139199 +[#139203]: https://github.com/cockroachdb/cockroach/pull/139203 +[#139246]: https://github.com/cockroachdb/cockroach/pull/139246 +[#139265]: https://github.com/cockroachdb/cockroach/pull/139265 +[#139278]: https://github.com/cockroachdb/cockroach/pull/139278 +[#139342]: https://github.com/cockroachdb/cockroach/pull/139342 +[#139365]: https://github.com/cockroachdb/cockroach/pull/139365 +[#139375]: https://github.com/cockroachdb/cockroach/pull/139375 +[#139383]: https://github.com/cockroachdb/cockroach/pull/139383 +[#139388]: https://github.com/cockroachdb/cockroach/pull/139388 +[#139443]: https://github.com/cockroachdb/cockroach/pull/139443 +[#139451]: https://github.com/cockroachdb/cockroach/pull/139451 +[#139456]: https://github.com/cockroachdb/cockroach/pull/139456 +[#139478]: https://github.com/cockroachdb/cockroach/pull/139478 +[#139500]: https://github.com/cockroachdb/cockroach/pull/139500 +[#139532]: https://github.com/cockroachdb/cockroach/pull/139532 +[#139540]: https://github.com/cockroachdb/cockroach/pull/139540 +[#139557]: https://github.com/cockroachdb/cockroach/pull/139557 +[#139565]: https://github.com/cockroachdb/cockroach/pull/139565 +[#139609]: https://github.com/cockroachdb/cockroach/pull/139609 +[#139665]: https://github.com/cockroachdb/cockroach/pull/139665 +[#139706]: https://github.com/cockroachdb/cockroach/pull/139706 +[#139728]: https://github.com/cockroachdb/cockroach/pull/139728 +[#139731]: https://github.com/cockroachdb/cockroach/pull/139731 +[#139735]: https://github.com/cockroachdb/cockroach/pull/139735 +[#139744]: https://github.com/cockroachdb/cockroach/pull/139744 +[#139766]: https://github.com/cockroachdb/cockroach/pull/139766 +[#139777]: https://github.com/cockroachdb/cockroach/pull/139777 +[#139871]: https://github.com/cockroachdb/cockroach/pull/139871 +[#139925]: https://github.com/cockroachdb/cockroach/pull/139925 +[#139946]: https://github.com/cockroachdb/cockroach/pull/139946 +[#139969]: https://github.com/cockroachdb/cockroach/pull/139969 +[#139985]: https://github.com/cockroachdb/cockroach/pull/139985 +[#139993]: https://github.com/cockroachdb/cockroach/pull/139993 +[#140065]: https://github.com/cockroachdb/cockroach/pull/140065 +[#140066]: https://github.com/cockroachdb/cockroach/pull/140066 +[#140083]: https://github.com/cockroachdb/cockroach/pull/140083 +[#140087]: https://github.com/cockroachdb/cockroach/pull/140087 +[#140109]: https://github.com/cockroachdb/cockroach/pull/140109 +[#140112]: https://github.com/cockroachdb/cockroach/pull/140112 +[#140150]: https://github.com/cockroachdb/cockroach/pull/140150 +[#140160]: https://github.com/cockroachdb/cockroach/pull/140160 +[#140167]: https://github.com/cockroachdb/cockroach/pull/140167 +[#140204]: https://github.com/cockroachdb/cockroach/pull/140204 +[#140277]: https://github.com/cockroachdb/cockroach/pull/140277 +[#140460]: https://github.com/cockroachdb/cockroach/pull/140460 +[#140525]: https://github.com/cockroachdb/cockroach/pull/140525 +[#140548]: https://github.com/cockroachdb/cockroach/pull/140548 +[#140583]: https://github.com/cockroachdb/cockroach/pull/140583 +[#140604]: https://github.com/cockroachdb/cockroach/pull/140604 +[#140626]: https://github.com/cockroachdb/cockroach/pull/140626 +[#140650]: https://github.com/cockroachdb/cockroach/pull/140650 +[#140680]: https://github.com/cockroachdb/cockroach/pull/140680 +[#140735]: https://github.com/cockroachdb/cockroach/pull/140735 +[#140952]: https://github.com/cockroachdb/cockroach/pull/140952 +[#140953]: https://github.com/cockroachdb/cockroach/pull/140953 +[#140995]: https://github.com/cockroachdb/cockroach/pull/140995 +[#141147]: https://github.com/cockroachdb/cockroach/pull/141147 +[#141189]: https://github.com/cockroachdb/cockroach/pull/141189 +[#141195]: https://github.com/cockroachdb/cockroach/pull/141195 +[#141369]: https://github.com/cockroachdb/cockroach/pull/141369 +[#141384]: https://github.com/cockroachdb/cockroach/pull/141384 +[#141399]: https://github.com/cockroachdb/cockroach/pull/141399 +[#141411]: https://github.com/cockroachdb/cockroach/pull/141411 +[#141414]: https://github.com/cockroachdb/cockroach/pull/141414 +[#141420]: https://github.com/cockroachdb/cockroach/pull/141420 +[#141427]: https://github.com/cockroachdb/cockroach/pull/141427 +[#141429]: https://github.com/cockroachdb/cockroach/pull/141429 +[#141430]: https://github.com/cockroachdb/cockroach/pull/141430 +[#141455]: https://github.com/cockroachdb/cockroach/pull/141455 +[#141459]: https://github.com/cockroachdb/cockroach/pull/141459 +[#141596]: https://github.com/cockroachdb/cockroach/pull/141596 +[#141601]: https://github.com/cockroachdb/cockroach/pull/141601 +[#141619]: https://github.com/cockroachdb/cockroach/pull/141619 +[#141634]: https://github.com/cockroachdb/cockroach/pull/141634 +[#141714]: https://github.com/cockroachdb/cockroach/pull/141714 +[#141728]: https://github.com/cockroachdb/cockroach/pull/141728 +[#141738]: https://github.com/cockroachdb/cockroach/pull/141738 +[#141770]: https://github.com/cockroachdb/cockroach/pull/141770 +[#141800]: https://github.com/cockroachdb/cockroach/pull/141800 +[#141858]: https://github.com/cockroachdb/cockroach/pull/141858 +[#141874]: https://github.com/cockroachdb/cockroach/pull/141874 +[#141895]: https://github.com/cockroachdb/cockroach/pull/141895 +[#141929]: https://github.com/cockroachdb/cockroach/pull/141929 +[#141933]: https://github.com/cockroachdb/cockroach/pull/141933 +[#141940]: https://github.com/cockroachdb/cockroach/pull/141940 +[#141943]: https://github.com/cockroachdb/cockroach/pull/141943 +[#141944]: https://github.com/cockroachdb/cockroach/pull/141944 +[#141946]: https://github.com/cockroachdb/cockroach/pull/141946 +[#141948]: https://github.com/cockroachdb/cockroach/pull/141948 +[#141953]: https://github.com/cockroachdb/cockroach/pull/141953 +[#141982]: https://github.com/cockroachdb/cockroach/pull/141982 +[#142010]: https://github.com/cockroachdb/cockroach/pull/142010 +[#142034]: https://github.com/cockroachdb/cockroach/pull/142034 +[#142053]: https://github.com/cockroachdb/cockroach/pull/142053 +[#142061]: https://github.com/cockroachdb/cockroach/pull/142061 +[#142078]: https://github.com/cockroachdb/cockroach/pull/142078 +[#142092]: https://github.com/cockroachdb/cockroach/pull/142092 +[#142094]: https://github.com/cockroachdb/cockroach/pull/142094 +[#142105]: https://github.com/cockroachdb/cockroach/pull/142105 +[#142139]: https://github.com/cockroachdb/cockroach/pull/142139 +[#142147]: https://github.com/cockroachdb/cockroach/pull/142147 +[#142151]: https://github.com/cockroachdb/cockroach/pull/142151 +[#142202]: https://github.com/cockroachdb/cockroach/pull/142202 +[#142231]: https://github.com/cockroachdb/cockroach/pull/142231 +[#142235]: https://github.com/cockroachdb/cockroach/pull/142235 +[#142241]: https://github.com/cockroachdb/cockroach/pull/142241 +[#142249]: https://github.com/cockroachdb/cockroach/pull/142249 +[#142252]: https://github.com/cockroachdb/cockroach/pull/142252 +[#142259]: https://github.com/cockroachdb/cockroach/pull/142259 +[#142277]: https://github.com/cockroachdb/cockroach/pull/142277 +[#142282]: https://github.com/cockroachdb/cockroach/pull/142282 +[#142284]: https://github.com/cockroachdb/cockroach/pull/142284 +[#142336]: https://github.com/cockroachdb/cockroach/pull/142336 +[#142345]: https://github.com/cockroachdb/cockroach/pull/142345 +[#142385]: https://github.com/cockroachdb/cockroach/pull/142385 +[#142434]: https://github.com/cockroachdb/cockroach/pull/142434 +[#142476]: https://github.com/cockroachdb/cockroach/pull/142476 +[#142490]: https://github.com/cockroachdb/cockroach/pull/142490 +[#142501]: https://github.com/cockroachdb/cockroach/pull/142501 +[#142599]: https://github.com/cockroachdb/cockroach/pull/142599 +[#142648]: https://github.com/cockroachdb/cockroach/pull/142648 +[#142651]: https://github.com/cockroachdb/cockroach/pull/142651 +[#142670]: https://github.com/cockroachdb/cockroach/pull/142670 +[#142682]: https://github.com/cockroachdb/cockroach/pull/142682 +[#142696]: https://github.com/cockroachdb/cockroach/pull/142696 +[#142697]: https://github.com/cockroachdb/cockroach/pull/142697 +[#142698]: https://github.com/cockroachdb/cockroach/pull/142698 +[#142716]: https://github.com/cockroachdb/cockroach/pull/142716 +[#142760]: https://github.com/cockroachdb/cockroach/pull/142760 +[#142829]: https://github.com/cockroachdb/cockroach/pull/142829 +[#142838]: https://github.com/cockroachdb/cockroach/pull/142838 +[031e0558e]: https://github.com/cockroachdb/cockroach/commit/031e0558e +[04d582139]: https://github.com/cockroachdb/cockroach/commit/04d582139 +[04dc19585]: https://github.com/cockroachdb/cockroach/commit/04dc19585 +[073c2af29]: https://github.com/cockroachdb/cockroach/commit/073c2af29 +[0a115606c]: https://github.com/cockroachdb/cockroach/commit/0a115606c +[18ff035e4]: https://github.com/cockroachdb/cockroach/commit/18ff035e4 +[191fadd39]: https://github.com/cockroachdb/cockroach/commit/191fadd39 +[1d4c348b4]: https://github.com/cockroachdb/cockroach/commit/1d4c348b4 +[1da54220e]: https://github.com/cockroachdb/cockroach/commit/1da54220e +[2225d2d65]: https://github.com/cockroachdb/cockroach/commit/2225d2d65 +[29161af05]: https://github.com/cockroachdb/cockroach/commit/29161af05 +[2f7a68412]: https://github.com/cockroachdb/cockroach/commit/2f7a68412 +[2ff9ee5bd]: https://github.com/cockroachdb/cockroach/commit/2ff9ee5bd +[3416acf41]: https://github.com/cockroachdb/cockroach/commit/3416acf41 +[38f1665b3]: https://github.com/cockroachdb/cockroach/commit/38f1665b3 +[3b1a0b094]: https://github.com/cockroachdb/cockroach/commit/3b1a0b094 +[3ca9845cc]: https://github.com/cockroachdb/cockroach/commit/3ca9845cc +[3e47dc4da]: https://github.com/cockroachdb/cockroach/commit/3e47dc4da +[3f0ede98f]: https://github.com/cockroachdb/cockroach/commit/3f0ede98f +[4140914d6]: https://github.com/cockroachdb/cockroach/commit/4140914d6 +[4a5c503e9]: https://github.com/cockroachdb/cockroach/commit/4a5c503e9 +[4b2d97fc6]: https://github.com/cockroachdb/cockroach/commit/4b2d97fc6 +[4d559009f]: https://github.com/cockroachdb/cockroach/commit/4d559009f +[4eb45f2ce]: https://github.com/cockroachdb/cockroach/commit/4eb45f2ce +[4ecf5c9d9]: https://github.com/cockroachdb/cockroach/commit/4ecf5c9d9 +[5186dd452]: https://github.com/cockroachdb/cockroach/commit/5186dd452 +[538f1914b]: https://github.com/cockroachdb/cockroach/commit/538f1914b +[54f2d13ad]: https://github.com/cockroachdb/cockroach/commit/54f2d13ad +[563858381]: https://github.com/cockroachdb/cockroach/commit/563858381 +[59207bca8]: https://github.com/cockroachdb/cockroach/commit/59207bca8 +[603cd7e37]: https://github.com/cockroachdb/cockroach/commit/603cd7e37 +[61ee39580]: https://github.com/cockroachdb/cockroach/commit/61ee39580 +[659258746]: https://github.com/cockroachdb/cockroach/commit/659258746 +[670db3fd5]: https://github.com/cockroachdb/cockroach/commit/670db3fd5 +[7550d5d35]: https://github.com/cockroachdb/cockroach/commit/7550d5d35 +[75f011b27]: https://github.com/cockroachdb/cockroach/commit/75f011b27 +[7b3f10b08]: https://github.com/cockroachdb/cockroach/commit/7b3f10b08 +[7baaaa32a]: https://github.com/cockroachdb/cockroach/commit/7baaaa32a +[7f7c1742b]: https://github.com/cockroachdb/cockroach/commit/7f7c1742b +[7fbc3d2ae]: https://github.com/cockroachdb/cockroach/commit/7fbc3d2ae +[80b6d64e0]: https://github.com/cockroachdb/cockroach/commit/80b6d64e0 +[81aaa0643]: https://github.com/cockroachdb/cockroach/commit/81aaa0643 +[825cca6cb]: https://github.com/cockroachdb/cockroach/commit/825cca6cb +[82dc133ac]: https://github.com/cockroachdb/cockroach/commit/82dc133ac +[8408cf11e]: https://github.com/cockroachdb/cockroach/commit/8408cf11e +[8d1be2bbf]: https://github.com/cockroachdb/cockroach/commit/8d1be2bbf +[8e0cced53]: https://github.com/cockroachdb/cockroach/commit/8e0cced53 +[8e5590c16]: https://github.com/cockroachdb/cockroach/commit/8e5590c16 +[924d7d28d]: https://github.com/cockroachdb/cockroach/commit/924d7d28d +[98dcef253]: https://github.com/cockroachdb/cockroach/commit/98dcef253 +[9eaa84c61]: https://github.com/cockroachdb/cockroach/commit/9eaa84c61 +[a432cb85c]: https://github.com/cockroachdb/cockroach/commit/a432cb85c +[a60105b5c]: https://github.com/cockroachdb/cockroach/commit/a60105b5c +[a7acd05d2]: https://github.com/cockroachdb/cockroach/commit/a7acd05d2 +[a9b587961]: https://github.com/cockroachdb/cockroach/commit/a9b587961 +[aee22d963]: https://github.com/cockroachdb/cockroach/commit/aee22d963 +[be9de983e]: https://github.com/cockroachdb/cockroach/commit/be9de983e +[c2f5acddd]: https://github.com/cockroachdb/cockroach/commit/c2f5acddd +[cca9535e0]: https://github.com/cockroachdb/cockroach/commit/cca9535e0 +[cf4e18a3e]: https://github.com/cockroachdb/cockroach/commit/cf4e18a3e +[d2af9c931]: https://github.com/cockroachdb/cockroach/commit/d2af9c931 +[d716bf5c2]: https://github.com/cockroachdb/cockroach/commit/d716bf5c2 +[d7d62dabd]: https://github.com/cockroachdb/cockroach/commit/d7d62dabd +[d9fdece13]: https://github.com/cockroachdb/cockroach/commit/d9fdece13 +[de45fb598]: https://github.com/cockroachdb/cockroach/commit/de45fb598 +[e16e1dcbb]: https://github.com/cockroachdb/cockroach/commit/e16e1dcbb +[e4f91b7fd]: https://github.com/cockroachdb/cockroach/commit/e4f91b7fd +[e634a4833]: https://github.com/cockroachdb/cockroach/commit/e634a4833 +[eee65c38f]: https://github.com/cockroachdb/cockroach/commit/eee65c38f +[f27a48e2d]: https://github.com/cockroachdb/cockroach/commit/f27a48e2d +[f33b7c585]: https://github.com/cockroachdb/cockroach/commit/f33b7c585 +[f3c62e586]: https://github.com/cockroachdb/cockroach/commit/f3c62e586 +[f4333e57c]: https://github.com/cockroachdb/cockroach/commit/f4333e57c +[f5e596a01]: https://github.com/cockroachdb/cockroach/commit/f5e596a01 +[f82b7c803]: https://github.com/cockroachdb/cockroach/commit/f82b7c803 +[fbc3fdf43]: https://github.com/cockroachdb/cockroach/commit/fbc3fdf43 +[fc74b6ff1]: https://github.com/cockroachdb/cockroach/commit/fc74b6ff1 +[ff466290a]: https://github.com/cockroachdb/cockroach/commit/ff466290a From 3e7aa6f1fb59aa464c7cf291f6bed14489aee922 Mon Sep 17 00:00:00 2001 From: katmayb Date: Mon, 17 Mar 2025 15:39:11 -0400 Subject: [PATCH 3/5] Add edits for release notes --- src/current/_data/versions.csv | 2 +- .../releases/v25.2/v25.2.0-alpha.1.md | 424 +++++------------- 2 files changed, 110 insertions(+), 316 deletions(-) diff --git a/src/current/_data/versions.csv b/src/current/_data/versions.csv index fd6c3312eee..cc8ba1ddb9d 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -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- 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 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 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 -v25.2,N/A,N/A,N/A,v25.1,master,N/A +v25.2,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A \ No newline at end of file diff --git a/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md b/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md index fdd42935b80..697684f8354 100644 --- a/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md +++ b/src/current/_includes/releases/v25.2/v25.2.0-alpha.1.md @@ -6,250 +6,159 @@ Release Date: March 24, 2025

Backward-incompatible changes

-- The default value of the autocommit_before_ddl session variable is now true. This will cause any schema change statement that is sent during a transaction to make the current transaction commit before executing the schema change in a separate transaction. This change is being made because CockroachDB does not have full support for multiple schema changes in a transaction, as described here: https://www.cockroachlabs.com/docs/stable/online-schema-changes#schema-changes-within-transactions Users who do not desire the autocommit behavior can preserve the old behavior by changing the default value of autocommit_before_ddl with a command such as: ``` ALTER ROLE ALL SET autocommit_before_ddl = false; ``` [#139871][#139871] +- The default value of the `autocommit_before_ddl` session variable is now `true`. This will cause any schema change statement that is sent during a transaction to make the current transaction commit before executing the schema change in a separate transaction. CockroachDB does not have full support for multiple [schema changes in a transaction]({% link v25.1/online-schema-changes.md %}#schema-changes-within-transactions). Users who do not want the autocommit behavior can preserve the previous behavior by changing the default value of `autocommit_before_ddl` with: `ALTER ROLE ALL SET autocommit_before_ddl = false;`. [#139871][#139871]

Security updates

-- Added server.oidc_authentication.provider.custom_ca cluster setting to support custom root CA for verifying certificates while authenticating with the OIDC provider. [#140583][#140583] +- Added the `server.oidc_authentication.provider.custom_ca` cluster setting to support custom root CA for verifying certificates while authenticating with the OIDC provider. [#140583][#140583]

General changes

-- When changefeeds are created with a resolved option lower than the min_checkpoint_frequency option, a message was printed to inform the user. This message is now a notice, and includes extra information if either option was a default. [#142094][#142094] -- Adds the logging of changefeed_canceled events to the telemetry log. [#142139][#142139] -- This change updates the response headers of http request to include: "Cache-control: no-store" instead of "Cache-control:no-cache". This change means that http requests to the server will no longer be cached in the client. requests for UI assets, such as bundle.js, fonts, etc. will still include "Cache-control:no-cache" to ensure they are cached and that db console loads quickly. [#142277][#142277] -- Added the `headers_json_column_name option to the kafka sink, allowing users to specify a column in their table(s) of type JSONB to be used as the kafka headers for each row. Detailed behaviour: - The value of the specified field must be a JSON object (or NULL, or 'null'::json). If it isn't, a rate-limited warning will be logged. Nulls will be skipped. - The values of the JSON object are used as headers for the kafka message. Primitive JSON types (string, number, boolean) will be converted to strings. Nulls will be skipped. Other types (object, array) will be sent as their serialized JSON representation. [#142092][#142092] - -

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

- -- Added a new envelope type `enriched`. Fixes: #139652 [#140112][#140112] -- Add support for the enriched envelope type to avro. [#140525][#140525] -- The cluster setting changefeed.new_webhook_sink_enabled/changefeed.new_webhook_sink.enabled is no longer supported. The new webhook sink has been enabled by default since v23.2, and the first version webhook sink has been removed. [#141940][#141940] -- The cluster setting changefeed.new_pubsub_sink_enabled/changefeed.new_pubsub_sink.enabled is no longer supported. The new pubsub sink has been enabled by default since v23.2, and the first version pubsub sink has been removed. [#141948][#141948] +- When changefeeds are created with a `resolved` option lower than the `min_checkpoint_frequency` option, an error was printed to inform the user. This message is now a notice, and includes extra information if either option was a default. [#142094][#142094] +- Added the logging of `changefeed_canceled` events to the telemetry log. [#142139][#142139] +- Updated the response headers of HTTP requests to include: `"Cache-control: no-store"` instead of `"Cache-control:no-cache"`, which means that HTTP requests to the server will no longer be cached in the client. Requests for UI assets, such as `bundle.js`, fonts, etc., will still include `"Cache-control:no-cache"` to ensure they are cached and that the DB console loads quickly. [#142277][#142277] +- Added the `headers_json_column_name` option to the Kafka sink, allowing users to specify a column in their table(s) of type `JSONB` to be used as the Kafka headers for each row. [#142092][#142092] +- Improved S3 credential caching for STS credentials. [#142434][#142434]

SQL language changes

-- SHOW JOBS is now based on a new mechanism for storing information about the progress and status of running jobs. Epic: none. [#138104][#138104] -- SHOW TENANT WITH REPLICATION STATUS will now display the `ingestion_job_id` column after the `name` column. [#138967][#138967] +- `SHOW JOBS` is now based on a new mechanism for storing information about the progress and status of running jobs. [#138104][#138104] +- `SHOW VIRTUAL CLUSTER WITH REPLICATION STATUS` will now display the `ingestion_job_id` column after the `name` column. [#138967][#138967] - Since v23.2 table statistics histograms have been collected for non-indexed JSON columns. Histograms are no longer collected for these columns. This reduces memory usage during table statistics collection, for both automatic and manual collection via `ANALYZE` and `CREATE STATISTICS`. This can be reverted by setting the cluster setting `sql.stats.non_indexed_json_histograms.enabled` to `true`. [#139766][#139766] -- Optimizer_use_merged_partial_statistics is now enabled by default, meaning the optimizer will use partial stats if available to estimate more up-to-date statistics. [#139925][#139925] -- The `optimizer_prefer_bounded_cardinality` session setting has been added which instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. [#139985][#139985] -- The `optimizer_min_row_count` session setting has been added which sets a lower bound on row count estimates for relational expressions during query planning. A value of zero, which is the default, indicates no lower bound. Note that if this is set to a value greater than zero, a row count of zero can still be estimated for expressions with a cardinality of zero, e.g., for a contradictory filter. Setting this to a value higher than 0, such as 1, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. [#140065][#140065] -- Fixed a bug existing only in pre-release versions of v25.1 which could cause unexpected errors during planning for `VALUES` expressions containing function calls with multiple overloads. [#140277][#140277] -- The `optimizer_check_input_min_row_count` session setting has been added to control the minimum row count estimate for buffer scans of foreign key and unqiueness checks. It defaults to 0. [#140735][#140735] -- Adding jsonpath type, without parsing, evaluation, or table creation. Currently accepts any non-empty string. [#140204][#140204] -- Added the `substring_index` built-in function, which extracts a portion of a string based on a specified delimiter and occurrence count, following MySQL behavior. [#141929][#141929] -- Added compression support for changefeed webhook sinks. This reduces network bandwidth and storage usage, improving performance and lowering costs. Users can enable compression by setting the compression= option. Supported algorithms are gzip and zstd. Fixes: https://github.com/cockroachdb/cockroach/issues/132279 Epic: https://cockroachlabs.atlassian.net/browse/CRDB-39392 [#138872][#138872] -- Holdable cursors declared using `CURSOR WITH HOLD` are now supported. A holdable cursor fully executes a query upon txn commit and stores the result in a row container, which is maintained by the session. [#141943][#141943] +- `optimizer_use_merged_partial_statistics` is now enabled by default, meaning the optimizer will use partial stats if available to estimate more up-to-date statistics. [#139925][#139925] +- The `optimizer_prefer_bounded_cardinality` session setting has been added that instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. [#139985][#139985] +- The `optimizer_min_row_count` session setting has been added that sets a lower bound on row count estimates for relational expressions during query planning. A value of `0`, which is the default, indicates no lower bound. If this is set to a value greater than `0`, a row count of `0` can still be estimated for expressions with a cardinality of `0`, e.g., for a contradictory filter. Setting this to a value higher than `0`, such as `1`, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. [#140065][#140065] +- Fixed a bug existing only in pre-release versions of v25.1 that could cause unexpected errors during planning for `VALUES` expressions containing function calls with multiple overloads. [#140277][#140277] +- The `optimizer_check_input_min_row_count` session setting has been added to control the minimum row count estimate for buffer scans of foreign key and unqiueness checks. It defaults to `0`. [#140735][#140735] +- Added `jsonpath` type, without parsing, evaluation, or table creation. Currently accepts any non-empty string. [#140204][#140204] +- Added the `substring_index` built-in function, which extracts a portion of a string based on a specified delimiter and occurrence count, which follows MySQL behavior. [#141929][#141929] +- Added compression support for changefeed webhook sinks. This reduces network bandwidth and storage usage, improving performance and lowering costs. Users can enable compression by setting the `compression=` option. Supported algorithms are `gzip` and `zstd`. [#138872][#138872] +- Holdable cursors declared using `CURSOR WITH HOLD` are now supported. A holdable cursor fully executes a query upon transaction commit and stores the result in a row container, which is maintained by the session. [#141943][#141943] - The `split_part` built-in function now supports negative `return_index_pos` values, returning the |n|th field from the end when specified. [#141944][#141944] - Adding parser for jsonpath type. Accepts setting mode (`strict/lax`), key accessors (`.name`), and array wildcards (`[*]`). [#142010][#142010] -- New `WITH IGNORE_FOREIGN_KEYS` option is added to `SHOW CREATE TABLE` stmt which makes it so that the foreign key constraints are not included in the output schema. This option is also acceptable in `SHOW CREATE VIEW` but has no influence there. It cannot be combined with existing `WITH REDACT` option. [#142151][#142151] -- CREATE TABLE AS SELECT ... FROM ... AS OF SYSTEM TIME x is now supported. It cannot be executed within an explicit transaction. [#142147][#142147] -- Invocations of stored procedures via CALL statements will now be counted towards newly added `sql.call_stored_proc.count.started` and `sql.call_stored_proc.count` metrics. Previously, they were counted against `sql.misc.count.started` and `sql.misc.count` metrics. [#142249][#142249] -- Statements such as REFRESH MATERIALIZED VIEW and CREATE MATERIALIZED VIEW can now be executed with an AS OF SYSTEM TIME clause. These statements can still not be used in an explicit transaction. [#142259][#142259] -- Support double-quoted key accessors within jsonpath (`SELECT '$."1key"."key2"'::JSONPATH;`). [#142241][#142241] -- Support jsonpath array integer indexing (ex. `$.a[1]`). [#142241][#142241] -- Support jsonpath array ranges (ex. `$.a[1 to 3]`). [#142241][#142241] -- Support jsonpath array unions (ex `$.a[1, 2 to 4, 7, 8]`). [#142241][#142241] -- Fixed a regression due to join-elimination rules that left a Project operator below a Join, preventing optimizer rules from applying. [#142252][#142252] -- This patch adds the new ALTER VIRTUAL CLUSTER .. SET REPLICATION SOURCE cmd so a user can configure the producer jobs on the source cluster. Currently they can only configure the EXPIRATION WINDOW. This patch also removes the EXPIRATION WINDOW option from the consumer side cmd, ALTER VIRTUAL CLUSTER SET REPLICATION. [#142501][#142501] -- Add the `jsonb_path_query` function, which takes in a JSON object and a Jsonpath query, and returns the resulting JSON object. [#142336][#142336] +- Added the new option `WITH IGNORE_FOREIGN_KEYS` to the `SHOW CREATE TABLE` statement so that foreign key constraints are not included in the output schema. This option is also acceptable in `SHOW CREATE VIEW`, but has no influence there. It cannot be combined with the existing `WITH REDACT` option. [#142151][#142151] +- `CREATE TABLE AS SELECT ... FROM ... AS OF SYSTEM TIME x` is now supported. It cannot be executed within an explicit transaction. [#142147][#142147] +- Invocations of stored procedures via `CALL` statements will now be counted toward the newly added `sql.call_stored_proc.count.started` and `sql.call_stored_proc.count` metrics. Previously, they were counted against the `sql.misc.count.started` and `sql.misc.count` metrics. [#142249][#142249] +- Statements such as `REFRESH MATERIALIZED VIEW` and `CREATE MATERIALIZED VIEW` can now be executed with an `AS OF SYSTEM TIME` clause. These statements can still not be used in an explicit transaction. [#142259][#142259] +- Added support for the following in the jsonpath parser: + - Double-quoted key accessors within jsonpath (`SELECT '$."1key"."key2"'::JSONPATH;`). + - Array integer indexing (ex. `$.a[1]`). + - Array ranges (ex. `$.a[1 to 3]`). + - Array unions (ex `$.a[1, 2 to 4, 7, 8]`). [#142241][#142241] +- Fixed a regression due to join-elimination rules that left a Project operator below a `JOIN`, preventing optimizer rules from applying. [#142252][#142252] +- Added `ALTER VIRTUAL CLUSTER .. SET REPLICATION SOURCE` so users can configure the producer jobs on the source cluster for physical cluster replication (PCR). Currently, they can only configure the `EXPIRATION WINDOW`. This patch also removes the `EXPIRATION WINDOW` option from the consumer side of the statement, `ALTER VIRTUAL CLUSTER SET REPLICATION`. [#142501][#142501] +- Added the `jsonb_path_query` function, which takes in a JSON object and a jsonpath query, and returns the resulting JSON object. [#142336][#142336] +- Updated the `CREATE TRIGGER` statement `only implemented in the declarative schema changer` error message to include a helpful suggestion and link to relevant docs. [#141738][#141738]

Operational changes

-- The `storage.queue.store-failures` metric was removed. [#139150][#139150] -- Customers must pass URIs as external connections to create LDR statments. [#139383][#139383] -- The following cluster settings have been deprecated: - `sql.metrics.statement_details.plan_collection.enabled` - `sql.metrics.statement_details.plan_collection.period` [#138042][#138042] -- Reduce noise when using dynamically provisioned logging sinks. Fixes: https://cockroachlabs.atlassian.net/browse/CLOUDOPS-8044 [#139565][#139565] -- New metrics for monitoring changefeed span-level checkpoint creation have been added: - `changefeed.checkpoint.create_nanos`, which measures the time it takes to create a changefeed checkpoint - `changefeed.checkpoint.total_bytes`, which measures the total size of a changefeed checkpoint in bytes - `changefeed.checkpoint.span_count`, which measures the number of spans in a changefeed checkpoint [#139375][#139375] -- The following schema changes are now whitelisted to run during LDR. - ALTER INDEX RENAME - ALTER INDEX .. NOT VISIBLE - ALTER TABLE .. ALTER COLUMN .. SET DEFAULT - ALTER TABLE .. ALTER COLUMN .. DROP DEFAULT - ALTER TABLE .. ALTER COLUMN SET VISIBLE [#141858][#141858] -- Add sql.statement_timeout.count to track the number of SQL statements that fail due to exceeding the statement timeout. [#142078][#142078] -- Adds the sql.transaction_timeout.count metric to track the number of SQL statements that fail due to exceeding the transaction timeout. Informs #142008 [#142105][#142105] -- Add jobs.row_level_ttl.num_delete_batch_retries to track the number of times the TTL job had to reduce the batch size and try again. [#141953][#141953] -- To create an LDR STREAM, a user requires the REPLICATIONDEST priv, instead of the REPLICATION priv. [#142345][#142345] -- To create a PCR STREAM, a user requires the REPLICATIONDEST priv, in addition to the already required MANAGEVIRTUALCLUSTER priv. [#142345][#142345] -- The `kv.snapshot_receiver.excise.enable` cluster setting has been retired. Excise is now enabled unconditionally. [#142651][#142651] -- Introduces a new cluster setting server.child_metrics.include_aggregate.enabled that modifies the behaviour of prometheus metric reporting (/_status/vars). By default it is set to true which maintains the existing behaviour. It can be toggled to false to stop the reporting of the aggregate time series which prevents issues with double counting when querying metrics. [#141601][#141601] +- Removed the `storage.queue.store-failures` metric. [#139150][#139150] +- Customers must pass URIs as external connections to create logical data replication (LDR) statements. [#139383][#139383] +- The following cluster settings have been deprecated: + - `sql.metrics.statement_details.plan_collection.enabled` + - `sql.metrics.statement_details.plan_collection.period` [#138042][#138042] +- Reduced noise when using dynamically provisioned logging sinks. [#139565][#139565] +- Added metrics for monitoring changefeed span-level checkpoint creation: + - `changefeed.checkpoint.create_nanos`, which measures the time it takes to create a changefeed checkpoint. + - `changefeed.checkpoint.total_bytes`, which measures the total size of a changefeed checkpoint in bytes. + - `changefeed.checkpoint.span_count`, which measures the number of spans in a changefeed checkpoint. [#139375][#139375] +- The following schema changes are now allowlisted to run during LDR. + - `ALTER INDEX RENAME - ALTER INDEX .. NOT VISIBLE`. + - `ALTER TABLE .. ALTER COLUMN .. SET DEFAULT - ALTER TABLE .. ALTER COLUMN .. DROP DEFAULT`. + - `ALTER TABLE .. ALTER COLUMN SET VISIBLE`. [#141858][#141858] +- Added `sql.statement_timeout.count` to track the number of SQL statements that fail due to exceeding the statement timeout. [#142078][#142078] +- Added the `sql.transaction_timeout.count` metric to track the number of SQL statements that fail due to exceeding the transaction timeout. [#142105][#142105] +- Added the `jobs.row_level_ttl.num_delete_batch_retries` metric to track the number of times the TTL job had to reduce the batch size and try again. [#141953][#141953] +- To create a logical data replication (LDR) stream, users require the `REPLICATIONDEST` privilege, instead of the `REPLICATION` privilege. [#142345][#142345] +- To create a physical cluster replication (PCR) stream, users require the `REPLICATIONDEST` privilege, in addition to the already required `MANAGEVIRTUALCLUSTER` privilege. [#142345][#142345] +- Removed the `kv.snapshot_receiver.excise.enable` cluster setting. Excise is now enabled unconditionally. [#142651][#142651] +- Introduced the cluster setting `server.child_metrics.include_aggregate.enabled` that modifies the behavior of Prometheus metric reporting (`/_status/vars`). By default, it is set to `true`, which maintains the existing behavior. It can be sert to `false` to stop the reporting of the aggregate time series that prevents issues with double counting when querying metrics. [#141601][#141601] +- When configuring the `sql.ttl.default_delete_rate_limit` cluster setting, a notice is displayed informing that the TTL rate limit is not per leaseholder with a link to the docs. [#142061][#142061] +- Added a new `envelope` type `enriched` for changefeeds. [#140112][#140112] +- Added support for the `enriched` envelope type to Avro format changefeeds. [#140525][#140525] +- The cluster setting `changefeed.new_webhook_sink_enabled`/`changefeed.new_webhook_sink.enabled` is no longer supported. The new webhook sink has been enabled by default since v23.2, and the first version webhook sink has been removed. [#141940][#141940] +- The cluster setting `changefeed.new_pubsub_sink_enabled`/`changefeed.new_pubsub_sink.enabled` is no longer supported. The new Google Cloud Pub/Sub sink has been enabled by default since v23.2, and the first version Pub/Sub sink has been removed. [#141948][#141948] +- `DROP INDEX` can now only be run when `sql_safe_updates` is set to `false`. [#139456][#139456]

Command-line changes

-- Improves the performance of the debug zip query that collects transaction_contention_events data, reducing the chances of "memory budget exceeded" or "query execution canceled due to statement timeout" errors. [#139735][#139735] -- This change removes the ``--storage-engine`` parameter from the CLI. It has been deprecated for over 4 years. [#139744][#139744] +- Improved the performance of the debug zip query that collects `transaction_contention_events` data, reducing the chances of `memory budget exceeded` or `query execution canceled due to statement timeout` errors. [#139735][#139735] +- Removed the deprecated `--storage-engine` parameter from the CLI. [#139744][#139744]

DB Console changes

-- The /_admin/v1/settings API (and therfore cluster settings console page) now returns cluster settings using the same redaction logic as querying `SHOW CLUSTER SETTINGS` and `crdb_internal.cluster_settings`. This means that only settings flagged as "sensitive" will be redacted, all other settings will be visible. The same authorization is required for this endpoint, meaning the user must be an admin or have MODIFYCLUSTERSETTINGS or VIEWCLUSTERSETTINGS roles to hit this API. The exception is that if the user has VIEWACTIVITY or VIEWACTIVITYREDACTED, they will see console only settings. [#138688][#138688] -- The overload dashboard on DB Console now shows only the v2 replication admission control metrics, where previously it displayed both v1 and v2 metrics. Additionally, the aggregate size of queued replication entries is now shown. [#139066][#139066] -- Jobs can now choose to emit messages that are shown on the job detail page in 25.1+. Epic: none. [#139246][#139246] +- The `/_admin/v1/settings` API (and therefore cluster settings console page) now returns cluster settings using the same redaction logic as querying `SHOW CLUSTER SETTINGS` and `crdb_internal.cluster_settings`. This means that only settings flagged as "sensitive" will be redacted, all other settings will be visible. The same authorization is required for this endpoint, meaning the user must be an `admin`, have `MODIFYCLUSTERSETTINGS`, or `VIEWCLUSTERSETTINGS` roles to use this API. The exception is that if the user has `VIEWACTIVITY` or `VIEWACTIVITYREDACTED`, they will see console-only settings. [#138688][#138688] +- The **Overload** dashboard in the DB Console now shows only the v2 replication admission control metrics, where previously it displayed both v1 and v2 metrics. Additionally, the aggregate size of queued replication entries is now shown. [#139066][#139066] +- Jobs can now choose to emit messages that are shown on the **Jobs Details** page in v25.1 and later. [#139246][#139246] - An event is posted when a store is getting close to full capacity. [#139199][#139199] -- Percentile latencies are no longer available for SQL Activity. The implementation of these percentiles was error-prone and difficult to understand since it was computed differently from the other SQL statistics we collect. Customers interested in viewing percentile latencies per statement fingerprint are encouraged to use the experimental per-fingerprint histograms that can be enabled with the `sql.stats.detailed_latency_metrics.enabled` cluster setting. This will enable externalized histogram metrics via the Prometheus scrape endpoint. [#139500][#139500] -- Surface commit latency in the transactions pages [#139946][#139946] -- The Paused Follower graph is removed from the Replication Dashboard in DB Console as followers are no longer paused by default from v25.1. [#141427][#141427] -- DB console's index.html page now includes a Content-Security-Policy (CSP) header to help prevent malicious XSS attacks. [#142282][#142282] +- Percentile latencies are no longer available for **SQL Activity**. The implementation of these percentiles was error-prone and difficult to understand because it was computed differently from the other SQL statistics collected. Customers interested in viewing percentile latencies per statement fingerprint are encouraged to use the experimental per-fingerprint histograms that can be enabled with the `sql.stats.detailed_latency_metrics.enabled` cluster setting. This will enable externalized histogram metrics via the Prometheus scrape endpoint. [#139500][#139500] +- Surfaced commit latency on the **Transactions** pages [#139946][#139946] +- Removed the **Paused Follower** graph from the **Replication** dashboard in the DB Console as followers are no longer paused by default from v25.1. [#141427][#141427] +- DB console's `index.html` page now includes a Content-Security-Policy (CSP) header to help prevent malicious XSS attacks. [#142282][#142282]

Bug fixes

-- Storage parameters with the same key would lead to ambiguity. This has now been fixed - an error will be surfaced if duplicate storage parameters are specified. [#139172][#139172] -- Fixed a bug where the error "batch timestamp T must be after replica GC threshold" could occur during a schema change backfill operation, and cause the schema change job to retry infinitely. Now this error is treated as permanent, and will cause the job to enter the failed state. [#139203][#139203] -- Previously, whenever CockroachDB collected a statement bundle when plan-gist-based matching was used, `plan.txt` file would be incomplete, and this is now fixed. The bug has been present since introduction of plan-gist-based matching feature in 23.1 but was partially addressed in 24.2 release. [#127604][#127604] -- Previously, EXPLAIN ANALYZE of mutations statements would always get `actual row count: 1` execution statistic for the corresponding mutation node in the plan, regardless of how many rows were actually modified. The bug has been present since before 22.2 version and is now fixed. [#139278][#139278] -- Fixes a bug where sometimes activating diagnostics for sql activity appears unresponsive, with no state or status update upon activating. Now, the status should always reflect that diagnosticsa are active or that a statement bundle is downloadable. [#139342][#139342] -- The to_regclass, to_regtype, to_regrole, and related functions now return NULL for any numerical input argument. [#139777][#139777] -- Fix a rare bug in which a query might fail with error "could not find computed column expression for column in table" while dropping a virtual computed column from the table. This bug was introduced in v23.2.4. [#139388][#139388] -- The optimizer could produce incorrect query plans for queries using trigram similarity filters (e.g. `col % 'val'`) when `pg_trgm.similarity_threshold` was set to 0. This bug was introduced in v22.2.0 and is now fixed. Note that this issue does not affect v24.2.0+ releases when the `optimizer_use_trigram_similarity_optimization` session variable (introduced in v24.2.0) is set to its default value `true`, as it would skip this behaviour. [#139265][#139265] -- Fixed a bug that could cause SHOW TABLES and other introspection operations to encounter a "batch timestamp must be after replica GC threshold" error. [#139532][#139532] -- Fixed a bug existing only in pre-release versions of v25.1. The bug could cause creation of a PL/pgSQL routine with a CTE to fail with an error like the following: `unexpected root expression: with`. [#140083][#140083] +- Previously, storage parameters with the same key would lead to ambiguity. This has now been fixed and an error surfaced if duplicate storage parameters are specified. [#139172][#139172] +- Fixed a bug where the error `batch timestamp T must be after replica GC threshold` could occur during a schema change backfill operation, and cause the schema change job to retry infinitely. Now, this error is treated as permanent, and will cause the job to enter the `failed` state. [#139203][#139203] +- Previously, whenever CockroachDB collected a statement bundle when plan-gist-based matching was used, `plan.txt` file would be incomplete. This bug is now fixed—it had been present since the introduction of the plan-gist-based matching feature in v23.1, but was partially addressed in the v24.2 release. [#127604][#127604] +- Previously, `EXPLAIN ANALYZE` of mutations statements would always get `actual row count: 1` execution statistic for the corresponding mutation node in the plan, regardless of how many rows were actually modified. The bug has been present since before v22.2 and is now fixed. [#139278][#139278] +- Fixed a bug where sometimes activating diagnostics for SQL activity appears unresponsive, with no state or status update upon activating. Now, the status should always reflect that diagnostics are active or that a statement bundle is downloadable. [#139342][#139342] +- The `to_regclass`, `to_regtype`, `to_regrole`, and related functions now return `NULL` for any numerical input argument. [#139777][#139777] +- Fixed a rare bug in which a query might fail with the error `could not find computed column expression for column in table` while dropping a virtual computed column from the table. This bug was introduced in v23.2.4. [#139388][#139388] +- The optimizer could produce incorrect query plans for queries using trigram similarity filters (e.g., `col % 'val'`) when `pg_trgm.similarity_threshold` was set to `0`. This bug was introduced in v22.2.0 and is now fixed. Note that this issue does not affect v24.2.0 and later releases when the `optimizer_use_trigram_similarity_optimization` session variable (introduced in v24.2.0) is set to its default value `true`, as it would skip this behaviour. [#139265][#139265] +- Fixed a bug that could cause `SHOW TABLES` and other introspection operations to encounter a `batch timestamp must be after replica GC threshold` error. [#139532][#139532] +- Fixed a bug existing only in pre-release versions of v25.1. The bug could cause creation of a PL/pgSQL routine with a common table expression (CTE) to fail with an error like the following: `unexpected root expression: with`. [#140083][#140083] - Configuring replication controls on a partition name of an index that is not unique across all indexes will correctly impact only that partition. [#140167][#140167] -- Data distribution page in advanced debug will no longer crash if there are null values for `raw_sql_config` in `crdb_internal.zones`. [#140066][#140066] +- The **Data distribution** page in Advanced Debug will no longer crash if there are `NULL` values for `raw_sql_config` in `crdb_internal.zones`. [#140066][#140066] - Fixed a bug where dropping a table with a trigger using the legacy schema changer could leave an orphaned reference in the descriptor. This occurred when two tables were dependent on each other via a trigger, and the table containing the trigger was dropped. [#140995][#140995] -- Addresses a bug that could cause concurrent DML to prevent primary key changes from succeeding [#141189][#141189] -- Fixed a bug that prevented transaction retry errors encountered during implicit transactions from being automatically retried internally if the autocommit_before_ddl session variable was enabled and the statement was a schema change. [#141369][#141369] -- A step in the 25.1 upgrade finalization process that required backfilling jobs now uses locks to ensure it makes progress even when there is contention on the jobs table to prevent the possibility of becoming stuck under heavy load. Epic: none. [#141420][#141420] -- Fixed a bug that could prevent SHOW CREATE TABLE from working if a database was offline (e.g., due to a RESTORE on that database). [#141195][#141195] -- A step in the 25.1 upgrade finalization process that required backfilling jobs now uses locks to ensure it makes progress even when there is contention on the jobs table to prevent the possibility of becoming stuck under heavy load. Epic: none. [#141459][#141459] -- Fix a bug that prevented starting multi-table LDR streams on tables that used user-defined types. Epic: none. [#141634][#141634] -- A bug has been fixed that could cause "nil pointer dereference" errors when executing statements with UDFs. The error could also occur when executing statements with some built-in functions, like obj_description. [#141596][#141596] -- Previously, a node that was drained as part of decommissioning may have interrupted SQL connections that were still active during drain (and for which drain would have been expected to wait). Epic: None [#141411][#141411] +- Addressed a bug that could cause concurrent DML to prevent primary key changes from succeeding [#141189][#141189] +- Fixed a bug that prevented transaction retry errors encountered during implicit transactions from being automatically retried internally if the `autocommit_before_ddl` session variable was enabled and the statement was a schema change. [#141369][#141369] +- A step in the v25.1 upgrade finalization process that required backfilling jobs now uses locks to ensure it makes progress even when there is contention on the jobs table, which will prevent the possibility of becoming stuck under heavy load. [#141420][#141420] +- Fixed a bug that could prevent `SHOW CREATE TABLE` from working if a database was offline (e.g., due to a `RESTORE` on that database). [#141195][#141195] +- Fixed a bug that prevented starting multi-table logical data replication (LDR) streams on tables that used user-defined types. [#141634][#141634] +- Fixed a bug that could cause `nil pointer dereference` errors when executing statements with UDFs. The error could also occur when executing statements with some built-in functions, like `obj_description`. [#141596][#141596] +- Fixed a bug where a node that was drained as part of decommissioning may have interrupted SQL connections that were still active during drain (and for which drain would have been expected to wait). [#141411][#141411] - Fixed a bug where the fraction completed and internal checkpoints during an index backfill operation would stop getting written if any of the periodic fraction/checkpoint write operations failed. Additional logging was added so that progress is logged in addition to being written to the job record. This bug affected schema change operations such as creating an index or adding a non-nullable column to a table. [#141714][#141714] -- A bug has been fixed that could cause gateway nodes to panic when performing an `UPSERT` on a table with a `BOOL` primary key column and a partial index with the PK column as the predicate expression. [#141728][#141728] -- CockroachDB could previously incorrectly evaluate casts to some Oid types (like REGCLASS) in some cases and this has now been fixed. The bug has been present since at least 22.1 version. [#141946][#141946] -- Transactions that enter the aborted state will now release locks they are holding immediately, as long as there is no SAVEPOINT active in the transaction. [#140160][#140160] -- Fixed a bug when running with autocommit_before_ddl that could cause a runtime error when binding a previously prepared DDL statement. [#142034][#142034] +- Fixed a bug that could cause gateway nodes to panic when performing an `UPSERT` on a table with a `BOOL` primary key column and a partial index with the primary key column as the predicate expression. [#141728][#141728] +- Fixed a bug where CockroachDB could incorrectly evaluate casts to some OID types (like `REGCLASS`) in some cases. The bug has been present since at least v22.1. [#141946][#141946] +- Transactions that enter the aborted state will now release locks they are holding immediately, as long as there is no `SAVEPOINT` active in the transaction. [#140160][#140160] +- Fixed a bug when running with `autocommit_before_ddl` that could cause a runtime error when binding a previously prepared DDL statement. [#142034][#142034] - Fixed a bug where orphaned leases were not properly cleaned up. [#141429][#141429] -- Previously the CREATE LOGICALLY REPLICATED syntax would always create the destination side table with the source side name, instead of the user provided name. This patch ensures the user provided name is used. [#142235][#142235] -- Fixed a bug that would prevent CREATE TRIGGER and DROP TRIGGER statements from working if the autocommit_before_ddl setting was enabled, and if the statement was either sent as a prepared statement or as part of a batch of multiple statements. [#142202][#142202] -- Fix a bug that could cause the upgrade to 25.1 to crash if a job was missing from the virtual table, for example if a malformed job had no payload info. Epic: none. [#142284][#142284] -- The TTL deletion job now includes a retry mechanism that progressively reduces the batch size when encountering contention. This improves the chances of successful deletion without requiring manual adjustments to TTL knobs. [#141953][#141953] -- Fixed an issue where removed nodes could leave persistent entries in crdb_internal.gossip_alerts. [#142385][#142385] -- Invalid default expressions could cause backfilling schema changes to retry forever [#142490][#142490] -- Fast failback could succeed even if the target cluster pts had been removed, causing the reverse stream to enter a crashing loop. This patch ensures the failback cmd fast fails. [#142231][#142231] +- Previously, the `CREATE LOGICALLY REPLICATED` syntax would always create the destination side table with the source side name, instead of the user-provided name. This change ensures the user-provided name is used. [#142235][#142235] +- Fixed a bug that would prevent `CREATE TRIGGER` and `DROP TRIGGER` statements from working if the `autocommit_before_ddl` setting was enabled, and if the statement was either sent as a prepared statement or as part of a batch of multiple statements. [#142202][#142202] +- Fixed a bug that could cause the upgrade to v25.1 to crash if a job was missing from the virtual table, for example, if a malformed job had no payload information. [#142284][#142284] +- The TTL deletion job now includes a retry mechanism that progressively reduces the batch size when encountering contention. This improves the chances of successful deletion without requiring manual adjustments to TTL settings. [#141953][#141953] +- Fixed an issue where removed nodes could leave persistent entries in `crdb_internal.gossip_alerts`. [#142385][#142385] +- Invalid default expressions could cause backfilling schema changes to retry forever. [#142490][#142490] +- Fast failback could succeed even if the target cluster protected timestamp had been removed, causing the reverse stream to enter a crashing loop. This change ensures the failback command fast fails. [#142231][#142231] - Fixed an issue where dropping a database with triggers could fail due to an undropped back reference to a trigger function. [#142670][#142670] -- Fixed a bug where replication controls on indexes and partitions would not get properly updated during an index backfill (in the [Declarative Schema Changer](https://www.cockroachlabs.com/docs/stable/online-schema-changes#declarative-schema-changer)) to its new ID; effectively discarding the replication controls set on it before the backfill. [#141800][#141800] -- Address a bug where CREATE SEQUENCE could succeed under schema / database with a drop in progress. [#142696][#142696] -- Fixes bug in client certificate expiration metrics. [#142682][#142682] -- PCR reader catalogs could have orphan rows in system.namespace after a object is renamed. [#142829][#142829] -- Fixed a bug where during validation of a table-level zone config, inherited values were incorrectly populated from the default range instead of from the parent database. [#142760][#142760] -- Fixed a bug which would send a replica outside of a tenant known region, when SURVIVE REGION FAILURE was set and we configured exactly 3 regions. [#142838][#142838] +- Fixed a bug where replication controls on indexes and partitions would not get properly updated during an index backfill (in the declarative schema changer) to its new ID; effectively discarding the replication controls set on it before the backfill. [#141800][#141800] +- Addressed a bug where `CREATE SEQUENCE` could succeed under with a `DROP SCHEMA` or `DROP DATABASE` in progress. [#142696][#142696] +- Fixed a bug in client certificate expiration metrics. [#142682][#142682] +- Physical cluster replication (PCR) reader catalogs could have orphan rows in `system.namespace` after an object is renamed. [#142829][#142829] +- Fixed a bug where during validation of a table-level zone configuration, inherited values were incorrectly populated from the default range instead of from the parent database. [#142760][#142760] +- Fixed a bug that would send a replica outside of a tenant known region, when `SURVIVE REGION FAILURE` was set and exactly 3 regions were configured. [#142838][#142838]

Performance improvements

-- Improved directory traversal performance by switching from filepath.Walk to filepath.WalkDir. fix: solve the lint error by crlfmt [#139108][#139108] -- Removed a potential storage read from raft commit pipeline. This reduces the worst-case KV write latency. [#139609][#139609] -- The `optimizer_check_input_min_row_count` session settings now defaults to 1, resulting in better query plans for foreign key and uniqueness checks. [#140735][#140735] -- This change restores the changefeed checkpoint immediately to the changefrontier. This potentially reduces duplicate messages in the event that the frontier writes a checkpoint before it receives updates and covers the previous checkpoint from the aggregators, overwriting the checkpoint with less information. [#139969][#139969] +- Improved directory traversal performance by switching from `filepath.Walk` to `filepath.WalkDir`. [#139108][#139108] +- Removed a potential storage read from the Raft commit pipeline. This reduces the worst-case KV write latency. [#139609][#139609] +- The `optimizer_check_input_min_row_count` session setting now defaults to `1`, resulting in better query plans for foreign key and uniqueness checks. [#140735][#140735] +- This change restores the changefeed checkpoint immediately to the change frontier. This potentially reduces duplicate messages in the event that the frontier writes a checkpoint before it receives updates and covers the previous checkpoint from the aggregators, overwriting the checkpoint with less information. [#139969][#139969]

Build changes

-- Upgrade to Go 1.23.6 [#140626][#140626] -- Enable the use of profile-guided optimization in the `cockroach` binary. [#142697][#142697] - -

Miscellaneous

- -

Missing category

- -- When configuring the `sql.ttl.default_delete_rate_limit` cluster setting a notice is displayed informing that the TTL rate limit is not per leaseholder with a link to the docs. [#142061][#142061] -- Update to Go 1.23.7 [#142698][#142698] -- Improve S3 credential caching for STS credentials [#142434][#142434] -- Updated the `CREATE TRIGGER` `only implemented in the declarative schema changer` error message to include a helpful suggestion and link to relevant docs. [#141738][#141738] -- DROP INDEX can now only be run when `sql_safe_updates` are set to false. [#139456][#139456] - -

Changes without release note annotation

- -- [#142716][#142716] [d716bf5c2][d716bf5c2] roachtest: remove old excise setting in admission control test -- [#142476][#142476] [3416acf41][3416acf41] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [f3c62e586][f3c62e586] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [8e0cced53][8e0cced53] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [4b2d97fc6][4b2d97fc6] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [81aaa0643][81aaa0643] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [61ee39580][61ee39580] kvserver: untangle shared/external snap streaming logic -- [#142476][#142476] [c2f5acddd][c2f5acddd] kvserver: untangle shared/external snap streaming logic -- [#142648][#142648] [be9de983e][be9de983e] kvserver: document rangedel problems in snapshot receive path -- [#142648][#142648] [670db3fd5][670db3fd5] kvserver: document rangedel problems in snapshot receive path -- [#142599][#142599] [fbc3fdf43][fbc3fdf43] goschedstats: cleanup and minor API improvement -- [#142599][#142599] [8408cf11e][8408cf11e] goschedstats: cleanup and minor API improvement -- [#142599][#142599] [aee22d963][aee22d963] goschedstats: cleanup and minor API improvement -- [#142599][#142599] [191fadd39][191fadd39] goschedstats: cleanup and minor API improvement -- [#141770][#141770] [d7d62dabd][d7d62dabd] roachtest: warm up sysbench using oltp_read_only -- [#141770][#141770] [7baaaa32a][7baaaa32a] roachtest: warm up sysbench using oltp_read_only -- [#141770][#141770] [de45fb598][de45fb598] roachtest: warm up sysbench using oltp_read_only -- [#141895][#141895] [eee65c38f][eee65c38f] drtprod: fetch the DD API KEY -- [#142053][#142053] [9eaa84c61][9eaa84c61] server: output abbreviated jemalloc stats for observability -- [#141982][#141982] [563858381][563858381] sniffarg: move helper to new package -- [#141933][#141933] [a60105b5c][a60105b5c] roachtest: fix iptable dropped packets check -- [#141874][#141874] [603cd7e37][603cd7e37] Revert "kvserver: enable leader leases by default" -- [#140548][#140548] [a432cb85c][a432cb85c] roachprod/failure-injection: add initial framework for failure injection library -- [#140548][#140548] [5186dd452][5186dd452] roachprod/failure-injection: add initial framework for failure injection library -- [#140548][#140548] [1da54220e][1da54220e] roachprod/failure-injection: add initial framework for failure injection library -- [#140548][#140548] [a9b587961][a9b587961] roachprod/failure-injection: add initial framework for failure injection library -- [#140650][#140650] [538f1914b][538f1914b] Make docker init script respect COCKROACH_DATABASE when processing SQL files -- [#141455][#141455] [04dc19585][04dc19585] roachtest/mixedversion: consolidate predecessor funcs -- [#141455][#141455] [d2af9c931][d2af9c931] roachtest/mixedversion: consolidate predecessor funcs -- [#141455][#141455] [8d1be2bbf][8d1be2bbf] roachtest/mixedversion: consolidate predecessor funcs -- [#141619][#141619] [d9fdece13][d9fdece13] kvserver: show store number when printing metrics -- [#141430][#141430] [f33b7c585][f33b7c585] roachtest: run post test health checks on system -- [#141430][#141430] [98dcef253][98dcef253] roachtest: run post test health checks on system -- [#141147][#141147] [f4333e57c][f4333e57c] sql: add sslocal.SqlStats reference to sql server -- [#141414][#141414] [7b3f10b08][7b3f10b08] roachtest: log queried URL in HealthStatus -- [#141399][#141399] [2f7a68412][2f7a68412] tabledesc: implement vector index retrieval in the catalog -- [#141384][#141384] [2225d2d65][2225d2d65] docgen: update DO statement diagram -- [#140604][#140604] [3ca9845cc][3ca9845cc] roachtest: use atomic pointer for logger -- [#140680][#140680] [38f1665b3][38f1665b3] docgen: add DO statement diagram -- [#140953][#140953] [1d4c348b4][1d4c348b4] vecindex: deflake TestVectorManager -- [#140952][#140952] [8e5590c16][8e5590c16] Revert "jobs: parse internal jobs queries at init time" -- [#139557][#139557] [80b6d64e0][80b6d64e0] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [3e47dc4da][3e47dc4da] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [924d7d28d][924d7d28d] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [18ff035e4][18ff035e4] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [7fbc3d2ae][7fbc3d2ae] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [0a115606c][0a115606c] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [ff466290a][ff466290a] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [7f7c1742b][7f7c1742b] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [75f011b27][75f011b27] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [82dc133ac][82dc133ac] tests: add parallel flavors of BenchmarkSysbench -- [#139557][#139557] [f5e596a01][f5e596a01] tests: add parallel flavors of BenchmarkSysbench -- [#139665][#139665] [a7acd05d2][a7acd05d2] Vector manager -- [#139665][#139665] [cf4e18a3e][cf4e18a3e] Vector manager -- [#139665][#139665] [e16e1dcbb][e16e1dcbb] Vector manager -- [#139075][#139075] [031e0558e][031e0558e] roachtest: mark polled VM preemptions as non reportable -- [#139075][#139075] [2ff9ee5bd][2ff9ee5bd] roachtest: mark polled VM preemptions as non reportable -- [#140150][#140150] [3b1a0b094][3b1a0b094] roachprod: add ip address expander func -- [#140150][#140150] [4140914d6][4140914d6] roachprod: add ip address expander func -- [#140150][#140150] [4eb45f2ce][4eb45f2ce] roachprod: add ip address expander func -- [#140460][#140460] [29161af05][29161af05] changefeedccl: deprecate initial_resolved from changeaggregator_spec -- [#139728][#139728] [659258746][659258746] tests: extract sniffArgs helper -- [#139365][#139365] [f82b7c803][f82b7c803] docgen: update COPY TO STDOUT portions of SQL diagram -- [#140109][#140109] [7550d5d35][7550d5d35] changefeedccl: skip TestChangefeedNemeses under deadlock -- [#140087][#140087] [59207bca8][59207bca8] Revert "sql/stats: generation count was incorrectly incremented on each look up" -- [#140087][#140087] [e634a4833][e634a4833] Revert "sql/stats: generation count was incorrectly incremented on each look up" -- [#139993][#139993] [073c2af29][073c2af29] vecpb: add vector index config to the index descriptor -- [#134796][#134796] [4d559009f][4d559009f] workload : fix tpcc multiple workload load generation -- [#139731][#139731] [e4f91b7fd][e4f91b7fd] pkg/cli: validate input file in tsdump command -- [#139706][#139706] [04d582139][04d582139] kvserver: avoid an alloc in the write path -- [#139540][#139540] [54f2d13ad][54f2d13ad] drtprod: add dependent target failure check -- [#139478][#139478] [3f0ede98f][3f0ede98f] drtprod: minor fix in drt-large -- [#139451][#139451] [4ecf5c9d9][4ecf5c9d9] kvserver: potentially deflake TestDeleteRangeTombstoneSetsGCHint -- [#139443][#139443] [f27a48e2d][f27a48e2d] drtprod: YAML for 300 node and YCSB scripts -- [#137743][#137743] [4a5c503e9][4a5c503e9] stop: grow stacks for async tasks -- [#139050][#139050] [fc74b6ff1][fc74b6ff1] vecstore: implement GetFullVectors for the persistent store -- [#139050][#139050] [825cca6cb][825cca6cb] vecstore: implement GetFullVectors for the persistent store -- [#139050][#139050] [cca9535e0][cca9535e0] vecstore: implement GetFullVectors for the persistent store - -

Doc updates

- -{% comment %}Docs team: Please add these manually.{% endcomment %} - - +- Upgraded to Go v1.23.6. [#140626][#140626] +- Enabled the use of profile-guided optimization in the `cockroach` binary. [#142697][#142697] +- Upgraded to Go v1.23.7. [#142698][#142698] [#127604]: https://github.com/cockroachdb/cockroach/pull/127604 -[#134796]: https://github.com/cockroachdb/cockroach/pull/134796 -[#137743]: https://github.com/cockroachdb/cockroach/pull/137743 [#138042]: https://github.com/cockroachdb/cockroach/pull/138042 [#138104]: https://github.com/cockroachdb/cockroach/pull/138104 [#138688]: https://github.com/cockroachdb/cockroach/pull/138688 [#138872]: https://github.com/cockroachdb/cockroach/pull/138872 [#138967]: https://github.com/cockroachdb/cockroach/pull/138967 -[#139050]: https://github.com/cockroachdb/cockroach/pull/139050 [#139066]: https://github.com/cockroachdb/cockroach/pull/139066 -[#139075]: https://github.com/cockroachdb/cockroach/pull/139075 [#139108]: https://github.com/cockroachdb/cockroach/pull/139108 [#139150]: https://github.com/cockroachdb/cockroach/pull/139150 [#139172]: https://github.com/cockroachdb/cockroach/pull/139172 @@ -263,20 +172,11 @@ Release Date: March 24, 2025 [#139375]: https://github.com/cockroachdb/cockroach/pull/139375 [#139383]: https://github.com/cockroachdb/cockroach/pull/139383 [#139388]: https://github.com/cockroachdb/cockroach/pull/139388 -[#139443]: https://github.com/cockroachdb/cockroach/pull/139443 -[#139451]: https://github.com/cockroachdb/cockroach/pull/139451 [#139456]: https://github.com/cockroachdb/cockroach/pull/139456 -[#139478]: https://github.com/cockroachdb/cockroach/pull/139478 [#139500]: https://github.com/cockroachdb/cockroach/pull/139500 [#139532]: https://github.com/cockroachdb/cockroach/pull/139532 -[#139540]: https://github.com/cockroachdb/cockroach/pull/139540 -[#139557]: https://github.com/cockroachdb/cockroach/pull/139557 [#139565]: https://github.com/cockroachdb/cockroach/pull/139565 [#139609]: https://github.com/cockroachdb/cockroach/pull/139609 -[#139665]: https://github.com/cockroachdb/cockroach/pull/139665 -[#139706]: https://github.com/cockroachdb/cockroach/pull/139706 -[#139728]: https://github.com/cockroachdb/cockroach/pull/139728 -[#139731]: https://github.com/cockroachdb/cockroach/pull/139731 [#139735]: https://github.com/cockroachdb/cockroach/pull/139735 [#139744]: https://github.com/cockroachdb/cockroach/pull/139744 [#139766]: https://github.com/cockroachdb/cockroach/pull/139766 @@ -286,68 +186,43 @@ Release Date: March 24, 2025 [#139946]: https://github.com/cockroachdb/cockroach/pull/139946 [#139969]: https://github.com/cockroachdb/cockroach/pull/139969 [#139985]: https://github.com/cockroachdb/cockroach/pull/139985 -[#139993]: https://github.com/cockroachdb/cockroach/pull/139993 [#140065]: https://github.com/cockroachdb/cockroach/pull/140065 [#140066]: https://github.com/cockroachdb/cockroach/pull/140066 [#140083]: https://github.com/cockroachdb/cockroach/pull/140083 -[#140087]: https://github.com/cockroachdb/cockroach/pull/140087 -[#140109]: https://github.com/cockroachdb/cockroach/pull/140109 [#140112]: https://github.com/cockroachdb/cockroach/pull/140112 -[#140150]: https://github.com/cockroachdb/cockroach/pull/140150 [#140160]: https://github.com/cockroachdb/cockroach/pull/140160 [#140167]: https://github.com/cockroachdb/cockroach/pull/140167 [#140204]: https://github.com/cockroachdb/cockroach/pull/140204 [#140277]: https://github.com/cockroachdb/cockroach/pull/140277 -[#140460]: https://github.com/cockroachdb/cockroach/pull/140460 [#140525]: https://github.com/cockroachdb/cockroach/pull/140525 -[#140548]: https://github.com/cockroachdb/cockroach/pull/140548 [#140583]: https://github.com/cockroachdb/cockroach/pull/140583 -[#140604]: https://github.com/cockroachdb/cockroach/pull/140604 [#140626]: https://github.com/cockroachdb/cockroach/pull/140626 -[#140650]: https://github.com/cockroachdb/cockroach/pull/140650 -[#140680]: https://github.com/cockroachdb/cockroach/pull/140680 [#140735]: https://github.com/cockroachdb/cockroach/pull/140735 -[#140952]: https://github.com/cockroachdb/cockroach/pull/140952 -[#140953]: https://github.com/cockroachdb/cockroach/pull/140953 [#140995]: https://github.com/cockroachdb/cockroach/pull/140995 -[#141147]: https://github.com/cockroachdb/cockroach/pull/141147 [#141189]: https://github.com/cockroachdb/cockroach/pull/141189 [#141195]: https://github.com/cockroachdb/cockroach/pull/141195 [#141369]: https://github.com/cockroachdb/cockroach/pull/141369 -[#141384]: https://github.com/cockroachdb/cockroach/pull/141384 -[#141399]: https://github.com/cockroachdb/cockroach/pull/141399 [#141411]: https://github.com/cockroachdb/cockroach/pull/141411 -[#141414]: https://github.com/cockroachdb/cockroach/pull/141414 [#141420]: https://github.com/cockroachdb/cockroach/pull/141420 [#141427]: https://github.com/cockroachdb/cockroach/pull/141427 [#141429]: https://github.com/cockroachdb/cockroach/pull/141429 -[#141430]: https://github.com/cockroachdb/cockroach/pull/141430 -[#141455]: https://github.com/cockroachdb/cockroach/pull/141455 -[#141459]: https://github.com/cockroachdb/cockroach/pull/141459 [#141596]: https://github.com/cockroachdb/cockroach/pull/141596 [#141601]: https://github.com/cockroachdb/cockroach/pull/141601 -[#141619]: https://github.com/cockroachdb/cockroach/pull/141619 [#141634]: https://github.com/cockroachdb/cockroach/pull/141634 [#141714]: https://github.com/cockroachdb/cockroach/pull/141714 [#141728]: https://github.com/cockroachdb/cockroach/pull/141728 [#141738]: https://github.com/cockroachdb/cockroach/pull/141738 -[#141770]: https://github.com/cockroachdb/cockroach/pull/141770 [#141800]: https://github.com/cockroachdb/cockroach/pull/141800 [#141858]: https://github.com/cockroachdb/cockroach/pull/141858 -[#141874]: https://github.com/cockroachdb/cockroach/pull/141874 -[#141895]: https://github.com/cockroachdb/cockroach/pull/141895 [#141929]: https://github.com/cockroachdb/cockroach/pull/141929 -[#141933]: https://github.com/cockroachdb/cockroach/pull/141933 [#141940]: https://github.com/cockroachdb/cockroach/pull/141940 [#141943]: https://github.com/cockroachdb/cockroach/pull/141943 [#141944]: https://github.com/cockroachdb/cockroach/pull/141944 [#141946]: https://github.com/cockroachdb/cockroach/pull/141946 [#141948]: https://github.com/cockroachdb/cockroach/pull/141948 [#141953]: https://github.com/cockroachdb/cockroach/pull/141953 -[#141982]: https://github.com/cockroachdb/cockroach/pull/141982 [#142010]: https://github.com/cockroachdb/cockroach/pull/142010 [#142034]: https://github.com/cockroachdb/cockroach/pull/142034 -[#142053]: https://github.com/cockroachdb/cockroach/pull/142053 [#142061]: https://github.com/cockroachdb/cockroach/pull/142061 [#142078]: https://github.com/cockroachdb/cockroach/pull/142078 [#142092]: https://github.com/cockroachdb/cockroach/pull/142092 @@ -373,93 +248,12 @@ Release Date: March 24, 2025 [#142476]: https://github.com/cockroachdb/cockroach/pull/142476 [#142490]: https://github.com/cockroachdb/cockroach/pull/142490 [#142501]: https://github.com/cockroachdb/cockroach/pull/142501 -[#142599]: https://github.com/cockroachdb/cockroach/pull/142599 -[#142648]: https://github.com/cockroachdb/cockroach/pull/142648 [#142651]: https://github.com/cockroachdb/cockroach/pull/142651 [#142670]: https://github.com/cockroachdb/cockroach/pull/142670 [#142682]: https://github.com/cockroachdb/cockroach/pull/142682 [#142696]: https://github.com/cockroachdb/cockroach/pull/142696 [#142697]: https://github.com/cockroachdb/cockroach/pull/142697 [#142698]: https://github.com/cockroachdb/cockroach/pull/142698 -[#142716]: https://github.com/cockroachdb/cockroach/pull/142716 [#142760]: https://github.com/cockroachdb/cockroach/pull/142760 [#142829]: https://github.com/cockroachdb/cockroach/pull/142829 [#142838]: https://github.com/cockroachdb/cockroach/pull/142838 -[031e0558e]: https://github.com/cockroachdb/cockroach/commit/031e0558e -[04d582139]: https://github.com/cockroachdb/cockroach/commit/04d582139 -[04dc19585]: https://github.com/cockroachdb/cockroach/commit/04dc19585 -[073c2af29]: https://github.com/cockroachdb/cockroach/commit/073c2af29 -[0a115606c]: https://github.com/cockroachdb/cockroach/commit/0a115606c -[18ff035e4]: https://github.com/cockroachdb/cockroach/commit/18ff035e4 -[191fadd39]: https://github.com/cockroachdb/cockroach/commit/191fadd39 -[1d4c348b4]: https://github.com/cockroachdb/cockroach/commit/1d4c348b4 -[1da54220e]: https://github.com/cockroachdb/cockroach/commit/1da54220e -[2225d2d65]: https://github.com/cockroachdb/cockroach/commit/2225d2d65 -[29161af05]: https://github.com/cockroachdb/cockroach/commit/29161af05 -[2f7a68412]: https://github.com/cockroachdb/cockroach/commit/2f7a68412 -[2ff9ee5bd]: https://github.com/cockroachdb/cockroach/commit/2ff9ee5bd -[3416acf41]: https://github.com/cockroachdb/cockroach/commit/3416acf41 -[38f1665b3]: https://github.com/cockroachdb/cockroach/commit/38f1665b3 -[3b1a0b094]: https://github.com/cockroachdb/cockroach/commit/3b1a0b094 -[3ca9845cc]: https://github.com/cockroachdb/cockroach/commit/3ca9845cc -[3e47dc4da]: https://github.com/cockroachdb/cockroach/commit/3e47dc4da -[3f0ede98f]: https://github.com/cockroachdb/cockroach/commit/3f0ede98f -[4140914d6]: https://github.com/cockroachdb/cockroach/commit/4140914d6 -[4a5c503e9]: https://github.com/cockroachdb/cockroach/commit/4a5c503e9 -[4b2d97fc6]: https://github.com/cockroachdb/cockroach/commit/4b2d97fc6 -[4d559009f]: https://github.com/cockroachdb/cockroach/commit/4d559009f -[4eb45f2ce]: https://github.com/cockroachdb/cockroach/commit/4eb45f2ce -[4ecf5c9d9]: https://github.com/cockroachdb/cockroach/commit/4ecf5c9d9 -[5186dd452]: https://github.com/cockroachdb/cockroach/commit/5186dd452 -[538f1914b]: https://github.com/cockroachdb/cockroach/commit/538f1914b -[54f2d13ad]: https://github.com/cockroachdb/cockroach/commit/54f2d13ad -[563858381]: https://github.com/cockroachdb/cockroach/commit/563858381 -[59207bca8]: https://github.com/cockroachdb/cockroach/commit/59207bca8 -[603cd7e37]: https://github.com/cockroachdb/cockroach/commit/603cd7e37 -[61ee39580]: https://github.com/cockroachdb/cockroach/commit/61ee39580 -[659258746]: https://github.com/cockroachdb/cockroach/commit/659258746 -[670db3fd5]: https://github.com/cockroachdb/cockroach/commit/670db3fd5 -[7550d5d35]: https://github.com/cockroachdb/cockroach/commit/7550d5d35 -[75f011b27]: https://github.com/cockroachdb/cockroach/commit/75f011b27 -[7b3f10b08]: https://github.com/cockroachdb/cockroach/commit/7b3f10b08 -[7baaaa32a]: https://github.com/cockroachdb/cockroach/commit/7baaaa32a -[7f7c1742b]: https://github.com/cockroachdb/cockroach/commit/7f7c1742b -[7fbc3d2ae]: https://github.com/cockroachdb/cockroach/commit/7fbc3d2ae -[80b6d64e0]: https://github.com/cockroachdb/cockroach/commit/80b6d64e0 -[81aaa0643]: https://github.com/cockroachdb/cockroach/commit/81aaa0643 -[825cca6cb]: https://github.com/cockroachdb/cockroach/commit/825cca6cb -[82dc133ac]: https://github.com/cockroachdb/cockroach/commit/82dc133ac -[8408cf11e]: https://github.com/cockroachdb/cockroach/commit/8408cf11e -[8d1be2bbf]: https://github.com/cockroachdb/cockroach/commit/8d1be2bbf -[8e0cced53]: https://github.com/cockroachdb/cockroach/commit/8e0cced53 -[8e5590c16]: https://github.com/cockroachdb/cockroach/commit/8e5590c16 -[924d7d28d]: https://github.com/cockroachdb/cockroach/commit/924d7d28d -[98dcef253]: https://github.com/cockroachdb/cockroach/commit/98dcef253 -[9eaa84c61]: https://github.com/cockroachdb/cockroach/commit/9eaa84c61 -[a432cb85c]: https://github.com/cockroachdb/cockroach/commit/a432cb85c -[a60105b5c]: https://github.com/cockroachdb/cockroach/commit/a60105b5c -[a7acd05d2]: https://github.com/cockroachdb/cockroach/commit/a7acd05d2 -[a9b587961]: https://github.com/cockroachdb/cockroach/commit/a9b587961 -[aee22d963]: https://github.com/cockroachdb/cockroach/commit/aee22d963 -[be9de983e]: https://github.com/cockroachdb/cockroach/commit/be9de983e -[c2f5acddd]: https://github.com/cockroachdb/cockroach/commit/c2f5acddd -[cca9535e0]: https://github.com/cockroachdb/cockroach/commit/cca9535e0 -[cf4e18a3e]: https://github.com/cockroachdb/cockroach/commit/cf4e18a3e -[d2af9c931]: https://github.com/cockroachdb/cockroach/commit/d2af9c931 -[d716bf5c2]: https://github.com/cockroachdb/cockroach/commit/d716bf5c2 -[d7d62dabd]: https://github.com/cockroachdb/cockroach/commit/d7d62dabd -[d9fdece13]: https://github.com/cockroachdb/cockroach/commit/d9fdece13 -[de45fb598]: https://github.com/cockroachdb/cockroach/commit/de45fb598 -[e16e1dcbb]: https://github.com/cockroachdb/cockroach/commit/e16e1dcbb -[e4f91b7fd]: https://github.com/cockroachdb/cockroach/commit/e4f91b7fd -[e634a4833]: https://github.com/cockroachdb/cockroach/commit/e634a4833 -[eee65c38f]: https://github.com/cockroachdb/cockroach/commit/eee65c38f -[f27a48e2d]: https://github.com/cockroachdb/cockroach/commit/f27a48e2d -[f33b7c585]: https://github.com/cockroachdb/cockroach/commit/f33b7c585 -[f3c62e586]: https://github.com/cockroachdb/cockroach/commit/f3c62e586 -[f4333e57c]: https://github.com/cockroachdb/cockroach/commit/f4333e57c -[f5e596a01]: https://github.com/cockroachdb/cockroach/commit/f5e596a01 -[f82b7c803]: https://github.com/cockroachdb/cockroach/commit/f82b7c803 -[fbc3fdf43]: https://github.com/cockroachdb/cockroach/commit/fbc3fdf43 -[fc74b6ff1]: https://github.com/cockroachdb/cockroach/commit/fc74b6ff1 -[ff466290a]: https://github.com/cockroachdb/cockroach/commit/ff466290a From d21faf70aeae64ca6f349be4419319c7f33909e6 Mon Sep 17 00:00:00 2001 From: katmayb Date: Tue, 18 Mar 2025 09:53:49 -0400 Subject: [PATCH 4/5] Update versions.csv --- src/current/_data/versions.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/current/_data/versions.csv b/src/current/_data/versions.csv index cc8ba1ddb9d..eccec8df5f4 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -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- 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 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 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 -v25.2,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A \ No newline at end of file +v25.2,2025-03-24,2026-05-18,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A \ No newline at end of file From d24f9d7ef9962a9107fae6cfd474ec7de40476a9 Mon Sep 17 00:00:00 2001 From: Mohini Date: Tue, 18 Mar 2025 21:54:20 +0530 Subject: [PATCH 5/5] added fix for showing different text message for test releases --- src/current/_data/versions.csv | 2 +- src/current/releases/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/current/_data/versions.csv b/src/current/_data/versions.csv index eccec8df5f4..cc8ba1ddb9d 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -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- 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 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 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 -v25.2,2025-03-24,2026-05-18,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A \ No newline at end of file +v25.2,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v25.1,master,N/A \ No newline at end of file diff --git a/src/current/releases/index.md b/src/current/releases/index.md index 9d4417be120..ae8a2af9a0d 100644 --- a/src/current/releases/index.md +++ b/src/current/releases/index.md @@ -208,7 +208,7 @@ The following releases and their descriptions represent proposed plans that are {% endif %} {% comment %} Only display supported versions {% endcomment %} -{% if is_supported %} +{% if is_supported or released==false %} ### {{ v.major_version }}