Project: YugabyteDB (App Definition and Development / Database)
File: v2.16.md

title: What's new in the YugabyteDB v2.16 STS release series headerTitle: What's new in the YugabyteDB v2.16 STS release series linkTitle: v2.16 series (STS) description: Enhancements, changes, and resolved issues in the YugabyteDB v2.16 STS release series recommended for production deployments. menu: preview_releases: identifier: v2.16 parent: ybdb-releases weight: 2845 rightNav: hideH4: true type: docs {{< tip title="YugabyteDB Anywhere release notes have moved" >}} The have moved to . {{< /tip >}} What follows are the release notes for the YugabyteDB v2.16 series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB v2.16 series. For an RSS feed of all release series to track the latest product updates, point your feed reader to the . {{< warning title="Technical Advisory: Use database version 2.16.1.1 or later" >}} YugabyteDB releases in the v2.16 series prior to v2.16.1.1 contain a backup issue: if a database contains a pre-split range-partitioned table whose primary key constraint column ordering isn't the same as the table's column ordering. If you're using a previous v2.16 database version, you won't be able to successfully perform backups until you upgrade to YugabyteDB 2.16.1.1 or later. {{< /warning >}} Build: `2.16.9.0-b67` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.9.0/yugabyte-2.16.9.0-b67-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.9.0/yugabyte-2.16.9.0-b67-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/2.16.9.0/yugabyte-2.16.9.0-b67-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.9.0-b67 ``` Enables the modification of `issinglerowtxn` for finer control over non-transactional writes required by `COPY`, index backfill, or when `ybdisabletransactionalwrites` is set, preventing issues during non-bufferable operations for single row transactions. {{<issue 4906>}} Verifies error return of pxcipherdecrypt in pgcrypto, a crucial step towards supporting OpenSSL 3.0+. {{<issue 19732>}} Enables a prerequisite import of upstream PG commit `Disable OpenSSL EVP digest padding in pgcrypto`, paving the way for OpenSSL 3.0+ upgrade. {{<issue 19733>}} Allows for the import of upstream PG commit `Add alternative output for OpenSSL 3 without legacy loaded`, aiding OpenSSL 3.0+ upgrade. {{<issue 19734>}} Introduces enhanced security by enabling CVE-2023-39417 mitigation, implementing upstream Postgres changes from REL11STABLE. {{<issue 14419>}} Mitigates potential security issues by importing upstream Postgres commit from REL11STABLE for future support of `ALTER <object> DEPENDS ON EXTENSION`, although it's not currently available in YugabyteDB. {{<issue 14419>}} Adjusts webserver out-of-memory score to match PG backends, avoiding unnecessary termination and prioritizing problem-solving if excessive memory use occurs. {{<issue 20028>}} Introduces `profilersamplefreqbytes` to enable allocation sampling for gperftools tcmalloc, boosts default sampling from 100KiB to 1MiB, and adds Abseil symbolizer for improved ybprof speed. {{<issue 17758>}},{{<issue 18561>}} Enables distinct history retentions for the master's DocDB metadata table and other tables, enhancing the logic of fast PITR by adjusting snapshot schedules and restoration techniques. {{<issue 18207>}} Reduces master leader startup time and avoids deadlocks by moving migration writes out of the catalog loading phase into a catalog manager background thread pool. {{<issue 15909>}} Prevents tservers from communicating with master leaders in different universe clusters averting possible data loss, by introducing a new `universeuuid` field and an autoflag `masterenableuniverseuuidheartbeatcheck` to manage the tserver heartbeat checks. {{<issue 17904>}} Introduces support for `rocksdbchecksstfiletailforzeros` flag, enabling verification of SST data file trailing zeros and reporting errors for anomalies detected. {{<issue 19691>}} Includes version info in the error message when the yb process is incorrectly started on an older version post-AutoFlags activation, enhancing error identification ease. {{<issue 16181>}} Rejects ConfigChange requests for system catalog while another server is transitioning, preventing potential data loss from mistaken quorum formation by new

{{<issue 18335>}} Enables SST write retries on detected corruption after write with the `rocksdbmaxsstwriteretries` flag, enhancing data reliability. {{<issue 19730>}} Upgrades OpenSSL to 3.0.8 from 1.1.1, reflecting its end-of-life status, while also disabling Linuxbrew builds and updating glog for stack unwinding based on backtrace function. {{<issue 19736>}} Ensures the `masterjoinexisting_universe` flag value check before restoring the initial sys catalog snapshot to avoid incorrect operations. {{<issue 19357>}} Reduces time window for retryable requests to match Write RPC timeouts, preventing the replay of unnecessary logs in YCQL tablets and offering protection against expired requests. {{<issue 18736>}} Logs tablet metadata creation/updation instances, giving additional insights and reducing crash loops on TServer startup by avoiding duplicate tablet metadata records. {{<issue 20042>}} Enables tracing for the UpdateConsensus API; activate the `collectupdateconsensus_traces` flag to collect traces from remote followers, enhancing local log trace messages. {{<issue 19417>}} Enables automatic recovery of index tables for bugs detected in the context of all new index tables created from 2.14; prevents retention of tombstones in SST files, mitigates performance degradation and disk size leak. {{<issue 19731>}} Enhances debugging experience by adding verbose logs for load balancer state changes, updating the global state in verbose logs, and logging state transitions per table state. {{<issue 20289>}} Enables faster server initialization by deleting the tablet's superblock during the `DeleteTablet` operation if the `deletetype` is `TABLETDATA_DELETED`, reducing the number of DELETED tablet superblocks at next server startup. {{<issue 19840>}} Introduces a GFlag to toggle automatic tablet splitting for tables in a CDCSDK stream, enhancing user control over replication processes. {{<issue 19482>}} Allows `ALTER TABLE DROP CONSTRAINT IF EXISTS` command to execute without throwing an error, even when the table lacks a constraint, enhancing the user experience. {{<issue 17659>}} Trims down the probability of inaccurate behaviour involving conflicts between single shard INSERT operations by ensuring read times are chosen after conflict resolution, enhancing data consistency. {{<issue 19407>}} Addresses mismatches that occurred due to non-execution of the postprocess script on alternate expected files and `defaultexpectfile` in pgregress. {{<issue 19737>}} Resolves a bug that hindered consecutive lock acquisition due to not releasing LWLocks during AbortTransaction, preventing PostgreSQL processes from getting stuck. {{<issue 19509>}} Prevents potential postmaster crashes during cleanup of killed connections by using the killed process's ProcStruct to wait on an unavailable LWLock. {{<issue 18000>}} Preserves table grants, policies, dependent views, and statistical objects after modifications to a table's primary key. {{<issue 15245>}} Reduces spinlock deadlock detection time by 75% for prompt handling of potential freezes and restarts Postmaster when a process holding a spinlock is killed, ensuring successful initiation of new connections. {{<issue 18272>}},{{<issue 18265>}} Preserves the Row-Level Security (RLS) behavior during table rewrites by correctly copying `relforcerowsecurity` metadata from the old table. {{<issue 19815>}} Restarts postmaster for easier and more effective cleanup when a process is accidentally killed during its own initialization or cleanup, avoiding potential issues with shared memory items handling. {{<issue 19945>}} Refines background worker processes structure to prevent loss of Proc struct after killing a background worker, ensuring continued webserver functionality. {{<issue 20154>}} Enhances debugging in YSQL webserver by introducing two new flags for better logs and by enabling the handling of SIGHUP signals. Additionally, it provides deeper insight into memory usage through newly created endpoints. {{<issue 20157>}} Resolves the segmentation fault issue in postmaster by utilizing the `KilledProcToCleanup` instead of `MyProc` when acquiring locks, eliminating process restart root causes. {{<issue 20166>}} Restart the postmaster whenever a process is killed while writing in a critical section, preventing corrupted state and CPU consumption due to infinite loops. {{<issue 20255>}} Caps the number of attempts to read inconsistent back-end entries at 1000 to prevent indefinite waiting, proceeding with potentially incomplete yet safe results if consistently

{{<issue 20274>}} Sets `ybpgbatchdetectionmechanism` to `DETECTBYPEEKING` by default for safer usage on older versions, mitigates "Illegal state: Used read time is not set" error with INSERTs. {{<issue 20099>}},{{<issue 16446>}} Eradicates segmentation faults in the webserver SIGHUP handler during cleanup by using `MyLatch` throughout the process life cycle, enhancing stability. {{<issue 20309>}} Reduces memory usage during secondary index scan operations by introducing a separate, periodically reset arena for batch operations, thereby preventing system memory overload. {{<issue 20275>}} Mitigates instances of `hybrid time too low` error by requiring new leaders to only accept writes when the previous leader's lease has expired. {{<issue 18121>}} Allows tracing of outgoing calls only if the current RPC is being traced, reducing excessive memory consumption and logging. {{<issue 19497>}} Overcomes issues with YCQL, snapshots, and metrics by migrating the TableInfo namespace_name field through the master migration framework, first introduced in version 2.3, with the namespace loader now preceding the table loader. {{<issue 17713>}} Restores the original behavior that doesn't count tablets on dead tservers towards the replica count in the under-replicated endpoint after a master leader failover. {{<issue 19514>}} Introduces retry logic to synchronize metadata and checkpoint creation during remote bootstrap initialization, reducing inconsistency risks associated with schema packing. {{<issue 19546>}} Blocks schema Garbage Collection while creating a snapshot to avoid loss of schema packing between a checkpoint creation and saving tablet metadata. {{<issue 18379>}} Reduces index size growth and enhances query speed by properly updating the `retaindeletemarkers` field on index backfilling, addressing an issue where delete markers persisted in SST files. {{<issue 19544>}} Increases tabletcreationtimeout_ms from 30 seconds to 600 seconds to prevent tablet replacement during table creation, improving restore operations in network latency sensitive environments. {{<issue 13030>}} Refines meta cache updates to avoid overwriting child tablets and consequently causing stale data, ensuring more accurate partition map refreshes. {{<issue 18732>}} Prevents potential lags and errors in the WaitOnConflict workload testing by ensuring in-memory locks get properly resettled, even in the event of a failed conflict resolution sequence. This fix helps avoid lock-related issues that might occur with any leaked or stuck WriteQuery objects. {{<issue 18770>}} Resolves a use-after-free issue in RefinedStream's failure path to enhance system stability and prevent memory corruption. {{<issue 19727>}} Fixes an intermittent index creation failure by checking the result of `isrunning`, ensuring stability for empty YCQL tables, and preventing retaindelete_markers from being incorrectly set. {{<issue 19933>}} Resolves a concurrency issue in MasterChangeConfigTest by operating on a copy of `ExternalMaster` to prevent timing out when removing a follower with a transitioning server. {{<issue 19927>}} Streamlines handling of single shard waiters by replicating existing conflict checking logic typically used for distributed transactions, ensuring waiters unblock properly after a blocking subtransaction rollback. {{<issue 20113>}} Deprecates the `enableprocesslifetimeheapsampling` flag, allowing control over tcmalloc sampling only with the `profilersamplefreq_bytes` flag for better accuracy. {{<issue 20236>}} Adjusts SysCatalog tablet's retryable requests retain duration to prevent the `request is too old` error in YSQL DDL after 60 seconds, enhancing user's cross-database operation execution. {{<issue 20330>}} Eliminates deadlocks during the deletion of a YSQL database with namespace-level CDC streams by improving the marking code logic. {{<issue 19879>}} Corrects the problem where new tables were not added to the stream metadata after a table was dropped, by allowing tables to be added to streams in both the ACTIVE and DELETING_METADATA states. {{<issue 20428>}} Eliminates potential crashes by adding nullity checks to `CDCServiceImpl::GetChanges` that previously could return a null pointer. {{<issue 19524>}} Avails a more robust stats collector to prevent crashes when a query is terminated while holding a LWLock, ensuring uninterrupted analytics data gathering. {{<issue 19672>}} Build:

Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.8.0/yugabyte-2.16.8.0-b16-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.8.0/yugabyte-2.16.8.0-b16-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/2.16.8.0/yugabyte-2.16.8.0-b16-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.8.0-b16 ``` ] [DST] Fast PITR: Add ability to set cotables filter map ] [DST] Fast PITR - Use cotables filter for master restore ] [DocDB] Move tcmalloc utility code out of MemTracker ] [DocDB] Add ability to recover from follower lag caused by stuck OutboundCall ] [DocDB] Stricter memory order in PreparerImpl::Run to prevent re-ordering of instructions ] [DocDB] New flag to force shell mode for empty masters regardless of master_addresses. ] [DocDB] Improved timeout handling for YCQL index scan Easy Deployment of K8s cluster, changes to rbac rules. Adding debug hooks to add to container startup Add argument to enable/disable pex Adding svc to SAN of cert-manager Added dnsConfig dnsPolicy for YugabyteDB Allow cluster role to access all resources under operator.yugabyte.io for operator Remove thirdparty-deps references from `values.yaml` since this isn't used ] [DocDB] Fix the TESTdocdblogwritebatches flag ] [xCluster] Hold reference count of YBTable in XClusterWriteRpc ] [YSQL] Fix ClearSeparateDdlTxnMode error handling ] [DocDB] Block stack collection during thread creation ] [YSQL] Disable pushdown for TextSearch functions that are not thread safe ] [DocDB] Fixed issue with lastrpcstarttime reset which resulted in tsan race in connection ] [DocDB] Escape output of master and tserver UI endpoints Fix kubernetes operator config in the helm chart to work with latest runtime config changes Fix generate_kubeconfig to work against specified namespace N/A Build: `2.16.7.0-b59` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.7.0/yugabyte-2.16.7.0-b59-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.7.0/yugabyte-2.16.7.0-b59-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/2.16.7.0/yugabyte-2.16.7.0-b59-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.7.0-b59 ``` ] ] Send full universe key registry to Tablet Server on Startup ] [DST] Adding loop call during tablet server init to wait on master leader to get encryption keys at rest ] [DocDB] Improve leaderless tablet endpoint ] [DocDB] Invalidate YCQL system.partitions cache on table creation ] ] [YSQL] Enhance TServer PG daemon robustness ] [DocDB] enhance tserver consensus state page ] [DocDB] Dump PeerManager to tserver debug ui consensus page ] [DocDB] removed unused MemTracker::rand_ field ] [YCQL] Return reserved keywords in double quotes ] Build: thirdparty_tool --list-compilers option enhancement ] [DocDB] reject expired retryable requests ] [DocDB] Fixed YSQL tablet routing ] ] xCluster: Disallow N:1 replication topology ] [YSQL] Peek message following Execute from JDBC driver to identify batch execution and make ybpgbatchdetectionmechanism configurable at runtime for session ] ] [DocDB] Add verbose logging to the load balancer. ] [xCluster] Fix missing pgschema_name during SetupUniverseReplication ] [DocDB] Fixed wrong metric_type of prometheus metric ] [YSQL] Use consistent read snapshot in DEFERRABLE READ ONLY mode ] ] ] ] [DocDB] fix crash due to speculatively decoding a slice ending in a Typeset ] [DocDB] Issue with picking local_limit during paging read [DocDB] fix hybrid time too low due to race between TransactionParticipant::Poll and RaftConsensus::Start in rf-1 setup ] [DocDB] Fix race on RemoteTablet::replicas_ between RemoteTablet::GetRemoteTabletServers and RemoteTablet::Refresh ] [DocDB] Account for table placement and read replicas in under replicated endpoint ] ] [YSQL] Fix max connection limit errors with additional locking ] [DocDB] Skip key registry decryption in EncryptionManager::GetFullUniverseKeyRegistry() when EAR is

] [DocDB] Ignore deleted tablets in leaderless endpoint ] [DocDB] Fix log reader missing maxreplicateindex ] [YSQL] Fix query layer's read restart retries in Read Committed isolation ] [CDCSDK] Fix bug in GetTabletIdsToPoll when only 1 child tablet has been polled ] [YCQL] Fix TOJSON() to also unpack nested FROZENs ] [CDCSDK] Stop sending checkpoint details for unpolled child tablets in UpdatePeersAndMetrics ] [DocDB] Fix log message format in WritePostgresConfig ] [YSQL] YB Sequential Scans don't take locks in SERIALIZABLE isolation N/A Build: `2.16.6.1-b1` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.6.1/yugabyte-2.16.6.1-b1-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.6.1/yugabyte-2.16.6.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/2.16.6.1/yugabyte-2.16.6.1-b1-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.6.1-b1 ``` This release includes a and no changes to YugabyteDB (the core database). Build: `2.16.6.0-b43` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.6.0/yugabyte-2.16.6.0-b43-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.6.0/yugabyte-2.16.6.0-b43-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/2.16.6.0/yugabyte-2.16.6.0-b43-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.6.0-b43 ``` ] [DocDB] Make full compactions non-exclusive by default ] [DocDB] Accept registrations from tservers on the same node with greater sequence numbers. ] [YSQL] expression pushdown forward compatibility - part2 ] Add statistics to track DocDB keys found (total, obsolete, and obsolete past history cutoff) ] [DocDB] Async open table while updating indexes ] [CQL] Account for user query and keyspace name for prepared statements ] Use LLVM URL from the third-party dir for ASAN/TSAN ] [DocDB] Add HTTP security headers ] [YSQL] Add waitpid status code decoded messages to log ] [YCQL] Introduce GFlag to control local calls on RPC thread ] [DocDB] Unify ModifyPlacementInfo string parsing ] [DocDB] fixed PartitionSchema::CreateHashPartitions to provide even hash codes distribution ] [YCQL] Return error for unset bind PK value ] ] [YSQL] Avoid setting read time when using serializable isolation level ] [DocDB] Prevent crashing the master if trying to restore a deleted table ] [DocDB] Prevent intent clean-up while reading YSQL system tables ] [DocDB] Fix crashes due to tablet shutdown timeout ] ] [DocDB] Fix transaction promotion/conflict resolution abort handling ] [DST] PITR + Sequences - Ensure generated sequence values are monotonic after restore ] [YSQL] Set PgClient session timeout value ] ] [DocDB] Fix issues in RBS from closest peer codepath ] [DocDB] Delete Snapshot keeps on retrying indefinitely after master failover ] [YSQL] Fix incorrect tablet count assignment on user tables created within geo-partitoned tablespace ] ] [DocDB] Fix write operation CHECK fail due to old schema version ] [CDCSDK] GetCheckpoint will return invalid checkpoint for unpolled tablets ] [DocDB] Root memory consumption should not include pageheapfreebytes ] [DST] PITR - Single file compaction does not reset Hybrid Time filter ] [YSQL] Import 'Replace last PushOverrideSearchPath() call with setconfigoption().' from PG ] [xCluster] Log when UpdateCdcMetrics is delayed ] [DocDB] Add EncryptedWritableFile::Size() to fix incorrect WAL footer start offset ] ] [DocDB] Rename WAL file after writing the file header on the disk ] [DocDB] Tablet splitting should respect FLAGSmaxcreatetabletsper_ts. ] [DocDB] Clear drive load / leader load maps before appending to them ] [DocDB] Fix system partitions query to not return empty namespace name when its not set at table level ] [DocDB] A workaround for memory leak from InboundCall weak pointers ] [YSQL] Fix file filter to correctly use bound inclusiveness information ] [YSQL] Fix the system catalog versioning behaviour on CREATE TABLE with FK reference command N/A Build: `2.16.5.0-b24` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.5.0/yugabyte-2.16.5.0-b24-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.5.0/yugabyte-2.16.5.0-b24-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/2.16.5.0/yugabyte-2.16.5.0-b24-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull

