Back to Yugabyte Db

What's new in the YugabyteDB v2025.1 STS release series

docs/content/stable/releases/ybdb-releases/v2025.1.md

2026.1.0.0-b25152.5 KB
Original Source

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

For an RSS feed of all release series, point your feed reader to the RSS feed for releases.

v2025.1.4.0 - April 20, 2026 {#v2025.1.4.0}

Build: 2025.1.4.0-b103

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://software.yugabyte.com/releases/2025.1.4.0/yugabyte-2025.1.4.0-b103-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/2025.1.4.0/yugabyte-2025.1.4.0-b103-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/2025.1.4.0/yugabyte-2025.1.4.0-b103-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/2025.1.4.0/yugabyte-2025.1.4.0-b103-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i> <span>Linux ARM</span> </a> </li> </ul>

Docker:

sh
docker pull yugabytedb/yugabyte:2025.1.4.0-b103

Improvements

YSQL

  • Ensures connection stickiness when using pg_replication_origin_session_setup. {{<issue 29842>}}
  • Enhances error hints for scenarios where databases are dropped and recreated. {{<issue 30319>}}
  • Enhances stability by using separate YbctidReader instances for different components. {{<issue 29781>}}
  • Reduces unnecessary index rebuilds during ALTER TYPE operations that don't require a table rewrite. {{<issue 24007>}}

YCQL

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

DocDB

  • 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>}}
  • Reduces log frequency to once per second for tablets stuck in bootstrapping. {{<issue 24566>}}
  • Suppresses error logs for missing files on deletion to streamline operations. {{<issue 29757>}}
  • Adds "DETAIL" prefix to Master and TServer log lines for clarity. {{<issue 29703>}}
  • 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>}}
  • Adds retries to FetchData RPC to handle intermittent network issues during remote bootstrapping. {{<issue 26217>}}
  • Adds a tablet_split_candidates metric for tracking unsplitted tablet counts. {{<issue 28958>}}
  • Defers promotion of peers from PRE_VOTER to VOTER until local bootstrap completes. {{<issue 29795>}}
  • Marks follower_unavailable_considered_failed_sec as a runtime flag. {{<issue 30123>}}
  • Fixes lock order inversion during table creation failures. {{<issue 30088>}}
  • Filters high-frequency logs to a new DETAIL_LEVEL without changing default log visibility. {{<issue 30307>}}
  • Logs ysql_dump output on script failure during DB cloning. {{<issue 29607>}}
  • Enables configuring read replicas at the tablespace level, enhancing data access flexibility. {{<issue 12180>}}
  • Reduces excessive logging in CDC service, transaction manager, and RocksDB operations. {{<issue 29581>}}
  • Increases the default value of FLAGS_num_advisory_locks_tablets to 3. {{<issue 30823>}}
  • Adds yb-admin command are_nodes_safe_to_take_down to check if nodes can be taken down without losing quorum. {{<issue 28020>}}
  • Enhances advisory lock table scalability by including all columns in the hash calculation. {{<issue 30660>}}

CDC

  • Reduces unnecessary Master load by not populating backend_xmin in pg_stat_get_activity. {{<issue 29747>}}
  • Reduces log clutter from YSQL logical replication by changing where private RPC addresses are logged. {{<issue 30630>}}

Bug fixes

YSQL

  • Reduces CPU usage in connection manager by improving epoll_* functions and fixing syntax errors. {{<issue 29827>}}
  • Fixes quoting for unique constraints during schema restores. {{<issue 29838>}}
  • Ensures accurate index updates in INSERT ... ON CONFLICT for partial indexes. {{<issue 30104>}}
  • Fixes issues with placement wildcards and leader preferences in tablespaces. {{<issue 29971>}}
  • Sets the default working directory for pg_upgrade to pg_upgrade_data, ensuring successful execution even when yb-master is run from a non-writable directory, and avoid common errors related to directory permissions. {{<issue 29172>}}
  • Ensures unique index backfills use consistent timestamps for write and read operations. {{<issue 30331>}},{{<issue 30312>}}
  • Automatically cleans up socket directories after a failed YSQL upgrade rollback. {{<issue 30420>}}
  • Prevents data inconsistency during index backfill by disabling in-place updates. {{<issue 30653>}}
  • Ensures fast path writes correctly observe recent distributed transactions. {{<issue 30551>}}
  • 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>}}
  • Maintains correct message order by buffering ParameterStatus updates. {{<issue 29884>}}
  • Simplifies the PgSession::RunAsync method signature for easier future modifications. {{<issue 26307>}}
  • Ensures object lock acquisition deadlines are computed in microseconds, preventing rounding errors for sub-second timeouts. {{<issue 29891>}}
  • Handles sync timeout more effectively during connection resets. {{<issue 29173>}}
  • Adds yb_ycql_utils to supported extensions for YSQL major upgrades. {{<issue 29973>}}
  • ysql_dump now correctly honors the PGHOST environment variable, prioritizing the -h flag. {{<issue 29976>}}
  • Adds synchronization wait time to prevent crashes on startup in clockbound mode. {{<issue 28377>}}
  • Fixes crashes during complex row comparisons in YSQL queries. {{<issue 29942>}}
  • Refines text linting rules by updating file exclusion patterns in .arclint. {{<issue 30190>}}
  • Adds a NOTICE for index rebuilds during ALTER TYPE operations. {{<issue 30416>}}
  • Enhances stability by using separate YbctidReader instances for different components. {{<issue 29781>}}
  • Disables top-level query retries if COMMIT occurs inside a procedure. {{<issue 30459>}}
  • Prevents PostgreSQL shutdown errors by cleaning up dangling pgstat entries on replication slot drops. {{<issue 30646>}}
  • Corrects parallel index scan rescan issues for accurate query results. {{<issue 29736>}}
  • Increases sleep duration during YSQL replication slot creation to handle clock skew. {{<issue 29481>}}

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>}}
  • Ensures YCQL backfill correctly checks for newer duplicate entries. {{<issue 30330>}}

DocDB

  • Ensures xCluster stability by using table_id to populate namespace_id in metadata, preventing issues from namespace renames. {{<issue 29901>}}
  • 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>}}
  • Fixes transactions to default to region-based locality during upgrades involving tablespace locality support. {{<issue 29645>}}
  • 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>}}
  • Resets full report sequence number on tserver re-registration to avoid data inconsistencies. {{<issue 30169>}}
  • Ensure file safety during checkpoints by explicitly flushing key files like MANIFEST and CURRENT. {{<issue 30146>}}
  • Fixes automatic tablet splitting when default_time_to_live is set to 0. {{<issue 29710>}}
  • Ensures unique index creation checks respect transaction write order correctness. {{<issue 30332>}},{{<issue 30312>}}
  • Fixes batch limits in Raft followers' catch-up process. {{<issue 30437>}}
  • Reduces false positives during tablet splits by not reapplying transactions already in the regular database. {{<issue 30334>}}
  • Prevents data loss during tablet splits by ensuring transactions commit correctly to child tablets. {{<issue 30555>}}
  • Fixes the "thread pool not ready" error during large transaction processing. {{<issue 30772>}}
  • Ensures correct syntax in CREATE INDEX statements with special options like colocation_id. {{<issue 29337>}}
  • Automatically cleans up discarded checkpoints to prevent disk full issues during remote bootstraps. {{<issue 29909>}}
  • Adds logging for database creation and deletion events in ysql_db_catalog_version_map. {{<issue 29476>}}
  • Limits the number of entries per trace to prevent memory bloat during long running operations. {{<issue 27334>}}
  • Ensures correct resetting of the wait state in the WAL appender thread. {{<issue 29586>}}
  • Adds a null check to prevent indefinite wait states in WAL appender threads. {{<issue 29586>}}
  • Skips parent tablet in data dumps for colocated tables. {{<issue 30220>}}
  • Fixes a race condition in kPgSession transactions to better detect deadlocks. {{<issue 30252>}}
  • Disables tablet splits during table hide operations to prevent state inconsistencies and lock leaks. {{<issue 29559>}}
  • Adds a tool to convert text protos to YugabyteDB binary format. {{<issue 30124>}}
  • Fixes static initialization order bugs for more reliable value constructions. {{<issue 30375>}}
  • Ensures failed transactions trigger early cleanup to prevent issues. {{<issue 30499>}}
  • Ensures unique index backfill doesn't encounter SnapshotTooOld errors. {{<issue 30329>}}
  • Ensures accurate tracking of all RPC rejections due to memory pressure. {{<issue 30616>}}
  • Uses the pgwrapper::PqEscapeLiteral function to escape literals in clone scripts. {{<issue 30694>}}

CDC

  • Fixes the issue where UPAM gets stuck for colocated tablets with indexes, ensuring continuity of CDC operations. {{<issue 30067>}}
  • Fixes endpoint verification failures by using DNS hostnames for local connections. {{<issue 29669>}}
  • Adds checks to handle cases where GetConsistentWALRecords returns zero WAL records near request deadlines, improving reliability in partially streamed transactions. The change also enables cdc_enable_savepoint_rollback_filtering by default, ensuring better support for Savepoint/Rollback operations in CDC. {{<issue 29396>}}

v2025.1.3.2 - February 26, 2026 {#v2025.1.3.2}

Build: 2025.1.3.2-b1

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://software.yugabyte.com/releases/2025.1.3.2/yugabyte-2025.1.3.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/2025.1.3.2/yugabyte-2025.1.3.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/2025.1.3.2/yugabyte-2025.1.3.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/2025.1.3.2/yugabyte-2025.1.3.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:2025.1.3.2-b1

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

v2025.1.3.1 - February 5, 2026 {#v2025.1.3.1}

Build: 2025.1.3.1-b2

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://software.yugabyte.com/releases/2025.1.3.1/yugabyte-2025.1.3.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/2025.1.3.1/yugabyte-2025.1.3.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/2025.1.3.1/yugabyte-2025.1.3.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/2025.1.3.1/yugabyte-2025.1.3.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:2025.1.3.1-b2

Bug fixes

YSQL

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

DocDB

  • Fixes tablet split validation to handle 0x0000 as an empty key for hash partitions. {{<issue 30062>}}

v2025.1.3.0 - January 16, 2026 {#v2025.1.3.0}

Build: 2025.1.3.0-b75

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

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

Docker:

sh
docker pull yugabytedb/yugabyte:2025.1.3.0-b75

Improvements

YSQL

  • Introduced a GUC to allow users to revert to the previous foreign key triggers snapshot mode, with caution advised. {{<issue 29362>}}
  • Query Diagnostics upgrades to Early Access status in version 2025.1 {{<issue 28959>}}
  • Refined type conversions in index backfill code for better consistency and safety. {{<issue 29038>}}
  • Optimized the PostgreSQL build process by removing the redundant and time-consuming install_wrapper.py. {{<issue 29714>}}
  • 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>}}

DocDB

  • Reworked the load balancer to not hold CatalogManager::mutex_ for each placement run, thus improving efficiency. {{<issue 29183>}}
  • Introduced InterprocessSharedMemoryObject and InterprocessMappedRegion to wrap boost::interprocess calls, converting exceptions to Status returns. {{<issue 27826>}}
  • Refactored mutex acquisitions in larger clusters to mitigate contention issues. {{<issue 29186>}}
  • Now captures TCMalloc and MemTrackers stats in logs when root memtracker soft memory limit is exceeded, aiding in memory issues investigation. {{<issue 29050>}}
  • Added tablet replica SST and WAL size to master UI and sorted tablets by partition key. {{<issue 29407>}}
  • 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>}}
  • Re-enables LogReader memory limit in xCluster following resolution of TryConsume bug. {{<issue 29252>}}
  • 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

  • Enhanced handling of empty strings in CatalogEntityPB to prevent parsing failures during table entry deletion. {{<issue 29240>}}
  • Introduced shared data feature for YSQL pggate in parallel leader and worker processes to ensure each operation has a unique serial number for better execution order control. {{<issue 23648>}}
  • 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>}}
  • Adjusted CatalogManager::GetYsqlCatalogConfig to use catalog_version_table_in_perdb_mode_ over ysql_enable_db_catalog_version_mode for accurate per-db mode representation. {{<issue 28690>}}
  • Implemented statement timeouts and interrupt checking in pggate, providing an upper bound for query or operation time and terminating if deadline is reached. Deprecated the unused flag pggate_rpc_timeout_secs. {{<issue 28863>}}
  • Fixed issue where unique index data was missing for colocated databases after restore, now preserving implicit tablegroup oid. {{<issue 28781>}}
  • Updates process exit behavior on pggate heartbeat failure during initialization. {{<issue 29242>}}
  • 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 an issue where running ALTER TYPE on a table with dependent indexes triggered double index creation, causing replication conflicts on xCluster targets. {{<issue 27741>}}
  • Fixed a bug that caused crashes when arrays of more than two dimensions are passed to a scalar array operation. {{<issue 29188>}}
  • Fixes are introduced to address intra-query memory leaks during long-running write queries, reducing transient memory spikes and improving memory allocation. {{<issue 29056>}},{{<issue 29057>}}
  • Fixed an issue with prepared statements on temporary tables when using extended query protocol. {{<issue 29292>}}
  • 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>}}
  • Fixed read restart error occurring during concurrent execution of CREATE TEMP TABLE. {{<issue 29704>}}
  • Refactored index backfill code in YSQL for improved readability and efficiency by standardizing field names and optimizing row reading process. {{<issue 29052>}}
  • Introduces a new flag ysql_yb_enable_update_reltuples_after_create_index to update reltuples for base table and index after CREATE INDEX, aligning with PostgreSQL behavior. {{<issue 25394>}}
  • 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 GUC yb_ignore_bool_cond_for_legacy_estimate, allowing setting via flag before upgrading from 2.20. {{<issue 29831>}}
  • 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>}}
  • Fixed an issue where connection manager could crash during authentication due to a double free error. {{<issue 29195>}}
  • Fixed an issue where bind packets were not forwarded to the backend in certain cases involving unnamed prepared statements. {{<issue 29935>}}

DocDB

  • Prevents sending of YBParsePrepareErrorResponse packet for unnamed prepared statements. {{<issue 29526>}}
  • Prevents TServer process crash and unusable PostgreSQL connections by correctly handling thread creation failure and falling back to RPC mechanism. {{<issue 28968>}}
  • Now only live tablet servers are contacted when updating transaction version, enabling deletion of transaction tables even if a tablet server is down. {{<issue 29067>}}
  • Fixed deadlock in MasterSnapshotCoordinator by modifying PopulateDeleteRetainerInfoForTableDrop to pass table_info to IsTabletCoveredBySnapshot. {{<issue 28679>}}
  • Resolved backup restore failures by changing the enable_export_snapshot_using_relfilenode autoflag from kLocalVolatile to kExternal, protecting format_version field changes in SnapshotInfoPB. {{<issue 27155>}}
  • Switched from using SIGQUIT to SIGINT to stop the PostgreSQL postmaster, preventing core dump generation at TServer startup. {{<issue 29670>}}
  • Introduces min_replay_txn_first_write_ht to address transaction data loss that occurred due to incorrect filtering of transactions on bootstrap. {{<issue 29642>}}
  • Fixes bug where ALTER TABLE statements would not roll back in case of master crash during the ALTER TABLE DDL operation. {{<issue 27021>}}
  • Resolved a race condition between server shutdown and tablet cleanup by moving startup tablet cleanup to a background thread and adding a check to avoid crashes if shutdown is in progress. {{<issue 29022>}}
  • Fixes a process crash that could occur during unique index checks due to incorrect functioning of DBIter's fast next mode with backward iteration. {{<issue 28960>}}
  • Resolved issues related to Read Committed transactions encountering kDeadlock errors, especially in cases involving advisory locks and DDL transactions. {{<issue 28593>}}
  • Implemented root memtracker adjustment to limit deviation from TCMalloc stats, avoiding overestimation and false triggering of memory limits. {{<issue 29094>}}
  • Switched from using SIGKILL to SIGQUIT and SIGINT for stopping postmaster process during lease loss and TServer shutdown respectively. {{<issue 28670>}}
  • 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>}}
  • Eliminated potential TCP deadlock in YSQL by changing to asynchronous write in od_frontend_remote_client. {{<issue 29303>}}
  • Truncate user and database names exceeding 64 characters to prevent buffer overflow during startup. {{<issue 29331>}}
  • Modified od_write function to prevent double free of mm_msg_t objects and enhanced machine_msg_free to handle NULL messages. {{<issue 29398>}}

