
What follows are the release notes for the YugabyteDB 2024.2 release series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB 2024.2 release series.

For an RSS feed of all release series, point your feed reader to the [RSS feed for releases](../index.xml).

{{< note title="CDC - gRPC Connector compatibility" >}}

YugabyteDB v2024.2 requires gRPC Connector dz.1.9.5.yb.grpc.2024.2.3 or later.

{{< /note >}}

## v2024.2.8.0 - February 23, 2026 {#v2024.2.8.0}

**Build:** `2024.2.8.0-b85`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.8.0/yugabytedb-2024.2.8.0-b85-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.8.0/yugabytedb-anywhere-2024.2.8.0-b85-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.8.0/yugabyte-2024.2.8.0-b85-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.8.0/yugabyte-2024.2.8.0-b85-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.8.0/yugabyte-2024.2.8.0-b85-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.8.0/yugabyte-2024.2.8.0-b85-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.8.0-b85
```

### Improvements

#### YSQL

* Optimized the postgres build process by removing the redundant and time-consuming install_wrapper.py. {{<issue 29714>}}
* Enables integration of YSQL with PG's snapshot management for Repeatable Read isolation level. {{<issue 28333>}}
* Disables snapshot switching support for Repeatable Read isolation. {{<issue 28333>}}
* Deprecated the flag `ysql_conn_mgr_max_phy_conn_percent` and introduced new flag `ysql_conn_mgr_reserve_internal_conns` for reserving connections for internal operations. {{<issue 28859>}}
* Adds a Java test to verify that the `avg_wait_time_ns` stat is updated for the control connection pool. {{<issue 28277>}}
* Logs `ysql_dump` output on script failure during DB cloning. {{<issue 29607>}}

#### YCQL

* Enables clearing the YCQL MetaData cache via the `yb-ts-cli` tool. {{<issue 7832>}}

#### DocDB

* Introduced `InterprocessSharedMemoryObject` and `InterprocessMappedRegion` to wrap `boost::interprocess` calls, converting exceptions to `Status` returns. {{<issue 27826>}}
* Adds the `ysql_clone_disable_connections` flag to allow YSQL database connections during cloning. {{<issue 29678>}}
* Enables detailed data and checksum dumps for tablets via new commands, aiding in consistency checks and troubleshooting. {{<issue 29904>}}
* Enables `log-dump` to read encrypted WAL files using the `master_addresses` flag. {{<issue 17816>}}
* Suppresses error logs for missing files on deletion to streamline operations. {{<issue 29757>}}
* Reworked the load balancer to not hold `CatalogManager::mutex_` for each placement run, thus improving efficiency. {{<issue 29183>}}
* Logs tserver start time and PID for easier troubleshooting. {{<issue 14805>}}
* Tracks and alerts on more RPC rejections due to memory pressure. {{<issue 20670>}}
* Enables system catalog flush and compaction across all yb-master peers. {{<issue 10948>}}
* Reduces log frequency to once per second for tablets stuck in bootstrapping. {{<issue 24566>}}
* Marks `follower_unavailable_considered_failed_sec` as a runtime flag. {{<issue 30123>}}
* Ensures reliable xCluster history cutoff by backfilling `namespace_id` when necessary. {{<issue 28124>}}
* Added new `/snapshots` endpoint to tserver UI displaying space overhead information of snapshots, including snapshot ID, time, cumulative required space, exclusive data space, and schedule ID. {{<issue 29388>}}
* Reenables LogReader memory limit in xCluster following resolution of TryConsume bug. {{<issue 29252>}}
* Adds yb-admin command `are_nodes_safe_to_take_down ` to check if nodes can be taken down without losing quorum. {{<issue 28020>}}
* Simplifies load balancer's placement info management. {{<issue 25065>}}
* Prevents sending of `YBParsePrepareErrorResponse` packet for unnamed prepared statements. {{<issue 29526>}}
* Added compiler errors to Odyssey build for improved compile-time checking. {{<issue 28216>}}

#### CDC

* Added runtime flag to control CDC with Savepoints and Rollback feature, and introduced tests for rollback and savepoint behavior. {{<issue 29773>}}
* Reduced logging levels in `CatalogManager::FindXReplStreamsMarkedForDeletion` when a table is dropped. {{<issue 29637>}}

### Bug fixes

#### YSQL

* Allows yb-admin ysql_catalog_version command to return per-DB Catalog Version value for a provided database. {{<issue 28690>}}
* Fixed an issue where integer overflow in the new cost model could lead to negative cost estimates, resulting in poor plan choices. {{<issue 29685>}}
* Disallowed Batched Nested Loop joins when the inner relation is a temporary table to prevent cache lookup errors or assertion failures. {{<issue 28864>}}
* Fixes quoting for unique constraints during schema restores. {{<issue 29838>}}
* Ensures accurate index updates in `INSERT ... ON CONFLICT` for partial indexes. {{<issue 30104>}}
* Fixed issue where unique index data was missing for colocated databases after restore, now preserving implicit tablegroup oid. {{<issue 28781>}}
* Fixed a bug in YugabyteDB's backup and restoration process involving the mismatch of colocation_id in colocated databases. The fix preserves the original colocation_id when implicit indexes are created during the ALTER TABLE statement, ensuring that the colocation ids are consistent after restoration. {{<issue 29260>}}
* Fixed a metadata correctness bug that caused errors when using minimal preloading with negative caching. {{<issue 29485>}}
* Restored legacy mode costing and path creation behavior in YSQL. This is achieved by reverting BNL specific changes and negating a side effect on row count estimation introduced by boolean index fix. {{<issue 29206>}}
* Mitigate frequent read restart errors when concurrently executing CREATE TEMP TABLE commands. {{<issue 29704>}}
* Fixed a missing build dependency issue in the yb_pgwrapper library that caused a failure when running build with clean-postgres. {{<issue 29728>}}
* Adds flag for parameter yb_ignore_bool_cond_for_legacy_estimate, allowing setting via flag before upgrading from 2.20. {{<issue 29831>}}
* Removes redundant `yb_cdc_snapshot_read_time` field, simplifying snapshot management. {{<issue 26303>}}
* Fixes crashes during complex row comparisons in YSQL queries. {{<issue 29942>}}
* Refines text linting rules by updating file exclusion patterns in `.arclint`. {{<issue 30190>}}
* Ensures accurate data return from index scans by correctly fetching needed values for rechecks. {{<issue 26717>}}
* Fixed issue where server connection gets stuck due to full server write buffer after ungraceful client disconnects. {{<issue 29301>}}
* Implemented a fix to remove stale entries from the server's hashmap during connection manager reset phase. {{<issue 29527>}}
* Fixed the Connection Manager's support for replication connections, ensuring that it independently manages these connections, aligning with PostgreSQL's behavior. {{<issue 28521>}}
* Reduces CPU usage in connection manager by improving `epoll_*` functions and fixing syntax errors. {{<issue 29827>}}
* Eliminated potential TCP deadlock in YSQL by changing to asynchronous write in `od_frontend_remote_client`. {{<issue 29303>}}

#### YCQL

* Enables retrying YCQL analyze steps for `OBJECT_NOT_FOUND` errors to refresh cache. {{<issue 29589>}}
* Prevents crashes by correctly handling NULL index references in YCQL queries. {{<issue 29754>}}
* Ensures YCQL truncate command waits for index tables as well. {{<issue 30121>}}

#### DocDB

* Allows removal of associated intentsdb keys during tablet startup to prevent potential pileup and slower queries. {{<issue 21831>}}
* Adds extra logging to track data inconsistency when `durable_wal_write` is set to false. {{<issue 23453>}}
* Changes error message to "Unable to find the leader" for clarity. {{<issue 30000>}}
* Fixes tablet split validation to handle 0x0000 as an empty key for hash partitions. {{<issue 30062>}}
* Ensures successful cloning of altered databases by managing connection permissions during the operation. {{<issue 28141>}}
* Prevents data loss on followers during tablet splits by using MVCC for split operations. {{<issue 30117>}}
* Introduces `min_replay_txn_first_write_ht` to address transaction data loss that occurred due to incorrect filtering of transactions on bootstrap. {{<issue 29642>}}
* Automatically cleans up discarded checkpoints to prevent disk full issues during remote bootstraps. {{<issue 29909>}}
* Limits the number of entries per trace to prevent memory bloat during long running operations. {{<issue 27334>}}
* Fixes a bug in DBIter fast mode that caused process crashes during unique index back in HasDuplicateUniqueIndexValueBackward. {{<issue 28960>}}
* Disables intent filtering for bootstrap due to transaction filtering issues with `use_bootstrap_intent_ht_filter` set to true. {{<issue 29664>}}
* Fixes a regression that allowed restoring to a time earlier than the maximum retention window, potentially causing database instability. {{<issue 28699>}}
* Ensures correct resetting of the wait state in the WAL appender thread. {{<issue 29586>}}
* Skips parent tablet in data dumps for colocated tables. {{<issue 30220>}}
* Disables tablet splits during table hide operations to prevent state inconsistencies and lock leaks. {{<issue 29559>}}
* Modified `od_write` function to prevent double free of `mm_msg_t` objects and enhanced `machine_msg_free` to handle NULL messages. {{<issue 29398>}}
* Maintains correct message order by buffering ParameterStatus updates. {{<issue 29884>}}
* Handles sync timeout more effectively during connection resets. {{<issue 29173>}}
* Resolves Bind packet forwarding issue for unnamed prepared statements. {{<issue 29935>}}
* Fixes a potential segfault when handling auth errors in Auth Passthrough mode. {{<issue 29477>}}

#### CDC

* Fixes the issue where UPAM gets stuck for colocated tablets with indexes, ensuring continuity of CDC operations. {{<issue 30067>}}
* Restores CDC support for Savepoints and Rollbacks, now controlled by a new flag. {{<issue 29805>}}
* Fixes endpoint verification failures by using DNS hostnames for local connections. {{<issue 29669>}}
* Enables `cdc_enable_savepoint_rollback_filtering` by default, enhancing CDC support. {{<issue 29396>}}
* Reduces the frequency of log spam due to missing tablet warnings by changing logging parameters. {{<issue 28086>}}

## v2024.2.7.3 - February 3, 2026 {#v2024.2.7.3}

**Build:** `2024.2.7.3-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.7.3/yugabytedb-2024.2.7.3-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.7.3/yugabytedb-anywhere-2024.2.7.3-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.3/yugabyte-2024.2.7.3-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.3/yugabyte-2024.2.7.3-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.3/yugabyte-2024.2.7.3-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.3/yugabyte-2024.2.7.3-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.7.3-b1
```

### Bug fixes

#### YSQL

- Ensures consistent index updates during `INSERT ... ON CONFLICT` operations. {{<issue 30104>}}

#### DocDB

- Fixes crash by replacing speculative read with multiple smaller reads in `FastDecodeSignedVarInt()`. {{<issue 24600>}}

## v2024.2.7.2 - January 16, 2026 {#v2024.2.7.2}

**Build:** `2024.2.7.2-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.7.2/yugabytedb-2024.2.7.2-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.7.2/yugabytedb-anywhere-2024.2.7.2-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.2/yugabyte-2024.2.7.2-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.2/yugabyte-2024.2.7.2-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.2/yugabyte-2024.2.7.2-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.2/yugabyte-2024.2.7.2-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.7.2-b1
```

### Bug fix

#### YSQL

- Fixed an issue where bind packets were not forwarded to the backend in certain cases involving unnamed prepared statements. {{<issue 29935>}}

## v2024.2.7.1 - December 31, 2025 {#v2024.2.7.1}

**Build:** `2024.2.7.1-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.7.1/yugabytedb-2024.2.7.1-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.7.1/yugabytedb-anywhere-2024.2.7.1-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.1/yugabyte-2024.2.7.1-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.1/yugabyte-2024.2.7.1-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.1/yugabyte-2024.2.7.1-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.1/yugabyte-2024.2.7.1-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.7.1-b1
```

### Bug fix

#### YSQL

- Add flag for parameter yb_ignore_bool_cond_for_legacy_estimate. {{<issue 29831>}}

## v2024.2.7.0 - December 30, 2025 {#v2024.2.7.0}

**Build:** `2024.2.7.0-b62`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.7.0/yugabytedb-2024.2.7.0-b62-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.7.0/yugabytedb-anywhere-2024.2.7.0-b62-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.0/yugabyte-2024.2.7.0-b62-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.0/yugabyte-2024.2.7.0-b62-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.0/yugabyte-2024.2.7.0-b62-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.7.0/yugabyte-2024.2.7.0-b62-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.7.0-b62
```

### Improvements

#### YSQL

* Expands EXPLAIN (ANALYZE, DIST) output to include transaction type, enabling a more formal way to deduce transaction type. {{<issue 14804>}}
* Increases timeout for tserver catalog version wait to 30 seconds, reducing connection time outs. {{<issue 28978>}}
* Reduces peak memory usage in yb_active_session_history by filtering out rows more quickly. {{<issue 29089>}}

#### DocDB

* Adjusts the `wal_size` metric to include the size of the current active, writable segment, ensuring accurate reflection of on-disk size. {{<issue 15274>}}
* Adds logging to detect and inform if scheduled tasks in the reactor run slower than expected. {{<issue 24801>}}
* Adds ASH instrumentation to snapshots for better tracking of backup and snapshot bottlenecks. {{<issue 23200>}}
* Capture TCMalloc and MemTrackers stats in logs when exceeding the root memtracker soft memory limit for easier memory issues investigation. {{<issue 29050>}}
* Adds tablet replica SST and WAL size to master UI and sorts tablets by partition key. {{<issue 29407>}}

#### CDC

* Reduces logging levels in `CatalogManager::FindXReplStreamsMarkedForDeletion()` for cleaner logs. {{<issue 29637>}}

### Bug fixes

#### YSQL

* Allows setting YSQL configuration parameters to a whitespace empty value without causing error. {{<issue 27106>}}
* Ensures deletion of table entries without causing parsing failure due to empty strings. {{<issue 29240>}}
* Eliminates occurrence of negative cost estimates in new cost model due to integer overflow, enhancing plan choices. {{<issue 29685>}}
* Forces loading of index expressions during index creation to prevent missed updates and potential inconsistencies. {{<issue 28267>}}
* Fixes a regression bug that caused an OBJECT_NOT_FOUND error during an index alteration, ensuring smoother table modifications. {{<issue 28849>}}
* Restores distinct error messages for `kAbort` and `kConflict` errors for clearer troubleshooting. {{<issue 28157>}}
* Fixes an error where a join condition was incorrectly pushed down in a batched nested loop, preventing crashes during planning. {{<issue 28112>}}
* Prevents crashes during scalar array operations with arrays of dimension greater than two. {{<issue 29188>}}
* Reduces transient memory spikes during long running write queries by fixing intra-query memory leaks. {{<issue 29056>}},{{<issue 29057>}}
* Fixes a crash during commit on temporary tables when using the extended query protocol. {{<issue 29292>}}
* Restores legacy mode costing and path creation behavior, negating a side effect on row count estimation. {{<issue 29206>}}
* Mitigate frequent read restart errors when concurrently executing CREATE TEMP TABLE commands. {{<issue 29704>}}
* Removes stale server hashmap entries during connection manager reset phase to prevent errors. {{<issue 29527>}}
* Solves server connection issues when client disconnects ungracefully and data is still pending to be written. {{<issue 29301>}}
* Fixes connection manager crash during authentication due to double freeing of `msg` object. {{<issue 29195>}}

