Project: YugabyteDB (App Definition and Development / Database)
File: v1.2.md

title: v1.2 Series release notes linkTitle: v1.2 series description: v1.2 series release notes menu: preview_releases: identifier: v1.2 parent: end-of-life weight: 3000 aliases: /preview/releases/release-notes/v1.2/ rightNav: hideH4: true type: docs What follows are the release notes for all releases in the v1.2 release series. Released July 5, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.12.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.12.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.12.0-b7 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /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 1.2.12. If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.12 and then load the previously saved data. [YSQL] Fix scan operator when range key is not fully-specified. [YSQL] Fix ORDER BY range column of a secondary index. [YSQL] Add YSQL RPCs to tserver utilz page. Resolve ABA problem in LockFreeStackResolve ABA problem in LockFreeStack. Fix recursive locking in Batcher. Use boost::atomic for 16-bytes structures. Fix integer overflow during Raft log read path. Fix concurrent access to primary table info in RaftGroupMetadata. A new priority-aware thread pool implementation for compactions and flushes. Create mem trackers that reflects TC Malloc stats. Make sure you don't read an invalid replicate index from the footer. Released June 25, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.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-ce-1.2.11.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.11.0-b26 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /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 1.2.11. If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.11 and then load the previously saved data. [YSQL] REPEATABLE READ should be mapped to snapshot isolation, not to serializable [YSQL] Error message on tserver startup: could not open directory 'pg_snapshots'. [YSQL] Distinguish tables with same keyspace+name but different schema in master UI. [YSQL] Fix line editing in ysqlsh (psql) on Linux.[#764]( https://github.com/yugabyte/yugabyte-db/issues/764) [YSQL] Show table UUIDs in tablet server web UI. [YSQL] Feature Support - FUNCTION and PROCEDURE. [YSQL] Allow WITH clauses in CREATE TABLE. [YSQL] Improve performance when executing LIMIT clause. Universe Key Integration for Encryption at Rest. Store tserver metrics in system YCQL table. Fix rocksdb checkpoint. CDCService GetChanges RPC. Update cqlnodelistrefreshintervalsecs to default to 300 sec Add more commands to yugabyte-db: status, connect, version, destroy Intents DB should not request flush of Regular DB when it is already

Add versioning to yb-master JSON API. Master concurrency improvements and benchmark for GetTableLocations. Preparation diff. Use single writer skiplist in DocDB. Take stack traces in parallel. Jepsen-related changes to remote_release.py, Fix remote bootstrap log anchoring. Preparation: Auto memory management for Compaction object. Check if load balancer is active instead of checking whether distribution of tablets across tservers is nearly uniform. Fix EnumerateIntents and add a test to capture conflicts at hash key level in serializable isolation. Print enhanced tcmalloc stats to /memz. Add clearer error message if YB data dir can't be created. Released June 3, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.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-ce-1.2.10.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.10.0-b13 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /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 1.2.10. If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.10 and then load the previously saved data. [YSQL] Remove unused hasheddockey from PgsqlWriteOperation [YSQL] Make DocDB key encoding accessible in PGGATE. [YSQL] Omit cotable id in ybctid and ybbasectid [format change]. [YSQL] Add support for `ALTER TABLE .. ADD CONSTRAINT .. UNIQUE`. [YSQL] #1412: Fix included index columns. [YSQL] Basic support for FOREIGN KEY constraints Fix handling of higher term during preelection. Fixed purging of output files during concurrent SST flush. Only include active tablet-peers in tablets-by-az table. Log passed time when retryable operations expires and use coarse time for timeout calculation. Fix mem tracker GC and improve reporting. Reduce Logging of Pending Delete Message. Fix token returned by system.local. Released May 21, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.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-ce-1.2.9.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.9.0-b14 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /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 1.2.9. If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.9 and then load the previously saved data. Add support for identity column. Support INSERT INTO