CDC

  • Fixed issue in PeerMessageQueue::ReadReplicatedMessagesForConsistentCDC where WAL Ops were missed due to bugs in record reading and handling of approaching deadlines. {{<issue 29060>}}
  • Optimizes the WalSndWakeup function by returning early to prevent unnecessary spin lock acquisitions and core dump occurrences. {{<issue 28379>}}
  • Adds support to filter aborted subtransactions (rolled-back savepoints) in CDC streaming, making it consistent with the apply path. {{<issue 22817>}}
  • Fixed issue where child tablets wrongly inherited parent tablet's checkpoint after a tablet split, causing CDC stream failures. {{<issue 28840>}}
  • Fixed error in UpdatePeersAndMetrics for Sys Catalog tablet, improving handling of pg_publication_rel and pg_class tables. {{<issue 29140>}}

v2025.1.2.2 - December 17, 2025 {#v2025.1.2.2}

Build: 2025.1.2.2-b5

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

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

Docker:

sh
docker pull yugabytedb/yugabyte:2025.1.2.2-b5

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

v2025.1.2.1 - December 2, 2025 {#v2025.1.2.1}

Build: 2025.1.2.1-b4

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.2.1/yugabyte-2025.1.2.1-b4-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.2.1/yugabyte-2025.1.2.1-b4-darwin-arm64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS ARM</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.2.1/yugabyte-2025.1.2.1-b4-linux-x86_64.tar.gz"> <i class="fa-brands fa-linux"></i> <span>Linux x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.2.1/yugabyte-2025.1.2.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:2025.1.2.1-b4

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

v2025.1.2.0 - November 20, 2025 {#v2025.1.2.0}

Build: 2025.1.2.0-b110

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

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

Docker:

sh
docker pull yugabytedb/yugabyte:2025.1.2.0-b110

New features

  • CDC data now retained for 24 hours by default in case the CDC client/consumer is offline. {{<tags/feature/ga idea="1171">}}

  • Improved YSQL Connection Manager performance. 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/ga idea="2197">}}

Improvements

YSQL

  • Allows specifying colocation option for parent partition tables and splits parent partition tables into a single tablet. {{<issue 16209>}},{{<issue 27314>}}
  • Ensures YSQL index backfill operations resume seamlessly after a master leader failover. {{<issue 6218>}}
  • Adds extra locality info from PostgreSQL to TServer for better transaction categorization and performance. {{<issue 28270>}}
  • Enhances row boundary settings for hash-partitioned tables using encoded DocKeys. {{<issue 28219>}}
  • Enables integration of YSQL with PostgreSQL snapshot management for Repeatable Read isolation level. {{<issue 28333>}}
  • Add a new counter to track new connections performing catalog preloads, aiding in debugging. {{<issue 28538>}}
  • Sets stricter copyright enforcement for C++ files on master but reduces rule severity on backport branches. {{<issue 28602>}}
  • Adds the ability to display commit stats with the EXPLAIN command, helping users understand latency in multi-region workloads. {{<issue 26964>}}
  • Avoids unnecessary memory spikes and ensures freshest catalog data for relationship cache initialization. {{<issue 28144>}}
  • Enhances logging for tracking unexpected full catalog refreshes in YSQL. {{<issue 27387>}}
  • 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>}}
  • Set YSQL configuration parameter yb_read_after_commit_visibility to relaxed to avoid restart read required errors during yb_index_check. {{<issue 27288>}}
  • 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>}}
  • Allows preloading of RANGEMULTIRANGE to reduce cache misses when pg_range is preloaded. {{<issue 28991>}}
  • Fixes pg_total_relation_size to include index sizes, ensuring accurate and consistent size reporting across YugabyteDB's distributed storage. {{<issue 23181>}}
  • Displays storage flush reasons under debug logs for better query performance analysis. {{<issue 27588>}}
  • Reduces peak memory usage in yb_active_session_history by filtering out rows more quickly. {{<issue 29089>}}
  • Enables viewing tcmalloc memory statistics for the connection manager. {{<issue 28371>}}
  • Enhances CM decision-making by always using a custom ParameterStatus packet. {{<issue 28012>}}

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>}}
  • Allows transaction status tablets to be grouped by tablespace for future categorization of transactions. {{<issue 28269>}}
  • Adds support for tablespace-local localities, allowing transactions to use status tablets corresponding to a specific tablespace, improving data replication handling for geographically close regions. {{<issue 28273>}}
  • Limits TServer crashes by capping log reader memory usage in xCluster replication. {{<issue 28124>}},{{<issue 22992>}}
  • Renames TabletHarness to TabletTestHarness for clearer test code identification. {{<issue 28622>}}
  • Enables the use of CREATE TABLE AS SELECT (CTAS) in an xCluster replication setup. {{<issue 28718>}}
  • Adds new wait events for ASH instrumentation to identify bottlenecks during bootstrap. {{<issue 23198>}}
  • Converts xcluster_enable_ddl_replication from a preview flag to an kExternal flag. {{<issue 27831>}}
  • Adds ASH instrumentation to snapshots for better tracking of backup and snapshot bottlenecks. {{<issue 23200>}}
  • Allows tablespace-local transactions to write to tables in any contained tablespace without global promotion. {{<issue 28272>}}
  • Displays xCluster safe time on yb-master UI page for enhanced debugging. {{<issue 28910>}}
  • Adds server-level metrics to track the number of transactions started as global, region-local, and tablespace-local. {{<issue 28921>}}
  • Introduces two YSQL configuration parameters to control use of tablespace-local locality, offering workaround for suboptimal performance in certain cases. {{<issue 28604>}}
  • Calculates region locality on the TServer side for improved region local transactions handling. {{<issue 28828>}}
  • Reduces latency of YSQL write statements and lock-grabbing reads in distributed transactions by enabling asynchronous writes. {{<issue 28382>}}
  • Allows reads and writes to proceed without waiting for a full quorum acknowledgment, reducing YSQL write and read latencies. {{<issue 28320>}}
  • Adds upgrade check to detect and require removal of invalid indexes. {{<issue 28484>}}
  • Enables skipping network compression for SST files during remote bootstrap, improving latencies and scale-out times. {{<issue 28360>}}
  • Supports multi-statement DDLs and pg_partman, allowing you to capture exact DDL sub-queries and replicate them on the target cluster. {{<issue 28947>}}

CDC

  • Sets retention barriers on the sys catalog tablet during stream creation as a RAFT operation, enhancing data consistency. {{<issue 26423>}}
  • Promotes the flag ysql_yb_enable_implicit_dynamic_tables_logical_replication from a test to preview flag. {{<issue 26424>}}
  • Reverts a commit due to a misunderstanding about the effects of failures when writing to the CDC state table. {{<issue 28014>}}
  • Displays replica identity map in list_change_data_streams output. {{<issue 28646>}}
  • Enhances error propagation from GetChanges to clients for more transparency. {{<issue 28033>}}

Bug fixes

YSQL

  • Allows preservation of read time history to prevent "Bad read time serial" error during COPY operations in middle-commit scenarios. {{<issue 26365>}}
  • Allows users to preload pg_enum in ysql_catalog_preload_additional_table_list. {{<issue 28757>}}
  • Prevents YSQL major upgrade failure caused by inconsistent namespace mapping during a failed upgrade attempt. {{<issue 28815>}}
  • Allows yb-admin ysql_catalog_version command to return per-DB Catalog Version value for a provided database. {{<issue 28690>}}
  • Allows group and others read permission on initdb log files by hard coding the permission. {{<issue 28435>}}
  • Ensures TimeZone is not lowercased in connection manager for correct pgJDBC interpretation. {{<issue 28537>}}
  • Allows the use of PostgreSQL's snapshot management for foreign key triggers in YSQL, eliminating potential foreign key violations and enhancing data integrity. {{<issue 26163>}}
  • Disables writes to role profile tables during YSQL upgrades to prevent errors. {{<issue 28016>}}
  • Forces loading of index expressions during index creation to prevent missed updates and potential inconsistencies. {{<issue 28267>}}
  • Reduces RPCs by using Index Only Scan for INSERT ...ON CONFLICT ...DO NOTHING statements. {{<issue 28324>}}
  • Fixes crashes when locking rows in temporary tables by setting the correct transaction state. {{<issue 27149>}}
  • Reduces unnecessary catalog version increments for renames on temporary relations. {{<issue 28477>}}
  • Adds multi-snapshot execution mode to yb_index_check operation, reducing risk of Snapshot too old error on larger indexes. {{<issue 26283>}}
  • Deprecates the YSQL configuration parameter yb_make_next_ddl_statement_nonincrementing to enable incremental catalog cache refresh by default. {{<issue 28765>}}
  • 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>}}
  • Enables execution of DELETE and (re-)INSERT operations in a single flush for indexed JSONB columns, making updates less expensive. {{<issue 27948>}}
  • Adds a preflight check to fail upgrades if user-defined roles with the yb_ prefix exist, except yb_superuser. {{<issue 28977>}}
  • Enhances error message clarity when altering the primary key index owner. {{<issue 29001>}}
  • Corrects index-only scans in unbatched INSERT...ON CONFLICT...DO NOTHING queries for multi-column indexes. {{<issue 29109>}}

DocDB

  • Solves the reversed condition in the rpc_inbound_calls_failed metric, offering more metric information. {{<issue 28788>}}
  • Ensures tablet split handling on the consumer side does not cause incorrect mappings due to race conditions. {{<issue 28750>}}
  • Changes prevent unnecessary node crashes due to network issues during remote bootstrapping process cleanup. {{<issue 28830>}}
  • Allows removal of associated intentsdb keys during tablet startup to prevent potential pileup and slower queries. {{<issue 21831>}}
  • Add a test for cloning to a time before dropping a materialized view and a column in the base table. {{<issue 23740>}}
  • 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>}}
  • Allows namespace_id to be correctly copied in TableInfo constructors to prevent empty return values. {{<issue 28478>}}
  • Enables re-acquisition of object locks during statement retries in extended query mode execution. {{<issue 24877>}}
  • Prevents fatal errors in xCluster by ensuring all schema versions are present during replication. {{<issue 28326>}}
  • Fixes exclusive lock intents acquisition before shared memory setup. {{<issue 28595>}}
  • Object locks now respect yb_locks_min_txn_age and yb_locks_max_transactions settings. {{<issue 27851>}}
  • Fixes an issue where aborted transactions could get stuck with object locks. {{<issue 28520>}}
  • Adds CRC checksum to RPC calls to detect data corruption. {{<issue 18675>}}
  • Adds a memory tracker to monitor temporary memory used when reading WALs, preventing TServer crashes. {{<issue 28623>}}
  • Allows deletion of hidden tablets during point-in-time restores that are no longer in use. {{<issue 28704>}}
  • Reduces master_rpc_timeout_ms to 1.5s to lessen outages by quickly detecting dead/unavailable master nodes. {{<issue 28924>}}
  • Reduces Unable to find schema name for YSQL table errors and optimizes the retrieval of YSQL Table Oid. {{<issue 28793>}},{{<issue 27590>}}
  • Adjusts active log segment size tracking for accurate wal_size metric when reusing existing segments. {{<issue 28720>}}
  • Eliminates stale hashmap entries on parse errors, enhancing protocol-level prepared statement handling. {{<issue 28576>}} Alleviate restore failures by adjusting the 'enable_export_snapshot_using_relfilenode' autoflag from 'kLocalVolatile' to 'kExternal' and introducing backward compatibility for the 'yb_ignore_relfilenode_ids' YSQL configuration parameter. {{<issue 27155>}}

CDC

  • Ensures only tables in a publication are checked for CHANGE replica identity. {{<issue 28629>}}
  • Introduces the yb_ignore_read_time_in_walsender parameter for logical replication continuity during upgrades. {{<issue 27177>}}
  • Handles error propagation from CDC to client for missing footer in segments. {{<issue 28592>}}
  • 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>}}
  • 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>}}
  • Reduces the frequency of log spam due to missing tablet warnings by changing logging parameters. {{<issue 28086>}}

