diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml index 84acbd8008a..1550c7ecc64 100644 --- a/src/current/_data/releases.yml +++ b/src/current/_data/releases.yml @@ -6808,18 +6808,18 @@ source: true previous_release: v23.2.11 -- release_name: v24.3.0-alpha.1 - major_version: v24.3 - release_date: '2024-12-31' - release_type: Testing - go_version: go1.22.0 - sha: 0123456789abcde0123456789abcde0123456789 +- release_name: v23.1.27 + major_version: v23.1 + release_date: '2024-10-03' + release_type: Production + go_version: go1.22.5 + sha: a17e74924d09f342415a0ad861f19d221479f489 has_sql_only: true has_sha256sum: true mac: mac_arm: true mac_arm_experimental: true - mac_arm_limited_access: false + mac_arm_limited_access: true windows: true linux: linux_arm: true @@ -6828,24 +6828,26 @@ linux_intel_fips: true linux_arm_fips: false docker: - docker_image: cockroachdb/cockroach-unstable + docker_image: cockroachdb/cockroach docker_arm: true docker_arm_experimental: false docker_arm_limited_access: false source: true - -- release_name: v23.1.27 - major_version: v23.1 - release_date: '2024-10-03' - release_type: Production + previous_release: v23.1.26 + + +- release_name: v24.3.0-alpha.1 + major_version: v24.3 + release_date: '2024-10-09' + release_type: Testing go_version: go1.22.5 - sha: a17e74924d09f342415a0ad861f19d221479f489 + sha: 2e408b09d11e5486eadf8e47a2fc29ecbd77eda9 has_sql_only: true has_sha256sum: true mac: mac_arm: true mac_arm_experimental: true - mac_arm_limited_access: true + mac_arm_limited_access: false windows: true linux: linux_arm: true @@ -6854,9 +6856,8 @@ linux_intel_fips: true linux_arm_fips: false docker: - docker_image: cockroachdb/cockroach + docker_image: cockroachdb/cockroach-unstable docker_arm: true docker_arm_experimental: false docker_arm_limited_access: false source: true - previous_release: v23.1.26 diff --git a/src/current/_data/versions.csv b/src/current/_data/versions.csv index 2bd53943d69..f6795510a51 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -15,4 +15,4 @@ v23.1,2023-05-15,2024-05-15,2024-11-15,23.1.11,23.1.12,2023-11-13,2024-11-13,202 v23.2,2024-02-05,2025-02-05,2025-08-05,23.2.6,23.2.7,2024-07-08,2025-07-08,2026-07-08,v23.1,release-23.2 v24.1,2024-05-20,2025-05-20,2025-11-20,N/A,N/A,N/A,N/A,N/A,v23.2,release-24.1 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 -v24.3,2024-12-25,2025-06-25,N/A,N/A,N/A,N/A,N/A,N/A,v24.2,master +v24.3,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v24.2,master diff --git a/src/current/_includes/releases/v24.3/v24.3.0-alpha.1.md b/src/current/_includes/releases/v24.3/v24.3.0-alpha.1.md index e2771e69ae3..ddf7e7e4e0b 100644 --- a/src/current/_includes/releases/v24.3/v24.3.0-alpha.1.md +++ b/src/current/_includes/releases/v24.3/v24.3.0-alpha.1.md @@ -1,3 +1,346 @@ ## v24.3.0-alpha.1 -Release Date: TBD +Release Date: October 9, 2024 + + +{% include releases/new-release-downloads-docker-image.md release=include.release %} +

Security updates

