What's new in the YugabyteDB v2.18 STS release series

YugabyteDB Anywhere release notes have moved

Starting with v2.16, the release notes for YugabyteDB Anywhere have moved to their own page.

Included here are the release notes for the YugabyteDB v2.18 release series. Content will be added as new notable features and changes are available in the patch releases of the YugabyteDB v2.18 release series.

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

v2.18.0.1 - May 30, 2023

Build: 2.18.0.1-b4

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

Docker

docker pull yugabytedb/yugabyte:2.18.0.1-b4

Bug fixes

  • [17431] [DocDB] Fix partial hash key columns projection in DocRowwiseIterator
  • [17480] [DocDB] Update to NULL could be lost after compaction when packed row is enabled
  • [17502] [DocDB] Exclude yugabyted-ui from sed binary manipulation, Fix the shared library interpreter used for yugabyted-ui.

Known issues

N/A

v2.18.0.0 - May 16, 2023

Build: 2.18.0.0-b65

Third-party licenses: YugabyteDB, YugabyteDB Anywhere

Downloads

Docker

docker pull yugabytedb/yugabyte:2.18.0.0-b65

New Features

  • [12417] [YSQL] Use relcache init files in per-database catalog version mode
  • [13336] [YSQL] push down the avg() aggregate
  • [13488] [xCluster] Create index in transactionally consistent xCluster
  • [14234] [14674] [DOCDB] Support Colocated+Packed+XCluster & auto pause/resume on schema changes
  • [14665] [DOCDB] enable packed row for co-located tables by default
  • [16068] [DOCDB] Support storing wait-for probes of distributed waiter txns spanning across tservers
  • [16137] [DST] PITR + Sequences - Ensure generated sequence values are monotonic after restore
  • [16165] [16358] [yugabyted] [UI] New design implementation for Overview and Database pages (#16167)
  • [16165] [yugabyted] UI Adding replication factor info in the /cluster API.
  • [16195] [DOCDB] Add metrics support for ScanForward API
  • [16218] [DOCDB] Adding xcluster_read_only mode to standby cluster databases
  • [16351] [DocDB] Add Cql Tests to Simulate Update Index Callback Leak
  • [16370] [DOCDB] enable packed row in locking unit tests
  • [16380] Use thread safety analysis annotations to enforce the reactor thread requirement
  • [16447] [DOCDB] Use shared memory for Perform queries between postgres and tserver
  • [16503] [CDCSDK] Support colocated table with before image
  • [16513] Add statistics to track docdb keys found (total, obsolete, and obsolete past history cutoff)
  • [16515] [xCluster] Enable using metacache in cdcservice
  • [16571] [DOCDB] Protect InboundCall::trace_ with the mutex
  • [16600] Odyssey connection pooler CMake integration
  • [16601] [DOCDB] Introduce simplified version for RocksDB iterator Next
  • [16648] [DOCDB] Decode directly to QLValuePB
  • [16663] [YSQL] Extend Batched Nested Loop Join functionality to Appended base relations for partitioned tables
  • [16700] [DOCDB] Read directly to QLTableRow
  • [16719] [YSQL] Make ysql_yb_bnl_batch_size a runtime flag
  • [16742] Adding additional logging for API server.
  • [16746] [xCluster] Compute and propagate apply_safe_time from producer
  • [16892] [DOCDB] AutoFlags should provide the capability to enable flags on Install scenarios only, but not upgrade

Improvements

  • [3090] [YCQL] Limit topology change events to subscribed connections
  • [13701] Build: Use Google TCMalloc for fastdebug build.
  • [14961] [14962] [YSQL] Further reduce first-query metadata RPCs
  • [15014] [14333] [YSQL] Refactor some code to honour coding best pratices
  • [15746] [DOCDB] harden master leaderless tablet endpoint
  • [15749] [DOCDB] Delay rocksdb gauge metrics update to end of request
  • [15794] [DOCDB] Reduced Number of Tablets in AreLeadersOnPreferredOnly test
  • [15884] [YSQL] Skip indexed table's stats update after non-concurrent create index
  • [15909] [DOCDB] Move sys catalog writes out of catalog loader.
  • [16058] [CDCSDK] Use safe time from request rather than response
  • [16091] [DOCDB] Changing post-split compaction to run non-exclusively
  • [16123] [DOCDB] Remove co-partitioning logic.
  • [16237] [xCluster] deprecate flags cdc_max_apply_batch_num_records and cdc_max_apply_batch_size_bytes
  • [16255] [YSQL] Reduce memory use on insert, update, and delete by using per-tuple contexts and freeing bitmapsets
  • [16317] [13718] Move common functionality to base iterator class
  • [16374] [DOCDB] Improve error message when SAVEPOINT feature is attempted when disabled by --enable_pg_savepoint
  • [16397] [DOCDB] Set table to RUNNING state only after all tablets are ready
  • [16402] [yugabyted] Set cluster config as soon as the 3rd node joins
  • [16442] [DST] PITR + Per DB catalog version: Increment only the catalog version of the relevant database
  • [16454] [YSQL] Log on unexpected backend termination
  • [16460] [YSQL] Improve error messages for transaction conflicts
  • [16461] [YSQL] Allow hash batching to apply to an unbounded number of permutations
  • [16467] compact_table Now Updates last_full_compaction_time For Tables without Writes
  • [16472] [DOCDB] Replace std::thread with yb::Thread
  • [16480] Reduce the amount of recompilation due to Postgres header copying
  • [16494] [DOCDB] Create VerifyPgClientServiceCleanupQueue unit test
  • [16504] [CDCSDK] [Colocation] YBTable object should contain metadata about colocation
  • [16510] [xCluster] Return nullopt from GetSafeTime if namespace does not require xCluster safe time
  • [16513] [DOCDB] Improve collecting statistics for docdb keys found
  • [16545] Build: build/package on mac11
  • [16551] [xCluster] Account for xcluster safe time for history retention on consumer
  • [16555] [DOCDB] Avoid decoding doc hybrid time during read when possible
  • [16562] [DOCDB] Avoid unnecessary calls to SeekForward and FindLatestValue in doc reader prepare phase
  • [16581] [DOCDB] Remove outstanding tablet split limit by default.
  • [16587] [DOCDB] Move common ScanSpec functionality to base class and remove specific handling from iterator
  • [16588] build-infra: Don't use pipes python module
  • [16617] [DB-6011] [YCQLSH] Updating yugabyte-db-thirdparty release version
  • [16650] [DOCDB] Remove intent_doc_ht control field from packed column value
  • [16651] [DOCDB] Sanity check for RocksDB iterator status validation
  • [16666] [YSQL] Switch to new query context for get_tablespace_distance() operations
  • [16683] Support build with Clang 16
  • [16715] [DOCDB] Optimize handling of add_table change_metadata_op
  • [16756] [xCluster] Move yb-admin get_xcluster_estimated_data_loss to get_xcluster_safe_time
  • [16789] [YSQL] Assume that CAPABILITY_PickReadTimeAtTabletServer is enabled all the time
  • [16849] [DOCDB] Tablet splitting: Lower the thresholds for splits on low core machines
  • [16868] [DOCDB] Sanitizes debug messages
  • [16875] [DST] PITR - Extend master's sys catalog retention based on snapshot schedule
  • [16900] [CDCSDK] Remove cdcsdk_unprocessed_tables from CDCStreamInfo
  • [16969] yugabyted UI updates (#16989)
  • [16991] [YSQL] Update pruning quals when nested loop batching is on
  • [16993] [YSQL] Restructure type checking when forming batched expressions
  • [17075] [17078] Send full universe key registry to Tablet Server on Startup
  • [17115] [YSQL] Restructure batched indexqual creation
  • [CLOUDGA-12738] Make the package updates work on AlmaLinux 9
  • [CLOUDGA-12738] Update OS pacakges during AMI build process
  • [DB-5975] [YCQLSH] Updating yugabyte-db-thirdparty release version

Bug fixes

  • [506] [YCQL] Disable alter table rename on columns with index
  • [13862] [YSQL] Fix metric for total number of connections made
  • [14167] [YSQL] Fix PgPackedRowTest.AddDropColumn flakiness
  • [14270] [DOCDB] Fixes test SnapshotTxnTest.BankAccountsWithTimeStrobe
  • [15090] [DOCDB] Tablet splitting: Some queries fail with "The tablet is shutting down" during the workload
  • [15166] [DOCDB] Fix crashes due to tablet shutdown timeout
  • [15449] [CDCSDK] Send snapshot end marker when snapshot has no data
  • [15612] [YSQL] Fix a memory leak in pg_isolation_regress
  • [15930] [DOCDB] Fixes data race issue with YBSubTransaction in TableSizeTest_PartitionedTableSize
  • [16009] [YSQL] Fix the system catalog versioning behaviour on CREATE TABLE with FK reference command
  • [16010] [DOCDB] Fixes tsan data race in CompactionTestWithFileExpiration.FileExpirationAfterExpiry
  • [16131] [DST] B/R, PITR Fix invalid enum value of restoration state object
  • [16156] [DOCDB] Limit duplicate address check to used host-port combination in Tserver registration
  • [16195] [DOCDB] Handle duplicate user keys in ScanForward API
  • [16262] [DOCDB] deflake failover pitr tests on tsan
  • [16329] [YSQL] Fix metric for rejections due to connections limit
  • [16401] [yugabyted] configure data_placement not working with constraint value with uppercases.
  • [16444] [DOCDB] Fix tsan and fastdebug test, Ignore heartbeats from peers not in reported config
  • [16451] [YSQL] Fix imports in D22790 and D22956
  • [16481] [CDCSDK] [Colocation] YBClient fails to map multiple colocated tables to same tablet
  • [16518] [DOCDB] Prevent resuming conflict resolution at special timestamps in case transaction is not found
  • [16526] [DOCDB] Enable remote bootstrap to fix missing tablet replica problem in CreateTableStressTest::TestConcurrentCreateTableAndReloadMetadata.
  • [16540] [YSQL] Address HLL ASAN failures
  • [16541] [yugabyted] Show EAR in status if enabled even when --secure flag is false.
  • [16552] [YSQL] Prevent prefix_length_ from taking non-key columns into account
  • [16565] [DOCDB] Fixed missing data in case of RocksDB iterator error
  • [16570] [YSQL] Fix build errors when building with --no-tcmalloc
  • [16571] [DOCDB] Fix InboundCall::trace() regression
  • [16583] [YSQL] Fix IndexOnlyScan with no targets returning empty rows
  • [16615] Dev tools: Fix script compatibility with newer arcanist
  • [16626] [DOCDB] Fix TSAN failure:XClusterConsumer and XClusterOutputClient deadlock
  • [16632] [DOCDB] Fix TestIndex.testDropDuringWrite
  • [16637] [CDCSDK] Fix safe_time issues around large transactions
  • [16644] [DST] PITR Fix YbAdminSnapshotScheduleTest.PgsqlAddColumnCompactWithPackedRow test
  • [16669] [DOCDB] Fix tablet splitting / PITR deadlock
  • [16679] [CDCSDK] Correcting safe_time bug for batches with only commit record
  • [16713] [YSQL] Fix heap-buffer-overflow in ysql_upgrade.cc
  • [16745] [YSQL] Fix TestPgRegressAuthorization failure
  • [16748] [DOCDB] Fix colocation parent table's metrics update when a colocated table is altered
  • [16763] [xCluster] Reduce logging noise during xcluster errors
  • [16773] [xCluster] Fix TSAN race on StreamTabletMetadata
  • [16790] [CDCSDK] GetCheckpoint will return invalid checkpoint for unpolled tablets
  • [16807] [DOCDB] Enable automatic_tablet_splitting for new clusters using AutoFlags
  • [16851] Fix DB UT for learner-TS due to broadcast address changes in yb_backup.py
  • [16944] [16715] [DOCDB] Fix 2 bugs with xcluster + packed, Fixing the demo connect creating tables to default database.
  • [16964] [DOCDB] Compilation failure for Apple clang 14.0.3
  • [16976] [YSQL] Fix postgres crash when pg_stat_progress_create_index has an index from a different database
  • [16992] [YSQL] Fix scan upperbound calculation during batched IN query on hash columns
  • [16995] [CDCSDK] Removed duplicated access to CDC Stream table
  • [17067] [YSQL] Disallow hash batching if there is only one batch element
  • [17118] [CDCSDK] Remove tables with no active streams from namespace_to_cdcsdk_unprocessed_table_map_
  • [17150] [YSQL] Disable batching on join clauses that involve more than one base relation on a side
  • [17165] [CDCSDK] Added serve_as_proxy member to GetCheckpointRequestPB
  • [17253] [DocDB] Fix RPC error handling in pg_client
  • [CLOUDGA-12305] Missing getters for provider fields - Part 2
  • [CLOUDGA-13117] Remove the OS update playbook components
  • [YSQL] style: fix/improve most of D21043 style
  • Fix xCluster utest build error

Known issues

N/A