v2025.1.1.2 - October 20, 2025 {#v2025.1.1.2}

Build: 2025.1.1.2-b3

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.2/yugabyte-2025.1.1.2-b3-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.2/yugabyte-2025.1.1.2-b3-darwin-arm64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS ARM</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.2/yugabyte-2025.1.1.2-b3-linux-x86_64.tar.gz"> <i class="fa-brands fa-linux"></i> <span>Linux x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.2/yugabyte-2025.1.1.2-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:2025.1.1.2-b3

Improvements

YSQL

  • Allows specifying colocation option for parent partition tables and splits parent partition tables into a single tablet. {{<issue 16209>}},{{<issue 27314>}}
  • Adds extra locality info from PostgreSQL to TServer for better transaction categorization and performance. {{<issue 28270>}}

DocDB

  • Allows transaction status tablets to be grouped by tablespace for future categorization of transactions. {{<issue 28269>}}
  • Adds support for tablespace-local localities, allowing transactions to use status tablets corresponding to a specific tablespace, improving data replication handling for geographically close regions. {{<issue 28273>}}

Bug fix

YSQL

  • Eliminates stale hashmap entries on parse errors, enhancing protocol-level prepared statement handling. {{<issue 28576>}}

v2025.1.1.1 - October 3, 2025 {#v2025.1.1.1}

Build: 2025.1.1.1-b1

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.1/yugabyte-2025.1.1.1-b1-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.1/yugabyte-2025.1.1.1-b1-darwin-arm64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS ARM</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.1/yugabyte-2025.1.1.1-b1-linux-x86_64.tar.gz"> <i class="fa-brands fa-linux"></i> <span>Linux x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.1.1/yugabyte-2025.1.1.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:2025.1.1.1-b1

Highlights

We're excited to announce the key features and enhancements in the 2025.1.1.1 release, designed to improve performance, usability, and management of your database environments.

Table-level locking for concurrent DDL and DML {{<tags/feature/tp idea="1114">}}

Added Table-level locks to support concurrent DDL and DML operations, improving workload concurrency and reducing conflicts during schema changes.

YugabyteDB CDC Connector on Confluent Hub {{<tags/feature/ga idea="151">}}

The YugabyteDB CDC Connector is now available directly on Confluent Hub, making it easier to integrate YugabyteDB into event-driven architectures. For more information on CDC, refer to Change data capture (CDC).

Truncate table support in xCluster replication {{<tags/feature/ea idea="1608">}}

Enables TRUNCATE operations to be safely replicated in xCluster environments, ensuring consistency across distributed clusters. For more information, refer to xCluster replication.

New features

  • Added support for SCRAM-based password authentication in Connection manager, enhancing security beyond the previously supported MD5 method. {{<tags/feature/ea idea="2194">}}

  • Query diagnostics. You can use a new YSQL function yb_query_diagnostics, to create a diagnostics bundle for a normalised YSQL query for a time range to speed up troubleshooting. The bundle contains critical data like the EXPLAIN PLAN, bind variables, pg_statement_stats, schema details, and Active Session History. {{<tags/feature/ea idea="1591">}}

Change log

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

Improvements

YSQL

  • Resets the DDL state for read-only transactions to avoid state persistence issues. {{<issue 3109>}},{{<issue 27650>}}
  • Enables configuration of transactional DDL blocks via the yb_ddl_transaction_block_enabled flag. {{<issue 3109>}},{{<issue 27715>}}
  • Supports executing DDL statements in READ COMMITTED isolation with options to disable retries. {{<issue 27716>}}
  • Reduces the frequency of auto-analyze on small, frequently-updated tables. {{<issue 27627>}}
  • Reduces unexpected full catalog cache refreshes in new PG backends. {{<issue 27533>}}
  • Enhances logging for tracking unexpected full catalog refreshes in YSQL. {{<issue 27387>}}
  • Enhances logging for troubleshooting unexpected full catalog refreshes by adding CatalogInvalMessagesDataDebugString. {{<issue 27387>}}
  • Captures and returns per-RPC metrics for write operations. {{<issue 26086>}}
  • Simplifies code management by separating cancelable and non-cancelable scopes. {{<issue 26751>}}
  • Allows upgrade_ysql to exit early if YSQL is not enabled. {{<issue 27167>}}
  • Displays write RPC metrics in EXPLAIN (ANALYZE, DIST, DEBUG) output. {{<issue 26086>}}
  • Removes the YB_BITMAP_DISCOURAGE_MODIFIER to better reflect actual bitmap scan costs. {{<issue 23565>}}
  • Adds GUC_EXPLAIN flag to YB-specific GUC parameters for enhanced EXPLAIN output. {{<issue 26864>}}
  • Displays TCMalloc and PGGate memory stats in pg_log_backend_memory_contexts for enhanced debugging. {{<issue 27879>}}
  • Introduces hnsw.ef_search as a new YSQL configuration parameter, mirroring ybhnsw.ef_search. {{<issue 26629>}}
  • Simplifies conditional cleanup actions with MakeOptionalScopeExit function. {{<issue 27786>}}
  • Introduces the yb_fk_references_cache_limit parameter to cap FK references cache entries at 65535. {{<issue 27739>}}
  • Simplifies code for Perfrom requests, enhancing readability and usability. {{<issue 27965>}}
  • Enables sending buffered write and multiple read operations in a single Perform RPC for YSQL. {{<issue 27432>}}
  • Removes the beta label for various Foreign Data Wrapper commands in YSQL. {{<issue 9979>}}
  • Displays transaction type in EXPLAIN (ANALYZE, DEBUG) output. {{<issue 14804>}}
  • Ensures all COPY FROM commands in a transaction block use one transaction unit. {{<issue 27061>}}
  • Enables sending buffered write operations and multiple read operations in a single RPC for optimized performance. {{<issue 27432>}}
  • Includes transaction isolation level in serialization error messages. {{<issue 28114>}}
  • Enables bounded staleness for PostgreSQL authentication backend cache using pg_cache_response_trust_auth_lifetime_limit_ms. {{<issue 28261>}}
  • Allows dynamic updates to ysql_hba_conf_csv without server restarts. {{<issue 28361>}}
  • Reduces master RPCs for PG auth backends by using TServer cache. {{<issue 28144>}}
  • Disables Memoize under BNL to reduce CPU overhead without sacrificing performance. {{<issue 25251>}}
  • Ensures proper error handling for unsupported LISTEN commands in connection manager mode. {{<issue 27503>}},{{<issue 26929>}}
  • Adds a flag ysql_enable_scram_channel_binding to enable SCRAM with channel binding. {{<issue 28108>}}
  • Enables yb_extension role to create access methods during extension setup. {{<issue 26857>}}
  • Increases default YSQL lease TTL to 5 minutes to minimize cluster disruptions. {{<issue 28053>}}
  • Switches YSQL object lock calls to use shared memory, reducing overhead to 5-15%. {{<issue 27510>}}

DocDB

  • Ensures only voter peers are considered for leadership during a leader stepdown. {{<issue 27568>}}
  • Fixes overflow in FormatBytesAsStr to prevent large memory allocations. {{<issue 27924>}}
  • Ensures reliable xCluster history cutoff by backfilling namespace_id when necessary. {{<issue 28124>}}
  • Refactors shared memory management for better session control between TServer and pggate. {{<issue 27484>}}
  • Allows exporting snapshots with tables undergoing DDL operations. {{<issue 27425>}}
  • Reduces risks by not updating master_ysql_operation_lease_ttl_ms flag unnecessarily. {{<issue 27681>}}
  • Ensures xCluster DDL replication tables are included in backups. {{<issue 27959>}}
  • Enables faster table lock acquisition through shared memory in YugabyteDB. {{<issue 25518>}}
  • Enables TRUNCATE TABLE support in xCluster automatic mode with new flags and triggers. {{<issue 23958>}}
  • Streamlines operations by removing unnecessary flag checks on the master for table locks. {{<issue 27521>}}
  • Stores object lock requests in shared memory to enhance crash safety. {{<issue 25987>}}
  • Handles out of order table lock messages to prevent lock leakage. {{<issue 27705>}},{{<issue 26393>}},{{<issue 28039>}}
  • Enhances lock management by disabling fastpath during lock conflicts. {{<issue 27813>}}
  • Enables core dumps on FATAL errors with new flag disable_core_dumps_on_fatal. {{<issue 28007>}}
  • Enables enable_object_lock_fastpath and pg_client_use_shared_memory in all Linux builds. {{<issue 28165>}}
  • Allows executing temporary table and materialized view DDLs on automatic mode xCluster targets without special configuration. {{<issue 27983>}}
  • Increases limits for concurrent replica removals and over-replicated tablets to speed up cluster operations. {{<issue 27488>}}
  • Reduces unnecessary transaction conflict errors by auto-retrying status requests. {{<issue 27973>}}
  • Boosts search performance by skipping deletion checks on tables that only perform inserts. {{<issue 28229>}}
  • Enhances on-disk size metrics to include snapshots, improving cluster balancer accuracy. {{<issue 28010>}}
  • Adds metrics for tracking fastpath object lock acquires. {{<issue 27344>}}
  • Speeds up cluster load balancing by considering tablet sizes for parallelism. {{<issue 17561>}}
  • Enhances reliability by retrying exclusive lock requests during YSQL lease membership changes. {{<issue 27192>}},{{<issue 28198>}}
  • Applies a warning rather than an error for boost::optional lint rule in code reviews. {{<issue 28353>}}
  • Adds periodic cleanup for DDL replication tables to prevent unbounded growth. {{<issue 19193>}}
  • Allows admin users to create and alter publications for all tables, not just superusers. {{<issue 21862>}}
  • Generates warnings instead of errors when setting yb_disable_auto_analyze via non-standard methods. {{<issue 27630>}}
  • Adds an empty migration script to ensure smooth upgrades from version 2024.2. {{<issue 27929>}}
  • 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>}}
  • Adds upgrade check to detect and require removal of invalid indexes. {{<issue 28484>}}

CDC

  • Enhances the pg_stat_replication_slot view with accurate and updated replication statistics. {{<issue 25510>}}
  • Adds a yb_restart_time column to pg_replication_slots. {{<issue 27764>}}
  • Enables CDC service on master to support dynamic table additions in logical replication. {{<issue 26424>}}
  • Tracks changes in publications and new tables via virtual WAL polling. {{<issue 26425>}}

Bug fixes

YSQL

  • Exempts walsender processes managed by the connection manager from YSQL backend checks. {{<issue 27072>}}
  • Fixes errors and crashes when creating temporary tables with ON COMMIT DROP. {{<issue 27339>}}
  • Resolves GCC 13 release build failures on Linux. {{<issue 27916>}}
  • Fixes upgrade failures for indexes with hash column groups to correctly handle aliases and metadata. {{<issue 27629>}}
  • Switches to reading from the latest catalog during YSQL GUC processing to prevent "Snapshot too old" errors. {{<issue 26515>}}
  • Ensures TimeZone is not lowercased in connection manager for correct pgJDBC interpretation. {{<issue 28537>}}
  • Allows dumping of profiles and role mappings in ysql_dumpall. {{<issue 25731>}}
  • Ensures auto analyze runs after table rewrites like TRUNCATE. {{<issue 26109>}}
  • Reduces sequence-related errors when using ysql_conn_mgr_sequence_support_mode=pooled_with_currval_lastval. {{<issue 27024>}}
  • Enhances session stickiness when acquiring session-scoped advisory locks. {{<issue 27249>}}
  • Ensures consistency in secondary index scans during concurrent DELETE_INSERT operations. {{<issue 17159>}}
  • Resets user ID and security context between ANALYZE retries for stability. {{<issue 27188>}}
  • Ensures DDL statements initiate DocDB transactions correctly to prevent errors. {{<issue 27859>}}
  • Fixes DROP CASCADE to remove generated columns from DocDB. {{<issue 27604>}}
  • Disables automatic retries for COPY FROM/TO commands. {{<issue 28093>}}
  • Enables accurate tablespace dependency tracking for tables moved via ALTER TABLE SET TABLESPACE. {{<issue 26995>}}
  • Avoids segmentation faults in ASH queries by initializing wait states to kIdle instead of kUnused. {{<issue 28303>}}
  • Ensures accurate EXPLAIN output for forward scans with aggregate pushdown. {{<issue 27642>}}
  • Enables TOAST table creation for temporary tables in REFRESH MATERIALIZED VIEW CONCURRENTLY. {{<issue 26007>}}
  • Disables yb_force_early_ddl_serialization by default to avoid conflict errors. {{<issue 27761>}}
  • Fixes DROP COLUMN handling for tables with child partitions requiring rewrite. {{<issue 27636>}}
  • Fixes stale reads in pg_yb_invalidation_messages to prevent full catalog refreshes. {{<issue 27776>}}
  • Ensures PostgreSQL shuts down before deleting upgrade data to prevent crashes. {{<issue 27726>}}
  • Assigns accurate query IDs to RPCs executed outside of executor hooks. {{<issue 24693>}}
  • Fixes crash by initializing CacheMemoryContext during backend startup. {{<issue 27864>}}
  • Reduces unnecessary full catalog cache refreshes in certain scenarios. {{<issue 27822>}}
  • Enables postgres_fdw to use ybctid for identifying tuples, ensuring compatibility and functionality. {{<issue 11419>}}
  • Corrects EXPLAIN output estimates for Bitmap Index Scans, enhancing accuracy in performance analysis. {{<issue 27602>}}
  • Supports accurate cost estimates for hypothetical indexes in both old and new models. {{<issue 22472>}},{{<issue 22473>}}
  • Prevents server crashes when multiple backend processes terminate while one holds a spinlock. {{<issue 27874>}}
  • Fixes crash when using planner hints with hypothetical indexes. {{<issue 27927>}}
  • Prevents crashes on transaction rollback with ALTER TABLE when transactional DDL is enabled. {{<issue 28044>}},{{<issue 28040>}},{{<issue 28000>}}
  • Adds pgaudit 1.7.1 to enhance audit accuracy and resolve specific bugs. {{<issue 28087>}}
  • Ensures unique event codes in yb_wait_event_desc to improve data analysis accuracy. {{<issue 27260>}}
  • Separates commands in database upgrades to prevent read restart errors. {{<issue 26282>}}
  • Ensures accurate catalog read counts for the first query in a session. {{<issue 28011>}}
  • Enables yb_db_admin roles to set PL speculative execution parameters. {{<issue 28101>}}
  • Fixes a compilation issue by converting an assert to an error. {{<issue 27338>}}
  • Reverts recent changes to handle postmaster PANIC, improving stability during error scenarios. {{<issue 27874>}}
  • Enhances fast-path transaction accuracy by adjusting read time settings. {{<issue 26204>}}
  • Ensures the correct renew strategy for IsRenewRequired works as expected. {{<issue 28226>}}
  • Ensures consistent query IDs for plan hints across settings and uses. {{<issue 26621>}}
  • 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>}}
  • Enables dump_role_checks flag for new role-related statements in ysql_dump and ysql_dumpall. {{<issue 27795>}}
  • Enables dump_role_checks in ysql_dumpall for role-related statements after creating profiles. {{<issue 28235>}}
  • Deletes leftover invalidation messages when dropping a database. {{<issue 28348>}}
  • Ensures consistent row filtering and paging in PgsqlVectorFilter. {{<issue 28411>}}
  • Fixes deletion of leftover invalidation messages when databases are dropped. {{<issue 28348>}}
  • Reduces unnecessary catalog version increments for renames on temporary relations. {{<issue 28477>}}
  • 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>}}
  • Enhances visibility of ALTER ROLE ... SET configurations across multiple databases. {{<issue 27945>}}
  • Enables defining the maximum percentage of total YSQL connections for the connection manager. {{<issue 27701>}}
  • Fixes authentication errors during consecutive cluster connections. {{<issue 28149>}}

DocDB

  • 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>}}
  • Fixes unnecessary error logs during transaction loading with CDC enabled. {{<issue 27986>}}
  • Prevents data loss during early compaction of replicated colocated tables. {{<issue 25926>}}
  • Prevents thread metric data from disappearing over time. {{<issue 27955>}}
  • Enhances Kubernetes compatibility by using RPC bind address as hostname in masters. {{<issue 28084>}}
  • Enhances the stability of document reads by validating key prefixes before processing. {{<issue 27923>}}
  • 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>}}
  • Increases reliability of database cloning after a DROP TABLE operation. {{<issue 28285>}}
  • Ensures better handling of schema versions during rapid DDL changes in xCluster replication. {{<issue 24990>}},{{<issue 27275>}}
  • Ensures correct order of setting pg_hint_plan.enable_hint_table and compute_query_id to prevent errors. {{<issue 27633>}}
  • Prevents TServer crashes during concurrent vector index and read requests. {{<issue 27699>}}
  • Prevents reuse of docdb transactions post-abort to avoid state conflicts in locks. {{<issue 27559>}}
  • Reduces memory usage by optimizing pg_locks with specific iterator settings and intent limits. {{<issue 27810>}}
  • Ensures safety by updating TabletPeer::GetNamespaceId to use shared_tablet_safe. {{<issue 27632>}}
  • Resolves deadlock during TSHeartbeat by adjusting lock scope. {{<issue 27773>}}
  • Eliminates potential deadlocks in thread pool by fixing a race condition. {{<issue 27898>}}
  • Stops re-creating the xCluster DDL replication extension on the target. {{<issue 27928>}}
  • Ensures OID counters in cloned or restored databases avoid conflicts after table drops. {{<issue 27943>}}
  • Ensures OID counters advance adequately to avoid future table creation collisions. {{<issue 27944>}}
  • Resolves PITR restore deadlocks by fixing lock inversion issues. {{<issue 27792>}}
  • Ensures all fastpath object locks appear in pg_locks output. {{<issue 28163>}}
  • Disables catalog version check for ReleaseObjectLocks API to prevent TServer crashes. {{<issue 28138>}}
  • Eliminates redundant rocksdb_block_cache_bytes_read metrics to reduce noise and overhead. {{<issue 27017>}}
  • Increases YSQL DDL RPC timeout to 180s and introduces configurable ysql_ddl_rpc_timeout_sec flag. {{<issue 28168>}}
  • Prevents fatal errors in xCluster by ensuring all schema versions are present during replication. {{<issue 28326>}}
  • Fixes exclusive lock intents acquisition before shared memory setup. {{<issue 28595>}}
  • Eliminates undefined behavior by correcting the use of moved variables in pg_client_session.cc. {{<issue 27707>}}
  • Allows skipping object locking during initdb to prevent failures. {{<issue 27444>}}
  • Ensures TServer handles lock releases correctly after bootstrapping. {{<issue 27735>}}
  • 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>}}
  • Ensures xCluster metrics display correct table IDs and namespaces for better monitoring accuracy. {{<issue 27667>}}
  • Disables object locking when ysql_enable_db_catalog_version_mode is false. {{<issue 27872>}}
  • Ensures consistent backup by exporting only committed DocDB tables at snapshot hybrid time. {{<issue 27449>}},{{<issue 27590>}}
  • Fail restore for unmatched DocDB tables during import_snapshot phase. {{<issue 27820>}}
  • Fixes a bug to ensure correct data storage in PostgreSQL table cache requests. {{<issue 28001>}}
  • Disables unnecessary logging when FLAGS_txn_slow_op_threshold_ms is set to 0. {{<issue 27996>}}
  • Prevents deadlocks by setting status tablet ID for shared memory lock requests. {{<issue 27921>}}
  • Eliminates DFATAL error for unregistered lock owners handling exclusive locks. {{<issue 27968>}}
  • Ensures TSLocalLockManager is only created when both enable_ysql and enable_object_locking_for_table_locks are enabled. {{<issue 28126>}}
  • Enables ALTER DEFAULT PRIVILEGES commands in xCluster automatic mode. {{<issue 27051>}}
  • Defers transaction priority assignment to the first read/write operation. {{<issue 28125>}}
  • Enhances metrics to better estimate cluster balancing times and validate the accuracy of the balancing algorithm. {{<issue 23908>}}
  • Restores deletion of table info objects to prevent memory overload. {{<issue 23721>}}
  • Stops xCluster polling when excessive DDL errors occur, preventing retries beyond limits. {{<issue 28363>}}
  • Fixes issues with aborted transactions during promotions preventing stuck operations. {{<issue 27853>}}
  • Ensures master metadata snapshots are consistent with snapshot_hybrid_time for accurate backups. {{<issue 27575>}}
  • Restores previous deadlock detection by retrying lock requests from the host TServer. {{<issue 28386>}}
  • Enforces TLS v1.2 for secure webserver connections. {{<issue 28417>}}
  • Ensures cloning databases functions correctly with table locks enabled. {{<issue 27800>}}
  • Preserves cluster balancer metrics correctly across all placements including read replicas. {{<issue 28366>}}
  • Prevents table deletion during snapshot creation by implementing namespace anchoring. {{<issue 28290>}}
  • Increases data metric's capacity to handle over 4 GB for balancing. {{<issue 28500>}}
  • Fixes an issue where aborted transactions could get stuck with object locks. {{<issue 28520>}}
  • Corrects xCluster status display for sequence data streams. {{<issue 26388>}}
  • Disables pg_cron jobs on xCluster target by default, adjustable with cron.yb_enable_on_xcluster_target. {{<issue 26799>}}
  • 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>}}
  • 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 CDC correctly processes transactions involving vector columns by skipping orphan tombstone intents. {{<issue 27942>}}
  • Ensures CDC streams data for non-transactional YCQL tables correctly. {{<issue 28034>}}
  • Ensures unique sorting of batched shard records using write_id to prevent data loss. {{<issue 28166>}}
  • Eliminates race conditions in CDC session management, preventing crashes. {{<issue 28336>}}
  • Introduces the yb_ignore_read_time_in_walsender parameter for logical replication continuity during upgrades. {{<issue 27177>}}
  • Prevents data loss during restarts by not sending checkpoints if tablet safe time exceeds slot restart time. {{<issue 28014>}}
