Hi all,
Apache IoTDB 2.0.11 was released on 14 September 2026 [1], and the Extras
repository has been aligned with it in #132 [2]. I would like to propose that
we start the release process for Apache IoTDB Extras 2.0.11.
Background
----------
The last Extras release was 2.0.3, in June 2025. It was built against IoTDB
2.0.3, TsFile 2.0.2 and JDK 8. Since then master has moved to IoTDB 2.0.11 /
TsFile 2.4.0 and to JDK 17 as the minimum. Development has carried the
2.0.4-SNAPSHOT version.
Version number
--------------
The main question for this thread is which version number to publish.
I propose 2.0.11 rather than 2.0.4, so that an Extras release states which
IoTDB release it targets: users then see one number instead of having to look
up a mapping. The release notes are already drafted that way [3].
There is one consequence to settle. The optional binary distributions are
built with finalName=apache-iotdb-${project.version}, so a 2.0.11 Extras
release would produce files such as
apache-iotdb-2.0.11-spark-connector-bin.zip, while the core 2.0.11
distribution already publishes apache-iotdb-2.0.11-all-bin.zip [4]. Before the
RC we should either prefix those names with extras or place the Extras
artifacts in their own directory under the project dist area. The source
release is unaffected: it is named
apache-iotdb-extras-${project.version}-source-release.zip.
If the community prefers to keep the Extras numbering independent and release
this as 2.0.4 instead, that is fine by me -- it only changes the version in
the poms, the README and the drafted notes.
What would be in it
-------------------
- New modules: iotdb-thingsboard-table (ThingsBoard 4.3.1.2 on the IoTDB
table model), metric-scrape (Prometheus text endpoints into the table model,
with Docker and Kubernetes examples), and mybatis-support (runtime adapters
for the 2.0.11 JDBC driver).
- Grafana data source plugin: table-model queries through the native Go client,
$__interval / $__interval_ms macros, database/table/column pickers,
Range/Instant/Both query types, and table-model template variables.
- Connectors: Flink SQL lookup-join fix for missing timestamps and null
values, Flink DataStream sink multi-node URLs, collector IoTDBPushSource on
the 2.0.11 API, and a Zeppelin jar-with-dependencies built by default.
- Examples: Kafka, RocketMQ and RabbitMQ table-model examples, plus updated
MyBatis, MyBatis-Plus and Spring Boot examples.
- Build: dependency baseline IoTDB 2.0.11 / TsFile 2.4.0 / Thrift 0.23.0, and
the build now publishes to develocity.apache.org.
Compatibility notes
-------------------
- JDK 17 is now the minimum for all Java modules. The JDK 8 and 11 build
profiles and their CI jobs are removed; CI covers JDK 17 and 21.
- MyBatis: TIME and TIMESTAMP map to Long, FLOAT to Float, DATE to LocalDate
and BLOB to byte[]. Mapper interfaces and XML must be regenerated together,
and applications must register IoTDBQueryInterceptor from mybatis-support:
on the 2.0.11 JDBC driver a table-model prepared SELECT run with execute()
returns true without populating getResultSet().
- Spring Boot starter: fetch-size defaults to 5000 (was 1024),
connection-timeout-in-ms defaults to 0, sql-dialect is deprecated, and the
starter also builds against Spring Boot 4 through the spring-boot4 profile.
- The Grafana plugin requires Grafana 12.3.0 or later.
- The legacy Spark 2.4 / Scala 2.11 modules still compile, but need a runtime
migration before deployment on JDK 17.
Release mechanics
-----------------
- Version 2.0.11, groupId org.apache.iotdb: the 26 artifacts currently
published at 2.0.3, plus the new mybatis-support.
- Publication to Maven Central, together with the signed source release
assembly, the binary distributions and the SBOM.
- Release notes are drafted in apache/iotdb-extras#138 [3] and have been
updated after review.
- I am happy to act as release manager. If the artifacts need to be moved into
the project dist directory, I will ask for that at the vote.
Unless there are objections or a preference for 2.0.4, I will cut RC1, stage
it, and call a [VOTE] on this list, open for at least 72 hours.
Please share your comments and concerns, ideally before 2026-10-16.
[1] https://www.mail-archive.com/dev%40iotdb.apache.org/msg09897.html
[2] https://github.com/apache/iotdb-extras/pull/132
[3] https://github.com/apache/iotdb-extras/pull/138
[4] https://dist.apache.org/repos/dist/release/iotdb/2.0.11/
Best regards,
Xuan Wang