``` ] [DocDB] [Tablet splitting] Lower the thresholds for splits on low core machines ] [DocDB] Optimize YCQL JSONB attribute-level upsert performance ] [DocDB] Add memtracker to track CQL requests memory usage ] [xCluster] cleanup the transaction to write_id map whenever transaction is applied ] [DocDB] Add tracking for memory used by YBMetadataCache ] [Xcluster] Fix GetChangesOnSplitParentTablet ] [YSQL] Fix functional indexes returning wrong results ] [YSQL] Use per-tuple memory context in relcache preloading ] [DocDB] Ignore missing YSQL indices when importing a snapshot. ] [YSQL] Fix postgres crash when pgstatprogresscreateindex has an index from a different database ] [DocDB] Retry read if read buffer was full on previous step ] [Xcluster] Fix metrics jump when regaining leadership ] [YCQL] Prevent DROP TYPE for the used YCQL type ] [YCQL] Use Metadata Cache by default in PREPARE ] [YSQL] Import Handle RLS dependencies in inlined set-returning functions properly. ] Avoid double memory tracking of request data and fix tracking for plain response buffer size ] [YSQL] Make sure ybctidcolumnvalue is still sent in index scans for upgrade compatibility ] [DocDB] Update to NULL could be lost after compaction when packed row is enabled ] [DocDB] Exclude yugabyted-ui from sed binary manipulation. ] Fix the shared library interpreter used for yugabyted-ui N/A Build: `2.16.4.0-b32` <!-- Third-party licenses: , --> <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.4.0/yugabyte-2.16.4.0-b32-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.4.0/yugabyte-2.16.4.0-b32-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/2.16.4.0/yugabyte-2.16.4.0-b32-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.4.0-b32 ``` ] [CDCSDK] Added serveasproxy member to GetCheckpointRequestPB ] [YCQL] Disable alter table rename on columns with index ] [YCQL] Limit topology change events to subscribed connections ] [DocDB] Remove const modifier for iterator HasNext and GetNextReadSubDocKey ] [DocDB] Reuse regular RocksDB upper bound for intents RocksDB ] [DocDB] harden master leaderless tablet endpoint ] [YSQL] Use tablespace leader preference as a cost component in planner ] [CDCSDK] Use safe time from request rather than response ] [DocDB] Start transaction promotion immediately even if not ready yet ] [DocDB] Protect InboundCall::trace with the mutex/atomicptr ] [DocDB] Remove outstanding tablet split limit by default. ] [YSQL] Switch to new query context for gettablespacedistance() operations ] [DocDB] Disallow multiple OpenTable calls in YBMetaDataCache::GetTable ] [YSQL] Assume that CAPABILITY_PickReadTimeAtTabletServer is enabled all the time ] [DocDB] Sanitizes debug messages ] [YSQL] Fix metric for total number of connections made ] [DocDB] Tablet splitting: Some queries fail with "The tablet is shutting down" during the workload ] [CDCSDK] Send snapshot end marker when snapshot has no data ] [DST] B/R, PITR - Fix invalid enum value of restoration state object ] [YSQL] Fix metric for rejections due to connections limit ] [DocDB] Fixed missing data in case of RocksDB iterator error ] [YSQL] Fix IndexOnlyScan with no targets returning empty rows ] [DocDB] Fix delete_snapshot sending delete RPCs indefinitely for deleted tablets ] [DocDB] Fix TestIndex.testDropDuringWrite ] [DocDB] Fix tablet splitting / PITR deadlock ] [DST] PITR - Extend master's sys catalog retention based on snapshot schedule ] [DocDB] Compilation failure for Apple clang 14.0.3 N/A Build: `2.16.3.0-b43` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.3.0/yugabyte-2.16.3.0-b43-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.3.0/yugabyte-2.16.3.0-b43-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/2.16.3.0/yugabyte-2.16.3.0-b43-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull

``` ] [DocDB] Enable lease revocation ] [DocDB] Add Raft Config info to consensus information in YB-Tserver UI ] [DocDB] Add mem_tracker for RunningTransaction objects in TransactionParticipant ] [YSQL] Support expression pushdown for ybgin index scans ] [YSQL] Avoid reading sys catalog from followers ] [CDCSDK] Making CDC checkpoint logs on tablet peer periodic ] [DocDB] Support packed row in sst_dump ] [DocDB] Update lastreceivedcurrent_leader sent from replica to leader by including de-duped messages as well ] [DocDB] Refactor AreLeadersOnPreferredOnly to Account for Geo Partitioned Table ] [DocDB] Check permission status of YCQL indices in `CatalogManagerIsDeleteTableDone` ] [DocDB] Don't initiate packing with tombstoned column ] [YSQL] Reduce verbosity of a Postgres log line in read committed isolation level codepath ] [DocDB] execute callbacks for local RPC calls the same way as for remote calls ] ] [YSQL] Avoid picking hybrid timestamps in YSQL backends ] [DocDB] Changing post-split compaction to run non-exclusively ] [DocDB] Tablet splitting should be blocked on systempostgres.sequencesdata ] Correctly set cdcsdkmincheckpointop_id to -1.-1 in upgrade scenarios ] [DocDB] Change IsDeleteTableInProgress treatment of alive Index ] [DocDB] Change PgClientService sessionexpirationqueue_ to min heap ] [CDCSDK] Correcting safe_time bug for batches with only commit record [DocDB] Bump RBS session default timeout [DocDB] Release RequestScope in WriteQueryExecuteDone() ] [DocDB] Fix BlockBasedTable memtracker being unregistered in Tablet destructor ] [YSQL] Fix ANALYZE error after ALTER TABLE DROP COLUMN ] [YSQL] Prevent 'Restart read required' error in case of sys catalog cache refresh ] [DocDB] LDB tool is crashing while trying to dump manifest file ] ] ] [DocDB] Fix apply-operation timeout during schema changes ] [YSQL] Fix premature return in PG_TRY block in relcache.c ] [DocDB] Fix usage of Connectionoutbounddatabeingprocessed during Shutdown ] [CDCSDK] Failed to decode Before image record with packed row enabled and multiple table alter ] [YSQL] Fix regression in performance of queries returning large columns ] [DocDB] Fix incorrect iteration over modified set in CleanupAbortsTaskRun ] [DocDB] Cluster creation is failing on Mac ] [DocDB] Ignore heartbeats from peers not in reported config ] [YSQL] Fix segmentation fault after rollback of subtransaction with deferred ] DST PITR + Packed - Fix sys catalog restoration logic ] [CDCSDK] Fix safe_time issues around large transactions [DB-5855] xCluster Configuration - Data Type Missing in the Type.Java List [DocDB] Fix deadlock with YqlPartitionsVTable [DocDB] fix leader ht lease exp under leader only mode fix Added missing name attribute for replication factor field N/A Build: `2.16.2.0-b41` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.2.0/yugabyte-2.16.2.0-b41-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.2.0/yugabyte-2.16.2.0-b41-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/2.16.2.0/yugabyte-2.16.2.0-b41-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.2.0-b41 ``` ] [YSQL] Add progress reporting for create index commands ] [YSQL] Push down nextval() validation ] [YCQL] Disable PAGING & LIMIT for aggregate functions ] [DocDB] Add Raft Config info to consensus information in YB-Tserver UI ] [DocDB] Count time from transaction init for tracing thresholds ] [CDCSDK] Mark stream as active on ns with no table with PK ] [YCQL] Use Metadata Cache in IsYBTableAltered ] [DocDB] [YSQL] Update PGTableDesc table cache when partition list version is outdated ] ] ] [YSQL] Further reduce first-query metadata RPCs ] [YSQL] Avoid caching responses for auth process ] [DocDB] Ensure IntraTxnWriteId is properly decoded even in weak lock intents ] [YSQL] Reduce verbosity of a PostgreSQL log line in read committed isolation level codepath ] ] [YSQL] Avoid picking hybrid timestamps in YSQL backends ] [CDCSDK] Checkpoint set to 0.0 from raft superblock in upgrade scenarios ] [CDCSDK] Correctly set cdcsdkmincheckpointop_id to -1.-1 in upgrade scenarios ] [DocDB] Fix BlockBasedTable memtracker being unregistered in Tablet destructor ] [Backfill] Do not update index permissions when table is being deleted ] [DocDB] Prevent momentary data masking during IntentAwareIterator scans in index backfill ] [YSQL] Fix premature return in PG_TRY block in

] Move mac release builds to mac12 nodes ] fix auto re-running cmake ] [YSQL] fix ybgin index scan after DROP COLUMN ] [DocDB] Don't hold mutex when starting TransactionStatusResolver ] [Backfill] Fixed race in Tablet::FlushWriteIndexBatch ] [YCQL] Fix wrong metadata version with pagination on SELECT using Index ] [YSQL] unpushable SET clause expressions caused unnecessary index updates ] [DocDB] Don't initiate packing with tombstoned column ] [YSQL] Control inclusiveness info being sent over in QLOPBETWEEN with an AutoFlag ] [YSQL] Fix ybgetrangesplitclause primary key constraint wrong assumption ] [YSQL] Fix regression in performance of queries returning large columns ] [YSQL] ysql_dump cannot correctly dump primary key with INCLUDE clause for table schema N/A Build: `2.16.1.1-b3` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.1.1/yugabyte-2.16.1.1-b3-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.1.1/yugabyte-2.16.1.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/2.16.1.1/yugabyte-2.16.1.1-b3-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.1.1-b3 ``` ] [YSQL] Fix `ybgetrangesplitclause` primary key constraint wrong assumption ] [YSQL] Disable inclusiveness info being sent over in `QLOPBETWEEN` N/A Build: `2.16.1.0-b50` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.1.0/yugabyte-2.16.1.0-b50-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.1.0/yugabyte-2.16.1.0-b50-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/2.16.1.0/yugabyte-2.16.1.0-b50-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.1.0-b50 ``` ] [YSQL] Allow admin to limit the number of successive failed login attempts by a role ] [YCQL] Add mechanism to reset password as a non-authenticated user ] [DocDB] Add compaction types to compaction task metrics ] [DocDB] Tserver Registration hazard - UUID can be blank ] [DocDB] Fix term mismatch caused by stale consensus meta data passed to InitTabletPeer ] [YSQL] Cleanup after terminated connections ] [CDCSDK] Do not send checkpoint to tablet peers for tablets in uninitialized state ] [DocDB] Start hinted leader election only on running replicas ] [DocDB] YSQL select max() returns inconsistent result after tablet splitting ] [DocDB] Retain schema packing for non flushed entries ] [DocDB] Take intents into account for retaining schema packing ] [DocDB] Use schema version during apply intents ] [xCluster] Fix ranged keys + uneven tablet counts ] [YSQL] Move the ybRunContext to be a child of TopPortalContext ] ] [CDCSDK] setcheckpoint never fails with non-primary key table ] [CDCSDK] With larger transaction we miss before image. ] [CDCSDK] Ignore cases where safe_time not set in PopulateTabletCheckPointInfo ] [YSQL] Fix `rolprffailedloginattempts` counter behaviour ] [CDCSDK] Only delete parent tablet after a successful GetChanges call on both children ] [YSQL] Exclude some auth methods from profile handling ] [DocDB] Fix setting cotable id for non primary ysql catalog tables ] [CDCSDK] Data loss with CDC snapshot plus streaming ] [CDCSDK] Prevent updating LastReplicationTime when reporting TabletSplit error ] [CDCSDK] In cases of not using the before image remove safe time after a successful snapshot ] [DocDB] Handle null placement info due to faulty restores ] [CDCSDK] Update CDCSDK checkpoint non-actionable replicated messages in WAL ] [DocDB] Fix reading packed row with column updated to NULL N/A Build: `2.16.0.1-b7` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.0.1/yugabyte-2.16.0.1-b7-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.0.1/yugabyte-2.16.0.1-b7-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/2.16.0.1/yugabyte-2.16.0.1-b7-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.16.0.1-b7 ``` ] [YSQL] Clean up after terminated connections N/A Build: `2.16.0.0-b90` Third-party licenses: , <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/releases/2.16.0.0/yugabyte-2.16.0.0-b90-darwin-x86_64.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/releases/2.16.0.0/yugabyte-2.16.0.0-b90-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/2.16.0.0/yugabyte-2.16.0.0-b90-el8-aarch64.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux ARM</span> </a> </li> </ul> ```sh docker pull