</details>

v2025.1.0.1 - August 5, 2025 {#v2025.1.0.1}

Build: 2025.1.0.1-b3

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

<ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.0.1/yugabyte-2025.1.0.1-b3-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.0.1/yugabyte-2025.1.0.1-b3-darwin-arm64.tar.gz"> <i class="fa-brands fa-apple"></i> <span>macOS ARM</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.0.1/yugabyte-2025.1.0.1-b3-linux-x86_64.tar.gz"> <i class="fa-brands fa-linux"></i> <span>Linux x86</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2025.1.0.1/yugabyte-2025.1.0.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:2025.1.0.1-b3

Bug fixes

DocDB

  • Increases default YSQL lease TTL to 5 minutes to minimize cluster disruptions. {{<issue 28053>}}
  • Disables unnecessary logging when FLAGS_txn_slow_op_threshold_ms is set to 0. {{<issue 27996>}}
  • Enhances Kubernetes compatibility by using RPC bind address as hostname in masters. {{<issue 28084>}}

v2025.1.0.0 - July 23, 2025 {#v2025.1.0.0}

Build: 2025.1.0.0-b168

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

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

Docker:

sh
docker pull yugabytedb/yugabyte:2025.1.0.0-b168

Highlights

PostgreSQL 15 compatible YugabyteDB clusters {{<tags/feature/ga idea="358">}}

This is the first stable release featuring a PostgreSQL fork rebase from version 11.2 to 15.0, enabling you to leverage the many key capabilities introduced in PostgreSQL between the two versions. This upgrade brings YSQL API support for numerous features, including stored generated columns, foreign keys on partitioned tables, and non-distinct NULLs in unique indexes. It also introduces query execution optimizations like incremental sort and memoization, along with various observability and security enhancements.

We're also pleased to announce that YugabyteDB 2025.1.0.0 supports in-place online upgrades and downgrade—even with the PostgreSQL fork rebased to 15.0.

Note that the source cluster must be running version 2024.2.3.0 or later to upgrade to version 2025.1.0. For more information, refer to PostgreSQL 15 features.

Support pgvector extension - With indexing support {{<tags/feature/tp idea="1111">}}

Brings AI-native capability by supporting pgvector with indexing, enabling efficient similarity search in vector workloads. Enhances vector search capabilities by introducing Hierarchical Navigable Small World (HNSW) indexing, enabling faster and more efficient high-dimensional vector lookups.

Automatic transactional xCluster DDL replication {{<tags/feature/ea idea="153">}}

YugabyteDB now supports seamless replication of YSQL DDL changes across xCluster setups, eliminating the need to manually apply DDLs on both source and target clusters. For more information, refer to Automatic DDL replication.

Parallel queries: Enabling PG parallelism for colocated tables {{<tags/feature/ga idea="577">}}

Improves query performance for colocated tables by allowing PostgreSQL to leverage multiple CPUs, leading to faster query execution times. For more information, refer to Parallel queries.

Optimization for INSERT ON CONFLICT batching {{<tags/feature/ga idea="1455">}}

Queries using the INSERT ... ON CONFLICT clause are optimized for efficient execution, with automatic batching applied when multiple statements are executed to improve performance. For more information, refer to yb_insert_on_conflict_read_batch_size.

Cost-Based Optimizer (CBO) {{<tags/feature/ga idea="483">}}

The CBO leverages YugabyteDB's distributed storage architecture and advanced query execution optimizations, including query pushdowns, LSM indexes, and batched nested loop joins, to deliver PostgreSQL-like performance.

For instructions on enabling CBO, refer to Enable cost-based optimizer.

Bitmap scan support {{<tags/feature/ga idea="1092">}}

Combine multiple indexes for more efficient scans. For instructions on enabling bitmap-scan support, refer to enable_bitmapscan.

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

Fast backward scans are now enabled by default (use_fast_backward_scan=true). This improves performance of YSQL backward table scans (for example, a descending-sorted query occurs against a table that is sorted ascending) by up to 10x.

New features

  • yugabyted

    • Support for upgrading to PG15 using yugabyted. {{<tags/feature/ea idea="1746">}}

    • A new yugabyted UI tab displays the xCluster replication details of the source and destination universe. {{<tags/feature/ga idea="1763">}}

    • Adds support for IPv6 addresses. {{<tags/feature/ga idea="1854">}}

    • Voyager assessment UI enhancements which provide detailed information on migration complexity and breakdown of schema recommendation. {{<tags/feature/ga idea="2184">}}

  • Catalog caching.

    • Provides ability to find catalog tables which can be preloaded to improve latency for first query in connection or after DDL in the cluster. {{<tags/feature/ga idea="1781">}}

    • Compressed catalog tuples when storing in the PG catalog cache to reduce the memory consumption. {{<tags/feature/ga idea="1229">}}

    • Optimized DDL performance by enabling targeted catalog cache invalidation, significantly reducing impact on concurrent DMLs. This avoids rebuilding the entire cache in most cases. {{<tags/feature/ga idea="599">}}

  • Sampling schema in Analyze. With sampled analyze, the time to analyze a table is no longer proportional to the size of the table. This improvement brings the time to analyze down significantly. For example, time to analyze 1 TB table is down from 35 minutes to under 3 minutes. {{<tags/feature/ga idea="1790">}}

  • Improved bulk load performance for colocated tables. Introduced a fast path support for bulk load scenarios for colocated tables in particular (controlled by ysql_colocated_fastpath_txn_copy) that can improve COPY times up to 3x on colocated tables with multiple indexes. {{<tags/feature/ga idea="1802">}}

  • Advisory locks. Enables session-based and transactional advisory locks for coordination and concurrency control in distributed environments. {{<tags/feature/ga idea="812">}}

  • 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. {{<tags/feature/ga idea="1536">}}

  • PITR-flashback query. Allows querying historical database state by specifying a past timestamp, aiding in auditing, debugging, and data analysis. {{<tags/feature/ea idea="1182">}}

  • Foreign key references. Allows creation of the foreign keys on partitioned tables. {{<tags/feature/ga idea="467">}}

  • NULLS NOT DISTINCT. By default unique indexes treat NULL values as distinct entries (and not equal), allowing multiple nulls for a column. NULLS NOT DISTINCT allows multiple NULL values to be treated equivalently. {{<tags/feature/ga idea="934">}}

  • Execution for queries using ON CONFLICT clause are optimized for efficient execution for YugabyteDB distributed architecture. {{<tags/feature/ga idea="1455">}}

  • Query Plan Management (QPM) introduced to ensure stable and adaptable query performance by preventing plan regression and automatically detecting optimal new plans. {{<tags/feature/ea idea="1107">}}

  • YSQL table inheritance. Adds YSQL support for table inheritance using the INHERITS keyword, which allows creating child tables that inherit columns and certain constraints from one or more parent tables. {{<tags/feature/tp idea="2158">}}

  • YSQL index consistency checker. yb_index_check() is a built-in utility that helps detect and diagnose index inconsistencies in your database to ensure reliable query results. {{<tags/feature/ea idea="2160">}}

  • YSQL lease mechanism. Enabled a robust lease mechanism between YB-TServer and YB-Master to enhance fault tolerance and data consistency during network partitions. {{<tags/feature/ga>}}

  • Transactional DDL. Support to align YSQL DDL semantics with PostgreSQL by allowing DDL statements to execute in the main transaction block. {{<tags/feature/tp idea="1677">}}

  • Added CDC Logical Replication support for xCluster feature where both CDC and xCluster can work simultaneously on the same source tables. {{<tags/feature/ea idea="82">}}

  • Active Session History. Get real-time and historical information about active sessions to analyze and troubleshoot performance issues. {{<tags/feature/ga idea="830">}}

  • PostgreSQL Anonymizer extension, which masks or replaces personally identifiable information (PII) or commercially sensitive data, is now bundled with Yugabyte. {{<tags/feature/ga idea="1497">}}

Change log

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

Improvements

YSQL

  • Added yb_make_next_ddl_statement_nonincrementing to YbDbAdminVariables for yb_db_admin role. {{<issue 23786>}}
  • Enables control over in-place index updates with yb_enable_inplace_index_update. {{<issue 20908>}}
  • Enhances initdb logging, correctly handles process termination, and fixes memory leaks on abort signals. {{<issue 24813>}}
  • Ensures cached plans correctly depend on user roles, addressing {{<cve "CVE-2024-10976">}}. {{<issue 25330>}}
  • Enhances nested loop joins by rechecking pushability of conditions and renames relevant function to reduce confusion. {{<issue 25994>}}
  • Allows setting and modifying options for foreign tables using ALTER FOREIGN TABLE ...OPTIONS (...). {{<issue 1124>}}
  • Allows use of UNLOGGED tables syntax, handling it as LOGGED with a warning. {{<issue 23895>}},{{<issue 23889>}}
  • Exempts walsender from YSQL backend check to prevent index creation delays. {{<issue 26587>}}
  • Enables speculative execution for certain PL statements to avoid unnecessary flushes, enhancing performance. {{<issue 27464>}}
  • Adds pg_yb_logical_client_version table to manage session configurations. {{<issue 23871>}}
  • 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>}}
  • Adds flag ysql_conn_mgr_sequence_support_mode for sequence management options. {{<issue 23660>}}
  • Removes the enable_ysql_conn_mgr flag from preview status. {{<issue 25578>}}
  • Allows setting enable_ysql_conn_mgr to true for general availability. {{<issue 25578>}}
  • Enhances error transparency when dropping databases or users. {{<issue 21438>}}
  • Supports executing DDL statements in READ COMMITTED isolation with options to disable retries. {{<issue 27716>}}
  • Sets yb_bnl_batch_size to 1024 and yb_prefer_bnl to true by default, ensuring BNL replace nested loop joins without altering non-NL join plans. {{<issue 19273>}}
  • Adds pg_hint_plan syntax and functionality to control batched nested loop joins, allows setting hints YbBatchedNL(t1 t2) and NoYbBatchedNL, and modifies yb_prefer_bnl handling. Also, it removes BNL dependency on enable_nestloop and adjusts cost model. {{<issue 19494>}}
  • Simplifies handling of ybctids from multiple sources in PgDml. {{<issue 25162>}}
  • Allows preloading of foreign key lists in relcache, avoiding on-demand master fetches, controlled by yb_enable_fkey_catcache. {{<issue 23686>}}
  • Enables creation of indexes that are covered by the main table. {{<issue 24123>}}
  • Enables faster LZ4 compression for large attributes in YSQL with upgraded third party support. {{<issue 24290>}}
  • Adds notes on pinned objects and script backporting to the README. {{<issue 24334>}}
  • Prevents catalog version bumps on no-op ALTER ROLE commands, saving system resources. {{<issue 24390>}}
  • Enhances object creation efficiency by using static factory methods in PgDML classes. {{<issue 24412>}}
  • Disables JIT in YB PG15 by default for stability. {{<issue 24479>}}
  • Enhances INSERT ON CONFLICT by introducing efficient read batching and adding RETURNING support. {{<issue 24648>}}
  • Enables successful major version upgrades of functions containing semicolons. {{<issue 24571>}}
  • Introduces GetStatementAs<...> to simplify PgStatement* casts. {{<issue 24754>}}
  • Enables ASH by default for better monitoring and diagnostics. {{<issue 24686>}}
  • Adds ybctid as a reserved, fully queryable system column for improved row identification. {{<issue 1284>}}
  • Fixes style issues and lint errors in ybcModifyTable.c. {{<issue 24882>}}
  • Simplifies ybcSetupTargets by using BMS only, enhancing target column handling. {{<issue 25007>}}
  • Simplifies index requests for co-partitioned vector indexes, enhancing efficiency. {{<issue 25047>}}
  • Excludes third-party extensions from PostgreSQL linter checks. {{<issue 25054>}}
  • Fixes segmentation fault in CREATE OR REPLACE TRIGGER by ensuring ybctid is set. {{<issue 24941>}}
  • Simplifies DML read pushdown binding for enhanced coding efficiency. {{<issue 25151>}}
  • Ensures ybcModifyTable.h meets style guidelines to pass arc lint checks. {{<issue 25172>}}
  • Adds new lint rules for better PostgreSQL code syntax checking {{<issue 25187>}}
  • Resolves style issues in yb_scan.c and yb_scan.h, addressing lint errors and warnings. {{<issue 25198>}}
  • Enhances YSQL code consistency with additional linting rules. {{<issue 25298>}}
  • Adds line breaks for each command in pipelines for better readability. {{<issue 25297>}}
  • Enables transaction-level advisory locks in YugabyteDB when the ysql_yb_enable_advisory_locks flag is set to true. {{<issue 24713>}}
  • Reduces CPU usage by optimizing ExecLockRows function. {{<issue 25268>}}
  • Adds a flag ysql_block_dangerous_roles to prevent privilege escalation. {{<issue 25348>}}
  • Adds new lint rules for comment styles in YSQL code. {{<issue 25360>}}
  • Removes outdated comments that are no longer applicable in the current codebase. {{<issue 25400>}}
  • Ensures YSQL code follows leading whitespace rules and blacklists non-compliant files. {{<issue 25375>}}
  • Streamlines initialization of YsqlAdvisoryLocksTable using std::shared_future. {{<issue 25373>}}
  • Removes unused parameters from YBInitPostgresBackend for cleaner code. {{<issue 25417>}}
  • Simplifies ysql_dump by removing outdated references to pg_tablegroup. {{<issue 25419>}}
  • Adds a helper class to manage YsqlCatalogConfig updates efficiently. {{<issue 25418>}}
  • Enhances code quality in pg_yb_utils.c by applying lint warnings/errors. {{<issue 25420>}}
  • Enhances INSERT ON CONFLICT performance by decoupling batch processing. {{<issue 25488>}}
  • Ensures trailing whitespace issues are consistently addressed in the codebase. {{<issue 25438>}}
  • Allows setting yb_insert_on_conflict_read_batch_size to zero to disable batching, aligning closer with PostgreSQL behavior. {{<issue 25489>}}
  • Adjusts ysqlsh -V output for accurate command name representation. {{<issue 25429>}}
  • Resolves code style issues by fixing spacing after control statements. {{<issue 25447>}}
  • Streamlines code clarity in YSQL by renaming and conditional updates. {{<issue 25446>}}
  • Streamlines datatype mapping by consolidating multiple code blocks into PgTypeInfo. {{<issue 25554>}}
  • Enforces new lint rule bad_opening_paren for cleaner code alignment. {{<issue 25455>}}
  • Enhances YSQL logging with new and updated linter rules to reduce errors and increase clarity. {{<issue 25482>}}
  • Enforces new spacing rules around comments in YSQL code. {{<issue 25487>}}
  • Re-enables the check_for_tables_with_oids for consistency with PostgreSQL. {{<issue 25498>}}
  • Standardizes type naming across YSQL to eliminate inconsistencies. {{<issue 25587>}}
  • Enables batching for INSERT ON CONFLICT with foreign key triggers. {{<issue 24649>}}
  • Consolidates YSQL configuration parameter management for clarity and consistency. {{<issue 25586>}}
  • Removes unnecessary needs_pg_session_transaction field to streamline advisory lock handling. {{<issue 25591>}}
  • Updates error and hint messages for advisory locks to utilize the preview feature. {{<issue 25585>}}
  • Adds "yb" prefix to custom YB type names for clarity and consistency. {{<issue 25631>}}
  • Enables lz4 compression by default for large YSQL tuples, ensuring high performance. {{<issue 25613>}}
  • Reduces PgClientSession's size and streamlines code for better readability and easier modifications. {{<issue 25652>}}
  • Enhances YSQL linter scripts to handle Mac compatibility and prevent failures. {{<issue 25662>}}
  • Simplifies running pgindent for cleaner code formatting and resolving issues with function names and comments. {{<issue 25663>}}
  • Removes unnecessary sidecar usage from YBPgsqlLockOp for cleaner code. {{<issue 25855>}}
  • Enhances thread safety by isolating client_ field storage in PgClientSession. {{<issue 25652>}}
  • Enhances code readability by running yb_pgindent and manual formatting. {{<issue 25725>}}
  • Enhances yb_servers function to include universe_uuid for better cluster identification. {{<issue 25818>}}
  • Enables INSERT ON CONFLICT read batching by default to increase test coverage. {{<issue 25985>}}
  • Enhances lint rule messages for clarity and stricter comment spacing validation. {{<issue 25816>}}
  • Fixes comment linting issues to handle non-word characters. {{<issue 25810>}}
  • Refactors PgClientSession using the pimpl design pattern for better organization and cleanup. {{<issue 25847>}}
  • Allows customizing ef_construction and m parameters for ybhnsw indexes during creation. {{<issue 25859>}}
  • Reduces code duplication in query optimization checks for colocated/copartitioned tables. {{<issue 25959>}}
  • Enhances ASH data retrieval in query diagnostics using the SPI framework. {{<issue 25865>}}
  • Allows customization of ybhnsw index creation options in YSQL. {{<issue 25859>}}
  • Restores the ItemPointer static assert following upstream PostgreSQL code. {{<issue 25997>}}
  • Fixes a TSAN issue by adjusting error reports in YugabyteDB. {{<issue 25998>}}
  • Integrates new data types and functions from pgvector 0.8.0 into YSQL. {{<issue 25990>}}
  • Enables on-demand logging and enhanced catalog cache statistics tracking. {{<issue 26023>}}
  • Enables conditional checks for role existence in ysql_dump outputs with the dump_role_checks flag. {{<issue 25877>}}
  • Removes the check that the first operation in a plain session must set the read time. {{<issue 26151>}}
  • Enhances code consistency in ybgate_api.h by matching PostgreSQL style. {{<issue 26176>}}
  • Consolidates multiple suppression flags into one for cleaner pg_regress outputs. {{<issue 26197>}}
  • Refactors PgDocReadOp to enhance modularity by isolating sampling logic into PgDocSampleOp. {{<issue 26165>}}
  • Restores CREATE permission on the public schema to yb_db_admin. {{<issue 26218>}}
  • Enables ALTER TYPE ... SET SCHEMA support for Orafce extension upgrades. {{<issue 26215>}}
  • Enhances pg_stat_get_progress_info by adding new fields. {{<issue 26273>}}
  • Eliminates unnecessary workaround in ALTER TABLE operations related to constraint handling. {{<issue 26315>}}
  • Reinstates checks for ash_metadata in PgClient RPC requests with added code explanations. {{<issue 26268>}}
  • Adds support for datetime and UUID type pushdown in mixed mode. {{<issue 26510>}},{{<issue 26511>}}
  • Organizes YSQL code by splitting function definitions into a new file. {{<issue 26300>}}
  • Enables expression pushdown for MOD, LIKE, ASCII, SUBSTRING in mixed mode upgrades. {{<issue 26512>}}
  • Disables AutoAnalyze during the entire PG15 upgrade to ensure stability. {{<issue 26412>}}
  • Enforces naming conventions for distinguishing YugabyteDB-specific files. {{<issue 26457>}}
  • Aligns CurrentMemoryContext handling more closely with PostgreSQL updates. {{<issue 26496>}}
  • Maintains workaround in pg_dump to support upgrades with pg_stat_statements. {{<issue 26575>}}
  • Ensures consistent transaction path settings for single-shard operations. {{<issue 26720>}}
  • Merges PostgreSQL 15.12 improvements into YugabyteDB, enhancing database compatibility and stability. {{<issue 26746>}}
  • Allows users to adjust ybhnsw.ef_search for HNSW index searches in YSQL. {{<issue 26629>}}
  • Automatically maps hnsw to ybhnsw in CREATE INDEX statements for seamless index creation. {{<issue 26549>}}
  • Recommends changing isolation level to read committed to avoid errors during concurrent inserts. {{<issue 26648>}}
  • Excludes PostgreSQL owned code from bad_variable_declaration_spacing lint rule. {{<issue 26651>}}
  • Adds server_type option to differentiate foreign servers in postgres_fdw. {{<issue 25500>}}
  • Renames switch_fallthrough to yb_switch_fallthrough for consistency. {{<issue 26816>}}
  • Enables the PostgreSQL Anonymizer extension via the enable_pg_anonymizer flag. {{<issue 26804>}}
  • Enhances error reporting by including index names for missing rows. {{<issue 26819>}}
  • Displays rows removed by YugabyteDB index recheck in execution plans. {{<issue 26827>}}
  • Aligns get_relation_constraint_attnos function to use correct flag. {{<issue 26846>}}
  • Disallow setting ysql_select_parallelism to zero to prevent errors. {{<issue 26837>}}
  • Removes pg_strtouint64 and adopts strtoull or strtou64 for consistency. {{<issue 26870>}}
  • Aligns YSQL more closely with upstream PostgreSQL, reducing discrepancies and streamlining changes. {{<issue 26881>}}
  • Logs now detail the cause and context of read restart errors for better troubleshooting. {{<issue 24431>}}
  • Adds YB-specific counters to pg_stat_statements for detailed stats tracking. {{<issue 26791>}}
  • Limits output buffer to 8kB to ensure compatibility with certain clients. {{<issue 26744>}}
  • Increases the timeout for detecting pg_yb_catalog_version mode from 10 seconds to 20 seconds. {{<issue 26990>}}
  • Optimizes catalog version updates on DDL statements to avoid unnecessary refreshes. {{<issue 27080>}}
  • Adds support for cube and earthdistance extensions in YSQL upgrades. {{<issue 27141>}}
  • Streamlines UPDATE/DELETE operations and standardizes function signatures in YSQL. {{<issue 27179>}}
  • Adds a new YSQL parameter yb_enable_cbo for safer query optimization without statistics. {{<issue 26868>}}
  • Enhances accuracy of cost modeling for backward index scans based on the use_fast_backward_scan flag. {{<issue 26991>}}
  • Adds support for deferred mode in yb_read_after_commit_visibility for writes. {{<issue 24940>}}
  • Reduces unnecessary full catalog cache refreshes by calling update functions atomically. {{<issue 27239>}}
  • Adds estimated roundtrip counts to EXPLAIN output for scans. {{<issue 25063>}}
  • Prevents auto-analyze DDLs from blocking or preempting user DDLs. {{<issue 27036>}}
  • Adds a new YSQL configuration parameter to disable the hint table cache. {{<issue 27151>}}
  • Adds support for LSM index creation on multirange columns. {{<issue 27297>}}
  • Updates the pg_stat_statements header to reset stats on upgrade from 2.25 to 2.27. {{<issue 27180>}}
  • Changes default setting of enable_partitionwise_aggregate to true, enhancing query performance. {{<issue 25208>}}
  • Enhances the handling of response cache during major version upgrades to prevent errors. {{<issue 27435>}}
  • Streamlines the database by removing obsolete functions related to drop/remove object by OID. {{<issue 27352>}}
  • 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>}}
  • Adds verbose logging for Perform RPCs between Pg and TServer via shared memory. {{<issue 27571>}}
  • Enhances code style in src/backend/tcop/ as per linting reports. {{<issue 25189>}}
  • Adds query ID and leader PID to the /rpcz endpoint response. {{<issue 25603>}}
  • Enhances pg_stats with length and bounds histograms for better query planning. {{<issue 6237>}}
  • Fixes build failures and enhances memory usage reporting with TCMalloc stats. {{<issue 3190>}}
  • Ensures CREATE RULE consistently updates the catalog version across all backends. {{<issue 27201>}}

