Fix correctness issue when the input to TRY_CAST evaluates to null.
For types such as booleans, numbers, dates, timestamps, etc., rather than
returning null, a default value specific to the type such as
false, 0 or 1970-01-01 was returned.

Fix potential thread deadlock in coordinator.

Fix rare correctness issue with an aggregation on a single threaded right join when
task.concurrency is 1.

Fix query failure when casting a map with null values.

Fix failure when view column names contain upper-case letters.

Fix potential performance regression due to skew issue when
grouping or joining on columns of the following types: TINYINT,
SMALLINT, INTEGER, BIGINT, REAL, DOUBLE,
COLOR, DATE, INTERVAL, TIME, TIMESTAMP.

Pluggable Resource Groups

Resource group management is now pluggable. A Plugin can
provide management factories via getResourceGroupConfigurationManagerFactories()
and the factory can be enabled via the etc/resource-groups.properties
configuration file by setting the resource-groups.configuration-manager
property. See the presto-resource-group-managers plugin for an example
and Resource Groups for more details.

Web UI Changes

Fix rendering failures due to null nested data structures.

Do not include coordinator in active worker count on cluster overview page.

Hive Changes

Allow certain combinations of queries to be executed in a transaction-ish manner,
for example, when dropping a partition and then recreating it. Atomicity is not
guaranteed due to fundamental limitations in the design of Hive.

Support per-transaction cache for Hive metastore.

Fail queries that attempt to rename partition columns.

Add support for ORC bloom filters in predicate push down.
This is can be enabled using the hive.orc.bloom-filters.enabled
configuration property or the orc_bloom_filters_enabled session property.

Add new optimized RCFile reader.
This can be enabled using the hive.rcfile-optimized-reader.enabled
configuration property or the rcfile_optimized_reader_enabled session property.

Add support for the Presto real type, which corresponds to the Hive float type.

Add support for char(x) type.

Add support for creating, dropping and renaming schemas (databases).
The filesystem location can be specified when creating a schema,
which allows, for example, easily creating tables on S3.

Record Presto query ID for tables or partitions written by Presto
using the presto_query_id table or partition property.

Include path name in error message when listing a directory fails.

Rename allow-all authorization method to legacy. This
method is deprecated and will be removed in a future release.

Use a whitelist model for plugin class loading. This prevents connectors
from seeing any classes that are not part of the JDK (bootstrap classes)
or the SPI.

Update presto-maven-plugin, which provides a Maven packaging and
lifecycle for plugins, to validate that every SPI dependency is marked
as provided scope and that only SPI dependencies use provided
scope. This helps find potential dependency and class loader issues
at build time rather than at runtime.

Note

These are backwards incompatible changes with the previous SPI.
If you have written a plugin, you will need to update your code
before deploying this release.