Repository navigation
EN Release Notes 2.1.0
Version 2.1.0 adds OpenGemini support and incorporates the reviewed adapter fixes while retaining the Template → adapter SPI → backend architecture. Java APIs use com.alandevise.tsgate.*.
TsGate 2.1.0 is published to Maven Central. Portal state is PUBLISHED, and all 38 public POM/JAR downloads match the signed upload. See publication evidence and final release verification.
The Maven groupId is io.github.alandevise. Align the TsGate parent/BOM and selected modules at 2.1.0, enable only the selected backend, and run representative application checks. Configuration uses tsdb.* YAML keys, and the default template bean name is tgTemplate.
Central 2.0.0 remains available unchanged and does not contain OpenGemini modules. See the upgrade guide for dependency and configuration guidance.
- New
tsgate-opengeminiandtsgate-opengemini-spring-boot-startermodules, managed by the 2.1.0 BOM. The release contains nine JAR modules, plus the parent and standalone BOM. - Exact server scope: 1.4.1 and 1.5.2 default engine, using compatible HTTP line protocol and InfluxQL. Single-node and real three-node/three-replica deployments are covered by the dedicated Docker matrix.
- Existing
TGTemplate, annotations and fluent queries, withtsdb.opengemini.enable=true. Cluster configuration uses a reachable SQL endpoint or deployment-managed ingress; the adapter does not discover nodes or replay uncertain writes. - Complete-batch measurement and integer validation before I/O, synchronous confirmation and detailed commit states, bounded query results and response bytes, logical result-row counting, constructor-time configuration snapshots and terminal lifecycle closure.
- Compatible borrowed native client remains
org.influxdb.InfluxDB. Its stable proxy obtains real health/version information fromX-Geminidb-Version. The exact missing-measurement error becomes empty/zero only in structured query/count; native SQL and native query DTOs preserve server errors.
The tested HTTP path converts integer fields through float64. The adapter rejects integer fields and exact integer-valued common predicates that are outside signed int64 or not exactly representable as float64. Validation covers every IN/BETWEEN value and bounds extreme BigDecimal integer values before expanding them; fractional and zero values retain their established semantics. Native SQL and native writes retain backend precision limitations. This does not make aggregate accumulation or overflow exact.
Write confirmation can precede visibility of a newly indexed series. Applications requiring read-after-write observation must poll for the expected point with a deadline. Strict composite cursors, FIELD ordering, regional calendar-day windows, COLUMNSTORE/Arrow and cluster administration are outside this adapter's supported scope. TLS, authenticated deployments and node/ingress failover were not covered by the recorded local topology matrix. See OpenGemini integration for configuration, limits and reproduction.
- Preserve strict cursor input until validation; malformed, null-valued, extra and normalized-duplicate keys produce
ARGUMENT_ERRORinstead of disappearing. Null/empty cursor maps still select the first page. - Honor
fail-fast=falsefor unavailable optional native clients in IoTDB and InfluxDB 3 starters, consistent with InfluxDB 1.x. Required configuration remains mandatory; manual initialization retry does not recreate an unavailable Spring native-client bean. - Capture complete adapter settings at construction, including nested configuration and endpoint lists. Configuration changes require a new instance; transient initialization retry and IoTDB pool recovery retain the snapshot.
- Validate null queries, nonpositive limits, negative offsets and reversed time ranges before backend I/O. The shared SPI default
count(null)also returnsARGUMENT_ERROR; count otherwise ignores pagination and cursors.
Java 17 without preview features remains the minimum. The documented Spring Boot and client baselines remain unchanged. Database support is limited to the exact capabilities and verified combinations in the compatibility guide.
The earlier source regression snapshot passed 888 unit tests on each of JDK 17/Boot 2.7.18, JDK 21/Boot 3.5.14 and JDK 25/Boot 4.1.0; it also passed 290 Docker integration executions, 27 unsigned archive checks and 34 Python runner tests. These historical results are retained separately and are not substituted for the final 2.1.0 run. Final counts, build inputs and artifact/publication checks are recorded on the linked validation and publishing pages.
TsGate · Wiki home · 文档首页 · Apache-2.0 · NOTICE
Compatibility claims apply only to documented capabilities and verified versions. 兼容性承诺仅适用于已列明的能力和已验证的版本。