YCQL

  • Resolves timestamp precision mismatches in YCQL, aligning inserts and index scans to millisecond precision. {{<issue 11052>}},{{<issue 23476>}}
  • 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>}}
  • Adds keyspace field to <tserver-ip>:12000/statements output. {{<issue 25368>}}
  • Allows setting NULL in YCQL JSONB column values using UPDATE statements. {{<issue 5907>}}

DocDB

  • Reduces unnecessary attribute map creations during Prometheus metric aggregation. {{<issue 24405>}}
  • Enhances load balancer to prioritize under-replicated tablets first. {{<issue 20263>}}
  • Limits concurrent remote bootstraps per TServer using load_balancer_max_inbound_remote_bootstraps_per_tserver flag. {{<issue 2426>}}
  • Enables placing intermediate CA certificates directly in the server cert file for node-to-node encryption. {{<issue 25972>}}
  • Tracks ByteBuffer memory usage with MemTracker. {{<issue 26875>}}
  • 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>}}
  • Prevents overloading by correctly categorizing bootstrapping tablets in load balancing. {{<issue 23487>}}
  • Allows reduction of thread stack size to avoid Linux hugepages backing. {{<issue 23927>}}
  • Upgrades non-FIPS OpenSSL to 3.0.15 and removes CentOS 7 builds. {{<issue 24436>}}
  • Enhances RBS throttling by focusing on active fetch sessions and adjusts expiration logic. {{<issue 21563>}},{{<issue 24031>}}
  • Allows dynamic adjustment of rocksdb_compact_flush_rate_limit_bytes_per_sec across all tablets. {{<issue 25611>}}
  • Selects geographically closest TServer for faster clone operations. {{<issue 26788>}}
  • Displays detailed RBS progress on the master's Cluster Balancer UI page. {{<issue 26853>}},{{<issue 27397>}}
  • Upgrades OpenSSL to version 3.0.16 and enhances aarch64 support. {{<issue 27491>}}
  • Optimizes backward scans by using Seek for faster access to recent updates when needed. {{<issue 22373>}}
  • Enables persisting TServer registry entries to the sys catalog, enhancing failover recovery. {{<issue 22925>}}
  • Speeds up backward scans by caching keys, enabling quicker and more efficient data retrieval. {{<issue 22372>}}
  • Initial implementation of Vector LSM supports multi-threaded batch inserts. {{<issue 24020>}}
  • Enables xCluster to support and replicate table rewrite DDL operations effectively. {{<issue 23955>}}
  • Updates and organizes third-party dependencies like usearch for better maintainability. {{<issue 23998>}}
  • Simplifies HNSW library structure by using a factory-based approach. {{<issue 24085>}}
  • Allows explicit addition of flags to gflag_allowlist.txt for secure callhome data collection, plus version_info in TServer data. {{<issue 24103>}}
  • Enables xCluster to handle non-colocated ALTER TABLE commands without pausing replication. {{<issue 23951>}}
  • Passes automatic_ddl_mode to xCluster pollers for enhanced replication handling. {{<issue 24091>}}
  • Adds a metric to alert users when the master follower heartbeat delay is too high. {{<issue 21178>}}
  • Removes the need to set set_cdc_min_replicated_index during xCluster bootstrap for improved log retention. {{<issue 24105>}}
  • Enables SimSIMD in Usearch for enhanced search operations. {{<issue 23998>}}
  • Reduces thread usage by removing CDC-specific yb_client from PgClientServiceImpl. {{<issue 24145>}}
  • Adds a yb-admin command to remove non-active, blacklisted TServers. {{<issue 24044>}}
  • Skips schema validation for newly added tables in xCluster replication to handle schema changes. {{<issue 23078>}}
  • Standardizes log prefixes for retryable requests with tablet and peer IDs. {{<issue 19516>}}
  • Enables fast backward scans by default, enhancing performance for various workloads. {{<issue 24243>}}
  • Adds a yb-admin command to remove tablet servers from the registry. {{<issue 24044>}}
  • Enables persistent TServer registry updates via autoflag configuration. {{<issue 24045>}}
  • Enables persistent storage for vector LSM via separate index chunk files and meta files. {{<issue 24371>}}
  • Enhances Vector LSM handling to maintain data integrity after unexpected restarts. {{<issue 24466>}}
  • Enables the creation of indexable vector columns in DocDB by introducing a new DataType Vector. {{<issue 24483>}}
  • Issues NOTICE when creating indexes in bi-directional xCluster to ensure concurrent execution. {{<issue 24362>}}
  • Reduces Python virtual environment changes using yugabyte-bash-common for top-level management. {{<issue 19478>}}
  • Renames the vector library to vector_index and updates the namespace accordingly. {{<issue 24636>}}
  • 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>}}
  • Creates vector index tablets colocated with the indexed table for effective data retrieval. {{<issue 24696>}}
  • Enables direct replication of specific DDL commands in xCluster. {{<issue 23953>}}
  • Reduces Prometheus metric scrape time from 15 seconds to 2 seconds. {{<issue 24565>}}
  • Reverts a change that issued NOTICE on index creation in bi-directional xCluster setups. {{<issue 24362>}}
  • Enables creation of Vector LSM for tablets with vector indices. {{<issue 24892>}}
  • Removes deprecated vector index storage in RocksDB. {{<issue 24854>}}
  • Reduces argument redundancy in PgsqlReadOperation executions. {{<issue 24855>}}
  • Enables safe index creation on bidirectional xCluster tables without halting operations. {{<issue 24884>}}
  • Replaces ProducerSchemaPB with SchemaVersionsPB for xCluster configurations. {{<issue 24901>}}
  • Supports DDL replication for additional PostgreSQL objects including foreign tables and text search configurations. {{<issue 25051>}}
  • Enables ALTER operations on colocated tables with active replication. {{<issue 24910>}}
  • Adds packed row support for vector indexes during transaction apply. {{<issue 24912>}}
  • Fetches intents DB for vector index queries to account for unapplied committed transactions. {{<issue 24947>}}
  • Enables building with third party PR artifacts using specific GitHub IDs. {{<issue 25089>}}
  • Enables vector indexes on colocated tables. {{<issue 24994>}}
  • Allows vector index inserts to use a dedicated thread pool, enhancing overall system performance. {{<issue 25029>}}
  • Replaces vector_index::VertexId with StronglyTypedUuid as VectorId. {{<issue 25038>}}
  • Limits concurrent reads on usearch vector index to avoid exceptions. {{<issue 25069>}}
  • Enables file determination at compaction start by default. {{<issue 25113>}}
  • Introduces a system table pg_advisory_locks for advisory locks management. {{<issue 25127>}}
  • Enables merging vector index search results across multiple tablets. {{<issue 25212>}}
  • Enhances stability by fixing a missing null check in tablet lookup processes. {{<issue 25145>}}
  • Reduces CPU usage by 3-8% during statistics collection. {{<issue 25160>}}
  • Enables DDL replication for common PostgreSQL extensions in YugabyteDB. {{<issue 25052>}}
  • Clarifies error messages during yb-master initialization. {{<issue 25176>}}
  • Reduces CPU usage by only setting stmt_max_mem_base_bytes during EXPLAIN ANALYZE. {{<issue 25174>}}
  • Reduces TServer CPU usage by using serialized_request size instead of SpaceUsedLong. {{<issue 25175>}}
  • Enables advisory lock operations in DocDB, controlled by the flag yb_enable_advisory_lock. {{<issue 24357>}}
  • Enables monitoring of long tasks in Reactor threads with rpc_reactor_task_timeout_ms. {{<issue 25180>}}
  • Speeds up database creation by batching table lock acquisitions. {{<issue 25203>}}
  • Switches to GetTableSchema to check table existence, reducing timeouts. {{<issue 25197>}}
  • Enables explicit release of advisory locks in transactions. {{<issue 25195>}}
  • Enables re-creation of vector indexes on tablet restarts. {{<issue 25272>}}
  • Disables Redis proxy by default to reduce overhead. {{<issue 25278>}}
  • Optimizes RWCLock for faster read operations. {{<issue 25282>}}
  • Disables tablet splitting for tables with vector indexes. {{<issue 25288>}}
  • Removes unnecessary libraries from YB tools, reducing link times and flag count. {{<issue 25304>}}
  • Adds automatic_ddl_mode argument to yb-admin create_xcluster_checkpoint. {{<issue 25302>}}
  • Enables TSAN for RWCLock, fixing potential deadlocks. {{<issue 25391>}}
  • Refactors lock management code to use static dispatch for compatibility with shared memory. {{<issue 25322>}}
  • Ensures vector indexes are updated during tablet bootstrap if the TServer stops unexpectedly. {{<issue 25325>}}
  • Enhances search by filtering vectors on TServer based on deletion, updates, and criteria. {{<issue 25357>}}
  • Enables remote bootstrap for vector index storage. {{<issue 25369>}}
  • Reduces the need for global mutex locks by introducing per-transaction LockTracker state. {{<issue 25379>}}
  • Ensures DDL unlock operations follow the reverse order of lock operations. {{<issue 25380>}}
  • Enables point-in-time restore support for vector indexes. {{<issue 25389>}}
  • Adds flag rocksdb_iterator_sequential_disk_reads_factor to enhance readahead during non-sequential scans. {{<issue 25397>}}
  • Reduces boilerplate for defining hash functions with new helper macros. {{<issue 25403>}}
  • Enables session-level DocDB transactions for advisory locks, ensuring lock validity throughout the session. {{<issue 24711>}}
  • Introduces block-based data organization in YbHnsw for efficient memory management during data loading and unloading. {{<issue 25571>}}
  • Introduces deadlock detection for session advisory locks in transactions. {{<issue 24710>}}
  • Resolves session and transaction level advisory lock conflicts in the same session. {{<issue 25238>}}
  • Removes unnecessary //NOLINT comments to enhance code readability. {{<issue 25536>}}
  • Replaces heuristic checks with VECTOR data type for column identification. {{<issue 25581>}}
  • Speeds up TServer insert times by enabling variable bloom filtering on RocksDB iterators. {{<issue 25600>}}
  • Speeds up write operations by using ScopedStatistics, reducing TServer insert time. {{<issue 25602>}}
  • Enhances deadlock detection to include scenarios with session advisory locks and row-level locks. {{<issue 25565>}}
  • Enables backfilling existing table data when creating vector indexes. {{<issue 25676>}}
  • Removes unnecessary key-value callbacks from vector LSM. {{<issue 25687>}}
  • Allows the creation of colocated tables in xCluster configurations. {{<issue 22318>}}
  • Sets the minimum xCluster safe time lag value to 0 and adds logging for debugging. {{<issue 25733>}}
  • Preserves enum label OIDs during DDL replication across universes. {{<issue 24077>}}
  • Enables YCQL support for GetTablesEligibleForXClusterReplication. {{<issue 25732>}}
  • Supports custom vector labels in HNSW library for enhanced indexing flexibility. {{<issue 25041>}}
  • Excludes AcquireAdvisoryLock calls from active session history to prevent duplicates. {{<issue 25802>}}
  • Enables use of variable bloom filter during index scans for enhanced query performance. {{<issue 25795>}}
  • Enables logging of YSQL write RPCs with the print_ysql_write_requests flag. {{<issue 25786>}}
  • Reduces compile time for transaction_participant.cc by removing unused boost includes. {{<issue 25792>}}
  • Enables manual compaction of vector index chunks in Vector LSM. {{<issue 24071>}}
  • Supports multiple vector distance functions in ybhnsw index access method. {{<issue 25807>}}
  • Enables chunked vector index backfill and continuation after restart. {{<issue 25844>}}
  • Removes unused ScanForward functionality for streamlined performance. {{<issue 25915>}}
  • Ensures vector index backfill reads from the indexed table at the correct time. {{<issue 26046>}}
  • Enables better replication of concurrent DDLs with unique, ordered timestamps. {{<issue 24235>}}
  • Upgrades protobuf to version 21.12 for better C++23 compatibility. {{<issue 26128>}}
  • Updates codebase to C++23, enhancing compatibility and performance. {{<issue 26346>}}
  • Enables sequence replication in xCluster by default, removing the need for a flag. {{<issue 26029>}}
  • Enhances the user message for setting yb_read_time to clarify read-only restrictions. {{<issue 26027>}}
  • Adds logging for vector index search stats when vector_index_dump_stats flag is true. {{<issue 26072>}}
  • Ensures consistent bootstrapping of vector indexes after a TServer restart. {{<issue 26087>}}
  • Enhances handling of expired snapshots by retrying deletion tasks automatically. {{<issue 25628>}}
  • Correctly displays advisory lock details in pg_locks view. {{<issue 24712>}}
  • Ensures vector index contains all entries from the indexed table. {{<issue 26150>}}
  • Adds detailed cluster balancer warnings to the master UI page. {{<issue 26159>}}
  • Adds tombstones to obsolete vector IDs, reducing queries to the main table. {{<issue 24064>}}
  • Displays cluster balancer tasks on the master UI page. {{<issue 26157>}}
  • Adds annotations to prevent compiler reordering in shared memory interactions. {{<issue 26261>}}
  • Uses non-concurrent mode by default for creating vector indexes to streamline processes. {{<issue 26402>}}
  • Enhances xCluster DDL replication by adjusting yb_read_time usage and silencing related warnings. {{<issue 25629>}}
  • Renames docdb::VectorIndex to docdb::DocVectorIndex to eliminate name confusion. {{<issue 26304>}}
  • Allows specific compaction and flush for vector indexes via yb-admin commands. {{<issue 26332>}}
  • Adds yb-ts-cli compact_vector_index command for tablet-specific vector index compaction. {{<issue 26338>}}
  • Adds automatic_mode flag to create_checkpoint for simpler xCluster setup. {{<issue 26355>}}
  • Enables dropping vector indexes in DocDB. {{<issue 26359>}}
  • Displays replication mode in the master UI Outbound Replication Groups section. {{<issue 26368>}}
  • Enhances vector index compaction with a new deletion API and clearer naming conventions. {{<issue 26433>}}
  • Automatic mode now always requires bootstrapping to ensure OID consistency. {{<issue 24030>}}
  • Reuse threads to enhance connection efficiency in shared memory communication. {{<issue 26501>}}
  • Enhances vector index query stats logging and adds new metrics tracking. {{<issue 26597>}}
  • Enhances monitoring by using thread pool names for thread categorization. {{<issue 26656>}}
  • Simplifies navigation and modification of master async RPC tasks code. {{<issue 26685>}}
  • Introduces idle timeouts in rpc::ThreadPool to automatically adjust thread counts based on activity, enhancing resource efficiency. {{<issue 26708>}}
  • Switches to MPSCQueue for enhanced single-consumer performance and simpler maintenance. {{<issue 26774>}}
  • Adds support for the DocumentDB extension v0.102-0 to enhance database functionality. {{<issue 26749>}}
  • Enforces shared memory access restrictions at compile time. {{<issue 26924>}}
  • Allows setting ybhnsw.ef_search to customize search expansion factor. {{<issue 26883>}}
  • Adds paginated querying for vector index operations. {{<issue 26884>}}
  • Cancels vector index compaction during VectorLSM shutdown. {{<issue 26489>}}
  • Enables cloning of vector indexes in databases. {{<issue 26872>}}
  • Enables consistent backup and restore for vector indexes. {{<issue 26965>}}
  • Renames "Network" wait_event_type to "RPCWait" for clarity. {{<issue 26986>}}
  • Enables ysql_yb_enable_advisory_locks by default and makes it a runtime flag. {{<issue 25293>}}
  • Adds detailed logging for failed DDL executions in xCluster replication. {{<issue 23702>}}
  • Enables priority thread pool usage for vector index compactions. {{<issue 26971>}}
  • Enables conditional tracing of ASH events to conserve memory. {{<issue 27455>}}
  • Removes -ftime-trace from Clang builds to enhance compatibility with ccache. {{<issue 27499>}}
  • Defers processing of records with commit times exceeding the apply safe time to the next batch. {{<issue 27318>}}
  • Removes outdated code to streamline heartbeat processing. {{<issue 24872>}}
  • Simplifies load balancer placement info management. {{<issue 25065>}}
  • Streamlines tablespace validation by centralizing logic, enhancing future feature support. {{<issue 25202>}}
  • Enhances maintainability by consolidating tablespace validation logic into TablespaceParser. {{<issue 25202>}}
  • Deprecates the load_balancer_count_move_as_add flag to simplify cluster balancing. {{<issue 26259>}}
  • Enhances gcc12 compilation and streamlines master_fwd.h for faster builds. {{<issue 26543>}}
  • Reduces build times by removing unused headers and optimizing file inclusions. {{<issue 26589>}}
  • Reduces query execution latency by optimizing GUC handling in Connection Manager. {{<issue 20939>}}

