CockroachDB v24.2 is an Innovation Release, which is optional for CockroachDB Advanced, CockroachDB Standard, and CockroachDB self-hosted clusters but is required for CockroachDB Basic.
Refer to Major release types before installing or upgrading for release timing and support details. To learn what's new in this release, refer to its Feature Highlights.
On this page, you can read about changes and find downloads for all production and testing releases of CockroachDB v24.2
For key feature enhancements in v24.2 and other upgrade considerations, refer to the notes for v24.2.0.
For details about release types, naming, and licensing, refer to the Releases page.
Be sure to also review the Release Support Policy.
After downloading a supported CockroachDB binary, learn how to install CockroachDB or upgrade your cluster.
Get future release notes emailed to you:
v24.2.10
Release Date: February 6, 2025
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.10.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.10.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.10.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.10.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.10.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.10.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.10.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.10.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.10.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.10.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.10
Source tag
To view or download the source code for CockroachDB v24.2.10 on Github, visit v24.2.10 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.9...v24.2.10
General changes
- The protected timestamp (PTS) records of running changefeeds are now updated when the set of targets changes, such as when system tables are added to the protected tables list. #138653
SQL language changes
- The
legacy_varchar_typingsession setting has been added, which reverts the changes of #133037 that cause the change in typing behavior described in #137837. Specifically, it makes type-checking and overload resolution ignore the newly added "unpreferred" overloads. This setting defaults toon. #138002 - Since v23.2 table statistics histograms had been collected for non-indexed JSON columns. Histograms are no longer collected for these columns if the
sql.stats.non_indexed_json_histograms.enabledcluster setting is set tofalse. This reduces memory usage during table statistics collection, for both automatic and manual collection viaANALYZEandCREATE STATISTICS. #140267 - Added support for a new index hint,
AVOID_FULL_SCAN, which will prevent the optimizer from planning a full scan for the specified table if any other plan is possible. The hint can be used in the same way as other existing index hints. For example,SELECT * FROM table_name@{AVOID_FULL_SCAN};. This hint is similar toNO_FULL_SCAN, but will not error if a full scan cannot be avoided. Note that normally a full scan of a partial index would not be considered a "full scan" for the purposes of theNO_FULL_SCANandAVOID_FULL_SCANhints, but if the user has explicitly forced the partial index viaFORCE_INDEX=index_name, CockroachDB does consider it a full scan. #140271 - Added the
optimizer_prefer_bounded_cardinalitysession setting, which instructs the optimizer to prefer query plans where every expression has a guaranteed upper-bound on the number of rows it will process. This may help the optimizer produce better query plans in some cases. This setting is disabled by default. #140271 - Added the
optimizer_min_row_countsession setting, which sets a lower bound on row count estimates for relational expressions during query planning. A value of0, which is the default, indicates no lower bound. Note that if this is set to a value greater than0, a row count of zero can still be estimated for expressions with a cardinality of zero, e.g., for a contradictory filter. Setting this to a value higher than0, such as1, may yield better query plans in some cases, such as when statistics are frequently stale and inaccurate. #140271
Operational changes
- Schema object identifiers (e.g., database names, schema names, table names, function names, and type names) are no longer redacted when logging statements in the
EXECorSQL_SCHEMAlog channels. If redaction of these names is required, then the new cluster settingsql.log.redact_names.enabledcan be set totrue. The default value of the setting isfalse. #138656 - Added a metric,
sql.schema_changer.object_count, that keeps track of the count of schema objects in the cluster. #138838 - The
changefeed.max_behind_nanosmetric now supports scoping with metrics labels. #139233
Bug fixes
CLOSE CURSORstatements are now allowed in read-only transactions, similar to PostgreSQL. This bug had been present since at least v23.1. #137791ALTER BACKUP SCHEDULEno longer fails on schedules whose collection URI contains a space. #138081- Previously,
SHOW CREATE TABLEwas showing incorrect data with regard to inverted indexes. It now shows the correct data in a format that can be repeatedly entered back into CockroachDB to recreate the same table. #138084 - Fixed a timing issue between
ALTER VIEW .. RENAMEandDROP VIEWthat caused repeated failures in theDROP VIEWjob. #137888 - Fixed a bug where querying the
pg_catalog.pg_constrainttable while the schema changer was dropping a constraint could result in a query error. #138284 - Queries that perform a cast from the string representation of an array containing
GEOMETRYorGEOGRAPHYtypes to a SQLARRAYtype will now succeed. #138694 - Fixed a bug where secondary tenants could fatal when issuing HTTP requests during tenant startup. #138754
- Fixed a bug where CockroachDB could encounter an internal error
comparison of two different versions of enumin some cases when a user-defined type was modified within a transaction and subsequent statements read the column of that user-defined type. The bug was introduced in v24.2. #138053 - When the session variable
allow_role_memberships_to_change_during_transactionis set, it is now possible to create and drop users quickly even when there are contending transactions on thesystem.usersandsystem.role_optionssystem tables. #139031 - Fixed a bug where the error
batch timestamp ... must be after replica GC thresholdcould occur during a schema change backfill operation, and cause the schema change job to retry infinitely. Now this error is treated as permanent, and will cause the job to enter thefailedstate. #139249
v24.2.9
Release Date: January 31, 2025
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.9.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.9.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.9.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.9.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.9.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.9.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.9.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.9.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.9.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.9.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.9
Source tag
To view or download the source code for CockroachDB v24.2.9 on Github, visit v24.2.9 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.8...v24.2.9
Bug fixes
- Fixed a bug that could cause
SHOW TABLESand other introspection operations to encounter a"batch timestamp ... must be after replica GC threshold"error. #140176
v24.2.8
Release Date: January 9, 2025
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.8.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.8.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.8.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.8.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.8.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.8.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.8.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.8.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.8.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.8.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.8
Source tag
To view or download the source code for CockroachDB v24.2.8 on Github, visit v24.2.8 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.7...v24.2.8
General changes
- To improve the granularity of changefeed pipeline metrics, the changefeed metrics
changefeed.admit_latencyandchangefeed.commit_latencyhave histogram buckets from5msto60m(previously500msto5m). The following changefeed metrics have histogram buckets from5msto10m(previously500msto5m):changefeed.parallel_io_queue_nanoschangefeed.parallel_io_result_queue_nanoschangefeed.sink_batch_hist_nanoschangefeed.flush_hist_nanoschangefeed.kafka_throttling_hist_nanos#136603
- Added support for multiple seed brokers in the new Kafka sink. #136748
- Added a new metric (
distsender.rangefeed.catchup_ranges_waiting_client_side) that counts how many rangefeeds are waiting on the client-side limiter to start performing catchup scans. #136835 - Added changefeed support for the
mvcc_timestampoption with theavroformat. If both options are specified, the Avro schema includes anmvcc_timestampmetadata field and emits the row's MVCC timestamp with the row data. #136016 - Added a no-op
AWS_USE_PATH_STYLEparameter for forward compatibility with v24.3. #137025
SQL language changes
- Added the
legacy_varchar_typingsession setting, which reverts the changes of #133037 that causes the change in typing behavior described in #137837. Specifically, it makes type-checking and overload resolution ignore the newly added "unpreferred" overloads. This setting defaults toon. #137920
Operational changes
- Removed the
sql.auth.resolve_membership_single_scan.enabledcluster setting. This was added out of precaution in case it was necessary to revert back to the old behavior for looking up role memberships, but this escape hatch has never been needed in practice since this was added in v23.1. #136161 - Telemetry delivery is now considered successful even in cases where we experience a network timeout. This will prevent throttling in cases outside an operator's control. #136479
- When a schema change job is completed, rolls back, or encounters a failure, the time taken since the job began is now logged in a structured log in the
SQL_SCHEMAlog channel. #136928 - Added a new configurable parameter
kv.transaction.max_intents_and_locksthat will prevent transactions from creating too many intents. #137700 - Added the metric
txn.count_limit_rejected, which tracks the KV transactions that have been aborted because they exceeded the max number of writes and locking reads allowed. #137700 - Added the metric
txn.count_limit_on_response, which tracks the number of KV transactions that have exceeded the count limit on a response. #137700
Bug fixes
ALTER COLUMN SET NOT NULLwas not enforced consistently when the table was created in the same transaction. #136365- Fixed a bug where
CREATE RELATION / TYPEcould leave dangling namespace entries if the schema was concurrently being dropped. #136379 - The
idle_in_session_timeoutsetting now excludes the time spent waiting for schema changer jobs to complete, preventing unintended session termination during schema change operations. #136502 - Fixed a bug that causes the optimizer to use stale table statistics after altering an
ENUMtype used in the table. #136759 - Table statistics collection in CockroachDB could previously run into
no bytes in account to releaseerrors in some edge cases (when the SQL memory budget, configured via--max-sql-memoryflag, was close to being exhausted). The bug has been present since v21.2 and is now fixed. #136165 - CockroachDB now better respects the
statement_timeoutlimit on queries involving the top K sort and merge join operations. #136652 - Fixed an issue where license enforcement was not consistently disabled for single-node clusters started with
cockroach start-single-node. The fix ensures proper behavior on cluster restarts. #137011 - Fixed a bug that caused queries against tables with user-defined types to sometimes fail with errors after restoring those tables. #137354
- Fixed a bug that caused an incorrect filesystem to be logged as part of the store information. #137113
- Fixed a bug that has existed since v24.1 that would cause a set-returning UDF with
OUTparameters to return a single row. #137377 - Fixed a bug that could cause an internal error if a table with an implicit (
rowid) primary key was locked from within a subquery, like:SELECT * FROM (SELECT * FROM foo WHERE x = 2) FOR UPDATE;. The error could occur either under read-committed isolation, or withoptimizer_use_lock_op_for_serializableenabled. #137129 - Fixed an issue where adding an existing column with the
IF NOT EXISTSoption could exit too early, skipping necessary handling of the abstract syntax tree (AST). This could lead to failure of theALTERstatement. #137676 - Fixed a bug related to displaying the names of composite types in the
SHOW CREATE TABLEScommand. The names are now shown as two-part names, which disambiguates the output and makes it more portable to other databases. #137768 - Fixed an issue where a schema change could incorrectly cause a changefeed to fail with an assertion error like
received boundary timestamp ... of type ... before reaching existing boundary of type .... #137705 - Internal scans are now exempt from the
sql.defaults.disallow_full_table_scans.enabledsetting, allowing index creation even when the cluster setting is active. #137724
Performance improvements
- Improved the internal caching logic for role membership information. This reduces the latency impact of commands such as
DROP ROLE,CREATE ROLE, andGRANT role TO user, which cause the role membership cache to be invalidated. #136161
v24.2.7
Release Date: December 26, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.7.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.7.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.7.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.7.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.7.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.7.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.7.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.7.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.7.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.7.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.7
Source tag
To view or download the source code for CockroachDB v24.2.7 on Github, visit v24.2.7 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.6...v24.2.7
SQL language changes
- Added the
legacy_varchar_typingsession setting. When set toon, type-checking comparisons involvingVARCHARcolumns behave as they did in all previous versions. When set tooff, type-checking of these comparisons is more strict and queries that previously succeeded may now error with the messageunsupported comparison operator. These errors can be fixed by adding explicit type casts. Thelegacy_varchar_typingsession setting is on by default. #137944
v24.2.6
Release Date: December 12, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.6.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.6.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.6.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.6.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.6.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.6.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.6.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.6.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.6.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.6.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.6
Source tag
To view or download the source code for CockroachDB v24.2.6 on Github, visit v24.2.6 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.5...v24.2.6
Security updates
- All cluster settings that accept strings are now fully redacted when transmitted as part of diagnostics telemetry. This payload includes a record of modified cluster settings and their values when they are not strings. Customers who previously applied the mitigations in Technical Advisory 133479 can safely set the value of cluster setting
server.redact_sensitive_settings.enabledto false and turn on diagnostic reporting via thediagnostics.reporting.enabledcluster setting without leaking sensitive cluster settings values. #134017
General changes
COCKROACH_SKIP_ENABLING_DIAGNOSTIC_REPORTINGis no longer mentioned in thecockroach democommand. #134088- Added
system.usersto the list of system tables that changefeeds protect with protected timestamps. This table is required for change data capture queries. #134837
Operational changes
- The
goschedstats.always_use_short_sample_period.enabledsetting should be set to true for any production cluster, to prevent unnecessary queuing in admission control CPU queues. #133584 - Added a new cluster setting
ui.database_locality_metadata.enabledthat allows operators to disable loading extended database and table region information in the DB Console Database and Table pages. This information can cause significant CPU load on large clusters with many ranges. Versions of this page from v24.3 and later do not have this problem. If customers require this data, they can use theSHOW RANGES FROM {DATABASE| TABLE}query via SQL to compute on-demand. #134095 - Row-level TTL jobs now periodically log progress by showing the number of table spans that have been processed so far. #135170
Bug fixes
- Fixed a bug that caused non-reusable query plans, e.g., plans for DDL and
SHOW ...statements, to be cached and reused in future executions, possibly causing stale results to be returned. This bug only occurred whenplan_cache_modewas set toautoorforce_generic_plan, both of which are not currently the default settings. #133074 - Previously, CockroachDB could encounter an internal error of the form
interface conversion: coldata.Column isin an edge case and this is now fixed. The bug is present in v22.2.13+, v23.1.9+, v23.2+. #133761 - Fixed a bug that caused incorrect
NOT NULLconstraint violation errors onUPSERTandINSERT .. ON CONFLICT .. DO UPDATEstatements when those statements updated an existing row and a subset of columns that did not include aNOT NULLcolumn of the table. This bug has been present since at least v20.1.0. #133821 - Fixed an unhandled error that could occur when using
REVOKE ... ON SEQUENCE FROM ... useron an object that is not a sequence. #133709 - Addressed a panic inside
CREATE TABLE ASif sequence builtin expressions had invalid function overloads. #133869 STRINGconstants can now be compared against collated strings. #134084- When executing queries with index / lookup joins when the ordering needs to be maintained, previously CockroachDB could experience increased query latency, possibly by several orders of magnitude. This bug was introduced in v22.2 and is now fixed. #134366
- Fixed a minor bug where
DISCARD ALLstatements were counted under thesql.ddl.countmetric. Now these will be counted under thesql.misc.countmetric. #134509 - Addressed a bug with
DROP CASCADEthat would occasionally panic with an undroppedbackrefmessage on partitioned tables. #134472 - Reduced the duration of partitions in the gossip network when a node crashes in order to eliminate false positives in the
ranges.unavailablemetric. #134600 - Non-
adminusers that runDROP ROLE IF EXISTSon a user that does not exist will no longer receive an error message. #134969 - Fixed a bug that caused quotes around the name of a routine to be dropped when it was called within another routine. This could prevent the correct routine from being resolved if the nested routine name was case sensitive. The bug has existed since v24.1, when nested routines were introduced. #134000
- Fixed a bug that could cause incorrect query results when the optimizer planned a lookup join on an index containing a column of type
CHAR(N),VARCHAR(N),BIT(N),VARBIT(N), orDECIMAL(M, N), and the query held that column constant to a single value (e.g., with an equality filter). #135076 - Fixed an unhandled error that would occur if
DROP SCHEMAwas executed on thepublicschema of thesystemdatabase, or on an internal schema likepg_catalogorinformation_schema. #135180 - Fixed a bug that caused incorrect evaluation of some binary expressions involving
CHAR(N)values and untyped string literals with trailing whitespace characters. For example, the expression'f'::CHAR = 'f 'now correctly evaluates totrue. #135689 - Fixed a bug where
ALTER DATABASEoperations that modify the zone config would hang if an invalid zone config already exists. #135215 CREATE SCHEMAnow returns the correct error if a the schema name is missing. #135927- Using more than one
DECLAREstatment in the definition of a user-defined function now correctly declares additional variables. #135738 - Fixed a bug where CockroachDB would encounter an internal error when evaluating
FETCH ABSOLUTE 0statements. The bug has been present since v22.1. #134992 - Fixed an issue where corrupted table statistics could cause the
cockroachprocess to crash. #136041 - Fixed a bug that causes the optimizer to use stale table statistics after altering an
ENUMtype used in the table. #136812
v24.2.5
Release Date: November 18, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.5.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.5.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.5.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.5.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.5.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.5.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.5.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.5.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.5.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.5.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.5
Source tag
To view or download the source code for CockroachDB v24.2.5 on Github, visit v24.2.5 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.4...v24.2.5
Security updates
- Host-based authentication (HBA) configuration entries for LDAP will be evaluated for proper LDAP parameter values, and a valid and complete list of authentication method options is now required to amend HBA settings. #132748
- You can now authenticate to the DB Console by passing a JWT as the bearer token. #133534
General changes
- Change the license
cockroachis distributed under to the new CockroachDB Software License. #131707 #131956 #131961 #131983 #132011 #132013 #132012 #132015 #132014 #132016 #132054 #131970 #132056 #132801 #132704 - The cluster setting
diagnostics.reporting.enabledis now ignored if the cluster has an Enterprise Trial or Enterprise Free license, or if the license cannot be loaded. #132464 - The new metrics
changefeed.sink_errorsandchangefeed.internal_retry_message_countallow you to observe the rate of errors and internal retries for a sink, respectively. #132353 - Added a timer for inner sink client flushes. #133197
DB Console changes
- The DB Console now shows a warning if the cluster is throttled or will be throttled soon due to an expired Enterprise Free or Enterprise Trial license or due to missing telemetry data. Clusters with an Enterprise license are not throttled. #132093
- The Range Count column on the Databases page is no longer shown due to performance issues. This data is still available via the
SHOW RANGEScommand. #133268
Bug fixes
- Fixed a bug where timers were not correctly registered with the metric system. #133197
- Fixed a bug where the command-line interface would not correctly escape JSON values that had double quotes inside a string when using the
--format=sqlflag. #131931 - Fixed an error that could occur if a
SETcommand used an aggregate function as the value. #131960 - Fixed a bug where ordering by
VECTORcolumns could result in an internal error in some cases. Now anunimplementederror is returned instead. #132107 - Added automated clean-up/validation for dropped roles inside default privileges. #132136
- Fixed a bug that that caused incorrect evaluation of a
CASE,COALESCE, orIFexpression with a branch that produced fixed-width string-like types, such asCHAR. #130889 - Fixed a bug that could cause the
BPCHARtype to incorrectly impose a length limit of 1. #130889 - Fixed a rare bug that could prevent a backup from being restored and could cause the error
rewriting descriptor ids: missing rewrite for <id> in SequenceOwner.... This bug could occur only if aDROP COLUMNoperation dropped a sequence while the backup was running. #132326 - Fixed a bug introduced in v23.1 that could cause incorrect results when a join evaluates columns with equivalent but non-identical types, such as
OIDandREGCLASS, for equality. The issue arises when the join performs an index lookup on an index that includes a computed column referencing one of the equivalent columns. #132508 - Fixed a bug introduced before v23.1 that could cause a composite sensitive expression to compare differently if comparing equivalent but non-identical input values, such as
2.0::DECIMALand2.00::DECIMAL. The issue arises when the join performs an index lookup on a table with a computed index column where the computed column expression is composite sensitive. #132508 - Fixed a bug where a span statistics request on a mixed-version cluster could result in a null pointer exception. #132680
- Updated the
franz-golibrary to fix a potential deadlock when a changefeed restarts. #132787 - Fixed a bug where a changefeed could fail to update protected timestamp records after a retryable error. #132773
- Fixed a bug where a changefeed that used change data capture queries could fail after a system table was garbage collected. #131649
- Fixed a rare bug introduced in v22.2 where an update of a primary key column could fail to update the primary index if it is also the only column in a separate column family. #132120
- Fixed a bug where the
proretsetcolumn of thepg_catalog.pg_proctable was incorrectly set tofalsefor builtin functions that return a set. #132876 - Fixed a bug that could cause incorrect evaluation of scalar expressions with
NULLvalues. #132946 - Fixed a rare bug in the query optimizer that could cause a node to crash if a query contained a filter in the form
col IN (elem0, elem1, ..., elemN)whenNis very large, in the order of millions, and whencolexists in a hash-sharded index or when a table with an indexed computed column depends oncol. #132868 - Fixed a bug where an
ALTER DEFAULT PRIVILEGES FOR target_role ...command could result in an erroneous privilege error when run by a user with theadminrole. #133071 - Fixed a bug where a
REASSIGN OWNED BYcommand would fail to transfer ownership of the public schema, even when the schema was owned by the target role. #133071 - Fixed a panic when resolving the types of an
AS OF SYSTEM TIMEexpression. #132455 Fixed a bug that could cause new connections to fail with the following error after upgrading:
ERROR: invalid value for parameter "vectorize": "unknown(1)" SQLSTATE: 22023 HINT: Available values: off,on,experimental_always. To encounter this bug, the cluster must have:- Run on version v21.1 at some point in the past.
- Run
SET CLUSTER SETTING sql.defaults.vectorize = 'on';while running v21.1. - Not set
sql.defaults.vectorizeafter upgrading past v21.1 4. - Subsequently upgraded to v24.2.
To detect this bug, run the following query:
SELECT * FROM system.settings WHERE name = 'sql.defaults.vectorizeIf the command returns
1instead ofon, run the following statement before upgrading.RESET CLUSTER SETTING sql.defaults.vectorize;1is now allowed as a value for this setting, and is equivalent toon. [#133371]#133371#133368Fixed a rare bug that could cause unnecessarily high disk usage in the presence of high rebalance activity. #133565
Performance improvements
- Performance has been improved during periodic polling of table history when
schema_lockedis not used. #132191
v24.2.4
Release Date: October 17, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.4.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.4.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.4.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.4.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.4.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.4.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.4.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.4.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.4.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.4.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.4
Source tag
To view or download the source code for CockroachDB v24.2.4 on Github, visit v24.2.4 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.3...v24.2.4
Enterprise edition changes
- Updated the cluster setting
changefeed.sink_io_workerswith all the changefeed sinks that support the setting. #130374 - Added two network metrics,
changefeed.network.bytes_inandchangefeed.network.bytes_out. #130578
These metrics track the number of bytes sent by individual changefeeds to the following sinks:- Kafka sinks. If child metrics are enabled, the metric will have a
kafkalabel. - Webhook sinks. If child metrics are enabled, the metric will have a
webhooklabel. - Pub/Sub sinks. If child metrics are enabled, the metric will have a
pubsublabel. - SQL sink. If child metrics are enabled, the metric will have a
sqllabel.
- Kafka sinks. If child metrics are enabled, the metric will have a
- Added a
changefeed.total_rangesmetric that can be used to monitor the number of ranges that are watched by changefeed aggregators. It shares the same polling interval aschangefeed.lagging_ranges, which is controlled by the existinglagging_ranges_polling_intervaloption. #130982 - Disambiguated metrics and logs for the two buffers used by the KV feed. The following metrics now have a suffix indicating which buffer they correspond to:
changefeed.buffer_entries.*,changefeed.buffer_entries_mem.*, orchangefeed.buffer_pushback_nanos.*. The previous metric names are retained for backward compatibility. #131419 - Added timers and corresponding [metrics](/docs/v24.2/metrics.html for key parts of the changefeed pipeline to help debug issues with feeds. The
changefeed.stage.{stage}.latencymetrics now emit latency histograms for each stage. The metrics respect the changefeedscopelabel to debug a specific feed. #131372
SQL language changes
- The session variable
enforce_home_region_follower_reads_enabledis now deprecated, in favor ofenforce_home_region. The deprecated variable will be removed in a future release. #129587
Operational changes
- Added the new metric
ranges.decommissioningto show the number of ranges that have a replica on a decommissioning node. #130247 - You can now configure the log format for the
stderrlog sink by setting thestderr.formatfield in the YAML configuration. #131539
DB Console changes
- Streamlined metric chart legends by removing the name of the chart from labels, where it was an identical prefix for all labels on the chart. #129359
- The DB Console now shows a notification if the cluster has no Enterprise license set. Refer to upcoming license changes for more information. #130417
Bug fixes
- Fixed a bug that could prevent upgrade finalization when attempting to resolve a large number of corrupt descriptors. #130517
- Fixed a potential memory leak in changefeeds using a cloud storage sink. The memory leak could occur if both
changefeed.fast_gzip.enabledandchangefeed.cloudstorage.async_flush.enabledweretrue, and the changefeed received an error while attempting to write to the cloud storage sink. #130602 - Fixed a bug where zone configuration changes issued by the declarative schema changer were not blocked if a table had
schema_lockedset. #130705 - Fixed a bug in which some
SELECT FOR UPDATEorSELECT FOR SHAREqueries usingNOWAITcould still block on locked rows when using theoptimizer_use_lock_op_for_serializablesession setting underSERIALIZABLEisolation. This bug was introduced withoptimizer_use_lock_op_for_serializablein v23.2.0. #130430 - Fixed a bug that caused the optimizer to plan unnecessary post-query uniqueness checks during
INSERT,UPSERT, andUPDATEstatements on tables with partial, unique hash-sharded indexes. These unnecessary checks added overhead to execution of these statements, and caused the statements to error when executed underREAD COMMITTEDisolation. #130570 - Fixed a bug that could result in the inability to garbage collect an MVCC range tombstone within a global table. #130940
- Fixed a bug where a connection could be dropped if the client was attempting a schema change while the same schema objects were being dropped. #130962
- Fixed a bug introduced in v23.2 where the
IS NOT NULLclause would incorrectly allow tuples containingNULLelements, e.g.(1, NULL)or(NULL, NULL). #130947 - Fixed a bug that could cause errors with the message
internal error: Non-nullable column ...when executing statements underREAD COMMITTEDisolation that involved tables withNOT NULLvirtual columns. #131019 - Fixed a bug where AWS S3 and HTTP client configurations were not considered when implicit authentication was used. #131173
Fixed a bug introduced in v23.1 that can cause incorrect query results under the following conditions:
- The query contains a correlated subquery.
- The correlated subquery has a
GroupByorDistinctOnoperator with an outer-column reference in its input. - The correlated subquery is in the input of a
SELECTorJOINclause that has a filter that sets the outer-column reference equal to an inner column that is in the input of the grouping operator. - The set of grouping columns does not include the replacement column explicitly.
Fixed a bug where jobs created in a session with a timezone offset configured could fail to start or could report an incorrect creation time in the output of
SHOW JOBSand in the DB Console. #131407Fixed a bug that could prevent a changefeed from resuming after a prolonged paused state. #130921
Fixed a bug where backup schedules could advance a protected timestamp too early, which caused incremental backups to fail. #131391
Performance improvements
- The query optimizer now plans limited partial index scans in more cases when the new session variable
optimizer_push_limit_into_project_filtered_scanis set toon. #130335 - Reduced the write-amplification impact of rebalances by splitting snapshot SST files before ingesting them into Pebble. #128997
v24.2.3
Release Date: September 25, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.3.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.3.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.3.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.3.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.3.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.3.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.3.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.3.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.3.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.3.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.3
Source tag
To view or download the source code for CockroachDB v24.2.3 on Github, visit v24.2.3 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.2...v24.2.3
Enterprise edition changes
- Added a
changefeed.protect_timestamp.lagmetric, which controls how much the changefeed protected timestamp (PTS) should lag behind the high-water mark. A changefeed now only updates its PTS ifchangefeed.protect_timestamp.laghas passed between the last PTS and the changefeed high-water mark. #129580 - Added two network metrics,
changefeed.network.bytes_inandchangefeed.network.bytes_out. These metrics track the number of bytes sent by individual changefeeds to the following sinks:- Kafka sinks. If child metrics are enabled, the metric will have a
kafkalabel. - Webhook sinks. If child metrics are enabled, the metric will have a
webhooklabel. - Pub/Sub sinks. If child metrics are enabled, the metric will have a
pubsublabel. - SQL sink. If child metrics are enabled, the metric will have a
sqllabel. #130582
- Kafka sinks. If child metrics are enabled, the metric will have a
Operational changes
- Added a new configuration parameter,
server.cidr_mapping_url, which maps IPv4 CIDR blocks to arbitrary tag names. #129071 - Modified the metrics
sql.bytesinandsql.bytesoutto become aggregation metrics if child metrics are enabled. #129071 - Added three new network tracking metrics:
rpc.connection.connectedis the number of rRPC TCP-level connections established to remote nodes.rpc.client.bytes.egressis the number of TCP bytes sent via gRPC on connections initiated by CockroachDB.rpc.client.bytes.ingressis the number of TCP bytes received via gRPC on connections initiated by CockroachDB. #128957
DB Console changes
- Users with the
VIEWACTIVITYsystem privilege can now download statement bundles from the DB Console. #129504 - Users with the
VIEWACTIVITYsystem privilege can now request, view, and cancel statement bundles from the DB Console. #129809 - The DB Console now displays a notification to alert customers without an Enterprise license to upcoming license changes. #130511
Bug fixes
- Fixed a bug where
NaNorInfcould not be used as the default value for a parameter inCREATE FUNCTIONstatements. #129087 - Fix a bug in which
SELECT ... FOR UPDATEorSELECT ... FOR SHAREqueries usingSKIP LOCKEDand aLIMITand/or anOFFSETcould return incorrect results underREAD COMMITTEDisolation. This bug was present when support forSKIP LOCKEDunderREAD COMMITTEDisolation was introduced in v24.1.0. #128102 - Fixed a bug in which some
SELECT ... FOR UPDATEorSELECT ... FOR SHAREqueries usingSKIP LOCKEDcould still block on locked rows when usingoptimizer_use_lock_op_for_serializableunderSERIALIZABLEisolation. This bug was present whenoptimizer_use_lock_op_for_serializablewas introduced in v23.2.0. #128102 - Fixed a bug in which
SHOW CLUSTER SETTING FOR VIRTUAL CLUSTERwould erroneously returnNULLfor some settings. #128784 - Function input parameters can no longer have the
VOIDtype. #129275 - Fixed a bug in WAL failover that could prevent a node from starting if it crashed during a failover. #129364
- Fixed a bug where starting up nodes could fail with
could not insert session ...: unexpected valueif an ambiguous result error was hit while inserting into thesqllivenesstable. #129235 - Internally issued queries that are not initiated within a SQL session no longer respect a statement timeout. This includes: background jobs, queries issued by the DB Console that perform introspection, and the Cloud SQL shell. #129513
- Fixed a rare bug in
SHOW CLUSTER SETTINGthat could cause it to fail with an error liketimed out: value differs between local setting and KV. #129745 - Fixed a bug where the
schema_lockedtable parameter did not prevent a table from being referenced by a foreign key. #129755 - Fixed a bug that could cause
RESTOREto hang after encountering transient errors from the storage layer. #129895 - Fixed a bug where the
require_explicit_primary_keyssession variable would overly aggressively prevent allCREATE TABLEstatements from working. #129908 - Fixed a slow-building memory leak that could occur when using Kerberos authentication. #130319
- Fixed a bug that could result in the inability to garbage collect an MVCC range tombstone within a global table. #130951
- Fixed a potential memory leak in changefeeds using a cloud storage sink. The memory leak could occur if both
changefeed.fast_gzip.enabledandchangefeed.cloudstorage.async_flush.enabledare true and the changefeed received an error while attempting to write to the cloud storage sink. #130625 - Fixed a bug that prevented buffered file sinks from being included when iterating over all file sinks. This led to problems such as the
debug zipcommand not being able to fetch logs for a cluster where buffering was enabled. #130158
Contributors
This release includes 94 merged PRs by 38 authors.
v24.2.2
Release Date: September 23, 2024
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.2.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.2.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.2.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.2.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.2.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.2.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.2.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.2.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.2.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.2.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.2
Source tag
To view or download the source code for CockroachDB v24.2.2 on Github, visit v24.2.2 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.1...v24.2.2
Bug fixes
- Fixed a bug that could result in the inability to garbage collect an MVCC range tombstone within a global table. #130946
Contributors
This release includes 3 merged PRs by 2 authors.
v24.2.1
Release Date: September 5, 2024
Downloads
Changelog
View a detailed changelog on GitHub: v24.2.0...v24.2.1
Security updates
The new cluster setting
server.jwt_authentication.issuers.configurationis now aliased toserver.jwt_authentication.issuers. The new cluster setting reflects the value the setting can take. The setting can now take multiple values to support various kinds of providers and their mapped JWKS URIs. This can be set to one of the following values:- Simple string that Go can parse as a valid issuer URL:
'https://accounts.google.com'. - String that can be parsed as a valid JSON array of issuer URLs list:
['example.com/adfs','https://accounts.google.com']. - String that can be parsed as a valid JSON and deserialized into a map of issuer URLs to corresponding JWKS URIs. In this case, CockroachDB will override the JWKS URI present in the issuer's well-known endpoint:
'{ "issuer_jwks_map": { "https://accounts.google.com": "https://www.googleapis.com/oauth2/v3/certs", "example.com/adfs": "https://example.com/adfs/discovery/keys" } }'.
When
issuer_jwks_mapis set, CockroachDB directly uses the JWKS URI to get the key set. In all other cases whereserver.jwt_authentication.jwks_auto_fetch.enabledis set, CockroachDB attempts to automatically obtain the JWKS URI first from the issuer's well-known endpoint. #128178- Simple string that Go can parse as a valid issuer URL:
Enterprise edition changes
- The new Kafka changefeed sink is now enabled by default. To disable it, set the cluster setting
changefeed.new_kafka_sink_enabledtofalse. #128700 - The new Kafka sink and the Google Cloud Pub/Sub sink now display the topics that a changefeed will emit to. #128332
Operational changes
- The cluster setting
storage.ingestion.value_blocks.enabledcan be set tofalseif a pathological huge range happens to occur in a cluster, and incoming snapshots of that range are causing OOMs. #128098 - Two new structured logging events report connection breakage during node shutdown. Previously, these logs existed but were unstructured. These logs appear in the
OPSlogging channel.- The
node_shutdown_connection_timeoutevent is logged after the timeout defined byserver.shutdown.connections.timeouttranspires, if there are still open SQL connections. - The
node_shutdown_transaction_timeoutevent is logged after the timeout defined byserver.shutdown.transactions.timeouttranspires, if there are still open transactions on those SQL connections. #128712
- The
DB Console changes
- Corrected the series names in the legend for the
Admission Queueing Delay p99 – Background (Elastic) CPUgraph on the Overload dashboard by removing the `KV write ' prefix. #128891 - Hovering on graphs on Metrics dashboards now highlights the line under the mouse pointer and displays the corresponding value near the mouse pointer. #128412
Bug fixes
- Fixed a memory leak that could occur when a connection string specifies a virtual cluster that does not exist. #128108
- Fixed a bug where
CREATE INDEX IF NOT EXISTSwould not correctly short-circuit if the given index already existed. #128240 - Fixed a bug where syntax validation incorrectly prevented use of the
DESCENDINGclause for non-terminal columns of an inverted index. Now only the last column of an inverted index is prevented from usingDESCENDING. #128240 - Fixed a bug where an index could store a column in the primary index if that column had a mixed-case name. #128240
- Setting or dropping a default value on a computed column is now disallowed -- even for null defaults. Previously, setting or dropping a default value on a computed column was a no-op; now it is an error. #128465
- Fixed a bug where a hash-sharded constraint could not be created if it referred to a column that had a backslash in its name. #128522
- Fixed a bug introduced in v23.1 where the output of
EXPLAIN (OPT, REDACT)for variousCREATEstatements was not redacted. This bug affects the following statements:EXPLAIN (OPT, REDACT) CREATE TABLEEXPLAIN (OPT, REDACT) CREATE VIEWEXPLAIN (OPT, REDACT) CREATE FUNCTION#128490
- Fixed a bug where legacy and declarative schema changes could be executed concurrently, which could lead to failing or hung schema change jobs. #128825
- Fixed a bug that caused errors like
ERROR: column 'crdb_internal_idx_expr' does not existwhen accessing a table with an expression index where the expression evaluates to an ENUM type, such asCREATE INDEX ON t ((col::an_enum)). #129094
v24.2.0
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.
Downloads
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach:v24.2.0
Source tag
To view or download the source code for CockroachDB v24.2.0 on Github, visit v24.2.0 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-rc.1...v24.2.0
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 for previous v24.2 testing releases. You can also search the docs for sections labeled New in v24.2.
Feature categories
Additional information
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.
Change Data Capture
| Feature | Availability | |||
|---|---|---|---|---|
| Ver. | Self-Hosted | Dedicated | Serverless | |
|
CockroachDB Changefeeds - Improved null handling usability
Changefeed users can distinguish between JSON |
24.2 | |||
Migrations
| Feature | Availability | |||
|---|---|---|---|---|
| Ver. | Self-Hosted | Dedicated | Serverless | |
|
MOLT tooling is now available as a Docker container
Users can now deploy CockroachDB's MOLT Fetch and Verify tools using a multi-platform Docker image that supports both |
All★★ | |||
|
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★★ | |||
SQL
| Feature | Availability | |||
|---|---|---|---|---|
| Ver. | Self-Hosted | Dedicated | Serverless | |
|
Vector search
Users can now store
|
24.2 | |||
|
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. |
24.2 | |||
|
COMMENT ON TYPE CockroachDB users can now annotate a type with a comment and reference the comment later for documentation purposes. |
24.2 | |||
Operations
| Feature | Availability | |||
|---|---|---|---|---|
| Ver. | Self-Hosted | Dedicated | Serverless | |
|
CockroachDB Cloud Terraform Provider - Operations at scale 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★★ | |||
|
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 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 | (not skippable) |
||
Observability
| Feature | Availability | |||
|---|---|---|---|---|
| Ver. | Self-Hosted | Dedicated | Serverless | |
|
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 now supported in Limited Access. |
All★ | |||
|
Improved Overload Dashboard 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 | |||
| 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. |
| Feature is available for this deployment method of CockroachDB as specified in the icon’s column: CockroachDB Self-Hosted, CockroachDB Dedicated, or CockroachDB Serverless. | |
| 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. | |
Backward-incompatible changes and deprecations
CockroachDB v24.2.0 includes no backward-incompatible changes or deprecations.
Features that require upgrade finalization
During a major-version upgrade, certain features and performance improvements may not be available until the upgrade is finalized. However, when upgrading to v24.2, all features are available immediately, and no features require finalization.
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
- Settings removed
- Settings with changed defaults
- Settings with new options
- Settings with new aliases
Settings added
debug.zip.redact_addresses: Added the cluster settingdebug.zip.redact_addresses.enabledthat allows the user to enable or disable redaction of fields likehostnameand IP addresses. #123544kv.transaction.randomized_anchor_key: Previously, concurrent transactions that constructed large write batches could cause hotspots. This was because the transaction record for all ranges would coalesce on a single range, which would then cause this range's 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. #125744server.oidc_authentication.client.timeout: The new cluster settingserver.oidc_authentication.client.timeoutallows configuration of the HTTP client timeout for external requests made during OIDC authentication. The default timeout is 30 seconds. #125767sql.auth.grant_option_for_owner.enabled: The new cluster settingsql.auth.grant_option_for_owner.enabledcontrols whether the owner of an object has permission to grant permission on the object to other users. When set totrue(the default), theGRANT OPTIONis implicitly granted to the object owner, who can grant permissions on the object to other users, preserving the existing behavior of CockroachDB. When set tofalse, theGRANT OPTIONis 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 theGRANT OPTIONis granted to them explicitly. #126960sql.auth.grant_option_inheritance.enabled: Added thesql.auth.grant_option_inheritance.enabledcluster setting. The default value istrue, which maintains consistency with CockroachDB's previous behavior: users granted a privilege withWITH GRANT OPTIONcan in turn grant that privilege to others. Whensql.auth.grant_option_inheritance.enabledis set tofalse, theGRANT OPTIONis 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. #125590storage.sstable.compression_algorithm_backup_storage,storage.sstable.compression_algorithm_backup_transport: Added two new cluster settings,storage.sstable.compression_algorithm_backup_storageandstorage.sstable.compression_algorithm_backup_transport, which in addition to the existing cluster settingstorage.sstable.compression_algorithm, can be used to alter the compression algorithm used for various types of SSTs. #124245
Settings removed
kv.rangefeed.range_stuck_threshold: Removed the stuck rangefeed cancel feature and its related cluster settingkv.rangefeed.range_stuck_threshold, because it was only available in non-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. #125663storage.value_blocks.enabled: Thestorage.value_blocks.enabledcluster setting has been removed; value blocks are always enabled. #122164
Settings with changed defaults
kv.dist_sender.circuit_breakers.modehas had its default changed toliveness range only = 1.sql.defaults.results_buffer.sizehas had its default changed to512 KiB: The default value of thesql.defaults.results_buffer.sizecluster setting has been changed from 16KiB to 512KiB. This reduces the chance that clients usingREAD COMMITTEDtransactions will encounter errors that cannot automatically be retried within CockroachDB. #124633sql.metrics.max_mem_stmt_fingerprintsandsql.metrics.max_mem_txn_fingerprintshave had their defaults changed to7500: The default values for the cluster settingssql.metrics.max_mem_stmt_fingerprintsandsql.metrics.max_mem_txn_fingerprintshave been changed from100000to7500, thus lowering the default limits for in-memory statement and transaction fingerprints. #123430sql.stats.histogram_samples.counthas had its default changed to0: Histograms are no longer constructed using a default sample size of10k. Samples are now sized dynamically based on table size unless the sample count has been set in the table or cluster settings. #125345sql.ttl.default_delete_rate_limithas had its default changed to100: The storage parameterttl_delete_rate_limit, which determines the rate limit for deleting expired rows, is now set to100by default. #124354
Settings with new options
storage.sstable.compression_algorithmhas added the optionnone = 3: The compression optionnonewas 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, andstorage.sstable.compression_algorithm_backup_transport. #126508
Settings with new aliases
changefeed.batch_reduction_retry.enabledis aliased tochangefeed.batch_reduction_retry_enabled.kv.closed_timestamp.follower_reads.enabledis aliased tokv.closed_timestamp.follower_reads_enabled.kv.range_split.by_load.enabledis aliased tokv.range_split.by_load_enabled.kv.transaction.write_pipelining.enabledis aliased tokv.transaction.write_pipelining_enabled.kv.transaction.write_pipelining.max_batch_sizeis aliased tokv.transaction.write_pipelining_max_batch_size.physical_replication.consumer.minimum_flush_intervalis aliased tobuilkio.stream_ingestion.minimum_flush_interval.server.clock.forward_jump_check.enabledis aliased toserver.clock.forward_jump_check_enabled.server.oidc_authentication.autologin.enabledis aliased toserver.oidc_authentication.autologin.server.shutdown.connections.timeoutis aliased toserver.shutdown.connection_wait.server.shutdown.initial_waitis aliased toserver.shutdown.drain_wait.server.shutdown.jobs.timeoutis aliased toserver.shutdown.jobs_wait.server.shutdown.lease_transfer_iteration.timeoutis aliased toserver.shutdown.lease_transfer_wait.server.shutdown.transactions.timeoutis aliased toserver.shutdown.query_wait.server.web_session.timeoutis aliased toserver.web_session_timeout.spanconfig.range_coalescing.application.enabledis aliased tospanconfig.tenant_coalesce_adjacent.enabled.spanconfig.range_coalescing.system.enabledis aliased tospanconfig.storage_coalesce_adjacent.enabled.sql.log.all_statements.enabledis aliased tosql.trace.log_statement_execute.sql.metrics.statement_details.dump_to_logs.enabledis aliased tosql.metrics.statement_details.dump_to_logs.trace.debug_http_endpoint.enabledis aliased totrace.debug.enable.
Known limitations
For information about new and unresolved limitations in CockroachDB v24.2, with suggested workarounds where applicable, refer to Known Limitations.
Additional resources
| Resource | Topic | Description |
|---|---|---|
| Cockroach University | Introduction to Distributed SQL and CockroachDB | 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 | 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 | 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 | 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 | 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 | 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 | The page summarizes the standard SQL features CockroachDB supports as well as common extensions to the standard. |
| Docs | 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 | This page describes the backup job workflow with a high-level overview, diagrams, and more details on each phase of the job. |
v24.2.0-rc.1
Release Date: August 7, 2024
Downloads
CockroachDB v24.2.0-rc.1 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-rc.1.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-rc.1.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-rc.1.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-rc.1.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-rc.1.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-rc.1.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-rc.1.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-rc.1.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-rc.1.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-rc.1.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-rc.1
Source tag
To view or download the source code for CockroachDB v24.2.0-rc.1 on Github, visit v24.2.0-rc.1 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-beta.3...v24.2.0-rc.1
Enterprise edition changes
- Added a new Kafka changefeed sink that uses the
franz-golibrary and CockroachDB'sbatching_sinkimplementation. The new Kafka sink can be enabled with thechangefeed.new_kafka_sink_enabledcluster setting, which is disabled by default. #127899 - The v2 Kafka changefeed sink now supports Amazon Managed Streaming for Apache Kafka (MSK) IAM SASL authentication. #127899
DB Console changes
- The Databases and Tables pages in the DB Console will show a loading state while loading information for databases and tables including size and range counts. #127696
- On the Database details page, the table name will no longer appear with quotes around the schema and table name. #127770
Bug fixes
- Fixed a bug that caused a memory leak when executing SQL statements with comments, for example,
SELECT /* comment */ 1;. Memory owned by a SQL session would continue to grow as these types of statements were executed. The memory would only be released when closing the SQL session. This bug has been present since v23.1. #127760 - Fixed a bug in debug zip generation where an error was produced while fetching unstructured/malformed logs. #127883
- Fixed small memory leaks that occur during changefeed creation. #127899
- Fixed a known limitation in which fast cutback could fail. Users can now protect data for the default protection window of 4 hours on both the primary and the standby clusters. #127892
Contributors
This release includes 29 merged PRs by 21 authors.
v24.2.0-beta.3
Release Date: August 1, 2024
Downloads
CockroachDB v24.2.0-beta.3 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-beta.3.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.3.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.3.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.3.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.3.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.3.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.3.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.3
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.3 on Github, visit v24.2.0-beta.3 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-beta.2...v24.2.0-beta.3
Command-line changes
- A
--locality-fileflag is now available on thecockroach startandcockroach start-single-nodecommands. This provides the option of specifing node locality (typically aregionvalue) as a file, as an alternative to specifying this using the--localityflag. [#127476][#127476]
Bug fixes
- Fixed a formatting issue with the
sql_sequence_cached_nodevalue of theserial_normalizationsetting. This could lead to an error connecting to CockroachDB if this value was set as the default forserial_normalizationvia cluster settingsql.defaults.serial_normalization. [#127674][#127674] - Dropping ENUM-type values which were referenced by index expressions could fail with an error. [#127455][#127455]
This release includes 13 merged PRs by 7 authors.
v24.2.0-beta.2
Release Date: July 24, 2024
Downloads
CockroachDB v24.2.0-beta.2 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-beta.2.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.2.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.2.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.2.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.2.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.2.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.2.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.2
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.2 on Github, visit v24.2.0-beta.2 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-beta.1...v24.2.0-beta.2
Security updates
- URLs in the following SQL statements are now sanitized of any secrets before being written to unredacted logs. #127360
ALTER BACKUP SCHEDULEALTER BACKUPALTER CHANGEFEED SET sinkBACKUPCOPYCREATE CHANGEFEEDCREATE EXTERNAL CONNECTIONCREATE SCHEDULE FOR BACKUPCREATE SCHEDULE FOR CHANGEFEEDEXPORTIMPORT INTORESTORESHOW BACKUPSSHOW BACKUP
SQL language changes
- The new cluster setting
sql.auth.grant_option_for_owner.enabledcontrols whether the owner of an object has permission to grant permission on the object to other users. When set totrue(the default), theGRANT OPTIONis 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 tofalse, theGRANT OPTIONis 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 theGRANT OPTIONis granted to them explicitly. #126960 - Fixed a bug in which the
DISCARDstatement was disallowed when the session settingdefault_transaction_read_only = on. cockroachdb/cockroach#127364
Bug fixes
- Fixed a bug that could cause
CREATE INVERTED INDEXandALTER TABLE ... SET LOCALITY REGIONAL BY ROWstatements to fail if the corresponding table contained columns with non-standard characters in their names, such as tabs or newlines. This bug was introduced along with inverted indexes in v2.0. #126996 - Fixed a bug introduced in v23.2 that could cause a gateway node to crash while executing an
INSERTstatement in aREGIONAL BY ROWtable. #127278 - Fixed a bug where a schema change could hang if the lease rangefeed stopped receiving updates. #127488
Contributors
This release includes 45 merged PRs by 18 authors.
v24.2.0-beta.1
Release Date: July 18, 2024
Downloads
CockroachDB v24.2.0-beta.1 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-beta.1.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.1.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-beta.1.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-beta.1.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-beta.1.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-beta.1.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-beta.1.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-beta.1
Source tag
To view or download the source code for CockroachDB v24.2.0-beta.1 on Github, visit v24.2.0-beta.1 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-alpha.2...v24.2.0-beta.1
Security updates
- Added support for a custom certificate authority (CA) to verify certificates from the JWT issuer domain, which hosts the JSON Web Key Set (JWKS) configuration that is fetched to validate JWT, along with the new cluster setting
server.jwt_authentication.issuer_custom_cato set the custom root CA. #126062
General changes
- Job status changes now log events to the OPS channel, to indicate the previous and new status of the job. #125319
Enterprise edition changes
- The new cluster setting
server.oidc_authentication.client.timeoutallows configuration of the HTTP client timeout for external calls made during OIDC authentication. The default timeout is 30 seconds. #125767 - The Kafka sink for changefeeds now supports authentication using AWS IAM roles, providing a more secure method for connecting to AWS Managed Streaming for Apache Kafka (MSK) clusters. #125745
SQL language changes
- Added pgvector encoding, decoding, and operators, without index acceleration. #124292
- Added support for generic query plans to the optimizer to reduce the computational burden of query optimization by caching and reusing plans in later executions of the same statement. "Custom" query plans are optimized on every execution, while "generic" plans are optimized once and reused on future executions. Generic query plans are beneficial in cases where query optimization contributes significant overhead to the total cost of executing a query. #126528 #127012
- When the session setting
plan_cache_modeis set toauto, the system automatically determines whether to use custom or generic query plans for the execution of a prepared statement. - When the session setting
plan_cache_modeis set toforce_generic_plan, prepared statements will reuse optimized query plans without re-optimization, as long as the plans do not become stale due to schema changes or new table statistics. - The setting is used during
EXECUTEcommands and theEXPLAIN ANALYZEoutput includes aplan typefield that displays:generic, re-optimizedif the plan is optimized for the current execution,generic, reusedif the plan is reused without re-optimization, orcustomfor other plans.
- When the session setting
- The output of
SHOW GRANTSfor a role now includes privileges inherited from thepublicrole, which is a default role defined on every cluster. #127086
Operational changes
- For the TELEMETRY channel, TCL
sampled_queryevents will now be sampled at the rate specified by the settingsql.telemetry.query_sampling.max_event_frequency, which is already used to limit the rate of sampling DML statements. #126484 - The
encode-uricommand now supports the--certs-diroption as an alternative to passing individual certificate paths. #126793 - Changed the metric type of runtime metrics that are semantically counters from
GAUGEtoCOUNTER. #127018storage.disk.io.timestorage.disk.read.bytesstorage.disk.read.countstorage.disk.read.timestorage.disk.weightedio.timestorage.disk.write.bytesstorage.disk.write.countstorage.disk.write.timesys.cgocallssys.cpu.now.nssys.cpu.sys.nssys.cpu.user.nssys.gc.assist.nssys.gc.countsys.gc.pause.nssys.go.heap.allocbytessys.host.disk.io.timesys.host.disk.read.bytessys.host.disk.read.countsys.host.disk.read.timesys.host.disk.weightedio.timesys.host.disk.write.bytessys.host.disk.write.countsys.host.disk.write.timesys.host.net.recv.bytessys.host.net.recv.dropsys.host.net.recv.errsys.host.net.recv.packetssys.host.net.send.bytessys.host.net.send.dropsys.host.net.send.errsys.host.net.send.packetssys.uptime
Command-line changes
- The new
--shutdownflag of thecockroach node draincommand shuts down the node automatically after draining successfully completes. #126950
Bug fixes
- Fixed a bug on the node list of the Cluster overview page where the icons present on certain tables to expand and collapse expandable rows did not work. #126639
- Fixed a bug that prevented fast path inserts into regional by row tables with uniqueness constraints under
READ COMMITTEDisolation. #126504 - Fixed a bug where the
sql.stats.discarded.currentmetric omitted discarded statements from its count. Both discarded statements and transactions are included in the metric. #126585 - Fixed a bug where the Database page could crash if range information is not available. #126419
- Fixed a bug that caused background jobs to incorrectly respect a statement timeout. #126336
- Fixed a bug when creating partial statistics with the USING EXTREMES option (disabled by default) where the merged statistic could contain inaccurate
DISTINCTcounts. #126830 - Fixed bug where a replication zone configuration for a partition key could disappear during truncation. #126531
Performance improvements
- The efficiency of merging partial statistics into existing statistics has been improved. #126830
- The optimizer now generates more efficient plans for queries with clauses like
ORDER BY col ASC NULLS LASTandORDER BY col DESC NULLS FIRSTwhencolis guaranteed to not beNULL. #126685
Contributors
This release includes 96 merged PRs by 49 authors.
v24.2.0-alpha.2
Release Date: July 10, 2024
Downloads
CockroachDB v24.2.0-alpha.2 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-alpha.2.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-alpha.2.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-alpha.2.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-alpha.2.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.2.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-alpha.2.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-alpha.2.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-alpha.2
Source tag
To view or download the source code for CockroachDB v24.2.0-alpha.2 on Github, visit v24.2.0-alpha.2 source tag.
Changelog
View a detailed changelog on GitHub: v24.2.0-alpha.1...v24.2.0-alpha.2
General changes
- The compression option
nonewas 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:
SQL language changes
- Added the
sql.auth.grant_option_inheritance.enabledcluster setting. The default value istrue, which maintains consistency with CockroachDB's previous behavior: users granted a privilege withWITH GRANT OPTIONcan in turn grant that privilege to others. Whensql.auth.grant_option_inheritance.enabledis set tofalse, theGRANT OPTIONis 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 - The
pg_catalog.pg_attributetable now has a column namedattishidden, which indicates if the table column or attribute isNOT VISIBLE. #126397
Bug fixes
- Fixed a bug that could cause internal errors when a routine had polymorphic parameters or a polymorphic return type or both. The bug has existed since v22.2 when user-defined functions (UDFs) were introduced. #123459
- In
SHOW CREATEoutput, the name of an enum type is now formatted as a two-part name (schema.enum_type) instead of a three-part name (database.schema.enum_type). This change makes it easier to apply the output with enum types to other databases. #125996 - When altering the data type of columns with the hidden attribute (
NOT VISIBLE), the alteration now preserves the hidden attribute in the column. Additionally, type alterations for columns withON UPDATEexpressions orDEFAULTexpressions are now allowed. #126033 - Fixed a bug where a user-defined function (UDF) that shared a name with a built-in function would not be resolved, even if the UDF had higher precedence according to the
search_pathvariable. #126281 - Expressions of type
BYTES[]are now correctly formatted inpg_catalogtables. #126297 - Fixed a bug that could cause spurious user permission errors when multiple databases shared a common schema with a routine referencing a table. The bug has existed since v22.2 when user-defined functions (UDFs) were introduced. #123459 #126349
- Hidden columns are now included in the
indkeycolumn ofpg_catalog.pg_index. #126397 - Fixed a bug when inputting
publicrole as user name for built-in compatibility functions, such ashas_database_privilegeandhas_schema_privilege. #126211 - Fixed a bug when restoring a database with a composite type. #126351
- Fixed a bug when creating partial statistics with the
USING EXTREMESoption (which is disabled by default) where it would occasionally use incorrect extreme values and collect no stats. This bug occurred when outer buckets were added to the previous histogram to account for extra distinct count. #126403 - In the DB Console event log,
ALTER ROLEevents now display correctly even when no role options are included in theALTER ROLEstatement. #126354 - Fixed a bug where
ALTER DATABASE ... DROP REGIONcould fail if any tables under the given database have indexes on expressions. #126555
Performance improvements
- Starting a
cockroachprocess will no longer flush buffered logs to configured logging sinks unless the process is running undersystemd, wherecockroachruns with theNOTIFY_SOCKETenvironment variable. #125971
Contributors
This release includes 130 merged PRs by 42 authors.
v24.2.0-alpha.1
Release Date: July 1, 2024
Downloads
CockroachDB v24.2.0-alpha.1 is a testing release. Testing releases are intended for testing and experimentation only, and are not qualified for production environments and not eligible for support or uptime SLA commitments.
Experimental downloads are not qualified for production use and not eligible for support or uptime SLA commitments, whether they are for testing releases or production releases.
| Operating System | Architecture | Full executable | SQL-only executable |
|---|---|---|---|
| Linux | Intel | cockroach-v24.2.0-alpha.1.linux-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.linux-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-alpha.1.linux-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.linux-arm64.tgz (SHA256) |
|
| Mac (Experimental) |
Intel | cockroach-v24.2.0-alpha.1.darwin-10.9-amd64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.darwin-10.9-amd64.tgz (SHA256) |
| ARM | cockroach-v24.2.0-alpha.1.darwin-11.0-arm64.tgz (SHA256) |
cockroach-sql-v24.2.0-alpha.1.darwin-11.0-arm64.tgz (SHA256) |
|
| Windows (Experimental) |
Intel | cockroach-v24.2.0-alpha.1.windows-6.2-amd64.zip (SHA256) |
cockroach-sql-v24.2.0-alpha.1.windows-6.2-amd64.zip (SHA256) |
Docker image
Multi-platform images include support for both Intel and ARM. Multi-platform images do not take up additional space on your Docker host.
Within the multi-platform image, both Intel and ARM images are generally available for production use.
To download the Docker image:
docker pull cockroachdb/cockroach-unstable:v24.2.0-alpha.1
Source tag
To view or download the source code for CockroachDB v24.2.0-alpha.1 on Github, visit v24.2.0-alpha.1 source tag.
General changes
- The following metrics were added for observability into the source of disk writes:
storage.category-pebble-wal.bytes-writtenstorage.category-pebble-compaction.bytes-writtenstorage.category-pebble-ingestion.bytes-writtenstorage.category-pebble-memtable-flush.bytes-writtenstorage.category-raft-snapshot.bytes-writtenstorage.category-encryption-registry.bytes-writtenstorage.category-crdb-log.bytes-writtenstorage.category-sql-row-spill.bytes-writtenstorage.category-sql-col-spill.bytes-writtenstorage.category-unspecified.bytes-written#119024
- The
storage.value_blocks.enabledcluster setting has been removed; value blocks are always enabled. #122164 - The following metrics were added for improved observability into disk bandwidth:
storage.disk.read-max.bytespersecondstorage.disk.write-max.bytespersecond#121553
- Added two new cluster settings,
storage.sstable.compression_algorithm_backup_storageandstorage.sstable.compression_algorithm_backup_transport, which in addition to the existing cluster settingstorage.sstable.compression_algorithm, can be used to alter the compression algorithm used for various types of SSTs. #124245
Enterprise edition changes
SHOW CHANGEFEED JOB,SHOW CHANGEFEED JOBS, andSHOW JOBSno longer expose user sensitive information likeclient_key. #122529- Added the new option
encode_json_value_null_as_objectto JSON-formatted changefeeds that outputs'null'::jsonbas{"__crdb_json_null__": true}instead ofnull, to disambiguate between SQL-null and JSON-null. With this option enabled, if the literal value{"__crdb_json_null__": true}is present in a JSON value, it will have the same representation as JSON-null with this option enabled. If such a value is encountered in a changefeed, a (rate-limited) warning will be printed to theDEVchannel. #122848 - Added an error message for changefeed options and parameters that are not supported by the Apache Pulsar sink. #124581
- Scheduled changefeeds now pause after being restored onto a different cluster, and after completion of physical cluster replication to avoid inadvertent concurrent execution of the same schedule on multiple clusters. #124631
- The
DEBUG_PAUSE_ONoption has been removed and replaced with therestore.restore_after_failurepause point to match other pause points used throughout CockroachDB. You can set this pause point by running:SET CLUSTER SETTING jobs.debug.pausepoints = 'restore.after_restore_failure'. #125158
SQL language changes
- Default schema privilege changes will now be reflected and can be monitored in the
pg_default_acltable. #121506 - The schema of the
pg_catalog.pg_procvirtual table now matches exactly that of PostgreSQL versions 14–16. The following changes are applied:proisaggandproiswindowcolumns are removed (done in v11).protransformcolumn is removed (done in v12).prosqlbodycolumn is added (done in v14).prosupportandprokindcolumns are moved into their correct spot (these were incorrectly present at the end of the columns list). #121966
- Added
SHOW EXTERNAL CONNECTIONSandSHOW EXTERNAL CONNECTION <connection name>. These queries display redacted connection URIs and other useful information, such as the connection type. Access to these queries is restricted to the owner of the connection or users withUSAGEprivilege.adminorrootusers will have unrestricted access to all connections. #123545 - Using the
CREATE STATISTICSquery without theAS OF SYSTEM TIMEoption could contend with concurrent transactions and cost performance. RunningCREATE STATISTICSwithout specifyingAS OF SYSTEM TIMEnow uses a default of-1us. #124488 - The
nodesfield of theEXPLAIN ANALYZEoutput has been renamed tosql nodesto clarify that this field describes SQL processing and it does not include any information about KV nodes that might have participated in the query execution. #124681 EXPLAIN ANALYZEoutput now has a new fieldKV nodesthat includes all KV nodes that were used to serve read requests by a particular SQL operator. #124681- Fixed the
Regionsfield in theEXPLAIN ANALYZEoutput to include regions of KV nodes. Previously, only regions of SQL nodes involved in query processing were included. #124888 - Allow foreign keys to be created over stored computed columns. However, most
ON UPDATEandON DELETEoptions for foreign key constraints are not allowed with computed columns. OnlyON UPDATE (NO ACTION|RESTRICT)andON DELETE (NO ACTION|RESTRICT|CASCADE)are supported. #124851 EXPLAIN ANALYZEoutput now has a new fieldused follower readto SQL operators whenever their reads were served by the follower replicas. Previously, this information was only available in the trace. #125152- The new attribute
historical: AS OF SYSTEM TIME ...is now included inEXPLAIN ANALYZEoutput whenever the query performs historical reads. #125152 EXPLAIN ANALYZEstatements are now supported when executed via UI SQL shell. #125455- 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. #125345 - The optimizer will now generate plans utilizing partial indexes with
IS NOT NULLpredicates in more cases. #125487 - The
SHOW TYPESstatement now includes user-defined composite types. It omitted those types ever since composite types were added in v23.1. #124730 - Added the
COMMENT ON TYPEstatement for implicit transactions. #124942
Operational changes
- Added a distinction between row updates (
row) and resolved timestamp (resolved) messages in some changefeed metrics. #122645 - Modified the default Grafana dashboards to include a breakdown by message type for the
changefeed_emitted_rowsmetric. #122802 - Updated the generated doc descriptions for system visible cluster settings to reflect these are read-only for CockroachDB Serverless and read-write for the other deployments. #124028
- Added the cluster setting
debug.zip.redact_addresses.enabledthat allows the user to enable or disable redaction of fields likehostnameand IP addresses. #123544 - Improved disk usage metric reporting over volumes that dynamically change their size over the life of the
cockroachprocess. #124999 crdb_internal.cluster_execution_insights.txtandcrdb_internal.cluster_txn_execution_insights.txthave been removed from the debug zip. These files contained cluster-wide insights for statements and transactions. Users can still rely on the per-node execution insights incrdb_internal.node_execution_insights.txtandcrdb_internal.node_txn_execution_insights.txt. #125654- Removed the stuck rangefeed cancel feature and its related cluster setting
kv.rangefeed.range_stuck_threshold, because it was only available in non-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 - Fixed a bug where collection of debug information for very long-running jobs could use excessive space in the
job_infosystem table and/or cause some interactions with the jobs system to become slow. #126084 - All system tables are now visible in application virtual clusters that were created before v24.1. #125979
DB Console changes
- The Goroutine Scheduling Latency graph has been added to the Runtime dasboard. #121369
- Updated the time format to use a
.(dot) as separation between seconds and milliseconds, which affects many pages in the DB Console. #121456 - The Storage dashboard now contains a graph categorizing disk writes that contribute to
sys.host.disk.write.bytesaccording to the source of the write (WAL, compactions, SSTable ingestion, memtable flushes, raft snapshots, encryption registry, logs, SQL columnar spill, or SQL row spill). #119024 - The favicon now renders properly for the DB Console along with other image files. #121380
- The color of Unavailable Ranges in the Summary panel of the Replication dashboard is now red when nonzero. #123120
- Removed the
$sign on the Databases and Jobs pages in the DB Console. #125370 - Added two graphs to the Storage dashboard that display count and size of L0 SSTables in Pebble. This provides increased visibility into L0 compaction issues. #125653
- Removed the p95 metrics from the tooltip on the Job Latency graph of the TTL dashboard, because there are no p95 values computed for any of the metrics. #122345
- Updated the Storage dashboard graphs to show most metrics on a per-store basis when viewing a single node's metrics. This provides increased visibility into issues caused by specific stores on each node. #125699
Bug fixes
- Fixed a crash introduced in v23.2.5 and v24.1.0-beta.2 that could occur when planning statistics collection on a table with a virtual computed column using a user-defined type when the newly introduced cluster setting
sql.stats.virtual_computed_columns.enabledis set totrue. This setting was introduced in v23.2.4 and v24.1.0-alpha.1. #123926 - Fixed handling in the declarative schema changer when columns are included in the
STORING()clause ofCREATE INDEX. It now checks if the column is virtual beforehand, and properly detects when a column is already handled by an existing index when the column name has UTF-8 characters. #124981 - Fixed an issue where adding a column with a default value of an empty array would not succeed. #125284
ALTER TABLE ... ADD CONSTRAINT UNIQUEwill now fail with a well-formed error message and code42601if a statement tries to add aUNIQUEconstraint on an expression. #125282- Resolved a log message that read:
expiration of liveness record ... is not greater than expiration of the previous lease ... after liveness heartbeat. This message is no longer possible. #124885 - Fixed a bug in v24.1, v23.2, and v23.1 where using the
changefeed.aggregator.flush_jittercluster setting withmin_checkpoint_frequencyset to0could cause panics. #125317 - Fixed a bug where the
publicschema would be created with the wrong owner. Previously, theadminrole would own thepublicschema. Now the database owner is also the owner of thepublicschema. The ownership can be altered after the schema is created. #124894 - Previously, CockroachDB would hit an internal error when evaluating inserts into
REGIONAL BY ROWtables where the source is aVALUESclause with a single row and at least one boolean expression. The bug was introduced in v23.2.0 and is now fixed. #125492 - Fixed a bug in logging where an error code was misreported for canceled queries. This bug affected the
SQL_PERF(slow query logs) andSQL_EXEC(sql exec logs) logging channels. #124371 - Fixed a bug in which constant
LIKEpatterns containing certain sequences of backslashes did not become constrained scans. This bug has been present since v21.1.13 when support for building constrained scans fromLIKEpatterns containing backslashes was added. #125507 - Fixed a bug introduced in v22.1 where
cockroach-sqldoes not recognize the--formatflag. #124735 - Fixed a bug where
CREATE TABLEwith index expressions could hit undefined column errors on transaction retries. #125910 - Fixed a bug where some DDL and administrative statements used within a common table expression would fail with an
unrecognized relational expression typeinternal error. #125959 - Fixed a bug in
cockroach debug tsdumpwhere the command fails when a custom SQL port is used and the--format=rawflag is provided. #125626 - Attempts to alter the data type of a column used in a computed column expression are now blocked. #125870
- Fixed the statistics estimation code in the optimizer so it does not use the empty histograms produced if histogram collection has been disabled during stats collection due to excessive memory utilization. Now the optimizer will rely on distinct counts instead of the empty histograms and should produce better plans as a result. This bug has existed since CockroachDB v22.1. #125968
Performance improvements
- More efficient query plans are now generated for queries with text similarity filters, e.g.,
text_col % 'foobar'. These plans are generated if theoptimizer_use_trigram_similarity_optimizationsession setting is enabled, which it is by default. This setting is disabled by default in previous versions. #121973 - Schema changes that cause a data backfill, such as adding a non-nullable column or changing the primary key, will now split and scatter the temporary indexes used to perform the change. This reduces the chance of causing a write hotspot that can slow down foreground traffic. #120736
- Multiple or large numbers of grants on tables and types within one transaction now run faster. #123414
- Lock operations are now removed from query plans when the optimizer can prove that no rows would be locked. #124830
- Some privilege checks when scanning the
crdb_internal.system_jobsinternal table now happen once before the scan, instead of once for each row. This will improve performance for queries that read fromcrdb_internal.system_jobs. #117438 - Improved the initial range descriptor scan on startup. Node startup should now be faster on larger stores. #123959
- Previously, concurrent transactions that constructed large write batches could cause hotspots. This was because the transaction record for all ranges would coalesce on a single range, which would then cause this range's 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
Contributors
This release includes 1234 merged PRs by 97 authors.
Please select a star rating above.
Tell us about your experience
Please attach a screenshot of the area where you encountered the problem.
Thank you for your feedback!
Your input helps us improve our documentation.