Oct 26, 2017
Get future release notes emailed to you:
Downloads
Backwards-Incompatible Changes
- Casts from
BYTES
toSTRING
have been changed and now work the same way as in PostgreSQL. New functionsencode()
anddecode()
are available to replace the former functionality. #18843
General Changes
- CockroachDB now requires Go 1.9. #18459
- Release binaries now link against
libtinfo
dynamically. Building CockroachDB from source now requireslibtinfo
(orncurses
) development packages. #18979 - Building the web UI now requires Node version 6 and Yarn version 0.22.0 or newer. #18830
- Most dependencies have been updated to their latest versions. #17490
- Release docker images are now based on Debian 8.9. #18748
SQL Language Changes
DROP DATABASE
now defaults toCASCADE
, restoring the 1.0 (and PostgreSQL-compatible) behavior. #19182- The
INET
column type and related functions are now supported. #18171 #18585 - The
ANY
,SOME
, andALL
functions now support subquery and tuple operands. #18094 #19266 current_schemas(false)
behaves more consistently with PostgreSQL. #18108SET CLUSTER SETTING
now supports prepared statement placeholders. #18377SHOW CLUSTER SETTINGS
is now only available toroot
. #19031- A new cluster setting
cloudstorage.gs.default.key
can be used to store authentication credentials to be used byBACKUP
andRESTORE
. #19018 - The
RESTORE DATABASE
statement is now supported. #19182 IMPORT
now reports progress incrementally. #18677IMPORT
now supports theinto_db
option. #18899- The
date_trunc()
function is now available. #19297 - New function
gen_random_uuid()
is equivalent touuid_v4()
but returns typeUUID
instead ofBYTES
. #19379 - The
extract
function now works withTIMESTAMP WITH TIME ZONE
in addition to plainTIMESTAMP
andDATE
. #19045 TIMESTAMP WITH TIME ZONE
values are now printed in the correct session time zone. #19081- PostgreSQL compatibility updates: The
pg_namespace.aclitem
column has been renamed tonspacl
.pg_class
now has arelpersistence
column. New functionspg_encoding_to_char
,pg_get_viewdef
, andpg_get_keywords
. Thepg_tablespace
table is now available. The type name"char"
(with quotes) is recognized as an alias forCHAR
. Session variableserver_version_num
is now available. #18530 #18618 #19127 #19150 #19405
Command-Line Interface Changes
- A new flag
--temp-dir
can be used to set the location of temporary files (defaults to a subdirectory of the first store). #18544 - Many bugs in the interactive SQL shell have been fixed by switching to
libedit
for command-line input. Thenormalize_history
option has been removed. #18531 #19125 - New command
cockroach load show
displays information about available backups. #18434 cockroach node status
andcockroach node ls
no longer show nodes that are decommissioned and dead. #18270- The
cockroach node decommission
command now has less noisy output. #18458
Bug Fixes
- Fixed issues when
meta2
ranges split, lifting the ~64TB cluster size limitation. #18709 #18970 - More errors now return the same error codes as PostgreSQL. #19103
ROLLBACK
can no longer return a "transaction aborted" error. #19167- Fixed a panic in
SHOW TRACE FOR SELECT COUNT(*)
. #19006 - Escaped backslashes are now supported in
regexp_replace
substitution strings. #19168 extract(quarter FROM ts)
now works correctly. #19298- The node liveness system is now more robust on a heavily-loaded cluster. #19279
- Added debug logging when attempting to commit a non-existent intent. #17580
Performance Improvements
- New cluster setting
timeseries.resolution_10s.storage_duration
can be used to reduce the storage used by built-in monitoring. #18632 - Foreign key checks are now performed in batches. #18730
- Raft ready processing is now batched, increasing performance of uncontended single-range write workloads. #19056 #19164
- The leaseholder cache is now sharded to improve concurrency and uses less memory. #17987 #18443
- Finding split keys is now more efficient. #18649 #18718
STDDEV
andVARIANCE
aggregations can now be parallelized by the distributed SQL engine. #18520- Store statistics are now updated immediately after rebalancing. #18425 #19115
- Raft truncation is now faster. #18706
- Replica rebalancing is now prioritized over lease rebalancing. #17595
IMPORT
andRESTORE
are more efficient. #19070- Restoring a backup no longer creates an extra empty range. #19052
- Improved performance of type checking. #19078
- The replica allocator now avoids adding new replicas that it would immediately try to undo. #18364
- Improved performance of the SQL parser. #19068
- Cache strings used for stats reporting in prepared statement. #19240
- Reduced command queue contention during intent resolution. #19093
- Transactions that do not use the client-directed retry protocol and experience retry errors are now more likely to detect those errors early instead of at commit time. #18858
- Commands that have already exceeded their deadline are now dropped before proposal. #19380
- Reduced the encoded size of some internal protocol buffers, reducing disk write amplification. #18689 #18834 #18835 #18828 #18910 #18950
- Reduced memory allocations and GC overhead. #18914 #18927 #18928 #19136 #19246