We are excited to announce the general availability of YugabyteDB 2.1 release.
The blog posts below detail the features highlighted in the release notes on this page.
- YugabyteDB 2.1 is GA: Scaling New Heights with Distributed SQL
- Achieving 10x Better Distributed SQL Performance in YugabyteDB 2.1
Generally Available Features
Performance improvements in Yugabyte SQL
Geo-distributed, multi-cloud clusters
- Two data center (2DC) deployments for reducing cross-DC write latency
- Read replicas for reducing cross-DC read latency
Enterprise-grade security enhancements
Beta Features
- Yugabyte Cloud as fully-managed DBaaS
- Colocated tables for reducing JOIN latency
- yugabyted for simplifying getting started UX
- Change Data Capture (CDC) for streaming data out to external systems
New & Improved Ecosystem Integrations Since 2.0 Release
Changelog
YSQL API
[YSQL] Fix table location cache for system and colocated tables. #3416
[YSQL] Enable ALTER TABLE IF EXISTS syntax. #3417
[YSQL] Use std::future in PgDocOp to fetch RPC result. #3240
[YSQL] Cleanup unique index if its creation fails. #3462
[YSQL] Eliminate redundant foreign key checks. #3328
[YSQL] Batch all write operations when possible. #2934
[YSQL] allow CREATE DATABASE ENCODING unicode/utf8 #3595
[YSQL] Fixed test wrong assumption in yb_dml_systable_scan.
[YSQL] Use smart pointers for YBqlOp and YBPgsqlOp. #3641
[YSQL] Provide a GFLAG to suppress unsupported error. #3633
YCQL API
[YCQL] Add gflag to create YCQL tables as transactional by default; change GROUP from reserved word to keyword; fix duplicate column error message. #3313
[YCQL] Fixed unexpected 'Duplicate Object' error from the CatalogManager. #2475
[YCQL] Fixed: signal 11: seg fault: yb::ql::PreparedResult::PreparedResult. #3415
[YCQL] Application stuck in BoundStatement execution if a variable was not bound. #3419
DocDB Distributed Store
Set the default history retention duration to 120 seconds. #3373
Fix metrics error after resetting percentiles.. #3362
Extract classes from transaction_participant.cc to separate files. #1032
Recover after write stop. #3331
Fix issue with yugabyted process restart loop. #3207
Track replicated batches at transaction participant. #3220
Backfill Index Table. #448
[Colocation] Use 4 byte PG table ID as dockey prefix. #3365
YB inbound RPCs throttling on soft memory limit. #2563
BlockBasedMemory mem-trackers should use the "tablet" MetricsEntity instead of "servers". #3364
Mean for metrics histograms should be based on the current values, not historic values. #3470
Make yugabyted work with docker volume mounts. #3513
Added Graph to track Rocksdb write rejections. #2871
Fsync before WAL close. #3490
Enable percentiles for redis metrics. #3362
BlockBasedMemory mem-trackers may already exist in OpenKeyValueTablet. #3364
[cdc] Avoid race condition with CDCReadRpc. #3441
Call TransactionParticipant shutdown from Tablet shutdown. #3495
Point yugabyted to system conf file if present. #3169
Backfill Index Table - TServer side implementation for backfilling non-unique indices. #448
colocation: make reads aware of table tombstone #3359
Add ability to set hybrid time filter to existing rocksdb files. #1032
Server crash on startup after table truncate. #3524
Move all yugabyted modified data under central var dir. #3524
Add physical time to cdc_state table. #2837
docdb: iterate over intents past kTransactionId #3482
Prevent callback from detached rocksdb instance; prevent race condition between insert and truncate; disable rocksdb flush on truncate. #3288
Persist cdc min replicated index in the superblock. #3418
[CDC] Clean up cdc_state rows for deleted streams. #2529
yugabyted does not start with custom config file. #3634
[2DC] Create new BootstrapProducer API. #3319
Fix key processing on CDCProducer. #3582
Make yb-docker-ctl compatible with python3
Backfill index: handle failed master -> TS rpc. #3627
[cdc] Add Last Consumer Checkpoint to CDC Producer Metrics. #2154
Evict log cache at follower after operation was appended to log. #3665
Implement transaction sealing w/o abort. #3220
[Colocated] Master should issue AddTableToTable only for subsequent tables. #3681
Extract HeartbeatDataProvider from Heartbeater. #3571
Avoid sending apply intents from the follower. #3698
Yugabyte Platform
YW Alerting improvements. #2892
Add the 'snooze alerts status' of a universe to the health check panel. #2891
Added UI support to be able to snooze and enable alerts. #2891
Add toggle to take backup button. #3341
Redirect yugaware logs from yugabyted into yugabyte-logs dir. #3516
Add features for the read only user.
Add endpoint to support creation of user roles in YB database(s).
Add ability to specify list of tables to backup. #3614
Fix metrics url check. #3653
Do not merge flags during a gflag update. #3533
Add option to add, delete users
[YW][#3211] Add ESC key binding to document to close any modal on the screen by calling the onHide callback.#3211
[YW][#3332] Add default value for currentProvider and fix eslint warnings. #3332
[YW][#3680] Enable multi-table backups in CreateBackups modal. #3680
Add authentication for registering new users.
[YW][OSS] Add support to disable the Enable/Disable Backup button on the Tables tab, and change color of disabled TableActions
Handle overall exceptions in a better way. #3676