#### DocDB

* Changes prevent unnecessary node crashes due to network issues during remote bootstrapping process cleanup. {{<issue 28830>}}
* Prevents silent data loss by failing the clone when a table is altering instead of cloning without data. {{<issue 27621>}}
* Disables TryConsume usage by LogReader to prevent user operations from being incorrectly blocked due to a bug. {{<issue 29095>}}
* Handles thread creation failure properly and falls back to RPC mechanism when thread cannot start. {{<issue 28968>}}
* Allows transaction table deletion by updating transaction versions only on live tablet servers. {{<issue 29067>}}
* Allows namespace_id to be correctly copied in TableInfo constructors to prevent empty return values. {{<issue 28478>}}
* Adjusts active log segment size tracking for accurate `wal_size` metric when reusing existing segments. {{<issue 28720>}}
* Ensures that failed ALTER TABLE statements roll back even in the event of a master crash. {{<issue 27021>}}
* Moves startup tablet cleanup to a background thread to prevent server crash during simultaneous server shutdown and tablet cleanup. {{<issue 29022>}}
* Allows DBIter fast next mode to correctly handle backward iteration to prevent process crashes. {{<issue 28960>}}
* Adjusts root memory tracker to prevent overestimation of consumption, avoiding false memory limit hits. {{<issue 29094>}}
* Fixes a bug in DBIter fast mode that caused process crashes during unique index back in HasDuplicateUniqueIndexValueBackward. {{<issue 28960>}}
* Disables intent filtering during bootstrap to avoid incorrect transaction filtering. {{<issue 29664>}}
* Truncates user and database names longer than 64 characters to prevent buffer overflow. {{<issue 29331>}}
* Avoids TCP deadlock by not using `od_write` in `od_frontend_remote_client`. {{<issue 29303>}}
* Prevents data loss by replacing `min_replay_txn_start_ht` with `min_replay_txn_first_write_ht` for improved transaction loading during bootstrap. {{<issue 29642>}}

#### CDC

* Reverts a commit due to a misunderstanding about the effects of failures when writing to the CDC state table. {{<issue 28014>}}
* Prevent loss of records due to bugs in the `PeerMessageQueue::ReadReplicatedMessagesForConsistentCDC` implementation. {{<issue 29060>}}
* Allows large transactions for unqualified tables to stream correctly, preventing the virtual WAL from getting stuck. {{<issue 28744>}}
* Fixes CDC issue with virtual WAL restart after a DDL, preventing record decoding failure. {{<issue 29136>}}
* Filters out data from rolled-back savepoints in CDC streaming, ensuring only valid data is received by CDC consumers. {{<issue 22817>}}
* Prevents the "Trying to fetch already GCed intents" error by correctly updating and managing checkpoints for child tablets after a tablet split. {{<issue 28840>}}
* Stops applying the LogReader memory limit to CDC, a setting intended only for xCluster. {{<issue 29066>}}
* Adds "Log index cache entry for op index not found" error to retryable errors in cdcsdk_virtual_wal. {{<issue 29061>}}
* Reverses changes to support savepoints due to an exposed bug, specifically for version 2025.2.0. {{<issue 29404>}}
* Reduces the frequency of log spam due to missing tablet warnings by changing logging parameters. {{<issue 28086>}}

## v2024.2.6.2 - December 22, 2025 {#v2024.2.6.2}

**Build:** `2024.2.6.2-b2`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.6.2/yugabytedb-2024.2.6.2-b2-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.6.2/yugabytedb-anywhere-2024.2.6.2-b2-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.2/yugabyte-2024.2.6.2-b2-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.2/yugabyte-2024.2.6.2-b2-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.2/yugabyte-2024.2.6.2-b2-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.2/yugabyte-2024.2.6.2-b2-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.6.2-b2
```

### Bug fix

#### YSQL

- Eliminates occurrence of negative cost estimates in new cost model due to integer overflow, enhancing plan choices. {{<issue 29685>}}

## v2024.2.6.1 - November 11, 2025 {#v2024.2.6.1}

**Build:** `2024.2.6.1-b2`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.6.1/yugabytedb-2024.2.6.1-b2-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.6.1/yugabytedb-anywhere-2024.2.6.1-b2-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.1/yugabyte-2024.2.6.1-b2-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.1/yugabyte-2024.2.6.1-b2-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.1/yugabyte-2024.2.6.1-b2-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.1/yugabyte-2024.2.6.1-b2-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.6.1-b2
```

### Bug fixes

* Fixes crash in Connection Manager when trying to create multiple connections where authentication failed. {{<issue 29195>}}
* Make connections sticky if hll_set_max_sparse() is set. {{<issue 26968>}}
* Fix issue with virtual WAL restart after DDL. {{<issue 29136>}}

## v2024.2.6.0 - October 31, 2025 {#v2024.2.6.0}

**Build:** `2024.2.6.0-b94`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.6.0/yugabytedb-2024.2.6.0-b94-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.6.0/yugabytedb-anywhere-2024.2.6.0-b94-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.0/yugabyte-2024.2.6.0-b94-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.0/yugabyte-2024.2.6.0-b94-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.0/yugabyte-2024.2.6.0-b94-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.6.0/yugabyte-2024.2.6.0-b94-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.6.0-b94
```

### Improvements

#### YSQL

* Ensures YSQL index backfill operations resume seamlessly after a master leader failover. {{<issue 6218>}}
* Removes the beta warning for the `ANALYZE` command starting in version 2024.2. {{<issue 25552>}}
* Adds support for deferred mode in `yb_read_after_commit_visibility` for writes. {{<issue 24940>}}
* Displays transaction type in EXPLAIN (ANALYZE, DEBUG) output. {{<issue 14804>}}
* Enhances row boundary settings for hash-partitioned tables using encoded DocKeys. {{<issue 28219>}}
* Introduces the `yb_fk_references_cache_limit` parameter to cap FK references cache entries at 65535. {{<issue 27739>}}
* Reduces master load by allowing auth backends to utilize the TServer cache during authorization checks. {{<issue 28144>}}
* Enables bounded staleness for PostgreSQL authentication backend cache using `pg_cache_response_trust_auth_lifetime_limit_ms`. {{<issue 28261>}}
* Sets stricter copyright enforcement for C++ files on master but reduces rule severity on backport branches. {{<issue 28602>}}
* Reduces master RPCs for PG auth backends by using TServer cache. {{<issue 28144>}}
* Avoids unnecessary memory spikes and ensures freshest catalog data for relationship cache initialization. {{<issue 28144>}}
* Streamlines request pagination in scans for consistent behavior across all directions. {{<issue 27738>}}
* Adds new YSQL configuration parameter `yb_enable_cbo=legacy_ignore_stats_bnl_mode`. {{<issue 28703>}}
* Adds a flag `ysql_enable_scram_channel_binding` to enable SCRAM with channel binding. {{<issue 28108>}}
* Enables viewing tcmalloc memory statistics for the connection manager. {{<issue 28371>}}
* Enhances CM decision-making by always using a custom ParameterStatus packet. {{<issue 28012>}}
* Allows setting YSQL configuration parameters to whitespace empty values without causing errors. {{<issue 27106>}}

#### DocDB

* Limits TServer crashes by capping log reader memory usage in xCluster replication. {{<issue 28124>}},{{<issue 22992>}}
* Enhances on-disk size metrics to include snapshots, improving cluster balancer accuracy. {{<issue 28010>}}
* Adds new wait events for ASH instrumentation to identify bottlenecks during bootstrap. {{<issue 23198>}}
* Limits TServer crashes by capping log reader memory usage in xCluster replication. {{<issue 28124>}}
* Fixes a vulnerability allowing incorrect database row access or modification. {{<issue 25330>}}
* Ensures AuthOK messages are sent immediately to clients, simplifying future changes. {{<issue 27825>}}
* Allows users to specify SSL ciphers and minimum TLS version on webserver ports. {{<issue 27375>}}
* Temporarily disables TryConsume feature in LogReader to prevent incorrect blocking of user operations due to a memory bug. {{<issue 29095>}}

#### CDC

* Displays replica identity map in `list_change_data_streams` output. {{<issue 28646>}}
* Enhances error propagation from `GetChanges` to clients for more transparency. {{<issue 28033>}}
* Handles error propagation from CDC to client for missing footer in segments. {{<issue 28592>}},{{<issue 22992>}}
* Prevents LogReader memory limit from being wrongly applied to CDC, avoiding crashes during WAL resume. {{<issue 29066>}},{{<issue 28898>}}

### Bug fixes

#### YSQL

* Ensures `TimeZone` is not lowercased in connection manager for correct pgJDBC interpretation. {{<issue 28537>}}
* Avoids segmentation faults in ASH queries by initializing wait states to `kIdle` instead of `kUnused`. {{<issue 28303>}}
* Enables accurate tablespace dependency tracking for tables moved via `ALTER TABLE SET TABLESPACE`. {{<issue 26995>}}
* Disables writes to role profile tables during YSQL upgrades to prevent errors. {{<issue 28016>}}
* Ensures the correct renew strategy for `IsRenewRequired` works as expected. {{<issue 28226>}}
* Ensures `yb_enable_cbo` correctly activates when legacy YSQL configuration parameters are ON. {{<issue 28156>}}
* Adds options to enable pre-2024.1 BNL cost behavior in non-CBO mode. {{<issue 28222>}}
* Reduces unnecessary catalog version increments for renames on temporary relations. {{<issue 28477>}}
* Fixes crashes when locking rows in temporary tables by setting the correct transaction state. {{<issue 27149>}}
* Fixes a regression bug that caused an `OBJECT_NOT_FOUND` error during an index alteration, ensuring smoother table modifications. {{<issue 28849>}}
* Fixes a memory leak by using condition variables for signal handling in the connection manager. {{<issue 28191>}}
* Prevents indefinite stalls in multi-route pooling by ensuring signals are broadcast across all routes. {{<issue 28283>}}
* Enables defining the maximum percentage of total YSQL connections for the connection manager. {{<issue 27701>}}

#### DocDB

* Ensures tablet server limits in the UI exclude dead or blacklisted nodes, providing accurate data metrics. {{<issue 27512>}}
* Prevents potential deadlocks in Raft operations by managing flusher state effectively. {{<issue 27531>}}
* Allows SST files with specific row or column TTLs to remain candidates for compaction. {{<issue 26014>}}
* Ensures tablet split handling on the consumer side does not cause incorrect mappings due to race conditions. {{<issue 28750>}}
* Eliminates redundant `rocksdb_block_cache_bytes_read` metrics to reduce noise and overhead. {{<issue 27017>}}
* Restores deletion of table info objects to prevent memory overload. {{<issue 23721>}}
* Enhances metrics to better estimate cluster balancing times and validate the accuracy of the balancing algorithm. {{<issue 23908>}}
* Enforces TLS v1.2 for secure webserver connections. {{<issue 28417>}}
* Preserves cluster balancer metrics correctly across all placements including read replicas. {{<issue 28366>}}
* Fixes issues with aborted transactions during promotions preventing stuck operations. {{<issue 27853>}}
* Increases data metric's capacity to handle over 4 GB for balancing. {{<issue 28500>}}
* Adds a memory tracker to monitor temporary memory used when reading WALs, preventing TServer crashes. {{<issue 28623>}}
* Adds CRC checksum to RPC calls to detect data corruption. {{<issue 18675>}}
* Reduces segmentation faults by isolating cascading timeout handling to auth processes. {{<issue 28206>}},{{<issue 28218>}},{{<issue 28231>}},{{<issue 28242>}}
* Eliminates stale hashmap entries on parse errors, enhancing protocol-level prepared statement handling. {{<issue 28576>}}
* Renames conflicting random number functions to prevent data race issues. {{<issue 28248>}}
* Avoids crashes and data races during shutdown by safely managing thread resources and memory clean-up. {{<issue 28415>}}

#### CDC

* Ensures unique sorting of batched shard records using `write_id` to prevent data loss. {{<issue 28166>}}
* Ensures only tables in a publication are checked for `CHANGE` replica identity. {{<issue 28629>}}
* Handles error propagation from CDC to client for missing footer in segments. {{<issue 28592>}}

## v2024.2.5.1 - September 11, 2025 {#v2024.2.5.1}

**Build:** `2024.2.5.1-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.5.1/yugabytedb-2024.2.5.1-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.5.1/yugabytedb-anywhere-2024.2.5.1-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.1/yugabyte-2024.2.5.1-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.1/yugabyte-2024.2.5.1-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.1/yugabyte-2024.2.5.1-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.1/yugabyte-2024.2.5.1-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.5.1-b1
```

### Bug fix

- Enforces TLS v1.2 for secure webserver connections. {{<issue 28417>}}

## v2024.2.5.0 - August 29, 2025 {#v2024.2.5.0}

**Build:** `2024.2.5.0-b59`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.5.0/yugabytedb-2024.2.5.0-b59-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.5.0/yugabytedb-anywhere-2024.2.5.0-b59-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.0/yugabyte-2024.2.5.0-b59-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.0/yugabyte-2024.2.5.0-b59-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.0/yugabyte-2024.2.5.0-b59-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.5.0/yugabyte-2024.2.5.0-b59-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.5.0-b59
```

### New feature