CDC

  • Enables asynchronous removal of user tables from CDC streams by adjusting how background threads process and persist stream metadata. {{<issue 23700>}}
  • Enables tablet splitting on tables under CDCSDK stream by default using the flag enable_tablet_split_of_cdcsdk_streamed_tables. {{<issue 24190>}}
  • Adds a tag for the slot name attribute in the CDC metrics. {{<issue 24307>}}
  • Blocks creation of IMPLICIT streams by default; use flag to override. {{<issue 24023>}}
  • Enhances CDC accuracy by using the minimum of last WAL OP timestamp and transaction start time in segment footers. {{<issue 25163>}}
  • Disables automatic tablet splitting for CDC stream tables by default. {{<issue 25148>}}
  • Removes unused code related to transaction status checks in CDC. {{<issue 25351>}}
  • Enables dynamic table addition in logical replication by default. {{<issue 25413>}}
  • Increases default CDC retention flags to 8 hours for better data durability. {{<issue 25633>}}
  • Enables automatic tablet splitting with logical replication by fixing hidden tablet deletion bugs. {{<issue 24918>}}
  • Reduces unnecessary cleanup requests for logically replicated tables. {{<issue 25752>}}
  • Adds parallel logical replication with consistent tablet subsetting under the ysql_yb_enable_consistent_replication_from_hash_range flag. {{<issue 25897>}}
  • Reduces cdcsdk_publication_list_refresh_interval_secs to 15 minutes by default. {{<issue 25793>}}
  • 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>}}
  • Enhances CDC streaming by advancing restart time in idle periods, supported by the new flag cdcsdk_update_restart_time_interval_secs. {{<issue 25562>}}
  • Reduces logging frequency for certain CDC errors to avoid clutter. {{<issue 26148>}}
  • Sets wal_status in pg_replication_slots based on CDC consumption timing. {{<issue 26272>}}
  • Corrects flag value conversion to ensure accurate update intervals for CDC restart times. {{<issue 25562>}}
  • Blocks table drops if they are part of a publication to prevent replication issues. {{<issue 26659>}}
  • Reduces the default yb_walsender_poll_sleep_duration_empty_ms flag value to 10 ms to speed up replication in sparse workloads. {{<issue 26733>}}
  • 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>}}
  • Speeds up tablet bootstrap under CDC by fixing WAL replay. {{<issue 24516>}}
  • Automatically removes metrics when a CDC stream is deleted. {{<issue 24876>}}
  • Adds the cdc_cache_intent_block flag to control caching of CDC intent blocks. {{<issue 24909>}}
  • Renames the flag to cdc_enable_caching_db_block and sets its default to true for enhanced caching. {{<issue 25573>}}
  • Limits CDC GetConsistentChanges response by byte size, allowing toggling with cdc_use_byte_threshold_for_vwal_changes. {{<issue 25572>}}
  • Reduces log verbosity in virtual WAL to prevent large log files. {{<issue 25739>}}
  • Increases log visibility for netty errors by changing levels from DEBUG to WARN. {{<issue 26779>}}

yugabyted

  • Removes psutil dependency in yugabyted for better compatibility. {{<issue 26350>}}
  • Enables better handling of complex YSQL configuration parameters using sticky connections. {{<issue 21637>}}
  • Stops sending flags details in the callhome diagnostics to eliminate redundant data. {{<issue 24029>}}
  • Ensures the user interface accurately displays disk size, even when multiple data directories are used. {{<issue 23810>}}
  • Ensures join flag in configuration files is properly validated to prevent node misconfiguration. {{<issue 23007>}}
  • Enables tserver_master_addresses to update immediately in multi-node deployments using Yb-ts-cli. {{<issue 24659>}}
  • Updates column names in pg_stat_statements to fix slow queries page on yugabyted UI. {{<issue 25094>}}
  • Increases row count capacity in metrics API by using int64 instead of int32. {{<issue 25196>}}
  • Fixes yb-voyager install instructions layout in yugabyted UI. {{<issue 25445>}}
  • Displays universe UUID instead of a blank in the "Cluster Name" field on the yugabyted-ui settings page. {{<issue 25831>}}
  • 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>}}
  • Adds fully qualified names for non-table SQL objects in the UI. {{<issue 24330>}},{{<issue 24331>}}
  • Lists manually refactorable objects by type in the YugabyteD UI. {{<issue 24329>}}

Bug fixes