``` ] [DocDB] Add an option to run a major compaction at a fixed interval ] [CDCSDK] Provide tablet split support to CDCSDK Service ] [CDCSDK] Composite type support ] [CDCSDK] Alter table support with CDCSDK ] [YSQL] Allow Batched Nested Loop joins for clauses that have expressions on outer variables ] [yugabyted] The yugabyted UI is now enabled by default [DB-2705] [YSQL] Introduce GFlag to control local file access [Metrics] Add a metric "qlwritelatency" to track write latency, similar to qlreadlatency ] [YSQL] Populate query termination entry in pg_stat with OOM and seg fault errors ] [YSQL] Integrate READ COMMITTED isolation with wait queues ] [CDCSDK] CDCSDK metrics aggregation with stream level ] [YSQL] Adding Geo-distribution helper functions ] Add explicit GFlag macros for DEFINERUNTIME and DEFINENON_RUNTIME ] [xCluster] Add APIs for changing role ] [YSQL] Enhance passwordcheck with more checks ] [CDCSDK] Add Java level APIs to fetch tablets from the cdc_state table ] [DocDB] Propagate new AutoFlag configs to Tservers ] [DocDB] Track qlreadlatency for SQL too ] [YSQL] Import Make contrib modules' installation scripts more secure ] [DocDB] speedup split child tablet local bootstrap by copying in-memory retryable requests structure from parent tablet ] [DocDB] Avoid decoding doc hybrid time during compaction when possible ] [YSQL] Allow for ybdbadmin users to access all ybterminatedqueries ] [YSQL] Output current ysqlmaxconnections as a metric ] [YSQL] Deprioritize expression pushdown in single line updates ] [YSQL] Move recently added YB NodeTags to the end of the list ] [DocDB] Add tcmalloc malloc/free stack trace sampling ] [YSQL] Complete support for PARAM_EXEC pushdown ] [CDCSDK] Change log level of line which indicates fetching next block from WAL in cdcsdk_producer ] [CDCSDK] Change logging level for CDCSDK related client errors ] [DocDB] Automatic tablet splitting is disabled by default in 2.16 [CDCSDK] Before image support for CDC with only record types Change and All ] Fix TransactionLoader race on tablet bootstrap vs tablet delete ] [YSQL] Cache sys catalog read request on local TServer side ] [CDCSDK] Populate CDC stream cache with newly added table details ] [CDCSDK] Support for newly added table to active stream's namespace ] [yugabyted] Secure deployment of YugabyteDB cluster using yugabyted CLI (Phase 2). Added cert generation experience through yugabyted. ] [YSQL] Wait for pending Perform RPCs to complete before aborting YB DDL transaction ] [YSQL] Add distributed storage access statistics to EXPLAIN ANALYZE ] ] [xCluster] Fix shutdown path of CDCConsumer ] Obtain Tablet from TabletPeer as a shared_ptr to avoid incorrect memory access ] [YSQL] Add colocationid to pgdump for materialized views ] [DocDB] Fix deadlock in DoSplitTablet. ] [YSQL] TPCC tests with restore failing with "Query error: schema version mismatch for table" ] [YSQL] Avoid using plain text LDAP password via environment variable ] [DocDB] Combine AutomaticTabletSplittingMovesToNextPhase and

] [YSQL] Batch upserts in CatalogManager::CopyPgsqlSysTables when creating namespace ] [DocDB] Move row lock from primitive key type to primitive value type ] [DocDB] Fixed negative metric value from thread_running category ] [DocDB] Fix master UI on non-leader nodes when HTTPS is enabled ] [DocDB] Backups fail when two same-name namespaces exist, one RUNNING and another DELETED ] [DocDB] Add a URL param to reset histograms ] [YSQL] Multibyte chars in pushdown expressions ] [DocDB] fix potential duplicate WRITE_OP due to split and RPC timeout interference ] [DocDB] Support xCluster + Packed columns when Producer/Consumer schema_versions don't match ] [DocDB] Fix wait for safe time timeout by cleanup aborts task ] [yugabyted] [QA] Hiding DB password from the logs ] [YSQL] Enable ybdbadmin to ALTER/DROP/CREATE triggers like a superuser ] [YCQL] Allow CQL calls to request tracing on a per-session/rpc basis ] [CDCSDK] Intents get GCed during universe upgrade ] [YQL] Improve logging in case of duplicate index error ] [YSQL] Fix the partial write issue of writev/pwritev by adding looping logic ] [YCQL] Fixing partition_hash() with multiple indexes ] [YSQL] Avoid RPC from YSQL to local tserver when switching sub-txns ] [DocDB] Add Guard Around Txn Coordinator Retry Logic for Failed Apply ] [YSQL] Optimize relation's rd_replidindex preloading ] [DocDB] disallow advance `maxsafetimereturnedwithlease` before NoOp of current term is replicated ] [DocDB] Include subtransaction_id in value of weak intents ] [CDCSDK] upgrading the universe from 2.15.3 to 2.15.4, causing intent GCed ] [DST] Packed + Backup/Restore - Merge schema packing history on restore ] [DST] [PITR] MetaCache flips replica state from failed to not failed for hidden tablets ] [YSQL] Store TServerSharedObject by value in PgApiImpl ] [YSQL] Release YbScanDesc on scan end ] [xCluster] Fix getxclusterestimateddataloss ] [YSQL] Handle backups of range-partitioned indexes with null values in partition bounds ] [YSQL] Do not pushdown expressions with collation ] [DocDB] Fix Flags generated files for LTO builds ] [yugabyted] gen_certs.sh file not present in the release versions. ] [ysql] Fix missing NULL check for MyBEEntry in pgstatreportquery_termination() ] [YCQL] Persist where predicate in IndexInfo for PartialIndexes ] [yugabyted] [QA] Added validation for hostnames provided through CLI. ] [YSQL] Enable ybdbadmin to SELECT/INSERT/UPDATE/DELETE rows in tables like a superuser ] [CDCSDK] Add bool parameter to error out of UpdateCdcReplicatedIndex RPC fails on any TServer ] [DocDB] Colocated table creation optimization ] [DST] [PITR] Do not crash if table not found from colocated list ] [DocDB] Fixed RBS file downloader trace ] [xCluster] Use xCluster Role to determine when xCluster safe time is computed ] [DocDB] Consolidate the use of RegisterFlagValidator and DEFINE_validator ] [DocDB] Fix livelock issue in pessimistic locking ] [CDCSDK] tserver crash during snapshot mode ] [DocDB] JSON escape the GFlags in CallHome ] [DocDB] disallow packed row for colocated tables ] [DocDB] Fix strongly typed bool constants ] Fix xclustersafetime_service Init ] [YSQL] YBCRestartTransaction has no parameter ] [yugabyted] [QA] 'yugabyted status' command shows Stopped even when the node is destroyed. ] [CDCSDK] Fixing the erroneous behaviour of "cdcsdklastsent_physicaltime" metric ] [CDCSDK] Fixes DDL messages for colocated tables ] [DocDB] Prevent repeat resumption of waiting operation if first resumption was error ] [YSQL] Fix ysql_dump use-after-free in getYbSplitClause ] [DocDB] Rename enablewaitqueuebasedpessimisticlocking to enablewait_queues ] [CDCSDK] Add support for tablet split for newly added tables ] [yugabyted] Java install check is no longer needed for yugabyted start command ] [CDCSDK] Fix issue where "cdcsdksentlag_micros" metric shows sudden peaks. ] [CDCSDK] Fix issue where 'cdcsdkchangeevent_count' metric is incremented even on empty batches ] [CDCSDK] YBClient unable to find a TabletClient for child tablets which are split further ]