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

title: v2.0 Series release notes linkTitle: v2.0 series description: v2.0 series release notes menu: preview_releases: identifier: v2.0 parent: end-of-life weight: 2980 aliases: /preview/releases/release-notes/v2.0/ rightNav: hideH4: true type: docs Included here are the release notes for all releases in the v2.0 release series. {{< note title="Note" >}} Prior to 2.0, YSQL was still in beta. As a result, 2.0 release includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0+. Export from old cluster and import into a new 2.0+ cluster is needed for using existing data. {{< /note >}} Released January 23, 2020. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.11.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.11.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.11.0-b23 ``` Access pgstatstatements contents at <tserver_ip>:13000/statements. Fix race condition on RetryingTSRpcTask::UnregisterAsyncTask. Fix clock update during commit with committing transaction. Don't check doc hybrid time at end of the key during rocksdb seek. Fix redis keys command. Move snapshot related classes from ent/ folder. Use correct string end for char Fix SIGSEGV due to null consensus pointer in GetChanges. Do not use TOMBSTONED tablets when load balancing across disks on a node. Expose percentile metrics from histograms. [YW] UI change for RBAC update to make Profile section functional Minor fix to ignore instances without memory specifications. Fix edit universe bug for region/zone update. Cron expression validator on UI doesn't work correctly #3160. AWS Instance Type Parsing Fix. Added keyspace to multi-table backups. Flow `assignpublicip` through properly when creating GCP instance. Added Audit trail for users. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released January 6, 2020. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.10.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.10.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.10.0-b4 ``` [YSQL] Fixed an issue with PgDocOp lifespan sometimes being too short. Implement one way bitmap and Extract CleanupTransaction from YBTransaction. Improved rocksdb corruption error logging. Added TCMalloc stats when dumping memory usage. [YW] Fix infinitely updating state causing React to fail. Reason is calling setState repeatedly in componentDidUpdate will create an infinite depth nested state update. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with

If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released December 13, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.9.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.9.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.9.0-b13 ``` [YSQL] Deprecate num_tablets in CreateTableRequestPB Enable CXX11 ABI. Limited transactional DDL: each DDL statement in its own transaction. Improved TcpStream::sending_ queue memory tracking. Per service gauge counter for number of enqueued rpcs. Handle GetChanges(MinimumOpID) as a Request for the First Log Entry. Fixed vmodule logging configuration. Log over-replicated tablets in load balancer. Fix for stuck Inbound RPC connections due to hitting memory limit. Retry transaction status table creation if it fails. Add ability to set transaction priority range using SQL. Delete provisional records RocksDB SSTable files. [YW] Fix backup Universe from changing to undefined url Add per node metrics for health. Implement RBAC in YugaWare. Add chrony configuration while provision step. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released December 13, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.8.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.8.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.8.0-b5 ``` Add log retention by op id policy documentation. Switch Linuxbrew to 20181203T161736. Check transaction status after load. [2DC] Make `cdc_poller` log messages more descriptive Lower max timeout on master async tasks from 1 hour to 15 minutes. Clean up intents written for foreign key check. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released December 04, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.7.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.7.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.7.0-b9 ``` Expose rocksdb maxwritebuffer_number as a gflag. Roll forward master tablet deletion on fault during DeleteTable. Batch Records on 2DC Consumer. Use raft commit hybrid time for write batch frontier. Remove aborted transaction from follower. Add leader_stepdown to yb-admin. [2DC] TLS support for 2DC CDC op id retention policy. Fix double cleanup of provisional records. Improved RPC heartbeats sending. Fix the host info query to be called only on provider config

{{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released November 23, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.6.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.6.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.6.0-b5 ``` Use transaction pool for YSQL. [docdb] Speedup CREATE DATABASE for YSQL. Set Timeout and elapsed time in same units Track memory taken by CDC producer. Cleanup TIMED_OUT calls from /rpcz. Improve logging of shutting down idle and broken connections. Do not display user index tables as system tables in master UI. CDC Producer Metrics. yb-admin support for in-memory encryption keys. Poll TCMalloc stats on update of root MemTracker. Fix LB enable / disable handling. Propagate hybrid time from follower. Fix k8s metrics for CPU and Disk Usage. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released November 15, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.5.2-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.5.2-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.5.2-b3 ``` Pipe cmk policy into EncryptionAtRestService Add optional placement_uuid to yb-admin. Truncate fails after add_node, problem on bootstraping Update glog to fix issue with stack trace symbolization. Implement new write throttling algorithm based on number of SST files in leader and followers. Improve sending CQL result from TServer. Fix non transactional conflict resolution. Do not flush rocksdb memtable when user drops table. Add and update placement ID for read replicas. Fix DeleteTable concurrency issues. Add support for in memory universe keys Lower consensusmaxbatchsizebytes default to 4MB. Inbound RPC calls are not destroyed until timeout or service shutdown Don't reset cdc_state checkpoint to 0.0. Change failure handling in ProcessRpcStatus. Do smart consumer producer tablet mapping. Add Java Client Support for Encryption at Rest Generate new rejection score on retry. [Platform] Scheduled backups for Single table and Full universe flows. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher

{{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released October 28, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.3.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.3.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.3.0-b7 ``` Added missing extractor checks into version_edit, so ldb doesn't crash. Fix race in Batcher. Reduce log level while skipping over display of stats for tablets with state RaftGroupStatePB::SHUTDOWN. Remove may exist state from YBTransaction. Fix operation memory double tracking. Reinit total replicas to move when master leader fails during tserver blacklisting. Display num sst files for tablets in ybadmin listtabletsfortablet_server. Use boost::amotic for opidcopy_ member (128 bits structure). Derive proxy rpc addresses. Update consensus meta term during local bootstrap. Add metrics for thread count in each category. Cleanup queue on timeout. Do not call LogReader::Open() twice when skipwalrewrite is enabled. Display num log segments for tablets in ybadmin listtabletsfortablet_server. Fix Bug in YEDIS Keys Command. Fix num tablets per table. modifyplacementinfo clears read replica config. Fix use of load balancer concurrent action limits. Node should be able to transition from master to shell mode and back to master. Use new linuxbrew (20191015T202549). Remove inmemoryerase option and use SingleDelete instead of Delete. Fixed invalid read-time for RF==1 case. Move Rpcs to CDC consumer from CDC poller. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released October 08, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.1.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.1.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.1.0-b19 ``` [YSQL] Allow ALTER COLUMN add/set/drop identity. [YSQL] PostgreSQL error code handling to avoid string-based error comparisons. [YSQL] Fix duplicate key error being suppressed in COPY. [YSQL] VERIFY_RESULT creates undesirable copy of Result<T&>'s value. [YSQL] Warn on non-txn COPY with incompatible relation. [YSQL] PostgreSQL error code handling to avoid string-based error comparisons. [YSQL] Aggregate pushdowns in YSQL. [YSQL] Skip dropped columns when iterating through the columns for UPDATE statement. [YSQL] Use keyspace id instead of name in requests from yb-admin to catalog_manager. [YSQL] Fix insert into temp table in function body assertion error. [YSQL] Add default password for yugabyte user. [YCQL] Fixed permission check for DROP TYPE. [YCQL] Fix for 'value too long' error code mapping. [YCQL] 'expression not yet supported' error for old-format index update. Do not retry flush/compact async tasks. Make yb-admin log an error message instead of fatal-ing on failed init. Propagate timeout to transaction. Warn on non-txn COPY with incompatible relation. [2DC] Add Exponential Backoff to CDC

