From 44018b917490f586eedd19811747e80f906a996b Mon Sep 17 00:00:00 2001 From: Rich Loveland Date: Mon, 5 Aug 2024 16:08:00 -0400 Subject: [PATCH 1/4] Add cloud-first release notes for v24.2.0 Fixes DOC-10586, DOC-10587, REL-1220 --- src/current/_config_cockroachdb.yml | 2 +- src/current/_data/releases.yml | 36 ++++- .../releases/v24.2/feature-detail-key.html | 25 +++ ...eature-highlights-change-data-capture.html | 29 ++++ .../v24.2/feature-highlights-migrations.html | 44 ++++++ .../feature-highlights-observability.html | 41 +++++ .../v24.2/feature-highlights-operations.html | 42 +++++ .../v24.2/feature-highlights-sql.html | 56 +++++++ .../_includes/releases/v24.2/v24.2.0.md | 144 ++++++++++++++++++ 9 files changed, 417 insertions(+), 2 deletions(-) create mode 100644 src/current/_includes/releases/v24.2/feature-detail-key.html create mode 100644 src/current/_includes/releases/v24.2/feature-highlights-change-data-capture.html create mode 100644 src/current/_includes/releases/v24.2/feature-highlights-migrations.html create mode 100644 src/current/_includes/releases/v24.2/feature-highlights-observability.html create mode 100644 src/current/_includes/releases/v24.2/feature-highlights-operations.html create mode 100644 src/current/_includes/releases/v24.2/feature-highlights-sql.html create mode 100644 src/current/_includes/releases/v24.2/v24.2.0.md diff --git a/src/current/_config_cockroachdb.yml b/src/current/_config_cockroachdb.yml index 06587c7afed..c2533e5a626 100644 --- a/src/current/_config_cockroachdb.yml +++ b/src/current/_config_cockroachdb.yml @@ -3,5 +3,5 @@ current_cloud_version: v24.1 destination: _site/docs homepage_title: CockroachDB Docs versions: - stable: v24.1 + stable: v24.2 dev: v24.2 diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml index 97d5a535500..588bb15dc9c 100644 --- a/src/current/_data/releases.yml +++ b/src/current/_data/releases.yml @@ -6509,4 +6509,38 @@ docker_arm_experimental: false docker_arm_limited_access: false source: true - previous_release: v24.2.0-beta.3 \ No newline at end of file + previous_release: v24.2.0-beta.3 + +- release_name: v24.2.0 + major_version: v24.2 + release_date: '2024-08-13' + release_type: Production + go_version: go1.22.5 + sha: 953d09cce5a01cc0053e138516d80a27454f027c + 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 + docker_arm: true + docker_arm_experimental: false + docker_arm_limited_access: false + source: true + previous_release: v24.2.0-rc.1 + cloud_only: true + cloud_only_message_short: 'Available only for select CockroachDB Cloud clusters' + cloud_only_message: > + This version is currently available only for select + CockroachDB Cloud clusters. To request to upgrade + a CockroachDB self-hosted cluster to this version, + [contact support](https://support.cockroachlabs.com/hc/requests/new). diff --git a/src/current/_includes/releases/v24.2/feature-detail-key.html b/src/current/_includes/releases/v24.2/feature-detail-key.html new file mode 100644 index 00000000000..3f8cccf7a37 --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-detail-key.html @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
Feature detail key
Features marked "All★" were recently made available in the CockroachDB Cloud platform. They are available for all supported versions of CockroachDB, under the deployment methods specified in their row under Availability.
★★Features marked "All★★" were recently made available via tools maintained outside of the CockroachDB binary. They are available to use with all supported versions of CockroachDB, under the deployment methods specified in their row under Availability.
{% include icon-yes.html %}Feature is available for this deployment method of CockroachDB as specified in the icon’s column: CockroachDB Self-Hosted, CockroachDB Dedicated, or CockroachDB Serverless.
{% include icon-no.html %}Feature is not available for this deployment method of CockroachDB as specified in the icon’s column: CockroachDB Self-Hosted, CockroachDB Dedicated, or CockroachDB Serverless.
diff --git a/src/current/_includes/releases/v24.2/feature-highlights-change-data-capture.html b/src/current/_includes/releases/v24.2/feature-highlights-change-data-capture.html new file mode 100644 index 00000000000..7f96335c063 --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-highlights-change-data-capture.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + +
FeatureAvailability
Ver.Self-HostedDedicatedServerless
+

CockroachDB Changefeeds - Improved null handling usability

+

+ Changefeed users can distinguish between JSON NULL values and SQL NULL values in changefeed messages, by using the + encode_json_value_null_as_object option with CREATE CHANGEFEED. This enables a consumer to distinguish an unset value from a null JSON token. +

+
24.2{% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
diff --git a/src/current/_includes/releases/v24.2/feature-highlights-migrations.html b/src/current/_includes/releases/v24.2/feature-highlights-migrations.html new file mode 100644 index 00000000000..3fd059eb35b --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-highlights-migrations.html @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAvailability
Ver.Self-HostedDedicatedServerless
+

MOLT tooling is now available as a Dockerized container

+

+ Users can now deploy CockroachDB's MOLT Fetch and Verify tools using a Dockerized image. The Docker images are multi-platform and are built for linux/amd64 and linux/arm64. For installation details, see MOLT Releases. +

+
All★★ + {% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
+

+ MOLT Fetch transformation rules +

+

+ Column exclusion, computed columns, and partitioned tables are now supported in table migrations with MOLT Fetch. They are supported via a new transformations framework that allows the user to specify a JSON file with instructions on how MOLT Fetch should treat certain schemas, tables, or underlying columns. +

+
All★★ + {% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
diff --git a/src/current/_includes/releases/v24.2/feature-highlights-observability.html b/src/current/_includes/releases/v24.2/feature-highlights-observability.html new file mode 100644 index 00000000000..1982f578c3c --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-highlights-observability.html @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAvailability
Ver.Self-HostedDedicatedServerless
+

Azure Dedicated clusters integrate with Azure Monitor for metrics and logs (limited access)

+

+ Exporting logs to Azure Monitor Logs and exporting metrics to Azure Monitor Metrics and Prometheus-compatible metric sinks from your CockroachDB Dedicated cluster hosted on Azure is in limited access. +

+
All + {% include icon-no.html %}{% include icon-yes.html %}{% include icon-no.html %}
+

Improved Overload Dashboard

+

+ Updates to the Overload dashboard, such as putting more important metrics at the top and adding more informative tooltips. These enhancements aim to help users more easily identify when Admission Control mechanisms are activated due to overload. +

+
v24.2{% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
diff --git a/src/current/_includes/releases/v24.2/feature-highlights-operations.html b/src/current/_includes/releases/v24.2/feature-highlights-operations.html new file mode 100644 index 00000000000..06e1c61ddd3 --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-highlights-operations.html @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAvailability
Ver.Self-HostedDedicatedServerless
+

CockroachDB Cloud Terraform Provider - Operations at scale

+

+ This release includes updates to enhance operations at scale using CockroachDB Cloud Terraform Provider across multiple Terraform projects. A new Resource for User Role Grants makes it easier to manage user account access to clusters across projects. A new Data Source for Folders allows better access to Clusters organized in Folders across multiple projects. A new Service Account Resource brings CockroachDB Cloud API access under Terraform management. +

+
All★★ + {% include icon-no.html %}{% include icon-yes.html %}{% include icon-yes.html %}
+

Support for Optional Innovation Releases

+

As of v24.2, CockroachDB has shifted from a 6-month major version release cycle to a 3-month cycle. The additional versions, called "Innovation releases", are skippable for CockroachDB Dedicated and Self-Hosted, where they have shorter support windows. Users can upgrade directly from a Regular release to the next Regular release, without needing to upgrade to the intermediary Innovation version. +

+

In CockroachDB Dedicated, users can now select any supported version for their cluster at creation time and when upgrading. CockroachDB Serverless clusters continue to receive all major versions, including Innovation releases.

+
24.2 + {% include icon-yes.html %}{% include icon-yes.html %}{% include icon-no.html %}

(not skippable)
diff --git a/src/current/_includes/releases/v24.2/feature-highlights-sql.html b/src/current/_includes/releases/v24.2/feature-highlights-sql.html new file mode 100644 index 00000000000..9f6412ee90a --- /dev/null +++ b/src/current/_includes/releases/v24.2/feature-highlights-sql.html @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAvailability
Ver.Self-HostedDedicatedServerless
+

Vector search

+

+ Users can now store + VECTOR + embeddings within CockroachDB with pgvector-compatible semantics to build AI-driven applications. Numerous built-in functions have been added for running similarity search across vectors. Note that vector indexing is not supported in this release. This feature is in preview and requires an enterprise license. +

+
24.2{% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
+

Generic query plans

+

+ Users can now enable generic query plans. Generic query plans optimize query execution for prepared statements by reusing precompiled query plans, and significantly reduce the CPU overhead associated with parsing and planning repeated queries, at the expense of plan quality. This feature is in preview and requires an enterprise license. +

+
24.2{% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
+

+ COMMENT ON TYPE +

+

+ CockroachDB users can now annotate a type with a comment and reference it later for documentation purposes. +

+
24.2{% include icon-yes.html %}{% include icon-yes.html %}{% include icon-yes.html %}
diff --git a/src/current/_includes/releases/v24.2/v24.2.0.md b/src/current/_includes/releases/v24.2/v24.2.0.md new file mode 100644 index 00000000000..0544c94e411 --- /dev/null +++ b/src/current/_includes/releases/v24.2/v24.2.0.md @@ -0,0 +1,144 @@ +## v24.2.0 + +Release Date: August 13, 2024 + +With the release of CockroachDB v24.2, we've added new capabilities to help you migrate, build, and operate more efficiently. Refer to our summary of the most significant user-facing changes under [Feature Highlights](#v24-2-0-feature-highlights). + +{% include releases/new-release-downloads-docker-image.md release=include.release advisory_key="a103220"%} + +

Feature highlights

+ +This section summarizes the most significant user-facing changes in v24.2.0 and other features recently made available to CockroachDB users across versions. For a complete list of features and changes in v24.2, including bug fixes and performance improvements, refer to the [release notes]({% link releases/index.md %}#testing-releases) for previous v24.2 testing releases. You can also search the docs for sections labeled [New in v24.2](https://www.cockroachlabs.com/docs/search?query=new+in+v24.2). + +- **Feature categories** + - [Change data capture](#v24-2-0-change-data-capture) + - [Migrations](#v24-2-0-migrations) + - [SQL](#v24-2-0-sql) + - [Operations](#v24-2-0-operations) + - [Observability](#v24-2-0-observability) + +- **Additional information** + - [Backward-incompatible changes and deprecations](#v24-2-0-backward-incompatible-changes-and-deprecations) + - [Key cluster setting changes](#v24-2-0-key-cluster-setting-changes) + - [Known limitations](#v24-2-0-known-limitations) + - [Additional resources](#v24-2-0-additional-resources) + +{{ site.data.alerts.callout_info }} +In CockroachDB Self-Hosted, all available features are free to use unless their description specifies that an Enterprise license is required. For more information, refer to the [Licensing FAQ](https://www.cockroachlabs.com/docs/stable/licensing-faqs). +{{ site.data.alerts.end }} + +
+ +

Change Data Capture

+ +{% include releases/v24.2/feature-highlights-change-data-capture.html %} + +

Migrations

+ +{% include releases/v24.2/feature-highlights-migrations.html %} + +

SQL

+ +{% include releases/v24.2/feature-highlights-sql.html %} + +

Operations

+ +{% include releases/v24.2/feature-highlights-operations.html %} + +

Observability

+ +{% include releases/v24.2/feature-highlights-observability.html %} + +{% include releases/v24.2/feature-detail-key.html %} + +
+ +

Backward-incompatible changes and deprecations

+ +CockroachDB v24.2.0 includes no backward-incompatible changes or deprecations. + +

Key Cluster Setting Changes

+ +The following changes should be reviewed prior to upgrading. Default cluster settings will be used unless you have manually set a value for a setting. This can be confirmed by running the SQL statement `SELECT * FROM system.settings` to view the non-default settings. + +- [Settings added](#v24-2-0-settings-added) +- [Settings removed](#v24-2-0-settings-removed) +- [Settings with changed defaults](#v24-2-0-settings-with-changed-defaults) +- [Settings with new options](#v24-2-0-settings-with-new-options) +- [Settings with new aliases](#v24-2-0-settings-with-new-aliases) + +
Settings added
+ +- `debug.zip.redact_addresses`: Added the [cluster setting]({% link v24.2/cluster-settings.md %}) `debug.zip.redact_addresses.enabled` that allows the user to enable or disable redaction of fields like `hostname` and IP addresses. [#123544][#123544] | +- `kv.transaction.randomized_anchor_key.enabled`: Previously, concurrent transactions that constructed large write batches could cause [hotspots]({% link v24.2/ui-hot-ranges-page.md %}). This was because the [transaction record]({% link v24.2/architecture/transaction-layer.md %}#transaction-records) for all [ranges]({% link v24.2/architecture/reads-and-writes-overview.md %}#range) would coalesce on a single range, which would then cause this range's [leaseholder]({% link v24.2/architecture/reads-and-writes-overview.md %}#leaseholder) to perform all intent resolution work. This is fixed by distributing transaction records randomly across the ranges the write batch touches. In turn, hotspots are prevented. [#125744][#125744] +- `server.oidc_authentication.client.timeout`: The new [cluster setting]({% link v24.2/cluster-settings.md %}) `server.oidc_authentication.client.timeout` allows configuration of the HTTP client timeout for external calls made during [OIDC authentication]({% link v24.2/sso-db-console.md %}). The default timeout is 30 seconds. [#125767][#125767] +- `sql.auth.grant_option_for_owner.enabled`: The new [cluster setting]({% link v24.2/cluster-settings.md %}) [`sql.auth.grant_option_for_owner.enabled`]({% link v24.2/cluster-settings.md %}#setting-sql-auth-grant-option-for-owner-enabled) controls whether the owner of an object has permission to grant permission on the object to other [users]({% link v24.2/security-reference/authorization.md %}#roles). When set to `true` (the default), the [`GRANT OPTION`]({% link v24.2/show-grants.md %}#privilege-grants) is implicitly granted to the object owner, who can grant permissions on the object to other users, preserving the existing behavior of CockroachDB. When set to `false`, the `GRANT OPTION` is not implicitly given to the owner of an object. The owner's permissions do not change, but they can no longer grant permissions to others unless the `GRANT OPTION` is granted to them explicitly. [#126960][#126960] +- `sql.auth.grant_option_inheritance.enabled`: Added the [`sql.auth.grant_option_inheritance.enabled` cluster setting]({% link v24.2/cluster-settings.md %}#setting-sql-auth-grant-option-inheritance-enabled). The default value is `true`, which maintains consistency with CockroachDB's previous behavior: users granted a privilege with [`WITH GRANT OPTION`]({% link v24.2/grant.md %}) can in turn grant that privilege to others. When `sql.auth.grant_option_inheritance.enabled` is set to `false`, the `GRANT OPTION` is not inherited through role membership, thereby preventing descendant roles from granting the privilege to others. However, the privilege itself continues to be inherited through role membership. [#125590][#125590] +- `storage.sstable.compression_algorithm_backup_storage`, `storage.sstable.compression_algorithm_backup_transport`: Added two new [cluster settings]({% link v24.2/cluster-settings.md %}), `storage.sstable.compression_algorithm_backup_storage` and `storage.sstable.compression_algorithm_backup_transport`, which in addition to the existing cluster setting `storage.sstable.compression_algorithm`, can be used to alter the compression algorithm used for various types of [SSTs]({% link v24.2/architecture/storage-layer.md %}#ssts). [#124245][#124245] + +
Settings removed
+ +- `kv.rangefeed.range_stuck_threshold`: Removed the stuck rangefeed cancel feature and its related [cluster setting]({% link v24.2/cluster-settings.md %}) `kv.rangefeed.range_stuck_threshold`, because it was only available in [non-mux rangefeeds]({% link v24.2/advanced-changefeed-configuration.md %}#mux-rangefeeds). Previously, the stuck rangefeed cancel feature was introduced to restart single rangefeeds automatically if they had not received KV updates for some time. [#125663][#125663] +- `storage.value_blocks.enabled`: The `storage.value_blocks.enabled` [cluster setting]({% link v24.2/cluster-settings.md %}) has been removed; value blocks are always enabled. [#122164][#122164] + +
Settings with changed defaults
+ +- `kv.dist_sender.circuit_breakers.mode` has had its default changed to `liveness range only = 1`. +- `sql.defaults.results_buffer.size` has had its default changed to `512 KiB`: The default value of the `sql.defaults.results_buffer.size` [cluster setting]({% link v24.2/cluster-settings.md %}) has been changed from 16KiB to 512KiB. This reduces the chance that clients using [`READ COMMITTED`]({% link v24.2/read-committed.md %}) transactions will encounter errors that cannot automatically be retried within CockroachDB. [#124633][#124633] +- `sql.metrics.max_mem_stmt_fingerprints`, `sql.metrics.max_mem_txn_fingerprints` have had default changed to `7500`: The default values for the [cluster settings]({% link v24.2/cluster-settings.md %}) `sql.metrics.max_mem_stmt_fingerprints` and `sql.metrics.max_mem_txn_fingerprints` have been changed from `100000` to `5000`, thus lowering the default limits for in-memory statement and transaction fingerprints. [#123430][#123430] +- `sql.stats.histogram_samples.count` has had its default changed to `0`: Histograms are no longer constructed using a default sample size of `10k`. Samples are now dynamically sized based on table size unless the sample count has been set in the table or [cluster settings]({% link v24.2/cluster-settings.md %}). [#125345][#125345] +- `sql.ttl.default_delete_rate_limit` has had its default changed to `100`: The storage parameter `ttl_delete_rate_limit`, which determines the rate limit for deleting expired rows, is now set to `100` by default. [#124354][#124354] + +
Settings with new options
+ +- `storage.sstable.compression_algorithm` has added the (non-default) option `none = 3`: The compression option `none` was added to allow for the disabling of SSTable compression. This option can be used with any of the three existing cluster settings that control SSTable compression: `storage.sstable.compression_algorithm`, `storage.sstable.compression_algorithm_backup_storage`, and `storage.sstable.compression_algorithm_backup_transport`. [#126508][#126508] + +
Settings with new aliases
+ +- `changefeed.batch_reduction_retry.enabled` is aliased to `changefeed.batch_reduction_retry_enabled` +- `kv.closed_timestamp.follower_reads.enabled` is aliased to `kv.closed_timestamp.follower_reads_enabled` +- `kv.range_split.by_load.enabled` is aliased to `kv.range_split.by_load_enabled` +- `kv.transaction.write_pipelining.enabled` is aliased to `kv.transaction.write_pipelining_enabled` +- `kv.transaction.write_pipelining.max_batch_size` is aliased to `kv.transaction.write_pipelining_max_batch_size` +- `physical_replication.consumer.minimum_flush_interval` is aliased to `builkio.stream_ingestion.minimum_flush_interval` +- `server.clock.forward_jump_check.enabled` is aliased to `server.clock.forward_jump_check_enabled` +- `server.oidc_authentication.autologin.enabled` is aliased to `server.oidc_authentication.autologin` +- `server.shutdown.connections.timeout` is aliased to `server.shutdown.connection_wait` +- `server.shutdown.initial_wait` is aliased to `server.shutdown.drain_wait` +- `server.shutdown.jobs.timeout` is aliased to `server.shutdown.jobs_wait` +- `server.shutdown.lease_transfer_iteration.timeout` is aliased to `server.shutdown.lease_transfer_wait` +- `server.shutdown.transactions.timeout` is aliased to `server.shutdown.query_wait` +- `server.web_session.timeout` is aliased to `server.web_session_timeout` +- `spanconfig.range_coalescing.application.enabled` is aliased to `spanconfig.tenant_coalesce_adjacent.enabled` +- `spanconfig.range_coalescing.system.enabled` is aliased to `spanconfig.storage_coalesce_adjacent.enabled` +- `sql.log.all_statements.enabled` is aliased to `sql.trace.log_statement_execute` +- `sql.metrics.statement_details.dump_to_logs.enabled` is aliased to `sql.metrics.statement_details.dump_to_logs` +- `trace.debug_http_endpoint.enabled` is aliased to `trace.debug.enable` + +

Known limitations

+ +For information about new and unresolved limitations in CockroachDB v24.2, with suggested workarounds where applicable, refer to [Known Limitations](https://www.cockroachlabs.com/docs/v24.2/known-limitations). + +

Additional resources

+ +Resource | Topic | Description +---------------------+--------------------------------------------+------------- +Cockroach University | [Introduction to Distributed SQL and CockroachDB](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-distributed-sql-and-cockroachdb+self-paced/about) | This course introduces the core concepts behind distributed SQL databases and describes how CockroachDB fits into this landscape. You will learn what differentiates CockroachDB from both legacy SQL and NoSQL databases and how CockroachDB ensures consistent transactions without sacrificing scale and resiliency. You'll learn about CockroachDB's seamless horizontal scalability, distributed transactions with strict ACID guarantees, and high availability and resilience. +Cockroach University | [Practical First Steps with CockroachDB](https://university.cockroachlabs.com/courses/course-v1:crl+practical-first-steps-with-crdb+self-paced/about) | This course will give you the tools you need to get started with CockroachDB. During the course, you will learn how to spin up a cluster, use the Admin UI to monitor cluster activity, and use SQL shell to solve a set of hands-on exercises. +Cockroach University | [Enterprise Application Development with CockroachDB](https://university.cockroachlabs.com/courses/course-v1:crl+client-side-txn-handling+self-paced/about) | This course is the first in a series designed to equip you with best practices for mastering application-level (client-side) transaction management in CockroachDB. We'll dive deep on common differences between CockroachDB and legacy SQL databases and help you sidestep challenges you might encounter when migrating to CockroachDB from Oracle, PostgreSQL, and MySQL. +Cockroach University | [Building a Highly Resilient Multi-region Database using CockroachDB](https://university.cockroachlabs.com/courses/course-v1:crl+intro-to-resilience-in-multi-region+self-paced/about) | This course is part of a series introducing solutions to running low-latency, highly resilient applications for data-intensive workloads on CockroachDB. In this course we focus on surviving large-scale infrastructure failures like losing an entire cloud region without losing data during recovery. We'll show you how to use CockroachDB survival goals in a multi-region cluster to implement a highly resilient database that survives node or network failures across multiple regions with zero data loss. +Docs | [Migration Overview](https://www.cockroachlabs.com/docs/v24.2/migration-overview) | This page summarizes the steps of migrating a database to CockroachDB, which include testing and updating your schema to work with CockroachDB, moving your data into CockroachDB, and testing and updating your application. +Docs | [Architecture Overview](https://www.cockroachlabs.com/docs/v24.2/architecture/overview) | This page provides a starting point for understanding the architecture and design choices that enable CockroachDB's scalability and consistency capabilities. +Docs | [SQL Feature Support](https://www.cockroachlabs.com/docs/v24.2/sql-feature-support) | The page summarizes the standard SQL features CockroachDB supports as well as common extensions to the standard. +Docs | [Change Data Capture Overview](https://www.cockroachlabs.com/docs/v24.2/change-data-capture-overview) | This page summarizes CockroachDB's data streaming capabilities. Change data capture (CDC) provides efficient, distributed, row-level changefeeds into a configurable sink for downstream processing such as reporting, caching, or full-text indexing. +Docs | [Backup Architecture](https://www.cockroachlabs.com/docs/v24.2/backup-architecture) | This page describes the backup job workflow with a high-level overview, diagrams, and more details on each phase of the job. + +[#115166]: https://github.com/cockroachdb/cockroach/pull/115166 +[#113893]: https://github.com/cockroachdb/cockroach/pull/113893 +[#115166]: https://github.com/cockroachdb/cockroach/pull/115166 +[#122368]: https://github.com/cockroachdb/cockroach/pull/122368 +[#116664]: https://github.com/cockroachdb/cockroach/pull/116664 +[#120509]: https://github.com/cockroachdb/cockroach/pull/120509 +[#118781]: https://github.com/cockroachdb/cockroach/pull/118781 +[#117729]: https://github.com/cockroachdb/cockroach/pull/117729 +[#120255]: https://github.com/cockroachdb/cockroach/pull/120255 From 77adf1bba555e42fb74a4b93e916cc39408ee03e Mon Sep 17 00:00:00 2001 From: Rich Loveland Date: Mon, 12 Aug 2024 11:42:22 -0400 Subject: [PATCH 2/4] Update with reviewer feedback --- .../v24.2/feature-highlights-migrations.html | 4 +- .../feature-highlights-observability.html | 6 +- .../v24.2/feature-highlights-operations.html | 8 +-- .../v24.2/feature-highlights-sql.html | 6 +- .../_includes/releases/v24.2/v24.2.0.md | 55 ++++++++++--------- 5 files changed, 41 insertions(+), 38 deletions(-) diff --git a/src/current/_includes/releases/v24.2/feature-highlights-migrations.html b/src/current/_includes/releases/v24.2/feature-highlights-migrations.html index 3fd059eb35b..7df377498f3 100644 --- a/src/current/_includes/releases/v24.2/feature-highlights-migrations.html +++ b/src/current/_includes/releases/v24.2/feature-highlights-migrations.html @@ -14,9 +14,9 @@ -

MOLT tooling is now available as a Dockerized container

+

MOLT tooling is now available as a Docker container

- Users can now deploy CockroachDB's MOLT Fetch and Verify tools using a Dockerized image. The Docker images are multi-platform and are built for linux/amd64 and linux/arm64. For installation details, see MOLT Releases. + Users can now deploy CockroachDB's MOLT Fetch and Verify tools using a multi-platform Docker image that supports both linux/amd64 and linux/arm64 architectures. For installation details, refer to MOLT Releases.

All★★ diff --git a/src/current/_includes/releases/v24.2/feature-highlights-observability.html b/src/current/_includes/releases/v24.2/feature-highlights-observability.html index 1982f578c3c..0843206ca6b 100644 --- a/src/current/_includes/releases/v24.2/feature-highlights-observability.html +++ b/src/current/_includes/releases/v24.2/feature-highlights-observability.html @@ -14,9 +14,9 @@ -

Azure Dedicated clusters integrate with Azure Monitor for metrics and logs (limited access)

+

CockroachDB Dedicated clusters on Azure now integrate with Azure Monitor for metrics and logs (limited access)

- Exporting logs to Azure Monitor Logs and exporting metrics to Azure Monitor Metrics and Prometheus-compatible metric sinks from your CockroachDB Dedicated cluster hosted on Azure is in limited access. + Exporting logs to Azure Monitor Logs and exporting metrics to Azure Monitor Metrics and Prometheus-compatible metric sinks from your CockroachDB Dedicated cluster hosted on Azure is now supported in Limited Access.

All @@ -29,7 +29,7 @@

Improved Overload Dashboard

- Updates to the Overload dashboard, such as putting more important metrics at the top and adding more informative tooltips. These enhancements aim to help users more easily identify when Admission Control mechanisms are activated due to overload. + Updates to the Overload dashboard include moving important metrics nearer the top and adding more informative tooltips. These enhancements aim to help users more easily identify when Admission Control mechanisms are activated due to overload.

v24.2 diff --git a/src/current/_includes/releases/v24.2/feature-highlights-operations.html b/src/current/_includes/releases/v24.2/feature-highlights-operations.html index 06e1c61ddd3..7234df9546a 100644 --- a/src/current/_includes/releases/v24.2/feature-highlights-operations.html +++ b/src/current/_includes/releases/v24.2/feature-highlights-operations.html @@ -16,7 +16,7 @@

CockroachDB Cloud Terraform Provider - Operations at scale

- This release includes updates to enhance operations at scale using CockroachDB Cloud Terraform Provider across multiple Terraform projects. A new Resource for User Role Grants makes it easier to manage user account access to clusters across projects. A new Data Source for Folders allows better access to Clusters organized in Folders across multiple projects. A new Service Account Resource brings CockroachDB Cloud API access under Terraform management. + This release includes updates to enhance operations at scale using the CockroachDB Cloud Terraform Provider across multiple Terraform projects. A new Resource for User Role Grants makes it easier to manage user account access to clusters across projects. A new Data Source for Folders allows better access to clusters organized in folders across multiple projects. A new Service Account Resource brings CockroachDB Cloud API access under Terraform management.

All★★ @@ -28,9 +28,9 @@

Support for Optional Innovation Releases

-

As of v24.2, CockroachDB has shifted from a 6-month major version release cycle to a 3-month cycle. The additional versions, called "Innovation releases", are skippable for CockroachDB Dedicated and Self-Hosted, where they have shorter support windows. Users can upgrade directly from a Regular release to the next Regular release, without needing to upgrade to the intermediary Innovation version. -

-

In CockroachDB Dedicated, users can now select any supported version for their cluster at creation time and when upgrading. CockroachDB Serverless clusters continue to receive all major versions, including Innovation releases.

+

As of v24.2, CockroachDB has shifted from a 6-month major version release cycle to a 3-month cycle. The additional versions, called Innovation releases, are optional and can be skipped for CockroachDB Dedicated and Self-Hosted, but are required for CockroachDB Serverless. Innovation releases have shorter support windows than Regular releases. Users can upgrade directly from a Regular release to the next Regular release, without needing to upgrade to the intermediary Innovation release. +

+

In CockroachDB Dedicated, users can now choose to deploy or upgrade a cluster on any supported version. CockroachDB Serverless clusters continue to receive all major versions and patches for both Innovation releases and Regular releases as they become available.

24.2 diff --git a/src/current/_includes/releases/v24.2/feature-highlights-sql.html b/src/current/_includes/releases/v24.2/feature-highlights-sql.html index 9f6412ee90a..868a2cb285b 100644 --- a/src/current/_includes/releases/v24.2/feature-highlights-sql.html +++ b/src/current/_includes/releases/v24.2/feature-highlights-sql.html @@ -18,7 +18,7 @@

Users can now store VECTOR - embeddings within CockroachDB with pgvector-compatible semantics to build AI-driven applications. Numerous built-in functions have been added for running similarity search across vectors. Note that vector indexing is not supported in this release. This feature is in preview and requires an enterprise license. + embeddings within CockroachDB with pgvector-compatible semantics to build AI-driven applications. Numerous built-in functions have been added for running similarity search across vectors. Note that vector indexing is not supported in this release. This feature is in Preview and requires an Enterprise license.

24.2 @@ -30,7 +30,7 @@

Generic query plans

- Users can now enable generic query plans. Generic query plans optimize query execution for prepared statements by reusing precompiled query plans, and significantly reduce the CPU overhead associated with parsing and planning repeated queries, at the expense of plan quality. This feature is in preview and requires an enterprise license. + Users can now enable generic query plans. Generic query plans optimize query execution for prepared statements by reusing precompiled query plans, and significantly reduce the CPU overhead associated with parsing and planning repeated queries, at the expense of plan quality. This feature is in Preview and requires an Enterprise license.

24.2 @@ -44,7 +44,7 @@ COMMENT ON TYPE

- CockroachDB users can now annotate a type with a comment and reference it later for documentation purposes. + CockroachDB users can now annotate a type with a comment and reference the comment later for documentation purposes.

24.2 diff --git a/src/current/_includes/releases/v24.2/v24.2.0.md b/src/current/_includes/releases/v24.2/v24.2.0.md index 0544c94e411..2177d7d1076 100644 --- a/src/current/_includes/releases/v24.2/v24.2.0.md +++ b/src/current/_includes/releases/v24.2/v24.2.0.md @@ -4,7 +4,7 @@ Release Date: August 13, 2024 With the release of CockroachDB v24.2, we've added new capabilities to help you migrate, build, and operate more efficiently. Refer to our summary of the most significant user-facing changes under [Feature Highlights](#v24-2-0-feature-highlights). -{% include releases/new-release-downloads-docker-image.md release=include.release advisory_key="a103220"%} +{% include releases/new-release-downloads-docker-image.md release=include.release %}

Feature highlights

@@ -69,9 +69,9 @@ The following changes should be reviewed prior to upgrading. Default cluster set
Settings added
-- `debug.zip.redact_addresses`: Added the [cluster setting]({% link v24.2/cluster-settings.md %}) `debug.zip.redact_addresses.enabled` that allows the user to enable or disable redaction of fields like `hostname` and IP addresses. [#123544][#123544] | -- `kv.transaction.randomized_anchor_key.enabled`: Previously, concurrent transactions that constructed large write batches could cause [hotspots]({% link v24.2/ui-hot-ranges-page.md %}). This was because the [transaction record]({% link v24.2/architecture/transaction-layer.md %}#transaction-records) for all [ranges]({% link v24.2/architecture/reads-and-writes-overview.md %}#range) would coalesce on a single range, which would then cause this range's [leaseholder]({% link v24.2/architecture/reads-and-writes-overview.md %}#leaseholder) to perform all intent resolution work. This is fixed by distributing transaction records randomly across the ranges the write batch touches. In turn, hotspots are prevented. [#125744][#125744] -- `server.oidc_authentication.client.timeout`: The new [cluster setting]({% link v24.2/cluster-settings.md %}) `server.oidc_authentication.client.timeout` allows configuration of the HTTP client timeout for external calls made during [OIDC authentication]({% link v24.2/sso-db-console.md %}). The default timeout is 30 seconds. [#125767][#125767] +- `debug.zip.redact_addresses`: Added the [cluster setting]({% link v24.2/cluster-settings.md %}) `debug.zip.redact_addresses.enabled` that allows the user to enable or disable redaction of fields like `hostname` and IP addresses. [#123544][#123544] +- `kv.transaction.randomized_anchor_key`: Previously, concurrent transactions that constructed large write batches could cause [hotspots]({% link v24.2/ui-hot-ranges-page.md %}). This was because the [transaction record]({% link v24.2/architecture/transaction-layer.md %}#transaction-records) for all [ranges]({% link v24.2/architecture/reads-and-writes-overview.md %}#range) would coalesce on a single range, which would then cause this range's [leaseholder]({% link v24.2/architecture/reads-and-writes-overview.md %}#leaseholder) to perform all intent resolution work. This is fixed by distributing transaction records randomly across the ranges the write batch touches. In turn, hotspots are prevented. [#125744][#125744] +- `server.oidc_authentication.client.timeout`: The new [cluster setting]({% link v24.2/cluster-settings.md %}#setting-server-oidc-authentication-client-timeout) `server.oidc_authentication.client.timeout` allows configuration of the HTTP client timeout for external requests made during [OIDC authentication]({% link v24.2/sso-db-console.md %}). The default timeout is 30 seconds. [#125767][#125767] - `sql.auth.grant_option_for_owner.enabled`: The new [cluster setting]({% link v24.2/cluster-settings.md %}) [`sql.auth.grant_option_for_owner.enabled`]({% link v24.2/cluster-settings.md %}#setting-sql-auth-grant-option-for-owner-enabled) controls whether the owner of an object has permission to grant permission on the object to other [users]({% link v24.2/security-reference/authorization.md %}#roles). When set to `true` (the default), the [`GRANT OPTION`]({% link v24.2/show-grants.md %}#privilege-grants) is implicitly granted to the object owner, who can grant permissions on the object to other users, preserving the existing behavior of CockroachDB. When set to `false`, the `GRANT OPTION` is not implicitly given to the owner of an object. The owner's permissions do not change, but they can no longer grant permissions to others unless the `GRANT OPTION` is granted to them explicitly. [#126960][#126960] - `sql.auth.grant_option_inheritance.enabled`: Added the [`sql.auth.grant_option_inheritance.enabled` cluster setting]({% link v24.2/cluster-settings.md %}#setting-sql-auth-grant-option-inheritance-enabled). The default value is `true`, which maintains consistency with CockroachDB's previous behavior: users granted a privilege with [`WITH GRANT OPTION`]({% link v24.2/grant.md %}) can in turn grant that privilege to others. When `sql.auth.grant_option_inheritance.enabled` is set to `false`, the `GRANT OPTION` is not inherited through role membership, thereby preventing descendant roles from granting the privilege to others. However, the privilege itself continues to be inherited through role membership. [#125590][#125590] - `storage.sstable.compression_algorithm_backup_storage`, `storage.sstable.compression_algorithm_backup_transport`: Added two new [cluster settings]({% link v24.2/cluster-settings.md %}), `storage.sstable.compression_algorithm_backup_storage` and `storage.sstable.compression_algorithm_backup_transport`, which in addition to the existing cluster setting `storage.sstable.compression_algorithm`, can be used to alter the compression algorithm used for various types of [SSTs]({% link v24.2/architecture/storage-layer.md %}#ssts). [#124245][#124245] @@ -85,35 +85,35 @@ The following changes should be reviewed prior to upgrading. Default cluster set - `kv.dist_sender.circuit_breakers.mode` has had its default changed to `liveness range only = 1`. - `sql.defaults.results_buffer.size` has had its default changed to `512 KiB`: The default value of the `sql.defaults.results_buffer.size` [cluster setting]({% link v24.2/cluster-settings.md %}) has been changed from 16KiB to 512KiB. This reduces the chance that clients using [`READ COMMITTED`]({% link v24.2/read-committed.md %}) transactions will encounter errors that cannot automatically be retried within CockroachDB. [#124633][#124633] -- `sql.metrics.max_mem_stmt_fingerprints`, `sql.metrics.max_mem_txn_fingerprints` have had default changed to `7500`: The default values for the [cluster settings]({% link v24.2/cluster-settings.md %}) `sql.metrics.max_mem_stmt_fingerprints` and `sql.metrics.max_mem_txn_fingerprints` have been changed from `100000` to `5000`, thus lowering the default limits for in-memory statement and transaction fingerprints. [#123430][#123430] -- `sql.stats.histogram_samples.count` has had its default changed to `0`: Histograms are no longer constructed using a default sample size of `10k`. Samples are now dynamically sized based on table size unless the sample count has been set in the table or [cluster settings]({% link v24.2/cluster-settings.md %}). [#125345][#125345] +- `sql.metrics.max_mem_stmt_fingerprints` and `sql.metrics.max_mem_txn_fingerprints` have had their defaults changed to `7500`: The default values for the [cluster settings]({% link v24.2/cluster-settings.md %}) `sql.metrics.max_mem_stmt_fingerprints` and `sql.metrics.max_mem_txn_fingerprints` have been changed from `100000` to `7500`, thus lowering the default limits for in-memory statement and transaction fingerprints. [#123430][#123430] +- `sql.stats.histogram_samples.count` has had its default changed to `0`: Histograms are no longer constructed using a default sample size of `10k`. Samples are now sized dynamically based on table size unless the sample count has been set in the table or [cluster settings]({% link v24.2/cluster-settings.md %}). [#125345][#125345] - `sql.ttl.default_delete_rate_limit` has had its default changed to `100`: The storage parameter `ttl_delete_rate_limit`, which determines the rate limit for deleting expired rows, is now set to `100` by default. [#124354][#124354]
Settings with new options
-- `storage.sstable.compression_algorithm` has added the (non-default) option `none = 3`: The compression option `none` was added to allow for the disabling of SSTable compression. This option can be used with any of the three existing cluster settings that control SSTable compression: `storage.sstable.compression_algorithm`, `storage.sstable.compression_algorithm_backup_storage`, and `storage.sstable.compression_algorithm_backup_transport`. [#126508][#126508] +- `storage.sstable.compression_algorithm` has added the option `none = 3`: The compression option `none` was added to allow for the disabling of SSTable compression. This option is disabled by default, but can can be used with any of the three existing cluster settings that control SSTable compression: `storage.sstable.compression_algorithm`, `storage.sstable.compression_algorithm_backup_storage`, and `storage.sstable.compression_algorithm_backup_transport`. [#126508][#126508]
Settings with new aliases
-- `changefeed.batch_reduction_retry.enabled` is aliased to `changefeed.batch_reduction_retry_enabled` -- `kv.closed_timestamp.follower_reads.enabled` is aliased to `kv.closed_timestamp.follower_reads_enabled` -- `kv.range_split.by_load.enabled` is aliased to `kv.range_split.by_load_enabled` -- `kv.transaction.write_pipelining.enabled` is aliased to `kv.transaction.write_pipelining_enabled` -- `kv.transaction.write_pipelining.max_batch_size` is aliased to `kv.transaction.write_pipelining_max_batch_size` -- `physical_replication.consumer.minimum_flush_interval` is aliased to `builkio.stream_ingestion.minimum_flush_interval` -- `server.clock.forward_jump_check.enabled` is aliased to `server.clock.forward_jump_check_enabled` -- `server.oidc_authentication.autologin.enabled` is aliased to `server.oidc_authentication.autologin` -- `server.shutdown.connections.timeout` is aliased to `server.shutdown.connection_wait` -- `server.shutdown.initial_wait` is aliased to `server.shutdown.drain_wait` -- `server.shutdown.jobs.timeout` is aliased to `server.shutdown.jobs_wait` -- `server.shutdown.lease_transfer_iteration.timeout` is aliased to `server.shutdown.lease_transfer_wait` -- `server.shutdown.transactions.timeout` is aliased to `server.shutdown.query_wait` -- `server.web_session.timeout` is aliased to `server.web_session_timeout` -- `spanconfig.range_coalescing.application.enabled` is aliased to `spanconfig.tenant_coalesce_adjacent.enabled` -- `spanconfig.range_coalescing.system.enabled` is aliased to `spanconfig.storage_coalesce_adjacent.enabled` -- `sql.log.all_statements.enabled` is aliased to `sql.trace.log_statement_execute` -- `sql.metrics.statement_details.dump_to_logs.enabled` is aliased to `sql.metrics.statement_details.dump_to_logs` -- `trace.debug_http_endpoint.enabled` is aliased to `trace.debug.enable` +- `changefeed.batch_reduction_retry.enabled` is aliased to `changefeed.batch_reduction_retry_enabled`. +- `kv.closed_timestamp.follower_reads.enabled` is aliased to `kv.closed_timestamp.follower_reads_enabled`. +- `kv.range_split.by_load.enabled` is aliased to `kv.range_split.by_load_enabled`. +- `kv.transaction.write_pipelining.enabled` is aliased to `kv.transaction.write_pipelining_enabled`. +- `kv.transaction.write_pipelining.max_batch_size` is aliased to `kv.transaction.write_pipelining_max_batch_size`. +- `physical_replication.consumer.minimum_flush_interval` is aliased to `builkio.stream_ingestion.minimum_flush_interval`. +- `server.clock.forward_jump_check.enabled` is aliased to `server.clock.forward_jump_check_enabled`. +- `server.oidc_authentication.autologin.enabled` is aliased to `server.oidc_authentication.autologin`. +- `server.shutdown.connections.timeout` is aliased to `server.shutdown.connection_wait`. +- `server.shutdown.initial_wait` is aliased to `server.shutdown.drain_wait`. +- `server.shutdown.jobs.timeout` is aliased to `server.shutdown.jobs_wait`. +- `server.shutdown.lease_transfer_iteration.timeout` is aliased to `server.shutdown.lease_transfer_wait`. +- `server.shutdown.transactions.timeout` is aliased to `server.shutdown.query_wait`. +- `server.web_session.timeout` is aliased to `server.web_session_timeout`. +- `spanconfig.range_coalescing.application.enabled` is aliased to `spanconfig.tenant_coalesce_adjacent.enabled`. +- `spanconfig.range_coalescing.system.enabled` is aliased to `spanconfig.storage_coalesce_adjacent.enabled`. +- `sql.log.all_statements.enabled` is aliased to `sql.trace.log_statement_execute`. +- `sql.metrics.statement_details.dump_to_logs.enabled` is aliased to `sql.metrics.statement_details.dump_to_logs`. +- `trace.debug_http_endpoint.enabled` is aliased to `trace.debug.enable`.

Known limitations

@@ -142,3 +142,6 @@ Docs | [Backup Architecture](https://www.cockroachlabs.com/docs/ [#118781]: https://github.com/cockroachdb/cockroach/pull/118781 [#117729]: https://github.com/cockroachdb/cockroach/pull/117729 [#120255]: https://github.com/cockroachdb/cockroach/pull/120255 +[#123430]: https://github.com/cockroachdb/cockroach/pull/123430 +[#124633]: https://github.com/cockroachdb/cockroach/pull/124633 +[#124354]: https://github.com/cockroachdb/cockroach/pull/124354 From 1124cb4c0f6398d9fee7dc3352e8a2a4ba56e510 Mon Sep 17 00:00:00 2001 From: Rich Loveland Date: Mon, 12 Aug 2024 12:04:13 -0400 Subject: [PATCH 3/4] Update release date to 2024-08-12 --- src/current/_data/releases.yml | 2 +- src/current/_includes/releases/v24.2/v24.2.0.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/current/_data/releases.yml b/src/current/_data/releases.yml index 588bb15dc9c..03f4ffbae77 100644 --- a/src/current/_data/releases.yml +++ b/src/current/_data/releases.yml @@ -6513,7 +6513,7 @@ - release_name: v24.2.0 major_version: v24.2 - release_date: '2024-08-13' + release_date: '2024-08-12' release_type: Production go_version: go1.22.5 sha: 953d09cce5a01cc0053e138516d80a27454f027c diff --git a/src/current/_includes/releases/v24.2/v24.2.0.md b/src/current/_includes/releases/v24.2/v24.2.0.md index 2177d7d1076..3419e279a3c 100644 --- a/src/current/_includes/releases/v24.2/v24.2.0.md +++ b/src/current/_includes/releases/v24.2/v24.2.0.md @@ -1,6 +1,6 @@ ## v24.2.0 -Release Date: August 13, 2024 +Release Date: August 12, 2024 With the release of CockroachDB v24.2, we've added new capabilities to help you migrate, build, and operate more efficiently. Refer to our summary of the most significant user-facing changes under [Feature Highlights](#v24-2-0-feature-highlights). From 15f7e2c8e729ec73e8873b0260e75153e41b7d9d Mon Sep 17 00:00:00 2001 From: Rich Loveland Date: Mon, 12 Aug 2024 13:56:09 -0400 Subject: [PATCH 4/4] Update versions.csv with release and support dates --- 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 c627bbfeefb..86070b45fd1 100644 --- a/src/current/_data/versions.csv +++ b/src/current/_data/versions.csv @@ -14,4 +14,4 @@ v22.2,2022-12-05,2023-12-05,2024-06-05,N/A,N/A,N/A,N/A,N/A,v22.1,release-22.2 v23.1,2023-05-15,2024-05-15,2024-11-15,23.1.11,23.1.12,2023-11-13,2024-11-13,2025-11-13,v22.2,release-23.1 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,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,v24.1,release-24.2 +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