YSQL

  • Resets current_hint_retrieved after query execution to ensure consistent hint parsing. {{<issue 12741>}}
  • Introduces a per-database PG new OID allocator, ensuring OID uniqueness in the database and enhancing horizontal scalability in multi-node and multi-tenancy environments. This new mechanism mitigates OID collisions and allows OID consistency in backup-restore scenarios across clusters. A new flag ysql_enable_pg_per_database_oid_allocator is provided to return to old OID allocator behavior if necessary. {{<issue 16130>}}
  • Modifies backup/restore process to skip column name checks for indexes, allowing for successful restoration even with renamed columns. {{<issue 24207>}}
  • Enables ALTER SEQUENCE commands to change sequence name, schema, and owner without errors. {{<issue 17271>}}
  • Enhances PostgreSQL restart stability by refining shutdown handling and lock file management. {{<issue 24396>}}
  • Reduces memory usage during YugabyteDB connection startup. {{<issue 24925>}}
  • Removes an erroneous log entry that appeared in crashes or errors. {{<issue 24533>}}
  • Enhances protocol flow for consistency in batched query executions using a new flag ysql_conn_mgr_optimized_extended_query_protocol. {{<issue 24898>}}
  • 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>}}
  • Reduces XID usage by generating one per REFRESH MATERIALIZED VIEW CONCURRENTLY operation. {{<issue 26205>}}
  • 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>}}
  • Fixes crashes caused by using a RowComparisonExpression on a reordered primary key index. {{<issue 23824>}}
  • 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>}}
  • Enables creating non-colocated leaf partitions on colocated partitioned tables. {{<issue 24542>}}
  • Ensures joins are only pruned when a Leading hint exists, avoiding errors. {{<issue 26670>}}
  • Fixes flag overlap to differentiate sticky settings from explain in configurations. {{<issue 24954>}}
  • Standardizes function usage for ATExecSetTableSpaceNoStorageto match PostgreSQL's approach. {{<issue 25019>}}
  • Removes an unnecessary code block to streamline backend selection in connection management. {{<issue 25154>}}
  • Corrects tuple ID construction for primary keys with out-of-order columns. {{<issue 25070>}}
  • Restores functionality by removing explicit packet parsing for yb_is_client_ysqlconnmgr. {{<issue 25220>}}
  • Reduces read restart errors during concurrent disjoint key writes. {{<issue 25214>}}
  • Enables seamless execution of unnamed prepared statements across different backends. {{<issue 25577>}}
  • Fixes data race in regex pushdown by using thread-local variables. {{<issue 24237>}}
  • Ensures correct row order for queries with IN clauses. {{<issue 25559>}}
  • 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>}}
  • Avoids unnecessary catalog version bumps during in-place materialized view refreshes. {{<issue 26154>}}
  • Disables index-only scans on copartitioned indexes. {{<issue 26344>}}
  • Allows placement of table replicas in any specified region or zone using * wildcard. {{<issue 26671>}}
  • Corrects a queue ordering logic by using std::lower_bound to prevent TServer crashes. {{<issue 27170>}}
  • Fixes ANALYZE failures on wide tables by adjusting fetch size limits. {{<issue 27202>}}
  • Enhances session stickiness when acquiring session-scoped advisory locks. {{<issue 27249>}}
  • Reduces sequence-related errors when using ysql_conn_mgr_sequence_support_mode=pooled_with_currval_lastval. {{<issue 27024>}}
  • Renames pipe type to orafce_pipe to resolve naming conflicts. {{<issue 12990>}}
  • Eliminates unnecessary file creation for views on temporary tables by checking if storage is actually needed. {{<issue 19522>}}
  • Reduces maintenance time by switching to a less complex implementation of SideBySideDiff.java, thereby eliminating errors from SideBySideDiff.sanityCheckLinesMatch. {{<issue 19690>}}
  • Prevents segmentation faults in parallel index scans with aggregate pushdown. {{<issue 21427>}}
  • Introduces custom SQL error codes for better error handling across processes. {{<issue 22353>}}
  • Increases performance by batching index reads during INSERT ON CONFLICT, with customizable batch sizes using yb_insert_on_conflict_read_batch_size. {{<issue 24179>}}
  • Improves cache re-invalidation for ALTER TABLE commands to avoid schema version mismatch errors in the same session. {{<issue 23882>}}
  • Fixes UPDATE errors on partitioned tables by correctly mapping column numbers. {{<issue 23857>}}
  • Ensures restart read time does not exceed the global limit to avoid inconsistent reads. {{<issue 24017>}}
  • Fixes the flaw in the current DDL atomicity workflow where only the first table's schema was compared, even if it doesn't change after a schema version increment. {{<issue 23988>}}
  • Streamlines ysql_dump process by eliminating faulty statements for colocated table unique constraint, enhancing database reliability. {{<issue 24057>}}
  • Introduces batching for the INSERT ON CONFLICT command to enhance performance by minimizing alternating read and write operations. Control the batch size with the new YSQL configuration parameter yb_insert_on_conflict_read_batch_size, which, when default at 1, disables batching. {{<issue 24179>}}
  • Fixes crash by skipping internal savepoints for SET/BEGIN in RC isolation. {{<issue 23730>}}
  • Enhances index relation checks with YBIsCoveredByMainTable method. {{<issue 24239>}}
  • Alters encoding setup order to ensure UTF8 use instead of SQL_ASCII and adds pg_collation to preloaded tables to prevent specific errors. {{<issue 24149>}}
  • Disables LZ4 build option to prevent PostgreSQL build failures. {{<issue 24286>}}
  • Fixes crashes in creating tables with over 585 columns. {{<issue 24304>}}
  • Adds support for ALTER TABLE VALIDATE CONSTRAINT in YugabyteDB. {{<issue 24291>}}
  • Prevent incorrect loading of pg_collation catalog caches, eliminating associated performance issues. {{<issue 24149>}}
  • Fixes out-of-bound memory access during index scan cost estimation. {{<issue 24246>}}
  • Blocks REINDEX and TRUNCATE on system tables using table rewrite. {{<issue 24356>}}
  • Blocks the "NULLS NOT DISTINCT" command until supported. {{<issue 24452>}}
  • Enhances consistency and correctness of INSERT...ON CONFLICT queries via YBCTID infrastructure integration and index management. {{<issue 24692>}},{{<issue 24784>}}
  • Assumes indexes contain 1000 rows when statistics are unavailable, ensuring better query planning. {{<issue 24496>}}
  • 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>}}
  • Enhances UPDATE query execution on generated columns by including them in updatedCols calculations. {{<issue 24641>}}
  • Fixes foreign key checks to avoid errors with unique indexes. {{<issue 24663>}}
  • Ensures accurate catalog version tracking during concurrent index creation. {{<issue 24775>}}
  • Automatically restarts the postmaster to prevent stuck processes when a background worker crashes. {{<issue 24706>}}
  • Ensures YB master reads from valid catalog tables during upgrades. {{<issue 24647>}}
  • Re-enables in-place index updates by default after fixing related inconsistencies. {{<issue 24849>}}
  • Prevents DML operations on sequence data during upgrades. {{<issue 24943>}}
  • Fixes ysql_dump crashes related to pg_catalog schema dumps. {{<issue 24907>}}
  • 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. {{<issue 24951>}}
  • Enhances accuracy of seek-next estimation for index scans and paged results. {{<issue 22087>}}
  • Adds debugging logs to track new OIDs for resolving table OID collisions. {{<issue 24320>}}
  • Ensures successful cache invalidation after a failed ALTER TABLE to prevent "schema mismatch" errors. {{<issue 24981>}}
  • Disables index update optimization by default to fix ON CONFLICT UPDATE issues. {{<issue 25075>}}
  • Reverts changes related to yb_amiscoveredbymaintable for updated index co-partitioning design. {{<issue 25119>}}
  • Fixes memory leak in ysql_dump by clearing PG result in all scenarios. {{<issue 24934>}}
  • Fixes issues with INSERT ON CONFLICT DO UPDATE to prevent secondary index corruption. {{<issue 25075>}}
  • Clears session state on retrying a query to avoid errors and conflicts. {{<issue 25105>}}
  • Eliminates background worker restart loops and enhances error handling. {{<issue 25192>}}
  • Fixes "Duplicate table" error by adjusting OID allocation to prevent collisions. {{<issue 24320>}}
  • Replaces fatal calls with pg_fatal in pg_dump.c for better error handling. {{<issue 25320>}}
  • Allows Batch Nested Loop (BNL) joins on partitioned tables in outer joins. {{<issue 25080>}},{{<issue 25078>}}
  • Ensures correct handling of INSERT ... ON CONFLICT DO NOTHING with multiple arbiter indexes. {{<issue 25240>}}
  • Fixes a missing return statement in MasterTabletServiceImpl::Write. {{<issue 25249>}}
  • Ensures all non-fast path UPDATEs correctly fetch the entire row to prevent foreign key violations. {{<issue 24701>}}
  • Fixes crashes when using yb_get_range_split_clause with partitioned tables. {{<issue 25104>}}
  • Fixes inconsistency in index entries during concurrent writes in the backfill phase. {{<issue 25250>}}
  • Corrects initialization of primaryKeyIndex in ysql_dump. {{<issue 25340>}}
  • Removes a faulty assertion in INSERT ON CONFLICT to prevent failures. {{<issue 25296>}}
  • Addresses a pending review comment for YSQL style corrections. {{<issue 25385>}}
  • Adds a tablet state column to yb_local_tablets for clarity on tablet statuses. {{<issue 24250>}}
  • Fixes incorrect error message related to "INSERT ON CONFLICT" under concurrent transactions. {{<issue 25105>}}
  • Corrects batched read behavior for mixed immediate and deferred FK constraints. {{<issue 25431>}}
  • Enhances session management by moving set_force_catalog_modifications handling to PgSession. {{<issue 25434>}}
  • Reduces scope of ALTER DATABASE impact to only the targeted database. {{<issue 25392>}}
  • Enhances code structuring and formatting for query diagnostics files. {{<issue 25058>}}
  • Ensures correct column mapping for partitioned tables during INSERT ON CONFLICT updates. {{<issue 14895>}},{{<issue 25521>}}
  • Fixes a compile error for GCC builds. {{<issue 25658>}}
  • Reduces latency after DDL changes by using catalog version for cache invalidation. {{<issue 25799>}}
  • Fixes incorrect role name quoting in ysql_dumpall. {{<issue 25701>}}
  • Fixes incorrect aggregate column references in flattened subqueries. {{<issue 24512>}}
  • Modifies ysql_dumpall to combine CREATE ROLE and ALTER ROLE for effective role management. {{<issue 25608>}}
  • Fixes an error in UPDATE queries setting the primary key to itself. {{<issue 21160>}}
  • Fixes issues with INSERT ON CONFLICT queries using SPI_execute_with_args. {{<issue 25773>}}
  • Reverts ALTER DATABASE RENAME and ALTER DATABASE OWNER to global impact. {{<issue 25742>}}
  • Fixes memory leaks and segmentation faults in YSQL Connection Manager. {{<issue 25718>}}
  • Fixes memory leaks in the PostgreSQL Anonymizer extension and optimizes test scheduling. {{<issue 25928>}}
  • Fixes potential negative cost calculations for large table scans by using double for estimates. {{<issue 25862>}}
  • Fixes \d command for indexes with spaces in their names. {{<issue 25711>}}
  • Prevents returning corrupt data for INSERT ON CONFLICT with RETURNING when read batching is enabled. {{<issue 25836>}}
  • Ensures CREATE OR REPLACE VIEW refreshes the catalog for immediate update visibility. {{<issue 25901>}}
  • Refines cost model tuning using server-side execution times for more accurate query optimization. {{<issue 23709>}}
  • Enhances linter hints for Mac users by prioritizing brew over apt. {{<issue 25925>}}
  • Removes redundant yb_cdc_snapshot_read_time field, simplifying snapshot management. {{<issue 26303>}}
  • 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>}}
  • Enables geolocation costing in the new cost model using the yb_enable_geolocation_costing flag. {{<issue 25967>}}
  • Fixes flaky behavior in Connection Manager when handling prepared statements. {{<issue 25958>}}
  • Disables fast-path transactions for bulk loads on colocated tables by default. {{<issue 26191>}}
  • Refactors the FK cache handling in YSQL for cleaner code structure. {{<issue 25431>}}
  • Optimizes cost modeling for primary index scans to assume sequential disk block fetching. {{<issue 26235>}}
  • Ensures accurate detection of duplicate entries during fast-path transactions. {{<issue 26204>}}
  • Enables setting follower reads YSQL parameters at connection time. {{<issue 25635>}}
  • Resolves multiple issues in tuple-to-string utility functions. {{<issue 26288>}}
  • Ensures stable operation of refresh materialized view during major upgrades. {{<issue 26297>}}
  • Uses auto-generated OID symbols for pg_proc entries. {{<issue 26301>}}
  • Displays the initdb log file path on stdout for easier debugging. {{<issue 26316>}}
  • Ensures consistent data during fast-path COPY operations on tables with unique indexes. {{<issue 26207>}}
  • Enhances query planning for inherited and partitioned tables with more efficient path usage. {{<issue 25988>}}
  • Ensures PostgreSQL compilation only executes necessary tasks by correctly handling MAKELEVEL. {{<issue 26337>}}
  • Prevents database crashes by blocking index creation on dimensionless vector columns. {{<issue 26345>}}
  • Fixes upgrade issues for partitioned tables by reverting relam settings. {{<issue 26317>}}
  • Prevents crash by excluding NULL values from vector indices. {{<issue 26378>}}
  • Enhances index scans and partition pruning for BOOLEAN conditions. {{<issue 26266>}}
  • Ensures correct behavior of YbBitmapIndexScan upon rescan by updating pushdown expressions. {{<issue 26210>}}
  • Eliminates erroneous colocation data in indexdef for copartitioned indexes. {{<issue 26398>}}
  • Restores and repositions a critical statement to its intended location in the planner. {{<issue 26363>}}
  • Enables selective whole row retrieval for DELETE on partitioned tables with varying configurations. {{<issue 26464>}}
  • 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 incorrect sharing of query limits in subplan executions. {{<issue 26485>}},{{<issue 26418>}}
  • Adds a YSQL configuration parameter to customize negative catalog caching. {{<issue 26311>}},{{<issue 26358>}}
  • Ensures the vmodule flag is respected by the postgres process. {{<issue 26521>}}
  • Adds liblz4.1.dylib to macOS yugabyte-client package for successful deployment. {{<issue 26523>}}
  • Enables ANALYZE to collect accurate stats for parent-level of partitioned tables. {{<issue 23592>}}
  • Prevents crashes by handling non-variable expressions in single-row updates or deletes. {{<issue 26536>}}
  • Adds a safeguard to prevent crashes during NULL vector index scans. {{<issue 26382>}}
  • Enhances stability by initializing vector index scan costs to prevent undefined behavior. {{<issue 26588>}}
  • Prevents relcache reference leaks in yb_get_ybctid_width. {{<issue 24819>}}
  • Fixes port conflict issue when setting pgsql_proxy_bind_address in dual NIC setups. {{<issue 26443>}}
  • Addresses "Duplicate table" error by ensuring unique OID allocation during restores. {{<issue 26456>}}
  • Ensures YSQL dumps set colocated = false for non-colocated databases during backups. {{<issue 26569>}}
  • Reduces default RPC message size limit for better data handling. {{<issue 26375>}}
  • Enhances yb_index_check to verify materialized view indexes' consistency. {{<issue 26639>}}
  • Ensures ysql_dump maintains enum sort order during backup and restore. {{<issue 26645>}}
  • Ensures accurate data return from index scans by correctly fetching needed values for rechecks. {{<issue 26717>}}
  • Ensures path->rows reflects accurate row estimates in scans, avoiding incorrect overwrites. {{<issue 25710>}}
  • Prevents "Duplicate table" errors by not computing relfilenode_htab during initdb. {{<issue 26456>}}
  • Ignores the SPLIT option when creating a partitioned table. {{<issue 26807>}}
  • Renames YSQL metric prefixes for clarity and maintains compatibility with old names. {{<issue 26854>}}
  • Updates description for ysql_yb_enable_ash flag. {{<issue 26838>}}
  • Allows restoration of old backups with enum types without errors by reverting to warnings and auto-generated OIDs. {{<issue 26859>}}
  • Logs odd pg_enum OID during restore if sortorder is missing, enhancing troubleshooting. {{<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>}}
  • Allows yb_binary_restore to be set by ybdbadmin for vector extension creation. {{<issue 26941>}}
  • Ensures accurate reset of stats before every EXPLAIN (ANALYZE) query. {{<issue 27093>}}
  • Ensures ybctid is correctly populated in RETURNING clauses for DML queries. {{<issue 26951>}}
  • Fixes a bug to prevent NULL insertion in pg_yb_catalog_version. {{<issue 27103>}}
  • Adds COMMIT as a DDL in YSQL upgrade scripts to handle cache invalidation correctly. {{<issue 27148>}}
  • Restores single-RPC optimization for certain index scans. {{<issue 27294>}}
  • Re-enables password redaction for specific SQL statements in YugabyteDB. {{<issue 22421>}}
  • Adds missing migration script for pg_hint_plan extension update. {{<issue 27025>}}
  • Fixes the assertion failure for ALTER DATABASE OWNER when using SELECT FOR UPDATE. {{<issue 27280>}}
  • Prevents errors by detoasting values before insertion into DocDB tables. {{<issue 26561>}}
  • Ensures CREATE FUNCTION also updates the catalog version. {{<issue 27166>}}
  • Removes duplicate YSQL configuration parameter entry. {{<issue 27427>}}
  • Fixes a segfault when rewriting tables with vector indexes. {{<issue 26879>}}
  • Fixes secondary index scan cost estimation on colocated tables. {{<issue 27214>}}
  • Prevents ASAN failures during certain SQL operations. {{<issue 27447>}}
  • Ensures YSQL statistics tables are saved and persist after a database restart. {{<issue 26758>}}
  • Fixes TServer crashes during concurrent metadata changes and tablet destruction. {{<issue 26879>}}
  • Fixes a memory leak in yb_cancel_transaction by freeing YbcStatus. {{<issue 27554>}}
  • Disables yb_force_early_ddl_serialization by default to avoid conflict errors. {{<issue 27761>}}
  • Ensures PostgreSQL shuts down before deleting upgrade data to prevent crashes. {{<issue 27726>}}
  • Restores performance hints in prepared statements to ensure consistent execution. {{<issue 24055>}}
  • Simplifies descriptions for inherited PostgreSQL wait events. {{<issue 24972>}}
  • Ensures all threads correctly handle signals for consistent shutdown behavior. {{<issue 24960>}}
  • Enables users to control YB query execution plans using pg_hint_plan. {{<issue 6720>}}
  • Adds Oracle-like functions to YSQL with the Orafce extension. {{<issue 3460>}}