- [Ephemeral disk support](/v2024.2/deploy/checklist/#ephemeral-disks) {{<tags/feature/ea idea="2298">}}. Added support for ephemeral disks for on-premises universes to improve performance for read-heavy workloads.

### Improvements

#### YSQL

* Captures and returns per-RPC metrics for write operations. {{<issue 26086>}}
* Adds a constructor to `Result` class for simplified handling of convertible results. {{<issue 24911>}}
* Displays write RPC metrics in `EXPLAIN (ANALYZE, DIST, DEBUG)` output. {{<issue 26086>}}
* Displays TCMalloc and PGGate memory stats in `pg_log_backend_memory_contexts` for enhanced debugging. {{<issue 27879>}}
* Enables testing backup and restore processes with role checks in YBC. {{<issue 27267>}}
* Ensures all `COPY FROM` commands in a transaction block use one transaction unit. {{<issue 27061>}}
* Includes transaction isolation level in serialization error messages. {{<issue 28114>}}

#### DocDB

* Fixes overflow in `FormatBytesAsStr` to prevent large memory allocations. {{<issue 27924>}}
* Speeds up write operations by using `ScopedStatistics`, reducing TServer insert time. {{<issue 25602>}}
* Reduces thread usage by removing CDC-specific `yb_client` from `PgClientServiceImpl`. {{<issue 24145>}}
* Enables core dumps on FATAL errors with new flag `disable_core_dumps_on_fatal`. {{<issue 28007>}}

#### CDC

* Prevents data loss during restarts by not sending checkpoints if tablet safe time exceeds slot restart time. {{<issue 28014>}}

#### Other

* Allows users to specify SSL ciphers and minimum TLS version on webserver ports. {{<issue 27375>}}

### Bug fixes

#### YSQL

* Fixes errors and crashes when creating temporary tables with `ON COMMIT DROP`. {{<issue 27339>}}
* Resolves GCC 13 release build failures on Linux. {{<issue 27916>}}
* Switches to reading from the latest catalog during YSQL GUC processing to prevent "Snapshot too old" errors. {{<issue 26515>}}
* Disables automatic retries for `COPY FROM/TO` commands. {{<issue 28093>}}
* Assigns accurate query IDs to RPCs executed outside of executor hooks. {{<issue 24693>}}
* Fixes crash by initializing CacheMemoryContext during backend startup. {{<issue 27864>}}
* Prevents server crashes when multiple backend processes terminate while one holds a spinlock. {{<issue 27874>}}
* Supports accurate cost estimates for hypothetical indexes in both old and new models. {{<issue 22472>}},{{<issue 22473>}}
* Fixes crash when using planner hints with hypothetical indexes. {{<issue 27927>}}
* Prevents crashes during PostgreSQL backend exit when ASH is enabled. {{<issue 27964>}}
* Reverts recent changes to handle postmaster PANIC, improving stability during error scenarios. {{<issue 27874>}}
* Enhances pgaudit to skip auditing of relations without permissions, reducing logging errors and improving efficiency. {{<issue 28087>}}
* Resolves `pgaudit stack is not empty` errors and skips auditing for permission-less relations. {{<issue 28087>}}
* Enables `yb_db_admin` roles to set PL speculative execution parameters. {{<issue 28101>}}
* Ensures accurate catalog read counts for the first query in a session. {{<issue 28011>}}
* Ensures `yb_enable_cbo` correctly activates when legacy YSQL configuration parameters are ON. {{<issue 28156>}}
* Adds options to enable pre-2024.1 BNL cost behavior in non-CBO mode. {{<issue 28222>}}
* Prevents crashes by ensuring thread-safe rule de-referencing during route cleanup. {{<issue 28102>}}
* Prevents crashes by holding route locks until the server closes in multi-route pooling. {{<issue 27894>}}
* Prevents cascading timeouts during authentication lags in the connection manager. {{<issue 28080>}}
* Enhances stability for YSQL connection manager during COPY operations from Go drivers. {{<issue 28148>}}
* Fixes a memory leak by using condition variables for signal handling in the connection manager. {{<issue 28191>}}
* Prevents indefinite stalls in multi-route pooling by ensuring signals are broadcast across all routes. {{<issue 28283>}}
* Fixes crashes during `ysqlsh` connections with empty passwords under load. {{<issue 28174>}}

#### DocDB

* Fixes unnecessary error logs during transaction loading with CDC enabled. {{<issue 27986>}}
* Prevents thread metric data from disappearing over time. {{<issue 27955>}}
* Enhances the stability of document reads by validating key prefixes before processing. {{<issue 27923>}}
* Ensures safety by updating `TabletPeer::GetNamespaceId` to use `shared_tablet_safe`. {{<issue 27632>}}
* Ensures OID counters in cloned or restored databases avoid conflicts after table drops. {{<issue 27943>}}
* Prevents master crashes during index backfill by handling empty indexes correctly. {{<issue 27697>}}
* Adds a wait event for transactions with SERIALIZABLE READ ONLY DEFERRABLE. {{<issue 27836>}}
* Fixes placement logic to support wildcards in cloud info for tablet selection. {{<issue 27285>}}
* Fixes a bug to ensure correct data storage in PostgreSQL table cache requests. {{<issue 28001>}}
* Disables transaction trace logs when `FLAGS_txn_slow_op_threshold_ms` is set to 0 to prevent log spew. {{<issue 27996>}},{{<issue 28032>}}
* Reduces segmentation faults by isolating cascading timeout handling to auth processes. {{<issue 28206>}},{{<issue 28218>}},{{<issue 28231>}},{{<issue 28242>}}
* Enhances visibility of `ALTER ROLE ... SET` configurations across multiple databases. {{<issue 27945>}}

#### CDC

* Ensures CDC streams data for non-transactional YCQL tables correctly. {{<issue 28034>}}

## v2024.2.4.2 - December 16, 2025 {#v2024.2.4.2}

**Build:** `2024.2.4.2-b2`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.4.2/yugabytedb-2024.2.4.2-b2-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.4.2/yugabytedb-anywhere-2024.2.4.2-b2-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.2/yugabyte-2024.2.4.2-b2-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.2/yugabyte-2024.2.4.2-b2-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.2/yugabyte-2024.2.4.2-b2-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.2/yugabyte-2024.2.4.2-b2-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.4.2-b2
```

This is a YugabyteDB Anywhere-only release, with no changes to YugabyteDB.

## v2024.2.4.1 - August 20, 2025 {#v2024.2.4.1}

**Build:** `2024.2.4.1-b4`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.4.1/yugabytedb-2024.2.4.1-b4-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.4.1/yugabytedb-anywhere-2024.2.4.1-b4-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.1/yugabyte-2024.2.4.1-b4-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.1/yugabyte-2024.2.4.1-b4-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.1/yugabyte-2024.2.4.1-b4-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.1/yugabyte-2024.2.4.1-b4-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.4.1-b4
```

### Bug fixes

#### YSQL

* Resolves GCC 13 release build failures on Linux. {{<issue 27916>}}
* Prevents PostgreSQL process crashes on exit when ASH is enabled. {{<issue 27964>}}
* Prevents cascading timeouts during authentication lags in the connection manager. {{<issue 28080>}}
* Fixes crashes during `ysqlsh` connections with empty passwords under load. {{<issue 28174>}}
* Enhances stability for YSQL connection manager during COPY operations from Go drivers. {{<issue 28148>}}
* Prevents crashes by holding route locks until the server closes in multi-route pooling. {{<issue 27894>}}
* Fixes a memory leak by using condition variables for signal handling in the connection manager. {{<issue 28191>}}
* Prevents indefinite stalls in multi-route pooling by ensuring signals are broadcast across all routes. {{<issue 28283>}}
* Prevents crashes by ensuring thread-safe rule de-referencing during route cleanup. {{<issue 28102>}}
* Reduces segmentation faults by isolating cascading timeout handling to auth processes. {{<issue 28206>}},{{<issue 28218>}},{{<issue 28231>}},{{<issue 28242>}}

#### DocDB

* Prevents deadlocks by reverting an update that blocked rpc threads. {{<issue 27412>}}

#### CDC

* Ensures CDC streams data for non-transactional YCQL tables correctly. {{<issue 28034>}}

## v2024.2.4.0 - July 14, 2025 {#v2024.2.4.0}

**Build:** `2024.2.4.0-b89`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.4.0/yugabytedb-2024.2.4.0-b89-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.4.0/yugabytedb-anywhere-2024.2.4.0-b89-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.0/yugabyte-2024.2.4.0-b89-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.0/yugabyte-2024.2.4.0-b89-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.0/yugabyte-2024.2.4.0-b89-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.4.0/yugabyte-2024.2.4.0-b89-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.4.0-b89
```

### New feature

* [Connection Manager](/v2024.2/explore/going-beyond-sql/connection-mgr-ysql/).

    - Reduced the cost of binding logical to physical connections to improve performance and lower application-level latencies, specifically by optimizing the GUC workflow. {{<tags/feature/ea idea="2197">}}
    - Added SCRAM-SHA-256 [authentication method](/v2024.2/additional-features/connection-manager-ysql/ycm-setup/#authentication-methods) support for Connection Manager.

### Improvements

#### YSQL

* Enables speculative execution for certain PL statements to avoid unnecessary flushes, enhancing performance. {{<issue 27464>}}
* Reduces catalog version increments by optimizing auto-analyze batch processing. {{<issue 21546>}}
* Displays the number of rows removed by implicit index rechecks in the query plan. {{<issue 26827>}},{{<issue 27093>}}
* Enhances accuracy of cost modeling for backward index scans based on the `use_fast_backward_scan` flag. {{<issue 26991>}}
* Adds a new YSQL parameter `yb_enable_cbo` for safer query optimization without statistics. {{<issue 26868>}}
* Enables automatic logging of peak heap snapshots on backend exits for enhanced debugging. {{<issue 27487>}}
* Enables setting `ysql_yb_enable_cbo` flag on tserver for query optimization. {{<issue 27495>}}
* Enables conditional checks for role existence in `ysql_dump` outputs with the `dump_role_checks` flag. {{<issue 25887>}}
* Increases the timeout for detecting `pg_yb_catalog_version` mode from 10 seconds to 20 seconds. {{<issue 26990>}}
* Reduces query execution latency by optimizing GUC handling in Connection Manager. {{<issue 20939>}}

#### DocDB

* Adds data block consistency check to `sst_dump` tool. {{<issue 27233>}}
* Adds flag to allow tablet writes after a compaction failure. {{<issue 27269>}}
* Adds `remove_corrupt_data_blocks_unsafe` flag for `yb-ts-cli compact_tablet` command. {{<issue 27381>}}
* Ensures only voter peers are considered for leadership during a leader stepdown. {{<issue 27568>}}
* Upgrades OpenSSL to version 3.0.16 and enhances aarch64 support. {{<issue 27491>}}
* Displays RBS progress details on the master's Cluster Balancer UI page. {{<issue 26853>}}
* Enables file determination at compaction start by default. {{<issue 25113>}}
* Adds detailed cluster balancer warnings to the master UI page. {{<issue 26159>}}
* Enables conditional tracing of ASH events to conserve memory. {{<issue 27455>}}
* Displays cluster balancer tasks on the master UI page. {{<issue 26157>}}
* Streamlines tablespace validation by centralizing logic, enhancing future feature support. {{<issue 25202>}}
* Deprecates the `load_balancer_count_move_as_add` flag to simplify cluster balancing. {{<issue 26259>}}

#### yugabyted

* Corrects VCPU display in yugabyted UI for k8s deployments. {{<issue 26624>}}
* Adds an environment variable to show accurate CPU details in Kubernetes deployments. {{<issue 26624>}}
* Upgrades yugabyted UI TypeScript version to `5.0.4` for better package compatibility. {{<issue 26958>}}

### Bug fixes

#### YSQL

* Renames on unique constraints now update associated DocDB table names. {{<issue 26276>}}
* Disables neg hit optimization for inherited cache when minimal preload is on. {{<issue 27543>}}
* Enhances upgrades for indexes with hash column groups to correctly handle aliases and metadata. {{<issue 27629>}}
* Allows placement of table replicas in any specified region or zone using `*` wildcard. {{<issue 26671>}}
* Ensures secondary index scans remain consistent during concurrent deletes in YSQL. {{<issue 17159>}}
* Reduces sequence-related errors when using `ysql_conn_mgr_sequence_support_mode=pooled_with_currval_lastval`. {{<issue 27024>}}
* Fixes crash for UPDATE projections on partitioned tables with out-of-order columns. {{<issue 25147>}}
* Increases the default `ysql_output_buffer_size` to 1MiB to enhance query retries and reduce errors. {{<issue 22245>}}
* Ensures metadata consistency in upgraded indexes with renamed columns during YSQL major upgrades. {{<issue 26928>}}
* Fixes secondary index scan cost estimation on colocated tables. {{<issue 27214>}}
* Ensures YSQL statistics tables are saved and persist after a database restart. {{<issue 26758>}}
* Optimizes `ANALYZE` command for large rows, preventing RPC errors. {{<issue 27202>}}
* Fixes a memory leak in `yb_cancel_transaction` by freeing YbcStatus. {{<issue 27554>}}
* Ensures DROP COLUMN correctly rewrites child partitions when needed. {{<issue 27636>}}
* Ensures accurate EXPLAIN output for forward scans with aggregate pushdown. {{<issue 27642>}}
* Fixes crash by initializing CacheMemoryContext during backend startup. {{<issue 27864>}}

#### DocDB

* Prevents creation of tablespaces with duplicate placement blocks. {{<issue 23406>}}
* Prevents deadlocks and unresponsiveness during high-load schema changes by fetching table info asynchronously. {{<issue 26909>}}
* Reduces follower lag by ensuring consistent Raft config during tablet splits. {{<issue 26644>}}
* Extends cloning timeout for multi-region deployments to prevent premature timeouts. {{<issue 26626>}}
* Ensures accurate replication for transactional writes on xCluster range partitioned tables. {{<issue 27380>}}
* Ensures post-split compactions complete even if background compactions are in progress. {{<issue 27426>}}
* Ensures consistent data reads by setting propagated safe time only after successful operation replication. {{<issue 23696>}}
* Prevents incorrect query results due to invalid seek keys in internal iterator operations. {{<issue 27641>}}
* Eliminates duplicate MasterService metrics for improved monitoring clarity. {{<issue 25277>}}
* Prevents unbounded growth of the `recently_applied_map` by not adding read-only transactions, conserving memory. {{<issue 26666>}}
* Prevents data loss by ensuring databases are flushed before updating flush markers. {{<issue 26910>}}
* Ensures tablets remain effectively managed during transition from RF1 to higher replication factors. {{<issue 24575>}}
* Adjusts `DocRowwiseIterator` to correctly include nulls for `NULLS FIRST` sorting. {{<issue 27031>}}
* Ensures long-running reads access the correct schema version after updates and compactions. {{<issue 23427>}}
* Fixes compaction errors from schema version mismatches by storing missing-value info. {{<issue 27463>}}
* Fixes the issue of recording "query id 0" in Active Session History samples. {{<issue 26808>}}
* Blocks nonconcurrent index creation on xCluster replicated tables. {{<issue 27006>}}
* Enables `yb-pbc-dump` to decrypt and process encrypted protobuf files using specified keys. {{<issue 26917>}}
* Ensures `pg_locks` query reliability when a node is down by continuing to serve requests. {{<issue 27035>}}
* Ensures column ID continuity in backups by preserving `next_column_id`. {{<issue 27064>}}
* Enables YSQL tracing even when `pg_client_use_shared_memory` is active. {{<issue 27392>}},{{<issue 27537>}},{{<issue 27526>}}
* Ensures no deadlock when threads wait on PgResponseCache for query results. {{<issue 27412>}}
* Ensures accurate logging in PgAudit by using `strdup` to prevent garbage values. {{<issue 27108>}}
* Reduces memory usage by optimizing `pg_locks` with specific iterator settings and intent limits. {{<issue 27810>}}

#### CDC

* Ensures reliable CDC stream functionality during index creation, preventing schema packing errors. {{<issue 26891>}}
* Prevents deletion of child tablet entries during metadata cleanup. {{<issue 27069>}}
* Ensures hidden tablets are accessible during CDC stream fetches to prevent errors. {{<issue 26911>}}
* Optimizes CDC streams by sending a single BEGIN and COMMIT record for colocated tables. {{<issue 27248>}},{{<issue 2605>}}

## v2024.2.3.3 - August 11, 2025 {#v2024.2.3.3}

**Build:** `2024.2.3.3-b4`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.3.3/yugabytedb-2024.2.3.3-b4-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.3.3/yugabytedb-anywhere-2024.2.3.3-b4-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.3/yugabyte-2024.2.3.3-b4-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.3/yugabyte-2024.2.3.3-b4-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.3/yugabyte-2024.2.3.3-b4-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.3/yugabyte-2024.2.3.3-b4-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.3.3-b4
```

### Bug fix

#### CDC

* Ensures CDC streams data for non-transactional YCQL tables correctly. {{<issue 28034>}}

## v2024.2.3.2 - June 24, 2025 {#v2024.2.3.2}

**Build:** `2024.2.3.2-b6`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.3.2/yugabytedb-2024.2.3.2-b6-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.3.2/yugabytedb-anywhere-2024.2.3.2-b6-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.2/yugabyte-2024.2.3.2-b6-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.2/yugabyte-2024.2.3.2-b6-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.2/yugabyte-2024.2.3.2-b6-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.2/yugabyte-2024.2.3.2-b6-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.3.2-b6
```

### Bug fixes

#### YSQL

* Disables neg hit optimization for inherited cache when minimal preload is on. {{<issue 27543>}}

#### DocDB

* Prevents incorrect query results due to invalid seek keys in internal iterator operations. {{<issue 27641>}}
* Adjusts `DocRowwiseIterator` to correctly include nulls for `NULLS FIRST` sorting. {{<issue 27031>}}

## v2024.2.3.1 - June 13, 2025 {#v2024.2.3.1}

**Build:** `2024.2.3.1-b3`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.3.1/yugabytedb-2024.2.3.1-b3-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.3.1/yugabytedb-anywhere-2024.2.3.1-b3-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.1/yugabyte-2024.2.3.1-b3-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.1/yugabyte-2024.2.3.1-b3-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.1/yugabyte-2024.2.3.1-b3-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.1/yugabyte-2024.2.3.1-b3-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.3.1-b3
```

### Improvement

#### YSQL

* Enables speculative execution for certain PL statements to avoid unnecessary flushes, enhancing performance. {{<issue 27464>}}

### Bug fix

#### DocDB

* Ensures accurate replication for transactional writes on xCluster range partitioned tables. {{<issue 27380>}}

## v2024.2.3.0 - May 16, 2025 {#v2024.2.3.0}

**Build:** `2024.2.3.0-b116`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.3.0/yugabytedb-2024.2.3.0-b116-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.3.0/yugabytedb-anywhere-2024.2.3.0-b116-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.0/yugabyte-2024.2.3.0-b116-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.0/yugabyte-2024.2.3.0-b116-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.0/yugabyte-2024.2.3.0-b116-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.3.0/yugabyte-2024.2.3.0-b116-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.3.0-b116
```

### Highlights

This release brings significant enhancements focused on performance, flexibility, and operational improvements:

**Enhanced Query Performance with Parallel Queries** {{<tags/feature/ea idea="577">}}

Experience faster query execution on **colocated tables** with the introduction of [PostgreSQL's Parallel Queries](/v2024.2/additional-features/parallel-query/). This allows the database to leverage multiple CPU cores for quicker results. Support for sharded tables is coming soon.

**Greater Flexibility in Cross-Cluster Replication** {{<tags/feature/ea idea="2136">}}

Gain more control with the ability to temporarily enable write operations on xCluster Standby universes and read/write access on replicas in SQL [transactional mode](/v2024.2/architecture/docdb-replication/async-replication/#transactional). This exception-based access, configurable via a session-level configuration parameter, accommodates specific operational needs and tool integrations.

**Enhanced Data Privacy with PostgreSQL Anonymizer** {{<tags/feature/ea idea="1497">}}

YugabyteDB now includes the [PostgreSQL Anonymizer extension](/v2024.2/additional-features/pg-extensions/extension-pganon/), which allows you to mask or replace sensitive data (PII or commercially sensitive information) directly in the database.

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Improvements

#### YSQL

* Exempts walsender from YSQL backend checks to prevent index creation timeouts. {{<issue 26587>}}
* Enables viewing TCMalloc heap snapshots for PG backend processes via new YSQL functions. {{<issue 21851>}}
* Enhances `yb_servers` function to include `universe_uuid` for better cluster identification. {{<issue 25818>}}
* Enables pushdown of UUID and datetime types in mixed mode. {{<issue 26510>}},{{<issue 26511>}}
* Enables function pushdown for MOD, LIKE, ASCII, SUBSTRING in mixed mode upgrades. {{<issue 26512>}}
* Adds `enable_pg_anonymizer` flag for enabling the PostgreSQL anonymizer extension. {{<issue 26804>}}
* Displays index name for missing index row errors in `yb_index_check`. {{<issue 26819>}}
* Logs now detail the cause and context of read restart errors for better troubleshooting. {{<issue 24431>}}
* Limits output buffer to 8kB to ensure compatibility with certain clients. {{<issue 26744>}}
* Enables manual skipping of index backfill in YSQL with `CREATE INDEX NONCONCURRENTLY`. {{<issue 6237>}}
* Enables viewing length and bounds histograms in `pg_stats`. {{<issue 6237>}}

#### YCQL

* Allows setting `NULL` values in YCQL JSONB columns. {{<issue 5907>}}

#### DocDB

* Allows using intermediate CA certs in server cert files for node-to-node encryption. {{<issue 25972>}}
* Tracks ByteBuffer memory usage with `MemTracker`. {{<issue 26875>}}
* Allows adjusting `rocksdb_compact_flush_rate_limit_bytes_per_sec` without restarting the tablet server. {{<issue 25611>}}
* Cloning now uses the geographically closest TServer, reducing timeouts. {{<issue 26788>}}
* Enhances handling of expired snapshots by retrying deletion tasks automatically. {{<issue 25628>}}
* Enables tracking of thread metrics by specific thread pool names for enhanced monitoring. {{<issue 26656>}}
* Enhances maintainability by consolidating tablespace validation logic into `TablespaceParser`. {{<issue 25202>}}

#### CDC

* Reduces logging frequency for certain CDC errors to avoid clutter. {{<issue 26148>}}
* Advances CDC restart time even without new writes, controlled by `cdcsdk_update_restart_time_interval_secs` flag. {{<issue 25562>}}
* Enhances CDC restart time updates with more accurate timing control via the `cdcsdk_update_restart_time_interval_secs` flag. {{<issue 25562>}}
* Prevents table drop if it's part of a publication during logical replication. {{<issue 26659>}}
* Reduces `yb_walsender_poll_sleep_duration_empty_ms` from 1 second to 10 ms to speed up replication in sparse workloads. {{<issue 26733>}}

#### yugabyted

* Displays Voyager version in two lines and uses camel case in the UI labels. {{<issue 26465>}}
* Prevents empty issue types or names in Voyager UI. {{<issue 26627>}}

### Bug fixes

#### YSQL

* Reduces XID usage by generating one per `REFRESH MATERIALIZED VIEW CONCURRENTLY` operation. {{<issue 26205>}}
* Skips catalog version bump during in-place materialized view refresh. {{<issue 26154>}}
* Reduces read restart errors on concurrent writes to disjoint keys. {{<issue 25214>}}
* Enables testing of SECURITY LABEL with dummy_seclabel. {{<issue 25805>}}
* Ensures correct column mapping for partitioned tables during `INSERT ON CONFLICT` updates. {{<issue 14895>}},{{<issue 25521>}}
* Sets query ID for background workers earlier to ensure correct tracking. {{<issue 25952>}}
* Enhances estimation of result tuple size in edge cases, preventing division by zero errors. {{<issue 21828>}}
* Fixes memory leaks in the PostgreSQL anonymizer extension and optimizes test scheduling. {{<issue 25928>}}
* Fixes incorrect role name quoting in `ysql_dumpall`. {{<issue 25701>}}
* Ensures stable behavior in Connection Manager when using multiple connections. {{<issue 25958>}}
* Fixes `\d` command for indexes with spaces in their names. {{<issue 25711>}}
* Fixes issues with `INSERT ON CONFLICT DO UPDATE` to prevent secondary index corruption. {{<issue 25075>}}
* Modifies `ysql_dumpall` to combine `CREATE ROLE` and `ALTER ROLE` for effective role management. {{<issue 25608>}}
* Ensures stable operation of refresh materialized view during major upgrades. {{<issue 26297>}}
* Refactors FK cache management into a separate class for cleaner architecture. {{<issue 25431>}}
* Enhances index scans and partition pruning for BOOLEAN conditions. {{<issue 26266>}}
* Optimizes deferred FK constraint checks by reading ybctids at transaction end. {{<issue 25431>}}
* Enables setting follower reads YSQL configuration parameters anytime during a connection. {{<issue 25635>}}
* Fixes the error handling in INSERT ON CONFLICT statements when using read-committed transactions. {{<issue 25105>}}
* Enhances accuracy of seek-next estimation for index scans and paged results. {{<issue 22087>}}
* Refines cost model tuning using server-side execution times for more accurate query optimization. {{<issue 23709>}}
* Prevents crashes by handling non-variable expressions in single-row updates or deletes. {{<issue 26536>}}
* Prevents relcache reference leaks in `yb_get_ybctid_width`. {{<issue 24819>}}
* Optimizes cost modeling for primary index scans to assume sequential disk block fetching. {{<issue 26235>}}
* Introduces custom SQL error codes for better error handling in parallel queries. {{<issue 22353>}}
* Lowers default RPC message size limit to prevent overflow. {{<issue 26375>}}
* Enhances `yb_index_check` to verify materialized view indexes' consistency. {{<issue 26639>}}
* Enables ANALYZE command to gather top-level statistics for partitioned tables. {{<issue 23592>}}
* Corrects estimations for inner table scans in Batched Nested Loop Joins. {{<issue 26462>}}
* Fixes integer overflow in BNL cost estimation, preventing negative values. {{<issue 26463>}}
* Prevents unnecessary aborts of top-level transactions when only a subtransaction conflicts. {{<issue 26454>}}
* Fixes inaccurate row estimates in `yb_cost_bitmap_table_scan` by removing incorrect overwrites. {{<issue 25710>}}
* Fixes port conflict handling between Connection Manager and PostgreSQL. {{<issue 26443>}}
* Prevents restoring non-colocated databases as colocated during backup. {{<issue 26569>}}
* Adds a new YSQL configuration parameter `yb_neg_catcache_ids` to customize negative caching for catalog caches. {{<issue 26311>}},{{<issue 26358>}}
* Preserves enum sort order during backup and restore processes. {{<issue 26645>}}
* Enables geolocation costing in the new cost model with `yb_enable_geolocation_costing`. {{<issue 25967>}}
* Corrects the description for `ysql_yb_enable_ash` flag. {{<issue 26838>}}
* Ensures successful restoration of enum types from old backups by changing errors to warnings. {{<issue 26859>}}
* Logs now include odd `pg_enum` OID during restore to better trace issues with missing sortorder values. {{<issue 26859>}}
* Restores the call to `ScheduleCheckObjectIdAllocators` inadvertently removed. {{<issue 26902>}}
* Fixes a use-after-free bug in ysql_dump by copying tablegroup_name. {{<issue 26547>}}
* Separates read-after-commit tests into their own file. {{<issue 25452>}}

#### DocDB

* Fixes load balancing for rewritten tables in colocated databases. {{<issue 26262>}}
* Ensures tables no longer get stuck in HIDING state during failures. {{<issue 22159>}}
* Prevents resource waste by checking disk space before remote bootstrap operations. {{<issue 23987>}}
* Fixes deadlock in tablet servers using shared memory, preventing crashes. {{<issue 26672>}}
* Fixes a crash when `ProcessSupervisor` cannot restart a process. {{<issue 26731>}}
* Ensures yb-admin commands respect user-specified timeouts for table flushes and compactions. {{<issue 19957>}}
* Enhances transactional xCluster accuracy by using majority replicated OpId for ApplySafeTime calculations. {{<issue 26043>}}
* Ensures accurate `WaitForReplicationDrain` behavior by not mislabeling tablets as drained. {{<issue 25457>}}
* Enables cloning databases to any past time in the schedule's retention period. {{<issue 26293>}}
* Fixes handling of `db_max_flushing_bytes` to properly limit memory usage under high write loads. {{<issue 26916>}}
* Prevents unbounded growth of the `recently_applied_map` by not adding read-only transactions, conserving memory. {{<issue 26666>}}
* Prevents data loss by ensuring databases are flushed before updating flush markers. {{<issue 26910>}}
* Prevents false conflict detection in snapshot isolation operations. {{<issue 26142>}}
* Enables successful cloning of sequences to historical times by extending the `yb_disable_catalog_version_check` effect. {{<issue 25929>}}
* Enhances system table deletion during `ysql_upgrade` by ensuring clean removal from `SysTableInfoPB`. {{<issue 26595>}}
* Enhances leader lease handling to support multiple revisions during rapid leadership changes. {{<issue 19447>}}
* Stops tracking recently applied transactions if `use_bootstrap_intent_ht_filter` is set to false, reducing memory usage. {{<issue 26860>}}
* Prevents `yb-admin` crashes by correctly handling argument count for `create_database_snapshot`. {{<issue 26899>}}
* Prevents deadlocks during background compaction and transaction loading. {{<issue 26880>}}
* Improves error handling for shared memory operations in DocDB. {{<issue 26740>}}
* Removes 60-second timeout upper bound on admin RPCs and adds new `yb_client_admin_rpc_timeout_sec` flag. {{<issue 26722>}}

#### CDC

* Ensures only relevant transactional records are streamed, preventing `COMMIT` record errors. {{<issue 26861>}}
* Prevents CDC crashes by logging a warning for dropped indexes on colocated tables. {{<issue 26834>}}
* Prevents data loss by not streaming records during transaction load. {{<issue 26835>}}
* Ensures reliable CDC stream functionality during index creation, preventing schema packing errors. {{<issue 26891>}}

#### yugabyted

* Checks for chrony service before enabling clockbound during node start. {{<issue 26255>}}
* Preserves the universe key locally after enabling EAR for recovery scenarios. {{<issue 26552>}}

</details>

## v2024.2.2.5 - August 5, 2025 {#v2024.2.2.5}

**Build:** `2024.2.2.5-b2`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.5/yugabytedb-2024.2.2.5-b2-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.5/yugabytedb-anywhere-2024.2.2.5-b2-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.5/yugabyte-2024.2.2.5-b2-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.5/yugabyte-2024.2.2.5-b2-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.5/yugabyte-2024.2.2.5-b2-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.5/yugabyte-2024.2.2.5-b2-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.5-b2
```

### Bug fix

#### YSQL

* Prevents 'pgaudit stack is not empty' error for nested call statements, and enhances pgaudit by skipping audits of permission-less relations. {{<issue 28087>}}

## v2024.2.2.4 - May 19, 2025 {#v2024.2.2.4}

**Build:** `2024.2.2.4-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.4/yugabytedb-2024.2.2.4-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.4/yugabytedb-anywhere-2024.2.2.4-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.4/yugabyte-2024.2.2.4-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.4/yugabyte-2024.2.2.4-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.4/yugabyte-2024.2.2.4-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.4/yugabyte-2024.2.2.4-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.4-b1
```

This is a YugabyteDB Anywhere-only release, with no changes to YugabyteDB.

## v2024.2.2.3 - May 6, 2025 {#v2024.2.2.3}

**Build:** `2024.2.2.3-b1`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.3/yugabytedb-2024.2.2.3-b1-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.3/yugabytedb-anywhere-2024.2.2.3-b1-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.3/yugabyte-2024.2.2.3-b1-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.3/yugabyte-2024.2.2.3-b1-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.3/yugabyte-2024.2.2.3-b1-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.3/yugabyte-2024.2.2.3-b1-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.3-b1
```

This is a YugabyteDB Anywhere-only release, with no changes to YugabyteDB.

## v2024.2.2.2 - April 9, 2025 {#v2024.2.2.2}

**Build:** `2024.2.2.2-b2`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.2/yugabytedb-2024.2.2.2-b2-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.2/yugabytedb-anywhere-2024.2.2.2-b2-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.2/yugabyte-2024.2.2.2-b2-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.2/yugabyte-2024.2.2.2-b2-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.2/yugabyte-2024.2.2.2-b2-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.2/yugabyte-2024.2.2.2-b2-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.2-b2
```

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Bug fixes

#### YSQL

* Prevent timeouts by exempting the walsender process from the YSQL backend check so that the index creation can proceed without waiting for the walsender to catch up to the latest catalog version. {{<issue 26587>}}

</details>

## v2024.2.2.1 - March 11, 2025 {#v2024.2.2.1}

**Build:** `2024.2.2.1-b6`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.1/yugabytedb-2024.2.2.1-b6-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.1/yugabytedb-anywhere-2024.2.2.1-b6-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.1/yugabyte-2024.2.2.1-b6-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.1/yugabyte-2024.2.2.1-b6-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.1/yugabyte-2024.2.2.1-b6-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.1/yugabyte-2024.2.2.1-b6-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.1-b6
```

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Bug fixes

#### YSQL

* Reduces XID usage by generating one per `REFRESH MATERIALIZED VIEW CONCURRENTLY` operation. {{<issue 26205>}}
* Fixes issues with `INSERT ON CONFLICT DO UPDATE` to prevent secondary index corruption. {{<issue 25075>}}
* Ensures stable operation of refresh materialized view during major upgrades. {{<issue 26297>}}

#### DocDB

* Fixes load balancing for rewritten tables in colocated databases. {{<issue 26262>}}

#### yugabyted

* Checks for chrony service before enabling clockbound during node start. {{<issue 26255>}}

</details>

## v2024.2.2.0 - February 28, 2025 {#v2024.2.2.0}

**Build:** `2024.2.2.0-b70`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.2.0/yugabytedb-2024.2.2.0-b70-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.2.0/yugabytedb-anywhere-2024.2.2.0-b70-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.0/yugabyte-2024.2.2.0-b70-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.0/yugabyte-2024.2.2.0-b70-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.0/yugabyte-2024.2.2.0-b70-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.2.0/yugabyte-2024.2.2.0-b70-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.2.0-b70
```

### Known issue

yugabyted does not work under Docker in v2024.2.2.0.

### New features

#### Core Database

* Non-disruptive adding of indexes for xCluster - Adding an index to a database configured with bi-directional xCluster Replication (or other non-transactional xCluster Replication) is now a non-disruptive, no-downtime operation. <!-- IDEA-1536 -->
* Read committed isolation now {{<tags/feature/ga idea="IDEA-1099">}}. When a transaction runs on this isolation level, a query sees only data committed before the query began and never sees either dirty data or concurrent transaction changes committed during query execution. <!-- IDEA-1099 -->
* Execution for Queries using InsertOnConflict clause are optimized for efficient execution for YugabyteDB distributed architecture.  <!-- IDEA-1455 --> {{<tags/feature/ea idea="IDEA-1455">}}
* Support for synchronized sessions with export snapshot - Now supports pg_export_snapshot to offer consistent visibility of existing data across concurrent transactions and import using SET TRANSACTION by the current transaction. {{<tags/feature/tp idea="IDEA-1161">}} <!-- IDEA-1161 -->

#### CDC

* Support for LSN comparison across replication slots - Users are now will be able to add LSN type at the time of replication slot creation. This will enable users to compare two LSNs irrespective of the slots. <!-- IDEA-1830 -->  {{<tags/feature/ga idea="IDEA-1830">}}
* Support for ALTER TABLE operations on CDC-enabled tables, addressing a key limitation. Users can now modify the table schema even when the table is configured for Change Data Capture (CDC). <!-- IDEA-1642 --> {{<tags/feature/ga idea="IDEA-1642">}}

#### yugabyted

* yugabyted enables native support for enhanced time sync using ClockBound service. <!-- IDEA-1987 --> {{<tags/feature/ga idea="IDEA-1987">}}
* yugabyted enables support for IPV6. <!-- IDEA-1854 --> {{<tags/feature/ea idea="IDEA-1854">}}

#### YSQL

* Ensures cached plans correctly depend on user roles, addressing {{<cve "CVE-2024-10976">}}. {{<issue 25330>}}

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Improvements

#### YSQL

* Enables batching for INSERT ON CONFLICT with foreign key triggers. {{<issue 24649>}}

#### DocDB

* Enables safe index creation on bidirectional xCluster tables without halting operations. {{<issue 24884>}}

#### CDC

* Reduces unnecessary cleanup requests for logically replicated tables. {{<issue 25752>}}
* Reduces `cdcsdk_publication_list_refresh_interval_secs` to 15 minutes by default. {{<issue 25793>}}
* Enables automatic tablet splitting with logical replication by fixing hidden tablet deletion bugs. {{<issue 24918>}}
* Adds `cdcsdk_flush_lag` metric and fixes bugs in other CDC metrics. {{<issue 19445>}},{{<issue 25819>}}
* Limits the number of VirtualWAL instances per TServer with `cdc_max_virtual_wal_per_tserver` flag. {{<issue 25896>}}
* Adds parallel logical replication with consistent tablet subsetting under the `ysql_yb_enable_consistent_replication_from_hash_range` flag. {{<issue 25897>}}
* Reduces log verbosity in virtual WAL to prevent large log files. {{<issue 25739>}}
* Enables tests for optimized WAL reads in CDC for TSAN builds. {{<issue 24374>}}

#### yugabyted

* Displays universe UUID instead of a blank in the "Cluster Name" field on the yugabyted-ui settings page. {{<issue 25831>}}

### Bug fixes

#### YSQL

* Ensures DDL operations continue smoothly by retrying background tasks on polling errors. {{<issue 25708>}}
* Enables `pg_authid` table prefetching during login to reduce RPCs and prevent errors. {{<issue 25776>}}
* Ensures Batched Nested Loop joins correctly check for hashable join clauses. {{<issue 25917>}}
* Clears session state on retrying a query to avoid errors and conflicts. {{<issue 25105>}}
* Reverts `ALTER DATABASE RENAME` and `ALTER DATABASE OWNER` to global impact. {{<issue 25742>}}
* Fixes issues with `INSERT ON CONFLICT` queries using `SPI_execute_with_args`. {{<issue 25773>}}
* Fixes memory leaks and segmentation faults in YSQL Connection Manager. {{<issue 25718>}}
* Corrects a bug in YugabyteDB where using `yb_enable_expression_pushdown` on aggregates in trivial subqueries with `OFFSET 0` returned values from incorrect columns.  {{<issue 24512>}}
* Fixes potential negative cost calculations for large table scans by using `double` for estimates. {{<issue 25862>}}
* Prevents returning corrupt data for `INSERT ON CONFLICT` with `RETURNING` when read batching is enabled. {{<issue 25836>}}
* Enhances error transparency when dropping databases or users. {{<issue 21438>}}
* Enhances protocol flow for consistency in batched query executions using a new flag `ysql_conn_mgr_optimized_extended_query_protocol`. {{<issue 24898>}}
* Enables seamless execution of unnamed prepared statements across different backends. {{<issue 25577>}}
* Tracks sticky connection metrics on the Prometheus endpoint. {{<issue 25775>}}
* Eliminates segmentation faults caused by a bug in Odyssey's list iteration macro, which incorrectly handled NULL pointers and led to core dumps. {{<issue 25846>}}

#### DocDB

* Enhances transactional xCluster accuracy by using majority replicated OpId for ApplySafeTime calculations. {{<issue 26043>}}
* Prevents crash during transaction abort by adjusting lock handling. {{<issue 25689>}}
* Prevents xCluster failures caused by same-name table re-creation during non-DBScoped DR. {{<issue 25709>}}
* Upgrades tcmalloc and abseil to prevent crashes from `malloc_usable_size(nullptr)`. {{<issue 25948>}}

#### CDC

* Fixes metric lag by adding dummy entries for expired tablets. {{<issue 25550>}}
* Reduces log verbosity by changing the log level for virtual WAL destroy statements. {{<issue 25547>}}

#### yugabyted

* Adds `use_client_to_server_encryption` flag to secure login data. {{<issue 25332>}}

</details>

## v2024.2.1.0 - January 30, 2025 {#v2024.2.1.0}

**Build:** `2024.2.1.0-b185`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.1.0/yugabytedb-2024.2.1.0-b185-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.1.0/yugabytedb-anywhere-2024.2.1.0-b185-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.1.0/yugabyte-2024.2.1.0-b185-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.1.0/yugabyte-2024.2.1.0-b185-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.1.0/yugabyte-2024.2.1.0-b185-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.1.0/yugabyte-2024.2.1.0-b185-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.1.0-b185
```

### New features

#### Core Database

* Added support for [native connection pooling](/v2024.2/explore/going-beyond-sql/connection-mgr-ysql/). {{<tags/feature/ea idea="437">}} <!-- IDEA-437 -->
* The [CDC data now will be retained for 24 hours by default](/v2024.2/additional-features/change-data-capture/using-logical-replication/advanced-configuration/#retention-of-resources) in case the CDC client/consumer is offline. {{<tags/feature/ea idea="1171">}} <!-- IDEA-1171 --> <!-- DOC-603 is in review -->
* Disk Usage Metrics for Point in Time Recovery (PITR) and PIT Backup - [Metrics for disk storage consumed by retaining DB change history](/v2024.2/launch-and-manage/monitor-and-alert/metrics/cache-storage/#sst-files) (for PITR, or for Backup/Restore with PIT restores) are now tracked and available. {{<tags/feature/ga idea="422">}} <!-- IDEA-422 -->
* [Avoids updating columns which are included in any Index and Foreign key constraints when the columns values are  not changed](/v2024.2/reference/configuration/yb-tserver/#yb-skip-redundant-update-ops). {{<tags/feature/ga idea="1093">}} <!-- IDEA-1093 -->

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Improvements

#### YSQL

* Enables authentication via a specialized backend, enhancing security and reliability. {{<issue 24147>}},{{<issue 24427>}}
* Enables toggling authentication method in YSQL using the `ysql_conn_mgr_use_auth_backend` flag. {{<issue 24147>}}
* Prevents catalog version bumps on no-op `ALTER ROLE` commands, saving system resources. {{<issue 24390>}}

#### YCQL

* Tracks microsecond precision timestamps in YCQL with new metric `cql_microseconds_timestamps_used`. This tracking occurs if the `cql_revert_to_partial_microsecond_support` flag is true. {{<issue 24776>}}

#### DocDB

* Limits concurrent remote bootstraps per TServer using `load_balancer_max_inbound_remote_bootstraps_per_tserver` flag. {{<issue 2426>}}
* Reduces unnecessary attribute map creations during Prometheus metric aggregation. {{<issue 24405>}}
* Enhances RBS throttling by focusing on active fetch sessions and adjusts expiration logic. {{<issue 21563>}},{{<issue 24031>}}
* Skips schema validation for newly added tables in xCluster replication to handle schema changes. {{<issue 23078>}}
* Passes `automatic_ddl_mode` to xCluster pollers for enhanced replication handling. {{<issue 24091>}}
* Enables xCluster to handle non-colocated ALTER TABLE commands without pausing replication. {{<issue 23951>}}
* Replaces `ProducerSchemaPB` with `SchemaVersionsPB` for xCluster configurations. {{<issue 24901>}}
* Introduces the `rocksdb_determine_compaction_input_at_start` flag, allowing the selection of SST files for compaction when the task starts rather than when it's queued.  {{<issue 24541>}}

#### CDC

* Avoids caching IntentDB block reads for CDC to prevent redundant data access. {{<issue 24909>}}
* Automatically removes metrics when a CDC stream is deleted. {{<issue 24876>}}
* Speeds up tablet bootstrap under CDC by skipping initial WAL segments, controlled by `skip_wal_replay_from_beginning_with_cdc` flag. {{<issue 24516>}}
* Enables `kNoCacheQueryId` to prevent crashes during RocksDB operations. {{<issue 24516>}}

### Bug fixes

#### YSQL

* Enables `ALTER SEQUENCE` commands to change sequence name, schema, and owner without errors. {{<issue 17271>}}
* Disables in-place index updates by default to address index inconsistency issues. {{<issue 24672>}}
* Increases YSQL connection manager's thread stack size to 512 KB to prevent crashes on Alma 9 machines. {{<issue 24979>}}
* Enhances performance during nested loop joins by ensuring correct limit resets in colocated index scans. {{<issue 24560>}}
* Removes time sync service requirement from the prerequisites. {{<issue 24758>}}
* Fixes foreign key checks to avoid errors with unique indexes. {{<issue 24663>}}
* Enhances consistency and correctness of INSERT...ON CONFLICT queries via YBCTID infrastructure integration and index management. {{<issue 24692>}},{{<issue 24784>}}
* Re-enables in-place index updates by default after fixing related inconsistencies. {{<issue 24849>}}
* Ensures restart read time does not exceed the global limit to avoid inconsistent reads. {{<issue 24017>}}
* Accurately estimates the cost of partial index scans by including index conditions. {{<issue 24916>}}
* Reduces memory usage spikes by using a new memory context for `RelationBuildTriggers`. This change avoids high memory consumption when preloading `pg_trigger` data on schemas with many triggers. {{<issue 24951>}}
* Disables index update optimization by default to fix `ON CONFLICT UPDATE` issues. {{<issue 25075>}}

#### DocDB

* TServers now reject remote bootstrap requests for previously deleted tablets. {{<issue 24574>}}
* Sets a default 10MB max size for RocksDB MANIFEST files, now configurable via flags. {{<issue 11117>}}
* Enhances visibility for unexpected rate limiter sleep times in RBS (Remote Bootstrap) threads. {{<issue 24342>}}
* Eliminates inconsistencies by not including inactive tablets in `OpenTable` operations. {{<issue 24860>}}
* Switches pg_cron back to using standard `SIGTERM` handling for cleaner shutdowns. {{<issue 24658>}}
* Prevents crashes during compaction when `ysql_enable_packed_row` is off and existing packed rows are present. {{<issue 24545>}}
* Ensures consistent tablegroup assignments for colocated table backups without using explicit tablespaces. {{<issue 24809>}}
* Eliminates segmentation faults by ensuring `CleanupHiddenTables` holds a write lock during `Upsert`. {{<issue 24929>}}
* Fixes error for select queries in large tables by adjusting backward scan bounds. {{<issue 24824>}}
* Prevents fatal errors during multiple splits and PITR restores. {{<issue 25103>}}
* Reduces unnecessary checks when adding tables in alter replication requests. {{<issue 24164>}}
* Fixes shutdown path issues to prevent fatal errors during RPC completion. {{<issue 24524>}}
* Resolves scheduling of contentious waiters to the correct, larger RPC thread-pool. {{<issue 24478>}}
* Reduces latency by enhancing early resume of RPCs blocked on aborted transactions. {{<issue 24799>}}
* Adds a flag to limit multiple pending compactions for priority pools. {{<issue 24540>}}

#### CDC

* Allows sending a null "before image" for CDC if `cdc_send_null_before_image_if_not_exists` flag is true. {{<issue 18381>}}
* Enhances accuracy of transaction start time logging for better consistency in CDC. {{<issue 24521>}}
* Fixes memory leaks in the walsender's handling of transactions and file nodes. {{<issue 24788>}}
* Excludes expired or irrelevant entries from metrics calculations for more accurate reporting. {{<issue 24975>}}
* Ensures null values are now correctly captured in CDC before image records. {{<issue 22983>}}

</details>

## v2024.2.0.0 - December 9, 2024 {#v2024.2.0.0}

**Build:** `2024.2.0.0-b145`

**Third-party licenses:** [YugabyteDB](https://downloads.yugabyte.com/releases/2024.2.0.0/yugabytedb-2024.2.0.0-b145-third-party-licenses.html), [YugabyteDB Anywhere](https://downloads.yugabyte.com/releases/2024.2.0.0/yugabytedb-anywhere-2024.2.0.0-b145-third-party-licenses.html)

### Downloads

<ul class="nav yb-pills">
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.0.0/yugabyte-2024.2.0.0-b145-darwin-x86_64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS x86</span>
    </a>
  </li>
    <li>
    <a href="https://software.yugabyte.com/releases/2024.2.0.0/yugabyte-2024.2.0.0-b145-darwin-arm64.tar.gz">
      <i class="fa-brands fa-apple"></i>
      <span>macOS ARM</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.0.0/yugabyte-2024.2.0.0-b145-linux-x86_64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux x86</span>
    </a>
  </li>
  <li>
    <a href="https://software.yugabyte.com/releases/2024.2.0.0/yugabyte-2024.2.0.0-b145-el8-aarch64.tar.gz">
      <i class="fa-brands fa-linux"></i>
      <span>Linux ARM</span>
    </a>
  </li>
</ul>

**Docker:**

```sh
docker pull yugabytedb/yugabyte:2024.2.0.0-b145
```

### Highlights

We're excited to announce the [Early Access](/stable/releases/versioning/#early-access-ea) and [General Availability](/stable/releases/versioning/#general-availability-ga) of the following powerful new features in YugabyteDB aimed at simplifying operations, enhancing functionality, and improving performance.

**YugabyteDB Kubernetes Operator** {{<tags/feature/ea idea="831">}}

The [YugabyteDB Kubernetes Operator](/stable/quick-start/kubernetes/#yugabytedb-kubernetes-operator) is a powerful tool designed to automate deploying, scaling, and managing YugabyteDB clusters in Kubernetes environments. It streamlines database operations, reducing manual effort for developers and operators. For more information, refer to the [YugabyteDB Kubernetes Operator](https://github.com/yugabyte/yugabyte-k8s-operator) GitHub project.

**Active session history** {{<tags/feature/ea>}}

Get real-time and historical views of system activity by sampling session activity in the database. This feature can be used to troubleshoot performance issues effectively. For more information, refer to [Active Session History](/v2024.2/explore/observability/active-session-history/) (ASH) documentation.

**Instant database cloning** {{<tags/feature/ea>}}

[Instant database cloning](/v2024.2/manage/backup-restore/instant-db-cloning/) allows you to quickly create independent copies of your database for data recovery, development, and testing. Clones can be created in seconds, and initially consume no additional disk space because they share the same data files as the original database at creation but operate independently after that. Clones can be created as of now or at any time in the recent past (within a configurable history retention period), enabling developers to experiment without impacting production performance. This feature also provides a safety net for rapid recovery from accidental SQL or CQL human errors that cause data loss or corruption.

**pg_cron extension** {{<tags/feature/ga>}}

The [pg_cron extension](/v2024.2/additional-features/pg-extensions/extension-pgcron/) brings a cron-based job scheduler into the database. With pg_cron, you can schedule YSQL commands using familiar cron syntax, including jobs on intervals as fine as seconds. While pg_cron operates on a single node known as the pg_cron leader, the queries it schedules leverage the full resources of the distributed cluster. On node failure, leadership is automatically transferred, ensuring continuous availability and smooth scheduling operations.

**pg_partman extension** {{<tags/feature/ea>}}

Use the [pg_partman extension](/v2024.2/additional-features/pg-extensions/extension-pgpartman/) to create and manage both time- and serial-based (aka range-based) table partition sets. pg_partman simplifies managing table partitions based on time or serial IDs, automating their creation and maintenance. pg_partman is often used in combination with [pg_cron](/v2024.2/additional-features/pg-extensions/extension-pgcron/) for data lifecycle management, and specifically for managing data aging, retention, and expiration.

**Colocated tables with tablespaces** {{<tags/feature/ea idea="1104">}}

Starting this release, you can create [colocated tables with tablespaces](/v2024.2/additional-features/colocation/#colocated-tables-with-tablespaces). With this enhancement, you can now take advantage of colocated tables for geo-distributed use cases, eliminating the need for trade-offs between distributing data across specific regions. You enable the feature using the `ysql_enable_colocated_tables_with_tablespaces` flag.

**Improvement to backward scans** {{<tags/feature/ea idea="1326">}}

The performance of YSQL backward table scans (for example, a descending-sorted query occurs against a table that is sorted ascending) has been improved by up to 10x in this release. You enable the feature using the `use_fast_backward_scan` flag.

**Improved query performance by using shared memory for PG-to-TServer communication** {{<tags/feature/ga>}}

This enhancement significantly reduces communication overhead between the PostgreSQL backend and TServer, which plays a critical role in both read and write flows. We observed a 10+% increase in throughput and a 10+% decrease in latency in workloads like TPCC and YCSB. This improvement is particularly impactful in the following scenarios:

* Colocation. When queries are guaranteed to route to the tablet leader, communication overhead is minimized.
* Queries involving multiple round trips, such as paginated reads or unbatched requests, benefit from reduced latency.

This feature is controlled by the `pg_client_use_shared_memory` flag, which is enabled by default starting in v2024.2.0.

**New YB-TServer and YB-Master memory allocation settings** {{<tags/feature/ga>}}

YugabyteDB uses [memory division flags](/v2024.2/reference/configuration/yb-master/#memory-division-flags) to specify how memory should be divided between different processes (for example, [YB-TServer](/v2024.2/architecture/yb-tserver/) versus [YB-Master](/v2024.2/architecture/yb-master/)) on a YugabyteDB node as well as within processes. New v2024.2.0 universes created using yugabyted or YugabyteDB Anywhere use the recommended memory settings for YSQL (introduced in v2024.1) by default (the [--use_memory_defaults_optimized_for_ysql](/v2024.2/reference/configuration/yb-tserver/#use-memory-defaults-optimized-for-ysql) flag is set to true).

Also turned on by default is `--enforce_tablet_replica_limits`, which enforces tablet replica limits based on the memory allocated to per-tablet overhead across the universe. When turned on, any CREATE TABLE request that would create too many tablets returns an error, and tablet splitting is also blocked if the result would be too many tablets.

In addition, YugabyteDB will alert you if your system currently has too many tablets. If you are *upgrading* a universe, you may want to review your memory division settings and adjust them if desired; see [Best practices](/stable/develop/best-practices-develop/data-modeling-perf/#minimize-the-number-of-tablets-you-need).

### New features

* [xCluster support in yugabyted](/v2024.2/reference/configuration/yugabyted/#set-up-xcluster-replication-between-clusters). Adds support for setting up and managing xCluster replication between two clusters deployed using yugabyted.

* [Semi-automatic xCluster replication](/v2024.2/deploy/multi-dc/async-replication/async-replication-transactional/). Provides simplified management of YSQL transactional xCluster replication. xCluster management operations are now only required when adding and removing databases from replication. DDL changes can now be made by any database administrator or user with database permissions, and no longer require SSH access or intervention by an IT administrator.

* [xCluster observability](/v2024.2/yugabyte-platform/alerts-monitoring/alert-policy-templates/#xcluster-config-tables-are-in-bad-state). Improved ability for users to monitor xCluster metrics like Replication Lag, Safetime Lag, and replication errors. {{<tags/feature/ea>}}

* [Follower reads](/v2024.2/explore/going-beyond-sql/follower-reads-ysql/). Added support for setting `yb_read_from_followers=true` inside a transaction block using SET LOCAL. This allows greater convenience when setting follower reads for single transactions. You must set `yb_read_from_followers` before any statement is executed in the block.

* [Improved query performance](/v2024.2/reference/configuration/yb-tserver/#pg-client-use-shared-memory). Implemented shared memory for PostgreSQL to TServer communication to minimize latency and enhance query performance by reducing communication overhead. This enhancement is part of [Enhanced PostgreSQL compatibility mode](../../../reference/configuration/postgresql-compatibility/).

* [Precision Time Protocol (PTP) support](/v2024.2/deploy/manual-deployment/system-config/#configure-precision-time-protocol). PTP is a network protocol designed for highly accurate time synchronization across devices in a network. {{<tags/feature/tp>}}

* [AWS ClockBound support](/v2024.2/deploy/manual-deployment/system-config/#configure-clockbound). [ClockBound](https://github.com/aws/clock-bound) is an open source daemon that allows you to compare timestamps to determine order for events and transactions, independent of an instance's geographic location; it improves clock accuracy by several orders of magnitude. {{<tags/feature/tp idea="1807">}}

<!-- IDEA-1093 is moved to 2024.2.1
* [Skip column updates](/v2024.2/reference/configuration/yb-tserver/#yb-skip-redundant-update-ops). Avoids updating columns which are included in any index and foreign key constraints when the columns values are not changed. -->

* SELECT query performance. Enables the batching for locking the rows and thus helps improve the performance of the queries which lock more than 1 row using SELECT FOR UPDATE.
<!-- No docs needed-->

* Sequential scan speed. Improved ANALYZE and sequential scan performance by leveraging OS-level read-ahead, resulting in up to 8x faster ANALYZE operations.
<!-- IDEA-1878. Unsure about docs -->

* ALTER support. Added support for miscellaneous ALTER TABLE DDLs.
<!-- DOC-528 pending -->

* Catalog caching. Added ability to find catalog tables that can be pre-loaded to improve latency for the first query in a connection, or after a DDL change in the cluster. {{<tags/feature/ea>}}
<!-- DOC-526, won't make it to 2024.2 -->

* CDC connector on Confluent Hub. YugabyteDB CDC Connector is now available in Confluent Hub. {{<tags/feature/ea>}}
<!-- No docs needed-->

* [Connection pooling](/v2024.2/explore/going-beyond-sql/connection-mgr-ysql/). Added support for built-in connection pooling. {{<tags/feature/tp>}}

### Change log

<details>
  <summary>View the detailed changelog</summary>

### Improvements

#### YSQL

* Enhances logging for YSQL version mismatch errors and DDL operations. {{<issue 20084>}}
* Enables control over in-place index updates with `yb_enable_inplace_index_update`. {{<issue 20908>}}
* Allows use of `UNLOGGED` tables syntax, handling it as `LOGGED` with a warning. {{<issue 23895>}},{{<issue 23889>}}
* Reduces memory usage by compressing large catalog objects in catcache. {{<issue 21040>}}
* Enables DDL atomicity by default, enhancing schema version consistency. {{<issue 22097>}}
* Adds a new YSQL view for YCQL statement metrics to aid in query analysis and troubleshooting. {{<issue 20616>}}
* Displays distinct index columns directly in EXPLAIN output. {{<issue 20831>}}
* Enables controlled activation of the DDL atomicity feature during upgrades. {{<issue 21535>}}
* Enhances session management by updating read times more consistently. {{<issue 21623>}}
* Allows loading only `pg_shdepend` in `YbInitPinnedCacheIfNeeded` for cross-database DDLs. {{<issue 21635>}}
* Enables monitoring of YCQL statements through a new YSQL view, enhancing query analysis. {{<issue 20616>}}
* Enhances schema version consistency by re-invalidating table cache post-`ALTER TABLE` with DDL atomicity. {{<issue 21787>}}
* Adds new monitoring columns to `localhost:13000/statements` for enhanced tracking. {{<issue 21735>}}
* Enables logging for global-impact DDL statements that adjust all database catalog versions. {{<issue 21826>}}
* Sorts YSQL extensions into three specific directories for better organization. {{<issue 21897>}}
* Fixes schema version mismatch after `ALTER TABLE` in production builds, ensuring reliable schema updates. {{<issue 21787>}}
* Introduces the `yb_parallel_range_size` parameter to customize parallel range sizes. {{<issue 21928>}}
* Removes the unused `keep_order` field from `YbctidGenerator` for streamlined processing. {{<issue 21944>}}
* Introduces the `yb_enable_parallel_append` flag to disable parallel append and avoid exposing unannounced features. {{<issue 21934>}}
* Enhances code clarity and performance with style and logic refinements. {{<issue 22004>}}
* Enables creation of dummy vector indexes in YSQL with placeholder functionality. {{<issue 22195>}}
* Disallows move and copy operations for LWFunction to prevent misuse. {{<issue 22069>}}
* Streamlines and deduplicates logic for `ybgin` and `lsm` access methods, enhancing support for new index types. {{<issue 22195>}}
* Enables CREATE/DROP ACCESS METHOD grammar, supporting custom access methods and extensions. {{<issue 22364>}}
* Clarifies log messages for DDL atomicity in TableSchemaVerificationTask. {{<issue 22459>}}
* Eliminates duplicated logic for YSQL hidden column `ybrowid` handling. {{<issue 22536>}}
* Adds save and restore functionality for `ConsistentReadPoint` state. {{<issue 22597>}}
* Ensures consistent table names in backup/restore scenarios by not renaming DocDB tables during legacy rewrites. {{<issue 22802>}}
* Disables Python checks on all third-party PG extensions. {{<issue 23166>}}
* Simplifies coding in PgDml and related classes by streamlining parameters and functions. {{<issue 23192>}}
* Enables the optimizer to prefer backward scans when `FLAGS_use_fast_backward_scan` is enabled. {{<issue 22370>}}
* Adds new flags for role management in YSQL backups and restores. {{<issue 20972>}}
* Enhances code clarity and documentation for Batch Nested Loop Join logic. {{<issue 23407>}}
* Introduces a dedicated auth-backend for YSQL to handle connection authentication, enhancing security and streamlining the process. {{<issue 24147>}}
* Ensures correct error handling by adding a missing InvalidOid check in YSQL. {{<issue 24147>}}
* Enables authentication via a specialized backend, enhancing security and reliability. {{<issue 24147>}},{{<issue 24427>}}
* Enables toggling authentication method in YSQL using the `ysql_conn_mgr_use_auth_backend` flag. {{<issue 24147>}}

#### YCQL

* Adds error message for unsupported `GROUP BY` in YCQL; introduces flag to suppress it. {{<issue 13956>}}
* Resolves timestamp precision mismatches in YCQL, aligning inserts and index scans to millisecond precision. {{<issue 11052>}},{{<issue 23476>}}

#### DocDB

* Tracks and analyzes disk I/O by stack trace, enhancing debugging and system understanding. {{<issue 17993>}}
* Resolves a build failure that arose from a naming conflict in debug flags. {{<issue 17993>}}
* Blocks writes based on total bytes being flushed, not just memtable count. {{<issue 22571>}}
* Enables background DNS resolution to prevent RPC delays. {{<issue 22930>}},{{<issue 22311>}}
* Enhances load balancer to prioritize under-replicated tablets first. {{<issue 20263>}}
* Introduces a flag to toggle between new and legacy memory default settings. {{<issue 22161>}}
* Logs memory stack traces to help diagnose OOM errors, with configurable throttling. {{<issue 21396>}}
* Upgrades non-FIPS OpenSSL to 3.0.15 and removes CentOS 7 builds. {{<issue 24436>}}
* Prevents overloading by correctly categorizing bootstrapping tablets in load balancing. {{<issue 23487>}}
* Deprecates unused flags to reduce confusion and streamline configurations. {{<issue 20906>}}
* Ensures debug builds can restart from release builds for easier debugging. {{<issue 21093>}}
* Streamlines xCluster management by relocating specific table and stream mappings to `XClusterSourceManager`. {{<issue 21325>}}
* Enables faster backward scans in DocDB with new flags for optimization. {{<issue 19352>}}
* Enhances error messages for unset preview flags in `allowed_preview_flags_csv`. {{<issue 21484>}}
* Ensures `GetChangesForXCluster` does not return invalid safe times. {{<issue 21528>}}
* Adjusts TServer memory recommendations and adds new defaults based on node RAM size. {{<issue 20664>}}
* Adds usearch and fp16 libraries for enhanced vector indexing. {{<issue 21830>}}
* Ensures correct error messages are shown when creating tables or tablegroups. {{<issue 21760>}}
* Enables replication of DDL schemas and user settings across clusters. {{<issue 21848>}}
* Ensures early, clear error messages on timeouts by introducing a flag `are_nodes_safe_to_take_down_timeout_buffer_ms`. {{<issue 21855>}}
* Removes the "No active snapshot" warning log to streamline debugging. {{<issue 21911>}}
* Ensures DDLs are rerun exactly once by checking `replicated_ddls` before execution. {{<issue 21943>}}
* Streamlines xCluster stream creation by centralizing functionality in `XClusterClient::CreateXClusterStream<Async>`. {{<issue 22343>}}
* Adds `skip_producer_stream_deletion` flag to speed up xCluster DR failovers. {{<issue 22050>}}
* Reduces thread usage by reusing the server messenger for AutoFlags. {{<issue 22076>}}
* Reduces thread usage by reusing server processes in stateful service clients. {{<issue 22102>}}
* Enhances validation with `SCHECK_PB_FIELDS_NOT_EMPTY` to ensure PB fields are non-empty. {{<issue 22182>}}
* Ensures `DROP TABLE` operation with atomic DDL waits until the table is fully deleted. {{<issue 22184>}}
* Enhances extensibility by splitting `yb_xcluster_ddl_replication.c` into multiple files. {{<issue 22190>}}
* Removes deprecated xCluster JSON format to streamline functionality. {{<issue 22219>}}
* Blocks multi-statement DDL queries to prevent replication issues. {{<issue 22060>}}
* Reduces complexity in `catalog_manager` by relocating RPC endpoints to `MasterClusterHandler`. {{<issue 19715>}}
* Adds `read-time` option to `ysql_dump` help for point-in-time database dumps. {{<issue 21886>}}
* Renames flag to `xcluster_consumer_thread_pool_size` for clearer usage and efficiency. {{<issue 20305>}}
* Removes unnecessary locks in DeleteOrHideTabletsAndSendRequests to prevent deadlocks. {{<issue 22618>}}
* Adds column sorting to stack trace tracking UI for easier data analysis. {{<issue 22841>}}
* Introduces session-based in-memory table locking for improved concurrency control. {{<issue 23045>}}
* Uses table IDs instead of names for matching in xCluster DDL replication setup. {{<issue 23013>}}
* Speeds up backward scans for flat doc reader with packed row V2. {{<issue 22556>}}
* Reuses TServer `yb::client` in `CDCService` to reduce resource usage and fix optimization issues. {{<issue 22893>}}
* Standardizes xCluster client usage and streamlines client creation in `XClusterConsumer`. {{<issue 22908>}}
* Ensures replication setup is successful only if all components are healthy. {{<issue 22948>}}
* Displays `external_hybrid_time` in log-dump to detect xCluster target writes. {{<issue 22918>}}
* Adds `SOURCE_UNREACHABLE` and `SYSTEM_ERROR` enums to xCluster for better error reporting. {{<issue 22996>}}
* Allows requesting xCluster streams by producer table IDs for accurate replication setup. {{<issue 23013>}}
* Adds easier access and tracking controls to stack trace endpoints. {{<issue 22842>}}
* Renamed and relocated xCluster components to streamline management and functionality. {{<issue 23044>}}
* Removes deprecated namespace replication code, enhancing system performance. {{<issue 23046>}}
* Enhances pggate to recognize fast backward scan capabilities for better query cost estimation. {{<issue 22937>}}
* Ensures debug builds can restart from release builds by making column ID representations consistent. {{<issue 21093>}}
* Enhances flags UI by hiding invalid flags and empty categories. {{<issue 23308>}}
* Enables storing and loading vector index updates in DocDB. {{<issue 23377>}}
* Streamlines statistics management in `IntentAwareIterator`. {{<issue 23420>}}
* Speeds up backward scans by caching keys, enabling quicker and more efficient data retrieval. {{<issue 22372>}}
* Allows configuring tablet splits based on size ratios with `FLAGS_tablet_split_min_size_ratio`. {{<issue 21458>}}
* Simplifies tracking heartbeat processes by relocating code to `master_heartbeat_service.cc`. {{<issue 21899>}},{{<issue 19715>}}
* Simplifies clone state management by moving retry data to in-memory structure. {{<issue 22138>}}
* Streamlines heartbeat code management by relocating it to `master_heartbeat_service.cc`. {{<issue 21899>}},{{<issue 19715>}}
* Enhances code readability by moving heartbeat code to `master_heartbeat_service.cc`. {{<issue 21899>}},{{<issue 19715>}}
* Moves tcmalloc profiling code to the util directory for better organization. {{<issue 22258>}}
* Introduces `enable_rwc_lock_debugging` flag to control RWCLock debug logging. {{<issue 22807>}}
* Switches `CloneStateInfo` object handling to `std::shared_ptr` for future flexibility. {{<issue 23036>}}
* Ensures schema names are not empty in `YBTableName` settings. {{<issue 23371>}}
* Simplifies management by shifting certain managers from Catalog Manager to Master. {{<issue 22603>}},{{<issue 19715>}}
* Enhances visibility of the `hidden` state in Master/Tserver UI tables. {{<issue 22521>}}
* Reduces unnecessary reads during CQL INSERT operations with range keys. {{<issue 23330>}}
* Adds `pg_yb_logical_client_version` table to manage session configurations. {{<issue 23871>}}
* Adds an `ABORTED` state for failed clones in YugabyteDB. {{<issue 21054>}}

#### CDC

* Ensures CDC streams are not deleted when all associated tables are dropped. {{<issue 21419>}}
* Adds new `yb-admin` commands to manage CDC streams, including removing tables. {{<issue 22876>}},{{<issue 22773>}}
* Prevents tables with enum array columns from being added to CDC streams. {{<issue 22897>}}
* `yb_enable_cdc_consistent_snapshot_streams` flag is now default true and automatic. {{<issue 22984>}}
* Sets retention barriers on tablets during table creation for PG replication. {{<issue 21643>}}
* Allows changing and persisting the `cdcsdk_publication_list_refresh_interval_secs` flag value for safer LSN handling. {{<issue 21796>}}
* Allows configuring default replica identity for tables using the `ysql_yb_default_replica_identity` flag. {{<issue 22326>}}
* Enables toggling dynamic table addition in virtual WAL with `cdcsdk_enable_dynamic_table_addition` flag. {{<issue 22406>}}
* Uses replication slot names to differentiate between consumption models. {{<issue 22810>}}
* Supports creation of old model streams via yb-admin in upgraded environments. {{<issue 22894>}}
* Allows setting per-table replica identity for CDC streams using the `ysql_yb_enable_replica_identity` flag. {{<issue 21314>}}
* Suppresses NOTICE messages when setting `yb_read_time` from walsender. {{<issue 22379>}}
* Speeds up tablet bootstrap under CDC by skipping initial WAL segments, controlled by `skip_wal_replay_from_beginning_with_cdc` flag. {{<issue 24516>}}

#### yugabyted

* Ensures `RENAME DATABASE` accurately follows connection rules. {{<issue 21284>}}
* Tracks role changes accurately by using `role_oid` instead of `role`. {{<issue 21505>}}
* Enables tracking of single-use YSQL configuration parameters in Connection Manager. {{<issue 21757>}}
* Enhances session consistency by using `role_oid` for `session_authorization` in Connection Manager. {{<issue 21637>}}
* Enables sticky connections when setting specific YSQL configuration parameters. {{<issue 22957>}}
* Enhances stability by destroying control connections during configuration reloads. {{<issue 21516>}}
* Enables better handling of complex YSQL configuration parameters using sticky connections. {{<issue 21637>}}
* Adds a new `/pitr` endpoint and UI screen for listing scheduled PITRs. {{<issue 21355>}}
* Adds `upgrade_finalize` command to yugabyted CLI for post-upgrade tasks. {{<issue 21888>}}
* Enables flags directly on `yb-master` and `yb-tserver` for better setting accuracy. {{<issue 22061>}}
* Alerts users about version mismatches between nodes via the UI. {{<issue 21888>}}
* Deprecates Python 2 in yugabyted and shifts to Python 3. {{<issue 22072>}},{{<issue 21409>}}
* Enables scalable parsing of multi-valued flags in `yugabyted` without code duplication. {{<issue 22091>}}
* Corrects CPU usage calculation in the Sankey diagram. {{<issue 22125>}}
* Ensures startup parameters with spaces parse correctly with YSQL Connection Manager. {{<issue 22248>}}
* Allows specifying multiple data directories using `additional_data_dir` flag. {{<issue 22126>}}
* Enables management of xCluster replication using `yugabyted` commands. {{<issue 22349>}}
* Adds `permanent_uuid` to `:7000/api/v1/tablet-servers` for more reliable UUID retrieval. {{<issue 22532>}}
* Ensures accurate CPU usage metrics in the YCQL table by updating `prev_ticks_` each iteration. {{<issue 22910>}}
* Prevents errors during node restart when `data_dir` is missing from the configuration. {{<issue 23052>}}
* `collect_logs` now works even if `yugabyted` is not running. {{<issue 23210>}}

### Bug fixes

#### YSQL

* Fixes error for index with bool NULLS LAST in YSQL. {{<issue 22121>}}
* Fixes YSQL upgrade exception in single connection mode. {{<issue 22283>}}
* Allows YB Admins without superuser status to run `pg_locks`. {{<issue 23266>}}
* Ensures safe upgrades by verifying pggate compatibility before sending `Scanned Rows`. {{<issue 21229>}}
* Disables in-place index updates by default to address index inconsistency issues. {{<issue 24672>}}
* Fixes out-of-bounds memory error in HashAggregate with duplicate hash keys. {{<issue 21122>}}
* Eliminates memory leaks in the YSQL cache system for improved database stability. {{<issue 22262>}}
* Fixes memory leak affecting catalog cache refresh during upgrades. {{<issue 22262>}}
* Fixes memory leaks in `CacheMemoryContext` to stabilize cache memory size after refresh. {{<issue 22262>}}
* Prevents YSQL DDL operations from returning control until related rollbacks complete. {{<issue 20033>}}
* Enhances index scan efficiency by modeling remote index filters in cost calculations. {{<issue 20635>}}
* Fixes issues with colocation in table rewrites and partitions. {{<issue 20302>}},{{<issue 20914>}}
* Renames `ddl_rollback_enabled` to `yb_ddl_rollback_enabled` for clarity. {{<issue 21480>}}
* Adds network latency to startup costs and fixes bug for small table costs. {{<issue 20898>}}
* Disables bitmap scans by default to prevent regressions with CBO. {{<issue 21479>}}
* Reduces unnecessary logging when `catalog_version_table_in_perdb_mode` is set to true. {{<issue 21481>}}
* Correctly identifies unbatchable filters in indexpath creation. {{<issue 21292>}}
* Enables control of optimizer statistics via the `ysql_yb_enable_optimizer_statistics` flag. {{<issue 21650>}}
* Fixes buffer overflow during `ALTER TABLE SET TABLESPACE` operation. {{<issue 21655>}}
* Resolves deadlock issues when deleting a table and its index concurrently in YB-Master. {{<issue 21663>}}
* Ensures consistent query results with JSONB columns by fixing recheck criteria in index scans. {{<issue 21451>}}
* Fixes query accuracy by ensuring RHS values fit the LHS data type in index conditions. {{<issue 21758>}}
* Blocks query layer retries for multi-statement queries to prevent unintended effects. {{<issue 21361>}}
* Fixes TServer startup to correctly maintain per-database catalog version mode. {{<issue 21850>}}
* Fixes a bug in index tuple width calculation for cost estimation. {{<issue 21892>}}
* Ensures RowCompareExpressions correctly enforce non-null column conditions. {{<issue 21847>}}
* Reduces schema version mismatch errors during consecutive DDL statements with atomicity enabled. {{<issue 21706>}}
* Enables consistent DDL execution across databases by fixing flag behavior. {{<issue 21706>}}
* Introduces `ysql_min_new_version_ignored_count` flag to prevent delays in TServer crashes when versions mismatch. {{<issue 21776>}}
* Resolves PostgreSQL process crashes on the "show all" command by correcting text description locations for the `yb_enable_ddl_atomicity_infra` parameter. {{<issue 21947>}}
* Fixes restarts of UPDATE ...RETURNING queries in debug builds. {{<issue 22010>}}
* Reverts naming from "Storage SQL" to "Remote SQL" in `postgres_fdw.c`. {{<issue 22070>}}
* Ensures ALTER TABLE operates correctly after rules are dropped with `old` rewrite off. {{<issue 22064>}}
* Ensures `pg_locks` displays correct table OID instead of relfilenode after table rewrites. {{<issue 22081>}}
* Resolves flag clashes by setting `YB_AT_REWRITE_ALTER_PRIMARY_KEY` to `0x8000`. {{<issue 22086>}}
* Fixes PostgreSQL crashes triggered by enabling `yb_debug_log_catcache_events`. {{<issue 22139>}}
* Enables backward parallel scans in YSQL for more flexible data querying. {{<issue 21633>}}
* Stops unnecessary CPU use and log warnings when YSQL is disabled. {{<issue 22213>}}
* Corrects log messages for successfully dropped columns to indicate "roll forward" instead of "rollback". {{<issue 22243>}}
* Enhances stability by modifying batch operation constraints for indexed queries. {{<issue 21954>}}
* Reduces crashes and allocation errors in specific join operations. {{<issue 21878>}}
* Reduces errors by giving BNL hashtable its own expression context. {{<issue 21266>}}
* Re-enables rechecking for RowCompareExpressions to enhance accuracy with NULL inputs. {{<issue 22075>}}
* Corrects style declaration of `YbDdlRollbackEnabled` to eliminate GCC errors. {{<issue 22334>}}
* Fixes an issue with invalid pointer usage in relation data loading. {{<issue 22342>}}
* Enhances `yb_get_range_split_clause` to handle decoding errors gracefully, preventing backup issues. {{<issue 22356>}}
* Fixes memory leaks in `ybcFetchNextHeapTuple` by properly freeing YBCStatus. {{<issue 22396>}}
* Stops the YSQL webserver properly on SIGTERM to prevent coredumps. {{<issue 18948>}}
* Adds warnings and errors for system catalog table misuse. {{<issue 22520>}}
* Fixes primary key inheritance when attaching partitions with `ALTER TABLE`. {{<issue 22562>}}
* Prevents OID collision by excluding OID 65535 for database allocation. {{<issue 22598>}}
* Skips relfilenode checks for parent partition tables in schema verification. {{<issue 22625>}}
* Enhances accuracy in backward prefix-based scans by removing `kGroupEnd` markers. {{<issue 22615>}}
* Removes an unused function to reduce confusion. {{<issue 22649>}}
* Ensures bitmap scans correctly recheck results using all necessary columns, preventing incorrect query results. {{<issue 22622>}}
* Corrects handling of `IN` expressions on single columns to prevent incorrect tuple path execution. {{<issue 22704>}}
* Corrects data type error in tuple range checks during scans. {{<issue 22800>}}
* Ensures creating shared relations during YSQL upgrade increments catalog version globally. {{<issue 22830>}}
* Adds a function to reset statistics collected by the ANALYZE command. {{<issue 22028>}}
* Fixes a bug to prevent crashes and errors by ensuring correct column numbers are used for recheck. {{<issue 22832>}}
* Fixes a deadlock issue during DDL operations by adjusting lock handling. {{<issue 22882>}}
* Eliminates false log errors in DDL operations by ensuring callback invocation correctness. {{<issue 22882>}}
* Adjusts handling of INCLUDE columns in index scans to ensure proper sorting. {{<issue 22822>}}
* Enhances the `EXPLAIN` command to accurately report subquery distinct index scans. {{<issue 22923>}}
* Enhances sequence cache uniqueness by using database and sequence OIDs together. {{<issue 22935>}}
* Fixes crash in `Values Scan` by repairing SubPlans in multi-row VALUES lists. {{<issue 22967>}}
* Enables faster inserts into tables with identity columns by optimizing single-shard transactions. {{<issue 22837>}}
* Fixes log formatting and memory deallocation in `yb_pclose_check`. {{<issue 23057>}}
* Resumes `drop column` operations if alterations miss the initial completion step. {{<issue 23100>}}
* Eliminates unnecessary wait for concurrent transaction completion in DEFERRABLE READ ONLY transactions. {{<issue 23120>}}
* Prevents TServer crashes by altering type lookup for certain SAOPs. {{<issue 23287>}}
* Blocks `REINDEX` and `TRUNCATE` on system tables using table rewrite. {{<issue 24356>}}
* Ensures parent partitioned tables correctly rewrite during operations, preventing backup/restore errors. {{<issue 24458>}}
* Assumes indexes contain 1000 rows when statistics are unavailable, ensuring better query planning. {{<issue 24496>}}
* Fixes foreign key checks to avoid errors with unique indexes. {{<issue 24663>}}
* Adds error prevention for pushed-down expressions that access the catalog cache. {{<issue 23401>}}
* Increases YSQL connection manager's thread stack size to 512 KB to prevent crashes on Alma 9 machines. {{<issue 24979>}}
* Fixes memory leaks in YSQL Connection Manager for improved stability. {{<issue 10065>}}
* Ensures xCluster YBClients connect using specified addresses by setting `skip_master_flagfile`. {{<issue 23145>}}
* Disables index update optimization by default to fix `ON CONFLICT UPDATE` issues. {{<issue 25075>}}

#### YCQL

* Stops automatic regeneration of deleted `cassandra` role on cluster restart. {{<issue 21057>}}

#### DocDB

* Enhances read latency measurement during remote bootstrap with compression adjustments. {{<issue 20848>}}
* Prevents data corruption by handling blind writes in heartbeat processing. {{<issue 21836>}}
* Avoids crashes from parsing invalid timestamps in LTO builds by updating exception handling. {{<issue 22191>}}
* Eliminates unnecessary flush during snapshot deletion, preventing write blocks. {{<issue 22369>}}
* Resolves deadlocks in xCluster setup by standardizing lock order. {{<issue 22376>}}
* Ensures scans honor set timeouts to avoid indefinite read operations. {{<issue 21829>}}
* Enables restores to times just before the oldest snapshot in a schedule. {{<issue 21269>}}
* Ensures full xCluster error info is sent to masters post-failover. {{<issue 22624>}}
* Adds validation to prevent deletion of snapshots used in restores and vice versa. {{<issue 23055>}}
* Prevents server crashes during table truncation by safely shutting down iterators before releasing locks. {{<issue 23243>}}
* TServers now reject remote bootstrap requests for previously deleted tablets. {{<issue 24574>}}
* Sets a default 10MB max size for RocksDB MANIFEST files, now configurable via flags. {{<issue 11117>}}
* Ensures creating an index fails if it can't be added to transactional replication. {{<issue 21732>}}
* Enables `ysql_skip_row_lock_for_update` as an auto-flag to ensure safe upgrades. {{<issue 22057>}}
* Eliminates inconsistencies by not including inactive tablets in `OpenTable` operations. {{<issue 24860>}}
* Ensures consistent memory usage estimation for write operations at bootstrap and runtime. {{<issue 21254>}}
* Now truncates error messages over 1KB in `AsyncRpc::Failed` to prevent crashes. {{<issue 21402>}}
* Ensures hidden tables and tablets are excluded from snapshot generation to prevent cloning issues. {{<issue 21631>}}
* Prevents crashes during leader changes by clearing old leader data properly. {{<issue 21808>}}
* Renames flag `min_secustomerent_size_to_rollover_at_flush` to specify units. {{<issue 21691>}}
* Adjusts the class of the `enable_automatic_tablet_splitting` flag to ensure xCluster compatibility. {{<issue 22088>}}
* Switches from `scoped_refptr` to `std::shared_ptr` to safely manage memory in TabletInfo, preventing use-after-free errors. {{<issue 18257>}},{{<issue 21139>}}
* Ensures cotable IDs match in snapshots and restores for colocated tablets. {{<issue 23047>}}
* Ensures replication consistency for new tables in colocated databases after T-server restarts. {{<issue 23188>}}
* Switches pg_cron back to using standard `SIGTERM` handling for cleaner shutdowns. {{<issue 24658>}}
* Ensures consistent tablegroup assignments for colocated table backups without using explicit tablespaces. {{<issue 24809>}}
* Eliminates fatal errors during tabletPB creation by ensuring atomic operations. {{<issue 21340>}}
* Prevents race conditions during WAL closure and consensus destruction. {{<issue 21564>}}
* Adds TSAN suppression for `boost::regex_match` to eliminate false positives. {{<issue 21585>}}
* Restores compilation on almalinux8 fastdebug gcc11. {{<issue 21536>}}
* Fixes metric attribute collisions and ensures correct metric types for tablets. {{<issue 21608>}}
* Avoids segmentation faults in `yb-master` by checking for null pointers before use. {{<issue 21648>}}
* Reduces logging redundancy during checkpoint operations to VLOG(1). {{<issue 21658>}}
* Blocks DML on databases exclusively under STANDBY xCluster mode. {{<issue 21245>}}
* Extends the lifecycle of the session in CDC State Table callback to prevent crashes. {{<issue 21103>}}
* Prevents duplicate connection destruction attempts during concurrent failures. {{<issue 21738>}}
* Enables viewing RPC bind addresses in the master leader UI. {{<issue 21959>}}
* Prevents node crash during WAL rotation if the log is closed. {{<issue 21769>}}
* Prevents crashes by ensuring background tasks aren't deleted prematurely during callbacks. {{<issue 21773>}}
* Ensures graceful shutdown by waiting for all callback completions in `PollTransactionStatusBase`. {{<issue 21773>}}
* Fixes compilation error on AlmaLinux 8 with gcc11 by initializing `prev_op`. {{<issue 21811>}}
* Fixes an incorrect TSAN suppression path for `boost::regex_match`. {{<issue 21585>}}
* Speeds up load balancer actions by allowing tablet additions on TS with pending deletes. {{<issue 21806>}}
* Enhances stability by handling RPC shutdowns and task aborts more effectively. {{<issue 21917>}}
* Prevents crashes during remote bootstrap with non-leader peers by enhancing session handling. {{<issue 22007>}}
* Delays `min_running_ht` initialization until after tablet bootstrap completes. {{<issue 22099>}}
* Ensures `skip_table_tombstone_check` is set for colocated tables. {{<issue 22115>}}
* Prevents crashes during catalog reloads by safely handling null `cluster_config_`. {{<issue 21775>}}
* Reduces the interval for tablet server metrics heartbeat to prevent misreporting leaderless tablets. {{<issue 22189>}}
* Reduces resource usage by reusing server `yb_client` in xCluster Consumer. {{<issue 22845>}}
* Fixes `pg_locks` to handle lock queries without specified transactions correctly. {{<issue 22181>}}
* Clarifies flag descriptions for memory division as a percentage of the hard memory limit. {{<issue 22423>}}
* Restores functionality of CI builds on GCC 12, debug AlmaLinux 9. {{<issue 22501>}}
* Ensures xCluster DDL replication captures the actual user's role, not the superuser. {{<issue 22514>}}
* Enhances logging for MemTable flushes to track memory limits more effectively. {{<issue 22737>}}
* Prevents corrupted characters in Prometheus metric descriptions during scrapes. {{<issue 22767>}}
* Fixes column drop cascading when dependent objects are dropped. {{<issue 22874>}}
* Enhances YSQL version upgrade process by refining master branch coding. {{<issue 23079>}}
* Adds flag to disable intent filtering during bootstrap to prevent data corruption. {{<issue 23184>}}
* Allows large byte requests on RateLimiter by breaking them into smaller chunks. {{<issue 23173>}}
* Restores the missing home icon in the master UI navigation bar. {{<issue 23275>}}
* Disables the `read-time` option in `ysql_dump` help to ensure correct DDL handling. {{<issue 23299>}}
* Enables `yb-admin` to correctly accept snapshot retention settings. {{<issue 23332>}}
* Resolves a build failure by removing unreachable code. {{<issue 23375>}}
* Renaming YSQL migration script from V60 to V59.1 ensures proper versioning and script ordering. {{<issue 24618>}}
* Fixes load balancer logic to correctly handle leader stepdown tasks. {{<issue 21834>}}
* Enhances system thread management for faster performance. {{<issue 21929>}}
* Deprecates the `enable_pg_savepoints` flag to prevent incorrect behaviors and enhance transaction reliability. {{<issue 29018>}}
* Prevents "schema version mismatch" errors after using DROP INDEX. {{<issue 22637>}}
* Ensures hidden split parent tablets are correctly represented as leaderless. {{<issue 21371>}}
* Ensures xCluster setup fails if the stream state update to `ACTIVE` fails. {{<issue 22601>}}
* Returns an empty response from `pg_replication_slots` when `ysql_yb_enable_replication_commands` is false. {{<issue 23096>}}
* Eliminates unnecessary warning logs about cluster configuration versions. {{<issue 23119>}}
* Prevents FATAL errors after multiple splits and PITR restores. {{<issue 25103>}}

#### CDC

* Prevents memory leaks in the `GetChanges` RPC by deleting its MemoryContext. {{<issue 22328>}}
* Adds more debug logs to `ListReplicationSlots` for better debugging of CDC state issues. {{<issue 21652>}}
* Prevents new indexes and materialized views from being added to existing CDC streams. {{<issue 22808>}}
* Prevents non-eligible tables from being added to CDC streams, reducing resource usage. {{<issue 22876>}},{{<issue 22835>}},{{<issue 22773>}}
* Introduces new flag `cdcsdk_enable_identification_of_non_eligible_tables` for automatic identification of non-eligible tables in CDC streams, eliminating the need for manual master restarts for cleanup control. {{<issue 22876>}},{{<issue 22835>}},{{<issue 22773>}}
* Ensures accurate server clock timestamps in logical replication XLogData. {{<issue 22929>}}
* Enhances accuracy of transaction start time logging for better consistency in CDC. {{<issue 24521>}}
* Fixes memory leaks in the walsender's handling of transactions and file nodes. {{<issue 24788>}}
* Enhances memory management in walsender by implementing deep freeing of record batches. {{<issue 21530>}}
* Adds debug logs in walsender for better issue investigation. {{<issue 21465>}}
* Reduces memory leaks in CDC streaming by managing record batches in a separate memory context. {{<issue 21530>}}
* Logs errors as warnings when cleaning up virtual WAL after logical replication ends. {{<issue 21651>}}
* Fixes directory creation for serialized transactions during replication. {{<issue 21765>}}
* Disables loading replication slots from disk on startup to prevent crashes. {{<issue 21841>}}
* Adds enhanced debug logs for easier CDC stress run troubleshooting. {{<issue 21780>}}
* Reduces unnecessary RPC calls for non-distributed transaction rollbacks. {{<issue 21519>}}
* Enhances restart LSN calculation accuracy by updating transaction tracking logic. {{<issue 21950>}}
* Removes `table_name` and `table_id` attributes from CDCSDK metrics to prevent TServer crashes. {{<issue 22142>}}
* Fixes segmentation faults in walsender by updating replica identities for dynamically added tables. {{<issue 22273>}}
* Ensures omitted values in logical replication are preserved by serializing the `yb_is_omitted` array. {{<issue 21946>}}
* Fixes premature tablet exclusion in CDC streams based on timeout settings. {{<issue 22383>}}
* Fixes a race condition in CDC dynamic table creation by checking tablet initialization. {{<issue 22408>}}
* Fixes incorrect removal of the `BEGIN` record in CDC streams when no DML changes occur. {{<issue 21646>}}
* Eliminates startup issues by always using the record's commit time for Walsender operations. {{<issue 22398>}}
* Adds support for CDC with dynamic OID data types like hstore and enum arrays. {{<issue 23179>}}
* Clears cached schema on re-fetch to ensure correct DDL records delivery. {{<issue 20698>}}

</details>