+ +- URLs in the [`CREATE CHANGEFEED`]({% link v24.3/create-changefeed.md %}) and [`CREATE SCHEDULE FOR CHANGEFEED`]({% link v24.3/create-schedule-for-changefeed.md %}) SQL statements are now sanitized of any secrets before being written to unredacted [logs]({% link v24.3/logging.md %}). [#126970][#126970] +- The LDAP [cluster settings]({% link v24.3/cluster-settings.md %}) `server.ldap_authentication.client.tls_certificate` and `server.ldap_authentication.client.tls_key` did not have callbacks installed to reload the settings value for LDAP authManager. This change fixes this by adding the necessary callbacks. [#131151][#131151] +- [Cluster settings]({% link v24.3/cluster-settings.md %}) for [host-based authentication]({% link v24.3/security-reference/authentication.md %}#authentication-configuration) configuration ([`server.host_based_authentication.configuration`]({% link v24.3/cluster-settings.md %}#setting-server-host-based-authentication-configuration)) and identity map configuration ([`server.identity_map.configuration`]({% link v24.3/cluster-settings.md %})) need to be redacted as they can be configured to contain LDAP bind usernames, passwords, and mapping of external identities to SQL users that are sensitive. These cluster settings can be configured for redaction via the `server.redact_sensitive_settings.enabled` cluster setting. [#131150][#131150] +- Added support for configuring authorization using LDAP. During login, the list of groups that a user belongs to are fetched from the LDAP server. These groups are mapped to [SQL roles]({% link v24.3/create-role.md %}) by extracting the common name (CN) from the group. After authenticating the user, the login flow grants these roles to the user, and revokes any other roles that are not returned by the LDAP server. The groups given by the LDAP server are treated as the sole source of truth for role memberships, so any roles that were manually granted to the user will not remain in place. [#131043][#131043] +- Previously, the [host-based authentication]({% link v24.3/security-reference/authentication.md %}#authentication-configuration) (HBA) configuration cluster setting [`server.host_based_authentication.configuration`]({% link v24.3/cluster-settings.md %}#setting-server-host-based-authentication-configuration) was unable to handle double quotes in authentication method option values. For example, for the following entry: + + ~~~ + host all all all ldap ldapserver=ldap.example.com ldapport=636 ldapbasedn="ou=users,dc=example,dc=com" ldapbinddn="cn=readonly,dc=example,dc=com" ldapbindpasswd=readonly_password ldapsearchattribute=uid ldapsearchfilter="(memberof=cn=cockroachdb_users,ou=groups,dc=example,dc=com)" + ~~~ + + The HBA parser would fail after incorrectly determining `ldapbinddn="cn=readonly,dc=example,dc=com"` as 2 separate options (`ldapbinddn=and cn=readonly,dc=example,dc=com`). Now, the 2 tokens are set as key and value respectively for the same HBA configuration option. [#131480][#131480] + +

General changes

+ +- CockroachDB will now avoid [logging]({% link v24.3/logging.md %}) unnecessary stack traces while executing [scheduled jobs]({% link v24.3/show-jobs.md %}). [#129846][#129846] +- Upgrading to 24.3 is blocked if no [license]({% link v24.3/licensing-faqs.md %}) is installed, or if a trial/free license is installed with telemetry disabled. [#130576][#130576] +- Changed the license `cockroach` is distributed under to the new CockroachDB Software License. [#131661][#131661] +- Attempting to install a second Enterprise trial license on the same cluster will now fail. [#131422][#131422] +- Changed the license `cockroach` is distributed under to the new CockroachDB Software License (CSL). [#131690][#131690] [#131686][#131686] [#131688][#131688] [#131687][#131687] [#131717][#131717] [#131689][#131689] [#131693][#131693] [#131691][#131691] [#131777][#131777] [#131778][#131778] + +

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

+ +- Added a `CompressionLevel` field to the changefeed [`kafka_sink_config`]({% link v24.3/changefeed-sinks.md %}#kafka-sink-configuration) option. [Changefeeds]({% link v24.3/change-data-capture-overview.md %}) will use this compression level when emitting events to a [Kafka sink]({% link v24.3/changefeed-sinks.md %}#kafka). The possible values depend on a compression codec. The `CompressionLevel` field optimizes for faster or stronger level of [compression]({% link v24.3/changefeed-sinks.md %}#kafka-sink-configuration). [#125456][#125456] +- The updated version of the [CockroachDB changefeed Kafka sink implementation]({% link v24.3/changefeed-sinks.md %}#kafka) now supports specifying compression levels. [#127827][#127827] +- Introduced the cluster setting [`server.jwt_authentication.client.timeout`]({% link v24.3/cluster-settings.md %}) to capture the HTTP client timeout for external calls made during [JWT authentication]({% link v24.3/sso-sql.md %}). [#127145][#127145] +- The JWT authentication [cluster settings]({% link v24.3/cluster-settings.md %}) have been made `public`. [#128170][#128170] +- Updated certain error messages to refer to the `stable` docs tree rather than an explicit version. [#128842][#128842] +- Disambiguated [metrics]({% link v24.3/essential-metrics-self-hosted.md %}) and logs for the two buffers used by the KV feed. The affected metrics now have a suffix indicating which buffer they correspond to: `changefeed.buffer_entries.*`, `changefeed.buffer_entries_mem.*`, `changefeed.buffer_pushback_nanos.*`. The previous versions are still supported for backward compatibility, though using the new format is recommended. [#128813][#128813] +- Added support for authorization to a CockroachDB cluster via LDAP, retrieving AD groups membership information for LDAP user. The new [HBA configuration]({% link v24.3/security-reference/authentication.md %}#authentication-configuration) cluster setting option `ldapgrouplistfilter` performs filtered search query on LDAP for matching groups. An example HBA configuration entry to support LDAP authZ configuration: + + {% include_cached copy-clipboard.html %} + ~~~ sql + # TYPE DATABASE USER ADDRESS METHOD OPTIONS + # Allow all users to connect to using LDAP authentication with search and bind host all all all ldap ldapserver=ldap.example.com ldapport=636 "ldapbasedn=ou=users,dc=example,dc=com" "ldapbinddn=cn=readonly,dc=example,dc=com" ldapbindpasswd=readonly_password ldapsearchattribute=uid "ldapsearchfilter=(memberof=cn=cockroachdb_users,ou=groups,dc=example,dc=com)" "ldapgrouplistfilter=(objectClass=groupOfNames)" + # Fallback to password authentication for the root user + host all root 0.0.0.0/0 password + ~~~ + + For example, to use for an Azure AD server: + + {% include_cached copy-clipboard.html %} + ~~~ sql + SET cluster setting server.host_based_authentication.configuration = 'host all all all ldap ldapserver=azure.dev ldapport=636 "ldapbasedn=OU=AADDC Users,DC=azure,DC=dev" "ldapbinddn=CN=Some User,OU=AADDC Users,DC=azure,DC=dev" ldapbindpasswd=my_pwd ldapsearchattribute=sAMAccountName "ldapsearchfilter=(memberOf=CN=azure-dev-domain-sync-users,OU=AADDC Users,DC=crlcloud,DC=dev)" "ldapgrouplistfilter=(objectCategory=CN=Group,CN=Schema,CN=Configuration,DC=crlcloud,DC=dev)" + host all root 0.0.0.0/0 password'; + ~~~ + + Post configuration, the CockroachDB cluster should be able to authorize users via LDAP server if: + 1. Users LDAP authentication attempt is successful, and it has the user's DN for the LDAP server. + 1. `ldapgrouplistfilter` is properly configured, and it successfully syncs groups of the user. [#128498][#128498] +- Added changefeed support for the [`mvcc_timestamp`]({% link v24.3/create-changefeed.md %}#mvcc-timestamp) option when the changefeed is emitting in [`avro`]({% link v24.3/changefeed-messages.md %}#avro) format. If both options are specified, the Avro schema includes an `mvcc_timestamp` metadata field and emits the row's [MVCC timestamp]({% link v24.3/architecture/storage-layer.md %}#mvcc) with the row data. [#129840][#129840] +- Updated the cluster setting [`changefeed.sink_io_workers`]({% link v24.3/cluster-settings.md %}#setting-changefeed-sink-io-workers) with all the [sinks]({% link v24.3/changefeed-sinks.md %}) that support the setting. [#129946][#129946] +- Added a LDAP authentication method to complement password-based login for the [DB Console]({% link v24.3/ui-overview.md %}) if HBA configuration has an entry for LDAP for the user attempting login, along with other matching criteria (like the requests originating IP address) for authentication to the DB Console. [#130418][#130418] +- Added timers around key parts of the [changefeed]({% link v24.3/change-data-capture-overview.md %}) pipeline to help debug feeds experiencing issues. The `changefeed.stage..latency` metrics now emit latency histograms for each stage. The metric respects the [changefeed `scope` label]({% link v24.3/monitor-and-debug-changefeeds.md %}#using-changefeed-metrics-labels) for debugging specific feeds. [#128794][#128794] +- For [enterprise changefeeds]({% link v24.3/how-does-an-enterprise-changefeed-work.md %}), [events]({% link v24.3/eventlog.md %}) `changefeed_failed` and `create_changefeed` now include a `JobId` field. [#131396][#131396] +- The new [metric]({% link v24.3/metrics.md %}) `seconds_until_license_expiry` allows you to monitor the status of a cluster's Enterprise license. [#129052][#129052]. +- Added the `changefeed.total_ranges` metric, which [monitors]({% link v24.3/monitor-and-debug-changefeeds.md %}) the number of [ranges]({% link v24.3/architecture/overview.md %}#architecture-range) that are watched by [changefeed aggregators]({% link v24.3/how-does-an-enterprise-changefeed-work.md %}). It shares the same polling interval as [`changefeed.lagging_ranges`]({% link v24.3/advanced-changefeed-configuration.md %}#lagging-ranges), which is controlled by the existing `lagging_ranges_polling_interval` option. [#130897][#130897] + +

SQL language changes

+ +- Added a session setting, [`optimizer_use_merged_partial_statistics`]({% link v24.3/session-variables.md %}) which defaults to `false`. When set to `true`, it enables usage of existing partial [statistics]({% link v24.3/cost-based-optimizer.md %}#table-statistics) merged with full statistics when [optimizing]({% link v24.3/cost-based-optimizer.md %}) a query. [#126948][#126948] +- The [`enable_create_stats_using_extremes`]({% link v24.3/session-variables.md %}) session setting is now `true` by default. Partial statistics at extremes can be collected using the [`CREATE STATISTICS ON FROM USING EXTREMES`]({% link v24.3/create-statistics.md %}) syntax. [#127850][#127850] +- Added [`SHOW SCHEMAS WITH COMMENT`]({% link v24.3/show-schemas.md %}) and `SHOW SCHEMAS FROM database_name WITH COMMENT` functionality similar to [`SHOW TABLES`]({% link v24.3/show-tables.md %}) and [`SHOW DATABASES`]({% link v24.3/show-databases.md %}). [#127816][#127816] +- The [`deadlock_timeout` session variable]({% link v24.3/session-variables.md %}) is now supported. The configuration can be used to specify the time to wait on a lock before pushing the lock holder for deadlock detection. It can be set at session granularity. [#128506][#128506] +- Partial statistics at extremes can now be collected on all valid columns of a table using the [`CREATE STATISTICS ` `FROM USING EXTREMES`]({% link v24.3/create-statistics.md %}) syntax, without an `ON ` clause. Valid columns are all single column prefixes of a forward [index]({% link v24.3/indexes.md %}) excluding partial, sharded, and implicitly partitioned indexes. [#127836][#127836] +- Partial [statistics]({% link v24.3/cost-based-optimizer.md %}#table-statistics) can now be automatically collected at the extremes of indexes when a certain fraction and minimum number of rows are stale (by default 5% and 100 respectively). These can be configured with new [table storage parameters]({% link v24.3/alter-table.md %}#set-and-reset-storage-parameters) and [cluster settings]({% link v24.3/cluster-settings.md %}), and the feature is disabled by default. The new cluster settings and table parameters are: + - `sql.stats.automatic_partial_collection.enabled`/`sql_stats_automatic_partial_collection_enabled`, defaults to `false`. + - `sql.stats.automatic_partial_collection.min_stale_rows`/`sql_stats_automatic_partial_collection_min_stale_rows`, defaults to `100`. + - `sql.stats.automatic_partial_collection.fraction_stale_rows `/`sql_stats_automatic_partial_collection_fraction_stale_rows`, Defaults to `0.05`. [#93067][#93067] +- The session variable [`enforce_home_region_follower_reads_enabled`]({% link v24.3/session-variables.md %}#enforce-home-region-follower-reads-enabled) is now deprecated, and will be removed in a future release. The related session variable [`enforce_home_region`]({% link v24.3/session-variables.md %}#enforce-home-region) is **not** deprecated. [#129024][#129024] +- Added a new [cluster setting]({% link v24.3/cluster-settings.md %}) to control whether most common values are collected as part of [histogram collection]({% link v24.3/cost-based-optimizer.md %}#control-histogram-collection) for use by the [optimizer]({% link v24.3/cost-based-optimizer.md %}). The setting is called `sql.stats.histogram_buckets.include_most_common_values.enabled`. When enabled, the histogram collection logic will ensure that the most common sampled values are represented as histogram bucket upper bounds. Since histograms in CockroachDB track the number of elements equal to the upper bound in addition to the number of elements less, this allows the optimizer to identify the most common values in the histogram and better estimate the rows processed by a query plan. To set the number of most common values to include in a histogram, a second setting `sql.stats.histogram_buckets.max_fraction_most_common_values` was added. Currently, the default is `0.1`, or `10%` of the number of buckets. With a 200 bucket histogram, by default, at most 20 buckets may be adjusted to include a most common value as the upper bound. [#129378][#129378] +- Added a new column to [`crdb_internal.table_spans`]({% link v24.3/crdb-internal.md %}#tables) to indicate whether a table is [dropped]({% link v24.3/drop-table.md %}). Rows for dropped tables will be removed once they are [garbage collected]({% link v24.3/architecture/storage-layer.md %}#garbage-collection). [#128788][#128788] +- Added the [cluster setting]({% link v24.3/cluster-settings.md %}) `sql.txn.repeatable_read_isolation.enabled`, which defaults to` false`. When set to `true`, the following statements will configure transactions to run under `REPEATABLE READ` isolation, rather than being automatically interpreted as [`SERIALIZABLE`]({% link v24.3/demo-serializable.md %}): + - `BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ` + - `SET TRANSACTION ISOLATION LEVEL REPEATABLE READ` + - `SET default_transaction_isolation = 'repeatable read'` + - `SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL REPEATABLE READ` + + This setting was added since [`REPEATABLE READ` transactions]({% link v24.3/transactions.md %}#comparison-to-ansi-sql-isolation-levels) is a [preview]({% link v24.3/cockroachdb-feature-availability.md %}) feature, so usage of it is opt-in for v24.3. In a future CockroachDB major version, this setting will change to default to `true`. [#130089][#130089] +- Previously, [`SHOW CHANGEFEED JOBS`]({% link v24.3/show-jobs.md %}#show-changefeed-jobs) showed the changefeed jobs for the last 14 days by default. Now, it uses the same age filter for [`SHOW JOBS`]({% link v24.3/show-jobs.md %}), which shows jobs from the last 12 hours by default. [#127584][#127584] +- Set the default for session variable [`large_full_scan_rows`]({% link v24.3/session-variables.md %}#large-full-scan-rows) to `0`. This means that by default, [`disallow_full_table_scans`]({% link v24.3/session-variables.md %}#disallow-full-table-scans) will disallow **all** [full table scans]({% link v24.3/show-full-table-scans.md %}), even full scans on very small tables. If `large_full_scan_rows` is set > 0, `disallow_full_table_scans` will allow full scans estimated to read fewer than `large_full_scan_rows`. [#131040][#131040] +- It is now possible to create [PL/pgSQL]({% link v24.3/plpgsql.md %}) trigger functions, which can be executed by a trigger in response to table mutation events. Note that this patch does not add support for triggers, only trigger functions. [#126734][#126734] +- Cluster settings [`enterprise.license`]({% link v24.3/cluster-settings.md %}#setting-enterprise-license) and [`diagnostics.reporting.enabled`]({% link v24.3/cluster-settings.md %}#setting-diagnostics-reporting-enabled) now have additional validation. [#131097][#131097] +- The [`SHOW SESSIONS`]({% link v24.3/show-sessions.md %}) command was changed to include an `authentication_method` column in the result. This column will show the method used to authenticate the session, for example, `password`, `cert`, `LDAP`, etc. [#131625][#131625] + +

Operational changes

+ +- [Events]({% link v24.3/eventlog.md %}) `DiskSlownessDetected` and `DiskSlownessCleared` are now logged when disk slowness is detected and cleared on a store. [#127025][#127025] +- Several [cluster settings]({% link v24.3/cluster-settings.md %}) allow you to configure rate-limiting traffic to cloud storage over various protocols. These settings begin with `cloudstorage`. [#127207][#127207] +- The new [cluster setting]({% link v24.3/cluster-settings.md %}) `kv.range.range_size_hard_cap` allows you to limit how large a [range]({% link v24.3/architecture/overview.md %}#architecture-range) can grow before [backpressure]({% link v24.3/common-errors.md %}#split-failed-while-applying-backpressure-are-rows-updated-in-a-tight-loop) is applied. This can help to mitigate against a situation where a range cannot be split, such as when a range is comprised of a single key due to an issue with the schema or workload pattern or a bug in client application code. The default is 8 GiB, which is 16 times the default max range size. If you have changed the max range size, you may need to adjust this cluster setting or reduce the range size. [#129450][#129450] +- The following `kvflowcontrol` [metrics]({% link v24.3/metrics.md %}) have been renamed. After a cluster is finalized on v24.3, old and new metrics will be populated. The previous metrics under `kvasdmission.flow_controller` will be removed. + + Old metric names | New metric names + ---------------------------------------------------------------------|----------------- + `kvadmission.flow_controller.regular_tokens_available` | `kvflowcontrol.tokens.eval.regular.available` + `kvadmission.flow_controller.elastic_tokens_available` | `kvflowcontrol.tokens.eval.elastic.available` + `kvadmission.flow_controller.regular_tokens_deducted` | `kvflowcontrol.tokens.eval.regular.deducted` + `kvadmission.flow_controller.elastic_tokens_deducted` | `kvflowcontrol.tokens.eval.elastic.deducted` + `kvadmission.flow_controller.regular_tokens_returned` | `kvflowcontrol.tokens.eval.regular.returned` + `kvadmission.flow_controller.elastic_tokens_returned` | `kvflowcontrol.tokens.eval.elastic.returned` + `kvadmission.flow_controller.regular_tokens_unaccounted` | `kvflowcontrol.tokens.eval.regular.unaccounted` + `kvadmission.flow_controller.elastic_tokens_unaccounted` | `kvflowcontrol.tokens.eval.elastic.unaccounted` + `kvadmission.flow_controller.regular_stream_count` | `kvflowcontrol.streams.eval.regular.total_count` + `kvadmission.flow_controller.elastic_stream_count` | `kvflowcontrol.streams.eval.elastic.total_count` + `kvadmission.flow_controller.regular_requests_waiting` | `kvflowcontrol.eval_wait.regular.requests.waiting` + `kvadmission.flow_controller.elastic_requests_waiting` | `kvflowcontrol.eval_wait.elastic.requests.waiting` + `kvadmission.flow_controller.regular_requests_admitted` | `kvflowcontrol.eval_wait.regular.requests.admitted` + `kvadmission.flow_controller.elastic_requests_admitted` | `kvflowcontrol.eval_wait.elastic.requests.admitted` + `kvadmission.flow_controller.regular_requests_errored` | `kvflowcontrol.eval_wait.regular.requests.errored` + `kvadmission.flow_controller.elastic_requests_errored` | `kvflowcontrol.eval_wait.elastic.requests.errored` + `kvadmission.flow_controller.regular_requests_bypassed` | `kvflowcontrol.eval_wait.regular.requests.bypassed` + `kvadmission.flow_controller.elastic_requests_bypassed` | `kvflowcontrol.eval_wait.elastic.requests.bypassed` + `kvadmission.flow_controller.regular_wait_duration` | `kvflowcontrol.eval_wait.regular.duration` + `kvadmission.flow_controller.elastic_wait_duration` | `kvflowcontrol.eval_wait.elastic.duration` + + + [#130167][#130167] + +- The new `ranges.decommissioning` [metric]({% link v24.3/metrics.md %}) shows the number of ranges with a replica on a [decommissioning]({% link v24.3/node-shutdown.md %}) node. [#130117][#130117] +- New [cluster settings]({% link v24.3/cluster-settings.md %}) have been added which control the refresh behavior for the cached data in the **Databases** page of the [DB Console]({% link v24.3/ui-overview.md %}): + - `obs.tablemetadatacache.data_valid_duration`: the duration for which the data in `system.table_metadata` is considered valid before a cache reset will occur. Default: 20 minutes. + - `obs.tablemetadatacache.automatic_updates.enabled`: whether to automatically update the cache according the validity interval. Default: `false`. + + [#130198][#130198] +- New gauge [metrics]({% link v24.3/metrics.md %}) `security.certificate.expiration.{cert-type}` and `security.certificate.ttl.{cert-type}` show the expiration and TTL for a certificate. [#130110][#130110] +- To set the [logging format]({% link v24.3/log-formats.md %}) for `stderr`, you can now set the `format` field to any valid format, rather than only `crdb-v2-tty`. [#131529][#131529] +- The following new [metrics]({% link v24.3/metrics.md %}) show connection latency for each SQL authentication method: + + Authentication method | Metric + ----------------------|------- + Certificate | `auth_cert_conn_latency` + Java Web Token (JWT) | `auth_jwt_conn_latency` + Kerberos GSS | `auth_gss_conn_latency` + LDAP | `auth_ldap_conn_latency` + Password | `auth_password_conn_latency` + SCRAM SHA-256 | `auth_scram_conn_latency` + + [#131578][#131578] + +- Verbose logging of slow [Pebble]({% link v24.3/architecture/storage-layer.md %}#pebble) reads can no longer be enabled via the shorthand flag `--vmodule=pebble_logger_and_tracer=2`, where `pebble_logger_and_tracer` contains the CockroachDB implementation of the logger needed by Pebble. Instead, you must list the Pebble files that contain the log statements. For example `--vmodule=reader=2,table=2`. [#127066][#127066] +- The lowest [admission control]({% link v24.3/admission-control.md %}) priority for the storage layer has been renamed from `ttl-low-pri` to `bulk-low-pri`. [#129564][#129564] +- New clusters will now have a [zone configuration]({% link v24.3/show-zone-configurations.md %}) defined for the `timeseries` range, which specifies `gc.ttlseconds` and inherits all other attributes from the zone config of the `default` range. This zone config will also be added to a cluster that is [upgraded]({% link v24.3/upgrade-cockroach-version.md %}) to v24.3 if it does not already have a zone config defined.[#128032][#128032] + +

Command-line changes

+ +- [`cockroach debug tsdump`]({% link v24.3/cockroach-debug-tsdump.md %}) now includes all the available resolutions in the time range supplied by the user. [#127186][#127186] +- Added the flag `--tenant-name-scope` to the [`cert create-client`]({% link v24.3/cockroach-cert.md %}#create-the-certificate-and-key-pair-for-a-client) command. This allows users to generate tenant-scoped [client certificates]({% link v24.3/authentication.md %}#client-authentication) using tenant names in addition to tenant IDs. [#129216][#129216] + +

DB Console changes

+ +- If a [range]({% link v24.3/architecture/overview.md %}#architecture-range) is larger than twice the max range size, it will now display in the [**Problem Ranges** page]({% link v24.3/ui-debug-pages.md %}) in the DB Console. [#129001][#129001] +- Updated some metric charts on the [Overview]({% link v24.3/ui-overview-dashboard.md %}) and [Replication]({% link v24.3/ui-replication-dashboard.md %}) dashboards to omit verbose details in the legends for easier browsing. [#129149][#129149] +- Updated the icon for notification alerts to use the new CockroachDB logo. [#130333][#130333] +- The `txn.restarts.writetoooldmulti` metric was rolled into the `txn.restarts.writetooold` metric in the v24.1.0-alpha.1 release. `txn.restarts.writetoooldmulti` has now been removed altogether. [#131642][#131642] +- The grants table in the [DB Details]({% link v24.3/ui-databases-page.md %}#databases) page will now show the database level grants. For example, when clicking a database in the databases list. Previously, it showed grants per table in the database. [#131250][#131250] +- Added new database pages that are available from the side navigation **Databases** link. [#131594][#131594] +- The [DB Console]({% link v24.3/ui-overview.md %}) will reflect any throttling behavior from the cluster due to an expired license or missing telemetry data. Enterprise licenses are not affected. [#131326][#131326] +- Users can hover over the node/region cell in multi-region deployments to view a list of nodes the database or table is on. [#130704][#130704] +- The [**Databases** pages]({% link v24.3/ui-databases-page.md %}) in the DB console have been updated to read cached metadata about database and table storage statistics. The cache update time is now displayed in the top right-hand corner of the database and tables list pages. Users may trigger a cache refresh with the **refresh** icon next to the last updated time. The cache will also update automatically when users visit a **Databases** page and the cache is older than or equal to 20 minutes. [#131463][#131463] + +

Bug fixes

+ +- Fixed a bug where CockroachDB could incorrectly evaluate an `IS NOT NULL` [filter]({% link v24.3/select-clause.md %}#filter-rows) if it was applied to non-`NULL` tuples that had `NULL` elements (like `(1, NULL)` or `(NULL, NULL)`). The bug was present since v20.2. [#126901][#126901] +- Fixed a bug related to displaying the names of composite types in the [`SHOW CREATE TABLES`]({% link v24.3/show-create.md %}) command. The names are now shown as two-part names, which disambiguates the output and makes it more portable to other databases. [#127158][#127158] +- The `CONCAT()` [built-in function]({% link v24.3/functions-and-operators.md %}) now accepts arguments of any data type. [#127098][#127098] +- Fixed a bug that prevented merged [statistics]({% link v24.3/cost-based-optimizer.md %}#table-statistics) from being created after injecting statistics or recreating [statement bundles]({% link v24.3/explain-analyze.md %}). This would occur when the injected statistics or statement bundle contained related full and partial statistics. [#127252][#127252] +- Fixed a bug where CockroachDB could encounter spurious `(error encountered after some results were delivered)` `ERROR: context canceled` errors in rare cases when evaluating some queries. The bug was present since v22.2. The conditions that triggered the bug were queries that: + - Had to be executed locally. + - Had a [`LIMIT`]({% link v24.3/limit-offset.md %}). + - Have at least two [`UNION`]({% link v24.3/selection-queries.md %}#union-combine-two-queries) clauses. + - Have some lookup or index [joins]({% link v24.3/joins.md %}) in the `UNION` branches. [#127076][#127076] +- Updated the restore [job]({% link v24.3/show-jobs.md %}) description from `RESTORE ... FROM` to `RESTORE FROM {backup} IN {collectionURI}` to reflect the new [`RESTORE`]({% link v24.3/restore.md %}) syntax. [#127970][#127970] +- Fixed a bug that could cause a `CASE` statement with multiple [subqueries]({% link v24.3/subqueries.md %}) to produces the side effects of one of the subqueries even if that subquery shouldn't have been evaluated. [#120327][#120327] +- Changed the [schema changer]({% link v24.3/online-schema-changes.md %})’s merge process so that it can detect [contention errors]({% link v24.3/transaction-retry-error-reference.md %}) and automatically retry with a smaller batch size. This makes the merge process more likely to succeed without needing to manually tune settings. [#128201][#128201] +- [`SHOW CREATE ALL TYPES`]({% link v24.3/show-create.md %}) now shows corresponding type comments in its output. [#128084][#128084] +- Enforce the [`statement_timeout` session setting]({% link v24.3/session-variables.md %}) when waiting for [jobs]({% link v24.3/show-jobs.md %}) after a [schema change]({% link v24.3/online-schema-changes.md %}) in an [implicit transaction]({% link v24.3/transactions.md %}#individual-statements). [#128474][#128474] +- Fixed a bug where certain dropdowns in the [DB Console]({% link v24.3/ui-overview.md %}) appeared to be empty (with no options to select from) for users of the Safari browser. [#128996][#128996] +- Fixed a bug that would cause the [`hlc_to_timestamp` function]({% link v24.3/functions-and-operators.md %}) to return an incorrect [timestamp]({% link v24.3/timestamp.md %}) for some input [decimals]({% link v24.3/decimal.md %}). [#129153][#129153] +- Fixed a memory leak where [statement insight]({% link v24.3/ui-statements-page.md %}) objects could leak if the session was closed without the [transaction]({% link v24.3/transactions.md %}) finishing. [#128400][#128400] +- Fixed a bug in the public preview [WAL failover]({% link v24.3/cockroach-start.md %}#write-ahead-log-wal-failover) feature that could prevent a node from starting if it crashed during a failover. [#129331][#129331] +- Fixed a bug where `'infinity'::TIMESTAMP` returned a different result than PostgreSQL. [#127141][#127141] +- Fixed a spurious error log from the [replication queue]({% link v24.3/ui-queues-dashboard.md %}#replication-queue) involving the text `" needs lease, not adding"`. [#129351][#129351] +- Using more than one [`DECLARE`]({% link v24.3/plpgsql.md %}#structure) statement in the definition of a [user-defined function]({% link v24.3/user-defined-functions.md %}) now correctly declares additional variables. [#129951][#129951] +- Fixed a bug in which some [`SELECT FOR UPDATE`]({% link v24.3/select-for-update.md %}) or [`SELECT FOR SHARE`]({% link v24.3/select-for-update.md %}) queries using `NOWAIT` could still block on locked rows when using the `optimizer_use_lock_op_for_serializable` [session setting]({% link v24.3/session-variables.md %}) under [serializable]({% link v24.3/demo-serializable.md %}) isolation. This bug was introduced with `optimizer_use_lock_op_for_serializable` in v23.2.0. [#130103][#130103] +- Fixed a bug in the [upgrade]({% link v24.3/upgrade-cockroach-version.md %}) pre-condition for repairing descriptor corruption that could lead to finalization being stuck. [#130064][#130064] +- Fixed a bug that caused the optimizer to plan unnecessary post-query uniqueness checks during [`INSERT`]({% link v24.3/insert.md %}), [`UPSERT`]({% link v24.3/upsert.md %}), and [`UPDATE`]({% link v24.3/update.md %}) statements on tables with partial, unique, [hash-sharded indexes]({% link v24.3/hash-sharded-indexes.md %}). These unnecessary checks added overhead to execution of these statements, and caused the statements to error when executed under [`READ COMMITTED` isolation]({% link v24.3/read-committed.md %}). [#130366][#130366] +- Fixed a bug that caused incorrect evaluation of `CASE`, [`COALESCE`]({% link v24.3/functions-and-operators.md %}#conditional-and-function-like-operators), and [`IF`]({% link v24.3/functions-and-operators.md %}#conditional-and-function-like-operators) expressions with branches producing fixed-width string-like types, such as [`CHAR`]({% link v24.3/string.md %}). In addition, the `BPCHAR` type no longer incorrectly imposes a length limit of `1`. [#129007][#129007] +- Fixed a bug where [zone configuration]({% link v24.3/configure-replication-zones.md %}) changes issued by the [declarative schema changer]({% link v24.3/online-schema-changes.md %}#declarative-schema-changer) were not blocked if a table had the `schema_locked` [storage parameter]({% link v24.3/with-storage-parameter.md %}) set. [#130670][#130670] +- Fixed a bug that could prevent a [`CHANGEFEED`]({% link v24.3/changefeed-examples.md %}) from being able to resume after being paused for a prolonged period of time. [#130622][#130622] +- Fixed a bug where if a client connection was attempting a [schema change]({% link v24.3/online-schema-changes.md %}) while the same [schema objects]({% link v24.3/schema-design-overview.md %}) were being dropped, it was possible for the connection to be incorrectly dropped. [#130928][#130928] +- Fixed a bug introduced in v23.1 that could cause incorrect results when: + 1. The query contained a [correlated subquery]({% link v24.3/subqueries.md %}#correlated-subqueries). + 2. The correlated subquery had a [`GROUP BY`]({% link v24.3/select-clause.md %}#group-by-an-alias) or [`DISTINCT`]({% link v24.3/performance-best-practices-overview.md %}#avoid-select-distinct-for-large-tables) operator with an outer-column reference in its input. + 3. The correlated subquery was in the input of a [`SELECT`]({% link v24.3/select-clause.md %}) or [`JOIN`]({% link v24.3/joins.md %}) operator. + 4. The `SELECT` or `JOIN` had a filter that set the outer-column reference from (2) equal to a non-outer column in the input of the grouping operator. + 5. The grouping column set did not include the replacement column, and functionally determined the replacement column. [#130925][#130925] +- Fixed a bug which could cause errors with the message `"internal error: Non-nullable column ..."` when executing statements under [`READ COMMITTED`]({% link v24.3/read-committed.md %}) isolation that involved tables with `NOT NULL` [virtual columns]({% link v24.3/computed-columns.md %}#create-a-virtual-computed-column-using-jsonb-data). [#130725][#130725] +- Fixed a bug that could cause a very rare internal error `"lists in SetPrivate are not all the same length"` when executing queries. [#130981][#130981] +- Fixed a bug that could cause incorrect evaluation of [scalar expressions]({% link v24.3/scalar-expressions.md %}) involving `NULL` values in rare cases. [#128123][#128123] +- [`SHOW CREATE ALL SCHEMAS`]({% link v24.3/show-create.md %}) now shows corresponding schema comments in its output. [#130164][#130164] +- Fixed a bug, introduced in v23.2.0, where creating a new [incremental schedule]({% link v24.3/take-full-and-incremental-backups.md %}#incremental-backups) (using [`ALTER BACKUP SCHEDULE`]({% link v24.3/alter-backup-schedule.md %})) on a [full backup schedule]({% link v24.3/take-full-and-incremental-backups.md %}#full-backups) created on an older version would fail. [#131231][#131231] +- Fixed a bug that could cause an internal error if a table with an implicit (`rowid`) [primary key]({% link v24.3/primary-key.md %}) was locked from within a [subquery]({% link v24.3/subqueries.md %}) like ` SELECT * FROM (SELECT * FROM foo WHERE x = 2) FOR UPDATE;`. The error could occur either under [`READ COMMITTED`]({% link v24.3/read-committed.md %}) isolation, or with the `optimizer_use_lock_op_for_serializable` [session setting]({% link v24.3/session-variables.md %}) enabled. [#129768][#129768] +- Fixed a bug where [jobs]({% link v24.3/show-jobs.md %}) created in a session with non-zero session [timezone offsets]({% link v24.3/set-vars.md %}#set-time-zone) could hang before starting, or report incorrect creation times when viewed in [`SHOW JOBS`]({% link v24.3/show-jobs.md %}) and the [DB Console]({% link v24.3/ui-overview.md %}). [#123632][#123632] +- Fixed a bug which could result in [changefeeds using CDC queries]({% link v24.3/create-schedule-for-changefeed.md %}#create-a-scheduled-changefeed-with-cdc-queries) failing due to a system table being [garbage collected]({% link v24.3/architecture/storage-layer.md %}#garbage-collection). [#131027][#131027] +- [`ALTER COLUMN TYPE`]({% link v24.3/alter-table.md %}#convert-to-a-different-data-type) now errors out when there is a [partial index]({% link v24.3/partial-indexes.md %}) that is dependent on the column being altered. [#131590][#131590] + +

Performance improvements

+ +- [Raft log]({% link v24.3/architecture/replication-layer.md %}#raft-logs) sync callback handling is now parallelized, which can improve write-heavy workload performance on large, single-store nodes. [#126523][#126523] +- [Planning time]({% link v24.3/cost-based-optimizer.md %}) for complex queries has been reduced. [#128049][#128049] +- Reduced the [write-amplification]({% link v24.3/architecture/storage-layer.md %}#write-amplification) impact of [rebalances]({% link v24.3/architecture/replication-layer.md %}) by splitting snapshot SSTable files into smaller ones before ingesting them into [Pebble]({% link v24.3/architecture/storage-layer.md %}#pebble). [#127997][#127997] +- Improved the performance of [job-system]({% link v24.3/show-jobs.md %}) related queries. [#123848][#123848] +- The [query optimizer]({% link v24.3/cost-based-optimizer.md %}) now plans limited, [partial-index scans]({% link v24.3/partial-indexes.md %}) in more cases. [#129901][#129901] +- The initialization of the execution engine for a query is now more efficient when the [query plan]({% link v24.3/cost-based-optimizer.md %}) contains [aggregate functions]({% link v24.3/functions-and-operators.md %}#aggregate-functions). [#130834][#130834] +- Enabled multi-level [compactions]({% link v24.3/architecture/storage-layer.md %}#compaction) that moderately reduce [write amplification]({% link v24.3/architecture/storage-layer.md %}#write-amplification) within the [storage engine]({% link v24.3/architecture/storage-layer.md %}). [#131378][#131378] +- Increased the per-vCPU concurrency limits for KV operations. Specifically, increased the `kv.dist_sender.concurrency_limit` [cluster setting]({% link v24.3/cluster-settings.md %}) to 384/vCPU (up from 64/vCPU) and `kv.streamer.concurrency_limit` to 96/vCPU (up from 8/vCPU). [#131226][#131226] +- The [optimizer]({% link v24.3/cost-based-optimizer.md %}) now plans more efficient [lookup joins]({% link v24.3/joins.md %}#lookup-joins) in some cases. [#131383][#131383] + +

Build changes

+ +- Changed the AWS SDK version used for interactions with external storage from v1 to v2. [#129938][#129938] + +[#120327]: https://github.com/cockroachdb/cockroach/pull/120327 +[#123632]: https://github.com/cockroachdb/cockroach/pull/123632 +[#123848]: https://github.com/cockroachdb/cockroach/pull/123848 +[#125456]: https://github.com/cockroachdb/cockroach/pull/125456 +[#126523]: https://github.com/cockroachdb/cockroach/pull/126523 +[#126734]: https://github.com/cockroachdb/cockroach/pull/126734 +[#126901]: https://github.com/cockroachdb/cockroach/pull/126901 +[#126948]: https://github.com/cockroachdb/cockroach/pull/126948 +[#126970]: https://github.com/cockroachdb/cockroach/pull/126970 +[#127025]: https://github.com/cockroachdb/cockroach/pull/127025 +[#127066]: https://github.com/cockroachdb/cockroach/pull/127066 +[#127076]: https://github.com/cockroachdb/cockroach/pull/127076 +[#127098]: https://github.com/cockroachdb/cockroach/pull/127098 +[#127141]: https://github.com/cockroachdb/cockroach/pull/127141 +[#127145]: https://github.com/cockroachdb/cockroach/pull/127145 +[#127158]: https://github.com/cockroachdb/cockroach/pull/127158 +[#127186]: https://github.com/cockroachdb/cockroach/pull/127186 +[#127207]: https://github.com/cockroachdb/cockroach/pull/127207 +[#127252]: https://github.com/cockroachdb/cockroach/pull/127252 +[#127584]: https://github.com/cockroachdb/cockroach/pull/127584 +[#127701]: https://github.com/cockroachdb/cockroach/pull/127701 +[#127816]: https://github.com/cockroachdb/cockroach/pull/127816 +[#127827]: https://github.com/cockroachdb/cockroach/pull/127827 +[#127836]: https://github.com/cockroachdb/cockroach/pull/127836 +[#127850]: https://github.com/cockroachdb/cockroach/pull/127850 +[#127970]: https://github.com/cockroachdb/cockroach/pull/127970 +[#127997]: https://github.com/cockroachdb/cockroach/pull/127997 +[#128032]: https://github.com/cockroachdb/cockroach/pull/128032 +[#128049]: https://github.com/cockroachdb/cockroach/pull/128049 +[#128084]: https://github.com/cockroachdb/cockroach/pull/128084 +[#128123]: https://github.com/cockroachdb/cockroach/pull/128123 +[#128170]: https://github.com/cockroachdb/cockroach/pull/128170 +[#128201]: https://github.com/cockroachdb/cockroach/pull/128201 +[#128400]: https://github.com/cockroachdb/cockroach/pull/128400 +[#128474]: https://github.com/cockroachdb/cockroach/pull/128474 +[#128498]: https://github.com/cockroachdb/cockroach/pull/128498 +[#128506]: https://github.com/cockroachdb/cockroach/pull/128506 +[#128788]: https://github.com/cockroachdb/cockroach/pull/128788 +[#128794]: https://github.com/cockroachdb/cockroach/pull/128794 +[#128813]: https://github.com/cockroachdb/cockroach/pull/128813 +[#128842]: https://github.com/cockroachdb/cockroach/pull/128842 +[#128996]: https://github.com/cockroachdb/cockroach/pull/128996 +[#129001]: https://github.com/cockroachdb/cockroach/pull/129001 +[#129007]: https://github.com/cockroachdb/cockroach/pull/129007 +[#129024]: https://github.com/cockroachdb/cockroach/pull/129024 +[#129052]: https://github.com/cockroachdb/cockroach/pull/129052 +[#129149]: https://github.com/cockroachdb/cockroach/pull/129149 +[#129153]: https://github.com/cockroachdb/cockroach/pull/129153 +[#129216]: https://github.com/cockroachdb/cockroach/pull/129216 +[#129331]: https://github.com/cockroachdb/cockroach/pull/129331 +[#129351]: https://github.com/cockroachdb/cockroach/pull/129351 +[#129378]: https://github.com/cockroachdb/cockroach/pull/129378 +[#129450]: https://github.com/cockroachdb/cockroach/pull/129450 +[#129564]: https://github.com/cockroachdb/cockroach/pull/129564 +[#129768]: https://github.com/cockroachdb/cockroach/pull/129768 +[#129840]: https://github.com/cockroachdb/cockroach/pull/129840 +[#129846]: https://github.com/cockroachdb/cockroach/pull/129846 +[#129901]: https://github.com/cockroachdb/cockroach/pull/129901 +[#129938]: https://github.com/cockroachdb/cockroach/pull/129938 +[#129946]: https://github.com/cockroachdb/cockroach/pull/129946 +[#129951]: https://github.com/cockroachdb/cockroach/pull/129951 +[#130064]: https://github.com/cockroachdb/cockroach/pull/130064 +[#130089]: https://github.com/cockroachdb/cockroach/pull/130089 +[#130103]: https://github.com/cockroachdb/cockroach/pull/130103 +[#130110]: https://github.com/cockroachdb/cockroach/pull/130110 +[#130117]: https://github.com/cockroachdb/cockroach/pull/130117 +[#130164]: https://github.com/cockroachdb/cockroach/pull/130164 +[#130167]: https://github.com/cockroachdb/cockroach/pull/130167 +[#130198]: https://github.com/cockroachdb/cockroach/pull/130198 +[#130333]: https://github.com/cockroachdb/cockroach/pull/130333 +[#130366]: https://github.com/cockroachdb/cockroach/pull/130366 +[#130418]: https://github.com/cockroachdb/cockroach/pull/130418 +[#130576]: https://github.com/cockroachdb/cockroach/pull/130576 +[#130622]: https://github.com/cockroachdb/cockroach/pull/130622 +[#130670]: https://github.com/cockroachdb/cockroach/pull/130670 +[#130704]: https://github.com/cockroachdb/cockroach/pull/130704 +[#130725]: https://github.com/cockroachdb/cockroach/pull/130725 +[#130834]: https://github.com/cockroachdb/cockroach/pull/130834 +[#130897]: https://github.com/cockroachdb/cockroach/pull/130897 +[#130925]: https://github.com/cockroachdb/cockroach/pull/130925 +[#130928]: https://github.com/cockroachdb/cockroach/pull/130928 +[#130981]: https://github.com/cockroachdb/cockroach/pull/130981 +[#131027]: https://github.com/cockroachdb/cockroach/pull/131027 +[#131040]: https://github.com/cockroachdb/cockroach/pull/131040 +[#131043]: https://github.com/cockroachdb/cockroach/pull/131043 +[#131097]: https://github.com/cockroachdb/cockroach/pull/131097 +[#131150]: https://github.com/cockroachdb/cockroach/pull/131150 +[#131151]: https://github.com/cockroachdb/cockroach/pull/131151 +[#131226]: https://github.com/cockroachdb/cockroach/pull/131226 +[#131231]: https://github.com/cockroachdb/cockroach/pull/131231 +[#131250]: https://github.com/cockroachdb/cockroach/pull/131250 +[#131309]: https://github.com/cockroachdb/cockroach/pull/131309 +[#131326]: https://github.com/cockroachdb/cockroach/pull/131326 +[#131378]: https://github.com/cockroachdb/cockroach/pull/131378 +[#131383]: https://github.com/cockroachdb/cockroach/pull/131383 +[#131396]: https://github.com/cockroachdb/cockroach/pull/131396 +[#131422]: https://github.com/cockroachdb/cockroach/pull/131422 +[#131463]: https://github.com/cockroachdb/cockroach/pull/131463 +[#131480]: https://github.com/cockroachdb/cockroach/pull/131480 +[#131529]: https://github.com/cockroachdb/cockroach/pull/131529 +[#131578]: https://github.com/cockroachdb/cockroach/pull/131578 +[#131590]: https://github.com/cockroachdb/cockroach/pull/131590 +[#131594]: https://github.com/cockroachdb/cockroach/pull/131594 +[#131625]: https://github.com/cockroachdb/cockroach/pull/131625 +[#131642]: https://github.com/cockroachdb/cockroach/pull/131642 +[#131661]: https://github.com/cockroachdb/cockroach/pull/131661 +[#131686]: https://github.com/cockroachdb/cockroach/pull/131686 +[#131687]: https://github.com/cockroachdb/cockroach/pull/131687 +[#131688]: https://github.com/cockroachdb/cockroach/pull/131688 +[#131689]: https://github.com/cockroachdb/cockroach/pull/131689 +[#131690]: https://github.com/cockroachdb/cockroach/pull/131690 +[#131691]: https://github.com/cockroachdb/cockroach/pull/131691 +[#131693]: https://github.com/cockroachdb/cockroach/pull/131693 +[#131717]: https://github.com/cockroachdb/cockroach/pull/131717 +[#131777]: https://github.com/cockroachdb/cockroach/pull/131777 +[#131778]: https://github.com/cockroachdb/cockroach/pull/131778 +[#93067]: https://github.com/cockroachdb/cockroach/pull/93067 \ No newline at end of file diff --git a/src/current/releases/index.md b/src/current/releases/index.md index 4ce41aec975..d33404c18de 100644 --- a/src/current/releases/index.md +++ b/src/current/releases/index.md @@ -139,7 +139,7 @@ The following releases and their descriptions represent proposed plans that are {% assign released_versions = site.data.releases | map: "major_version" | uniq | reverse %} {% comment %} Fetch the list of the major versions of all releases that currently exist {% endcomment %} -{% assign versions = site.data.versions | where_exp: "versions", "released_versions contains versions.major_version and versions.major_version != 'v24.3'" | sort: "release_date" | reverse %} +{% assign versions = site.data.versions | where_exp: "versions", "released_versions contains versions.major_version" | sort: "release_date" | reverse %} {% comment %} Fetch all major versions (e.g., v21.2), sorted in reverse chronological order. {% endcomment %} {% assign latest_hotfix = site.data.releases | where_exp: "latest_hotfix", "latest_hotfix.major_version == site.versions['stable']" | where_exp: "latest_hotfix", "latest_hotfix.withdrawn != true" | sort: "release_date" | reverse | first %} @@ -150,9 +150,6 @@ The following releases and their descriptions represent proposed plans that are {% capture onclick_string %}onclick="{{ experimental_download_js }}"{% endcapture %} {% for v in versions %} {% comment %} Iterate through all major versions {% endcomment %} - {% if v.major_version == 'v24.3' %} - {% continue %} - {% endif %} {% comment %} Determine if the major version is LTS and the patch component of the initial LTS patch, @@ -221,7 +218,7 @@ To learn what’s new in this release, refer to [Feature Highlights]({% link rel {% for s in sections %} {% comment %} For each major version, iterate through the sections. {% endcomment %} - {% assign releases = site.data.releases | where_exp: "releases", "releases.major_version == v.major_version and releases.major_version != 'v24.3'" | where_exp: "releases", "releases.release_type == s" | sort: "release_date" | reverse %} {% comment %} Fetch all releases for that major version based on release type (Production/Testing). {% endcomment %} + {% assign releases = site.data.releases | where_exp: "releases", "releases.major_version == v.major_version" | where_exp: "releases", "releases.release_type == s" | sort: "release_date" | reverse %} {% comment %} Fetch all releases for that major version based on release type (Production/Testing). {% endcomment %} {% comment %}Do a separate loop through the releases and for each release, copy some fields into some local v_ variables to use when we are not in a loop below{% endcomment %} diff --git a/src/current/releases/v24.3.md b/src/current/releases/v24.3.md index 90134e18900..bdba157a362 100644 --- a/src/current/releases/v24.3.md +++ b/src/current/releases/v24.3.md @@ -32,10 +32,10 @@ docs_area: releases No releases are available for this version. See the [Releases]({% link releases/index.md %}) page for all available releases. {% endif %} -TODO: Remove these; workaround to build after path creation: +{% comment %}TODO: Remove these on GA{% endcomment %} - + \ No newline at end of file