github apache/pinot release-1.6.0-rc0
Apache Pinot 1.6.0 RC0

pre-releaseone hour ago

Apache Pinot 1.6.0 RC0

Changes since Apache Pinot 1.5.1.

Highlights

  • SQL DDL: manage tables with CREATE TABLE, DROP TABLE, SHOW TABLES, and
    SHOW CREATE TABLE through the controller's /sql/ddl endpoint. Materialized
    views gain CREATE/SHOW/DROP DDL and single-stage query-rewrite support.
    #18241
    #18544
    #18529
  • Analytics: GROUPING SETS, ROLLUP, and CUBE are supported in both query
    engines. Multi-stage execution also gains streaming distinct execution
    and lookup-join planning improvements.
    #18662
    #18817
    #19419
    #18158
  • Vector search: add IVF_FLAT, IVF_PQ, and IVF_ON_DISK backends alongside
    HNSW, with filter-aware search, radius queries, and backend tuning controls.
    #17994
    #18090
    #18119
  • Data handling: introduce OPEN_STRUCT for evolving nested data, a logical
    UUID type, Arrow IPC batch ingestion, and BSON input support.
    #18368
    #19040
    #18869
    #17871
    #18950
  • Reliability: improve null-aware filtering, multi-stage buffer cleanup
    during failure/cancellation, and transactional Kafka offset handling.
    #19440
    #19462
    #19161

Upgrade notes and removals

  • Pinot services now require Java 25 or newer to build and run. Java/JDBC
    clients and the explicitly pinned SPI/common artifacts continue to target
    Java 11 bytecode. Update service JVMs and check custom service plugins
    before upgrading.
    #19014
  • The default Scala binary version changes to 2.13. Official Spark 3
    artifacts, including pinot-spark-3-connector, are compiled for Scala 2.13;
    their Maven artifact IDs have no Scala-version suffix. These artifacts
    require Java 25 and Spark built for Scala 2.13. Scala 2.12 requires a custom
    source build using the scala-2.12 profile.
    #18100
  • Native text/FST indexes and TEXT_CONTAINS are removed. Migrate affected
    configurations and queries to supported Lucene text/FST facilities and
    TEXT_MATCH, reviewing the query semantics before upgrading.
    #17998
  • Spark 2 and Presto integrations, the deprecated Kafka high-level consumer,
    and several APIs deprecated in releases through 1.3.0 are removed. Recompile custom
    integrations against 1.6.0 and replace removed API calls.
    #17950
    #17947
    #18931
    #19139
    #19140
    #19141
    #19142
    #19143
  • New and updated schemas submitted through the controller reject deprecated
    TimeFieldSpec (fieldType=TIME); existing stored schemas can still load.
    Use DateTimeFieldSpec (fieldType=DATE_TIME).
    #18502
  • Legacy controller periodic-task aliases are removed. For example, replace
    controller.retention.frequencyInSeconds with
    controller.retention.frequencyPeriod and a duration value such as 6h.
    8dec968
  • Kafka's raw auto.offset.reset property now defaults to earliest when
    omitted. This controls recovery from unavailable Kafka offsets and is
    separate from Pinot's stream.kafka.consumer.prop.auto.offset.reset initial
    partition-offset setting. Set the raw property explicitly if another
    recovery behavior is required.
    #19359
  • Single-stage queries no longer silently ignore HAVING; unsupported QUALIFY
    clauses are rejected. Review queries that relied on the earlier behavior.
    #19554
    #19553

This is release candidate RC0 for community review and voting.

Candidate commit: 54f145f79a083abfb816c4c32e6636fc7acc03f6.

Maven staging repository (closed).

Signing key: F6C06B50BFB7A502B1F95901FE4489E8BC6B342D (Apache Pinot KEYS).

Validation: the matching source content passed an 84-module clean install outside Git (tests skipped). Hosted runtime runs reported 30,211 unit and 1,772 integration tests with zero failures/errors (32/3 skipped); Java 11 client verification, quickstarts, and rolling upgrade/downgrade checks also passed. These hosted runs predate RC0's release, licensing, and build/packaging metadata changes; runtime/test sources and dependency declarations are identical to RC0. The final signed binary tar passed both query engines with COUNT(*)=97,889, no query exceptions or partial results. All staged Maven artifacts passed signature, checksum, and installed-byte verification.

Don't miss a new pinot release

NewReleases is sending notifications on new releases.