Add support for cotable id in EnumerateIntents (needed for transactional DDL). TServer blacklisting for leadership role. Avoid unnecessary RocksDB lookup when we have multiple ops to one tablet. [2DC] Reduce checkpoint frequency, avoid self looping in CDC producer, apply polling delay correctly. Request intents cleanup even on failed replicas. Add number of sst files to tables and tablets pages for tserver. Fix role and term cache. yb-admin add RF to addreadreplicas. [2DC] Fix transaction status and record handling in CDC producer/consumer. Handle concurrent shutdown and remote bootstrap. [CDC] Fix bug in condition check for tablet leader. Fix remote bootstrap for encryption at rest. Implement dynamic priorities for compaction tasks. [2DC] Update checkpoint for replicated records, ignore tablet status while looking up peer. [2DC] yb-admin command to pause/resume replication. {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Released September 17, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.0.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-2.0.0.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:2.0.0.0-b16 ``` is now generally available and is ready for production deployments. Details available in . {{< note title="Note" >}} Version 2.0 release includes a backward incompatible file format change for YSQL. Note: Prior to 2.0, YSQL was still in beta. This means that if you have an existing cluster running releases older than 2.0 with YSQL enabled, then you will not be able to upgrade to version 2.0 or higher release. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your cluster, and create a new cluster with 2.0.x.x If you want to continue using your existing data, then please save your data, delete the cluster, create a new cluster with 2.0.x.x and then load the previously saved data. Propagate intents apply failure to client. Check shutdown state while scheduling compaction. Add leader check on master TS Write interface. Correctly handle duplicate key in `postgres` layer. Remove `StopWatch` from RocksDB `Seek`. Avoid picking read time for the serializable transactions. CDC: Producer and consumer master handshake to set up 2DC. Optimized Drop Table Locking. Reduce number of `sys_catalog` writes: skip no change heartbeats. CDC: Consumer changes. CDC: Add master-master replication support. Increase WAL retention time when CDC stream is setup on table. Apply changes received from producer universe. CDC: Delete for `DROP DATABASE`. Show Load Balancer state in Master UI. Add support for error code categories to Status. Don't apply transactions on tablets without intents. Allow dynamic priorities in PriorityThreadPool. Added `rocksdbuniversalcompactionalwaysincludesizethreshold`. Do full table name match while finding matching tables in 2DC. Fix cleaning Raft log after transactional writes are stopped. Fix handling of calls expired in queue. Load balancer should not be considered idle when tablet remote bootstrap. Reduce fan-out and use tablet invoker for writing data. `SerializableReadWriteConflict` needs better success probability.