The Apache Calcite team is pleased to announce the release of Apache Calcite 1.40.0.
Calcite is a dynamic data management framework. Its cost-based optimizer converts queries, represented in relational algebra, into executable plans. Calcite supports many front-end languages and back-end data engines, and includes an SQL parser and, as a sub-project, the Avatica JDBC driver. This release comes 2 months after 1.39.0, contains contributions from 20 contributors, and resolves 102 issues. Highlights include the addition of several improvements and additional optimization rules, notably advanced set operation handling with new rules for converting INTERSECT to semi-joins and EXISTS subqueries, MINUS to anti-joins and filters, and optimizing UNIONs with common sources, join optimization is improved through predicate expansion from disjunctions and specialized handling of complex join conditions, additional optimizations include new rules for MIN/MAX aggregates and smarter filter-sort interactions, addition of Doris, DuckDB, SQLite, and Trino dialects, as well as improved support for ClickHouse, support for aliases referencing lateral columns, support for defining which rule sets to apply for individual Quidem tests. You can start using it in Maven by simply updating your dependency to: <dependency> <groupId>org.apache.calcite</groupId> <artifactId>calcite-core</artifactId> <version>1.40.0</version> </dependency> If you'd like to download the source release, you can find it here: https://calcite.apache.org/downloads/ You can read more about the release (including release notes) here: https://calcite.apache.org/news/2025/05/28/release-1.40.0/ We welcome your help and feedback. For more information on how to report problems, and to get involved, visit the project website at: https://calcite.apache.org/ Thanks to everyone involved! Alessandro Solimando, on behalf of the Apache Calcite Team