YCQL

  • Allows users to control error suppression for GROUP BY in YCQL using ycql_ignore_group_by_error flag. {{<issue 25030>}}
  • Eliminates unexpected error during shell type definition update across multiple sessions. {{<issue 24217>}}

DocDB

  • Allows the packed row size to exceed its limit during repacking, preventing TServer crash after alter table add column commands with a default value. {{<issue 24050>}}
  • Prevents server crashes during table truncation by safely shutting down iterators before releasing locks. {{<issue 23243>}}
  • Prevents resource waste by checking disk space before remote bootstrap operations. {{<issue 23987>}}
  • Adds a flag to limit multiple pending compactions for priority pools. {{<issue 24540>}}
  • 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>}}
  • Resolves issue where tables could get indefinitely stuck in HIDING state. {{<issue 22159>}}
  • Adds mtime and checksum to block cache key prefix to prevent conflicts. {{<issue 20852>}}
  • Enhances visibility for unexpected rate limiter sleep times in RBS (Remote Bootstrap) threads. {{<issue 24342>}}
  • Prevents crashes when calling ListMasterServers RPC on a master by returning an error. {{<issue 20372>}}
  • Upgrades tcmalloc and abseil to prevent crashes from malloc_usable_size(nullptr). {{<issue 25948>}}
  • Prevents creation of tablespaces with duplicate placement blocks. {{<issue 23406>}}
  • Prevents crashes by ensuring non-null frontiers during transaction apply after a TServer restart. {{<issue 396>}}
  • Fixes load balancing for rewritten tables in colocated databases. {{<issue 26262>}}
  • Prevents deadlocks in PG sessions when using shared memory, enhancing stability. {{<issue 26672>}}
  • Fixes crashes in ProcessSupervisor when unable to restart a process. {{<issue 26731>}}
  • Ensures yb-admin commands respect user-specified timeouts for table flushes and compactions. {{<issue 19957>}}
  • Prevents deadlocks and unresponsiveness during high-load schema changes by fetching table info asynchronously. {{<issue 26909>}}
  • Reduces follower lag by ensuring consistent Raft configuration during tablet splits. {{<issue 26644>}}
  • 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 inconsistencies by not including inactive tablets in OpenTable operations. {{<issue 24860>}}
  • Ensures continuous xCluster task operation even if the master temporarily loses the lease but retains leadership. {{<issue 25480>}}
  • Enhances transactional xCluster accuracy by using majority replicated OpId for ApplySafeTime calculations. {{<issue 26043>}}
  • Prevents server deadlocks by skipping Finished method during certain task aborts. {{<issue 23356>}}
  • The update stabilizes WriteBuffer, preventing potential crashes when constructed over non-zeroed memory. {{<issue 23960>}}
  • Resolves the shutdown issue with the shared exchange causing TServer to hang by properly managing concurrent threads and session destruction, and sets pg_client_use_shared_memory to false by default on Mac to enhance performance. {{<issue 24000>}}
  • Adds a null check to prevent a system crash when cleaning up a recently applied transaction state after a flush operation. {{<issue 24026>}}
  • Prevents crashes during compaction when ysql_enable_packed_row is off and existing packed rows are present. {{<issue 24545>}}
  • Updates YSQL migration script to align with PostgreSQL 15 catalog changes. {{<issue 24593>}}
  • Switches pg_cron back to using standard SIGTERM handling for cleaner shutdowns. {{<issue 24658>}}
  • Ensures tablets remain effectively managed during transition from RF1 to higher replication factors. {{<issue 24575>}}
  • Ensures consistent tablegroup assignments for colocated table backups without using explicit tablespaces. {{<issue 24809>}}
  • Fixes error for select queries in large tables by adjusting backward scan bounds. {{<issue 24824>}}
  • Eliminates segmentation faults by ensuring CleanupHiddenTables holds a write lock during Upsert. {{<issue 24929>}}
  • Prevents fatal errors during multiple splits and PITR restores. {{<issue 25103>}}
  • Ensures consistency between Slice::Less and Slice::compare methods. {{<issue 25319>}}
  • Ensures accurate WaitForReplicationDrain behavior by not mislabeling tablets as drained. {{<issue 25457>}}
  • Prevents crash during transaction abort by adjusting lock handling. {{<issue 25689>}}
  • Ensures fast backward scans return accurate results by fully checking row changes. {{<issue 26060>}}
  • Enables cloning databases to any time in the snapshot schedule retention period. {{<issue 26293>}}
  • Enables lock_timeout for advisory locks, enhancing timeout precision. {{<issue 26513>}}
  • Fixes handling of db_max_flushing_bytes to properly limit memory usage under high write loads. {{<issue 26916>}}
  • Fixes crashes when executing SELECT * FROM pg_locks during advisory lock waits. {{<issue 26972>}}
  • 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>}}
  • Fixes a bug that caused vector indexes to share a folder, preventing crashes. {{<issue 27049>}}
  • Fixes HTTP 503 response formatting on Master API requests. {{<issue 26914>}}
  • Fixes crashes in handling session advisory lock statuses. {{<issue 27030>}}
  • Ensures successful remote bootstrap by removing pre-existing directories. {{<issue 27123>}}
  • Adjusts DocRowwiseIterator to correctly include nulls for NULLS FIRST sorting. {{<issue 27031>}}
  • Fixes compaction errors from schema version mismatches by storing missing-value info. {{<issue 27463>}}
  • Stops retrying failed batches when the session is closed. {{<issue 27171>}}
  • Prevents TServer crashes during concurrent vector index and read requests. {{<issue 27699>}}
  • Resolves deadlock during TSHeartbeat by adjusting lock scope. {{<issue 27773>}}
  • Eliminates potential deadlocks in thread pool by fixing a race condition. {{<issue 27898>}}
  • Ensures "create table" requests for colocated tables don't fail due to mistaken tablet limit checks. {{<issue 23922>}}
  • Reduces unnecessary checks when adding tables in alter replication requests. {{<issue 24164>}}
  • Enhances stability by replacing raw pointers with std::weak_ptr in tablet server handling. {{<issue 24182>}}
  • Enhances index parameter consistency between Usearch and Hnswlib for balanced performance. {{<issue 24465>}}
  • Ensures correct metadata sequencing for vector index chunks, preventing data inconsistencies. {{<issue 24511>}}
  • Speeds up vector LSM loading by using a thread pool. {{<issue 24588>}}
  • Enables merging of small vector index chunks to enhance search efficiency. {{<issue 24069>}}
  • Fixes shutdown path issues to prevent fatal errors during RPC completion. {{<issue 24524>}}
  • Ensures pg_txn_start_us is set for restarted transactions, fixing priority issues in waiter resumption. {{<issue 24778>}}
  • Fixes mini cluster restarts to ensure master leaders track all TServer reconnections. {{<issue 24772>}}
  • Reduces latency by enhancing early resume of RPCs blocked on aborted transactions. {{<issue 24799>}}
  • Fixes memory leak in MasterPathHandlers by properly managing shared pointers. {{<issue 24823>}}
  • Ensures callback triggers after loading tablet server data if the count meets requirements. {{<issue 23744>}}
  • Ensures consistent reads by verifying restart conditions before reporting false corruption. {{<issue 25072>}}
  • Enhances vector index merging for better search efficiency. {{<issue 24069>}}
  • Clarifies the use of "IncludeInactive" and "IncludeHidden" flags in Master RPCs. {{<issue 25086>}}
  • Enables direct mapping from row keys to vector IDs in vector indexes. {{<issue 24232>}}
  • Removes a problematic import to prevent errors during direct script executions in GitHub CI. {{<issue 25155>}}
  • Fixes crashes and errors during vector index creation on non-first column IDs. {{<issue 25276>}}
  • Enhances search efficiency by enabling the Merge function to take vector indexes as input for compactions. {{<issue 24069>}}
  • Fixes crashes when copying large rows with a vector index. {{<issue 25335>}}
  • Updates Snappy to version 1.1.8.4 for better M1 Mac support. {{<issue 25359>}}
  • Fixes snapshot deletion during unfinished operations. {{<issue 25405>}}
  • Enhances XClusterSafeTimeService by integrating it with the upgraded Poller class. {{<issue 25253>}}
  • Changes xCluster metrics from kSum to kMax to prevent inaccuracies. {{<issue 25422>}}
  • Eliminates potential crashes when fetching status of sealed transactions. {{<issue 25439>}}
  • Ensures vector indexes are flushed before deleting intents SST files to prevent data loss. {{<issue 25454>}}
  • Enables block-based sampling by default using new YSQL configuration parameters. {{<issue 25557>}}
  • Prevents xCluster failures caused by same-name table re-creation during non-DBScoped DR. {{<issue 25709>}}
  • Fixes a deadlock issue during index creation and enhances conflict detection. {{<issue 25737>}}
  • Reduces false deadlock errors in session advisory lock handling. {{<issue 25753>}},{{<issue 25761>}}
  • Ensures correct database IDs are used for xCluster replication setup. {{<issue 25770>}}
  • Disallows write DML operations in time-traveling sessions set with yb_read_time. {{<issue 25834>}}
  • Disables pushdown of MD5 and SHA256 to prevent TServer crashes. {{<issue 25889>}}
  • Ensures pg_locks functions correctly even with active advisory locks by ignoring advisory lock tablets. {{<issue 25939>}}
  • Corrects the namespace of TSLocalLockManager to yb::tserver. {{<issue 25941>}}
  • Ensures builds with third party PR artifacts now function correctly. {{<issue 25970>}}
  • Enables cloning databases with sequences to earlier states without errors. {{<issue 25929>}}
  • Enables pg_locks to show active PostgreSQL advisory locks. {{<issue 26057>}}
  • Prevents false conflict detection in snapshot isolation operations. {{<issue 26142>}}
  • Fixes lock order for vector index creation to prevent deadlocks. {{<issue 26119>}}
  • Allows xCluster to handle UNKNOWN state TableInfos gracefully. {{<issue 26019>}}
  • Disables -Wmisleading-indentation warnings in GCC to prevent increased compile times. {{<issue 26177>}}
  • Adjusts shared memory address range to 0x350000000000-0x3f0000000000 to avoid conflicts. {{<issue 26200>}}
  • Ensures continuous leader lease revocation by supporting multiple old leader leases. {{<issue 19447>}}
  • Prevents potential deadlocks by ensuring table locks follow ID order during namespace copies. {{<issue 26164>}}
  • Separates thread pools for vector index backfill and inserts to avoid deadlocks. {{<issue 26343>}}
  • Adds warning for unlocking non-existent advisory locks. {{<issue 26180>}}
  • Escapes non-printable characters in UI and file outputs. {{<issue 26413>}}
  • Fixes logging of partition keys for new child tablets post-split. {{<issue 26409>}}
  • Fixes flush failure reporting during shutdown to prevent data loss. {{<issue 26468>}}
  • Ensures accurate data tracking during master leader transitions by handling chunked tablet reports efficiently. {{<issue 26554>}}
  • Extends advisory lock timeout to 600 seconds to align with PostgreSQL expectations. {{<issue 26518>}}
  • Ensures system tables are correctly removed during deletions or upgrades. {{<issue 26595>}}
  • Reduces thread contention by using a lock-free queue for thread management. {{<issue 26635>}}
  • Enhances local RPC call handling to execute in the same thread when possible. {{<issue 26697>}}
  • Stops tracking transactions when use_bootstrap_intent_ht_filter is set to false, preventing memory leaks. {{<issue 26860>}}
  • Ensures Slice::ToDebugString respects the max_len setting for hex outputs. {{<issue 26874>}}
  • Prevents yb-admin crashes by correctly handling argument count for create_database_snapshot. {{<issue 26899>}}
  • 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>}}
  • Prevents deadlocks during background compaction and transaction loading. {{<issue 26880>}}
  • 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>}}
  • Prevents master process crashes by fixing an iteration modification issue in TriggerDdlVerificationIfNeeded. {{<issue 26967>}}
  • 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>}}
  • Eliminates the risk of deadlocks during table alterations and snapshot operations. {{<issue 26565>}}
  • Ensures column ID continuity in backups by preserving next_column_id. {{<issue 27064>}}
  • Enables YSQL transaction tracing with pg_client_use_shared_memory enabled. {{<issue 27392>}}
  • Ensures no deadlock when threads wait on PgResponseCache for query results. {{<issue 27412>}}
  • Increases RollbackYsqlMajorVersionUpgrade RPC timeout to 3 minutes. {{<issue 24361>}}
  • Adds race conditions in the odyssey library to the TSAN suppression list. {{<issue 24735>}}
  • Reduces data race when changing RocksDB options during auto-compactions. {{<issue 24238>}}
  • Fixes deadlock issue by adjusting lock acquisition order in HierarchicalNSW. {{<issue 25017>}}
  • Ensures tasks don't hang during shutdown by removing unnecessary checks. {{<issue 17898>}}
  • Rejects alter table requests during table preparation to prevent state inconsistencies. {{<issue 25130>}}
  • Reduces mutex load in Catalog manager by optimizing lock usage. {{<issue 25207>}}
  • Ensures smooth RocksDB shutdown by properly updating compaction counters. {{<issue 25211>}}
  • Fix ensures /TableExists correctly identifies recently deleted tables. {{<issue 25223>}}
  • Fixes uninitialized isolation level issue in lock operations. {{<issue 25270>}}
  • Prevents crashes during vector index flush on shutdown. {{<issue 26486>}}

CDC

  • Allows sending a null "before image" for CDC if cdc_send_null_before_image_if_not_exists flag is true. {{<issue 18381>}}
  • Reduces log frequency for certain CDC warnings to every 10 minutes. {{<issue 23148>}}
  • 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>}}
  • Ensures only relevant COMMIT records are streamed, fixing gRPC connector crashes. {{<issue 26861>}}
  • Ensures null values are now correctly captured in CDC before image records. {{<issue 22983>}}
  • Enables removal of dropped tables from the replica identity map to prevent replication errors. {{<issue 24308>}}
  • Excludes expired or irrelevant entries from metrics calculations for more accurate reporting. {{<issue 24975>}}
  • Fixes CDC safe time update to ensure data consistency across tablets. {{<issue 25120>}}
  • Ensures accurate history retention for various replica identities in CDC. {{<issue 25193>}}
  • Reduces untracked memory growth in CDC by eliminating unnecessary request scopes. {{<issue 25311>}}
  • Fixes metric lag by adding dummy entries for expired tablets. {{<issue 25550>}}
  • Stops log cache eviction slowdown due to CDC to prevent untracked memory spikes. {{<issue 25311>}}
  • 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>}}
  • 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>}}
  • Ensures newly created tables in logical replication are retained correctly during cleanup. {{<issue 25206>}}
  • Handles missing CDC streams gracefully during polling by logging warnings. {{<issue 25605>}}
  • Ensures schema checks during table eligibility evaluations for CDC stream cleanups. {{<issue 25206>}}
  • Reduces log verbosity by changing the log level for virtual WAL destroy statements. {{<issue 25547>}}

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>}}
  • Nodes now start using private IP as advertise_address instead of hostname. {{<issue 25037>}}
  • Adds use_client_to_server_encryption flag to secure login data. {{<issue 25332>}}
</details>