ON CONFLICT clause, Set default prefetch limit to 4096, Disable logical replication, Add support for "COMMENT ON" statements, Fix indexes on temporary tables, Store object ids as unsigned integer in DocDB, Disallow INTERVAL data type in a primary key or secondary index column, Support CREATE and DROP DOMAIN, JSON UPSERT: Avoid decoding as int to check for array offset, Set default upper limit for CQL prepared statement cache size, Pass upperbound to intent aware iterator, Fix Snappy detection outside of RocksDB, Added saving Raft group replica superblock after migration, Implement RPC heartbeats, Add master readiness check, Expose tablet servers page as a JSON Add gflag to turn on per-row consistent paging queries in transactional tables, Stop applying writes when RocksDB requires a delay, Make fast WAL recovery the default, Reduce logging of RpcServerBase::getcurrentuser() and get_hostname(), Add table of tablet-peer counts by AZ to YB master UI, Released May 8, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.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-ce-1.2.8.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.8.0-b1 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then delete your existing cluster, and create a new cluster with 1.2.8. If you want to continue using your existing data, then please save your data (in the form of SQL statements), delete the cluster, create a new cluster with 1.2.8 and then load the previously saved data. Support UNIQUE constraint. ON CONFLICT support. Scan path cleanup Create information_schema during initdb. Storing YSQL Metrics and setting up webserver for YSQL. Fix compilation on Ubuntu 18.04. PostgreSQL is built in non-parallel mode. Postgres process failed to start on Ubuntu. Cascade truncate indexes. Rename psql to ysqlsh. Add support for identity column. Allow insert multiple NULL values in UNIQUE INDEX column. Add EXPLAIN to YCQL for SELECT, INSERT, UPDATE, DELETE stmts. Fix YCQL paging handling in distributed transactions. Support JSON operator on INSERT. Do not modify variable preallocatedsize if fallocate() fails. Unify yb-master and yb-tserver under one manager process CDC service proto definition. Add port conflict error check to yugabyte-db Run initdb automatically from the master leader Timed out call should not take space in service queue. Handle case when timeout is not specified in UpdateConsensus. Speed Up Create Table. Avoid destroying Messenger and Reactor inside Reactor thread. Fix Leader not yet replicated NoOp error. Add libcds to thirdparty. Separate Raft group and tablet abstractions - first step. Process callbacks for outbound calls in a thread pool. Simplified yb-ctl output. Released April 26, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.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-ce-1.2.6.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.6.0-b3 ``` Support Serializable isolation level for multi-key transactions. Remove Unnecessary YSQL Index update preparation. Remove dependency on YBPGFALLBACKSYSTEMUSER_NAME, set default port and username for psql. Show table's OID when failing to load a table's metadata. Disable unsupported options for CREATE DATABASE. A User must have ALTER permission on a table to drop an index from the table. Exponential backoff during pre-election. Enhance tserver readiness check. Don't stop writes during tablet bootstrap. Introduce EncryptedFileFactory for producing Encrypted files. Released April 18, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.5.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.5.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull

``` Enabled support for DROP CONSTRAINT IF EXISTS. Disabled creating user tables on template0/template1 databases. Use localhost as default when no host is specified while starting psql. Added ability to log warnings and continue operation for unsupported SQL options instead of erroring out. Improved grammar error message for unsupported options by including relevant GitHub issue link. Added casting for Decimal data type. Added support for SETNX command. Fixed a bug where updating a column that was previously null would ignore the update. Fixed a bug where older Postgres process was not being killed when tserver is restarted. Fixed timeout in YCQL when selecting from a table with offset/limit if offset+limit > number of rows. Fixed a bug where index entries were not being deleted when corresponding row was deleted from table. Fixed a memory corruption issue while closing raft peer. Fixed a bug in YCQL where creating secondary index would fail if INCLUDE clause included primary key columns from indexed table. Speed up initdb time by 2x by fixing primary key scan for tables with oids. Speed up local bootstrap by removing rewrite of WAL entries on bootstrap. Improve SSL failure reporting by interpreting SSL_read 0 result as failure. Preallocate objects IDs in smaller chunks for YSQL. Disable transactional property for sequences table. Improve compaction speed by avoiding decode of full doc subkey. Added support for showing number of live tablets in Master UI's tablet server page. Reduced memory consumption of UpdateConsensus. Avoid race condition warning in ParseTree::clear_reparsed(). Moved yb-ctl to yugabyte-installation repository. Released April 8, 2019. <ul class="nav yb-pills"> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.4.0-darwin.tar.gz"> <i class="fa-brands fa-apple"></i><span>macOS</span> </a> </li> <li> <a href="https://downloads.yugabyte.com/yugabyte-ce-1.2.4.0-linux.tar.gz"> <i class="fa-brands fa-linux"></i><span>Linux</span> </a> </li> </ul> ```sh docker pull yugabytedb/yugabyte:1.2.4.0-b5 ``` {{< note title="Note" >}} This version includes a backward incompatible file format change for YSQL. This means that if you have an existing cluster with YSQL schema, then you will not be able to connect to the YSQL database after upgrading to this version. {{< /note >}} There are two ways to address the above note. If you don't care about preserving your existing data, then you can delete your older cluster, upgrade to v1.2.4 and create a new cluster. If you want to continue using your existing data, then please save your older data (in the form of SQL statements), delete the older cluster, upgrade to v1.2.4, create a new cluster and then load the previously saved data. Added support for primary keys. It is now possible to create a table with a primary key. Added support for temporary tables. Added support for CYCLE option in CREATE SEQUENCE statement. Enabled `SET TRANSACTION READ WRITE` statement. Support RelationType in TableInfo to distinguish between system tables, user tables and user indexes. Fixed a crash in tserver that is observed while inserting null value into an indexed column. Fixed a bug where indexes on system catalog tables were not being updated during DDL. Fixed detection of single row transactions on tables that have primary keys. Fixed MiniMaster startup race condition in test infrastructure. Reduce per-connection overhead for cache preloading. Faster release of sending buffers to reduce memory consumption when leader sends large updates to followers who are lagging behind. Parallelize DNS resolution while filling system.peers and system.local tables Script for post-processing test results and generating JSON-based result files. Improve stability of QLTransactionTest.IntentsCleanupAfterRestart.