Repository navigation
Releases: AlanDevise/TsGate
Release list
TsGate 2.1.3
TsGate 2.1.3 strengthens adapter validation and result decoding while preserving public APIs, configuration defaults, dependency baselines and the Template → SPI → adapter architecture.
- Validate structured-filter operands and the default count entry.
- Merge IoTDB physical table-name case variants before whole-batch validation.
- Check backend registration across starters, contracts, BOM and database CI.
- Reject duplicate IoTDB output columns and InfluxDB 3 JSON result keys.
- Reject oversized direct-adapter batches before copying inputs; retain the post-copy check.
Maven Central: io.github.alandevise:*:2.1.3, including all four starters and tsgate-bom. Central users upgrading from 2.1.0 also receive the earlier GitHub-only 2.1.1/2.1.2 fixes.
Validation: fresh signed Temurin 17 build with 1,476 unit tests; full same-SHA CI with 1,476 tests on each of JDK 17/21/25 and 323 Docker integration tests. Docker includes openGemini 1.4.1/1.5.2, each in single-node and three-node/three-replica deployments. All checks passed. All 38 Central artifacts and 38 signatures were downloaded and matched to the audited bundle.
English release notes · 中文发布说明 · CI
2.1.3 包含过滤条件校验、IoTDB 表名归并、后端登记检查、重复结果列保护及批写数量提前检查。主干架构与公共 API 保持不变,Maven Central 坐标统一为 2.1.3。完整测试、签名及公开下载核验均已通过,详见双语发布说明。
TsGate 2.1.2
TsGate 2.1.2 preserves the public API, Template → SPI → backend architecture and Java 17 baseline while addressing five adapter issues:
- Disable HTTP redirects to prevent redirected writes from reporting false success.
- Reject missing InfluxDB 3 query JSON; a valid
[]still means no rows. - Reject aggregate output-name collisions before database I/O, using each backend’s identifier rules.
- Add a configurable 64 MiB combined UTF-8 byte budget for HTTP application batches, with complete preflight before sending.
- Cache independent POJO read-mapping plans with
ClassValue, retaining DTO, annotation and conversion behavior.
Upgrade: HTTP batches above 67,108,864 bytes now fail locally with ARGUMENT_ERROR / NOT_COMMITTED. Configure max-batch-bytes under tsdb.influxdb1, tsdb.influxdb or tsdb.opengemini when a larger application batch is required. Existing per-request bounds still apply.
Validation: each of Java 17 / Boot 2.7.18, Java 21 / Boot 3.5.14 and Java 25 / Boot 4.1.0 passed 1,233 unit tests. Local Docker passed 304 integration tests: IoTDB 2.0.10, InfluxDB OSS 1.13.1, InfluxDB 3 Core 3.11.5, plus openGemini 1.4.1 and 1.5.2 in both single-node and three-node/three-replica deployments. All final selected tests had zero failures, errors or skips; owned resources were removed. Test-script regression checks passed 71 cases; 27 unsigned release JARs and 11 POMs passed artifact verification.
Initial Docker attempts exposed new-database Raft readiness races and an incorrect assumption about 1.4.1 log fields in the first test gate. Version-specific test preparation was corrected, followed by a fresh complete matrix on the release commit. Historical failed/interrupted attempts and diagnostic controls are disclosed in the verification report; production writes are not automatically replayed.
Both GitHub Actions runs passed all nine jobs; downloaded raw reports independently confirmed source identity, coverage and owned-resource cleanup.
Main CI · Tag CI · English release notes · 中文发布说明
Source: 2ba077ac0f960555ccb00eee33373b7cd3ace324.
GitHub only. Maven Central remains at 2.1.0. The ZIP contains unsigned binary/source/Javadoc JARs, POMs and license notices; build and install this tag locally to consume version 2.1.2. release-verification.json records source, artifact, benchmark, local-test and CI evidence; SHA256SUMS verifies the ZIP and report.
本版本完成五项优化:HTTP 重定向安全、InfluxDB 3 查询空响应校验、聚合输出名称冲突预检、HTTP 整批字节预算及 POJO 读取映射缓存,保留公共 API、主干架构与 Java 17 基线。
升级时请注意 HTTP 整批默认上限为 64 MiB;超限会在发送前报 ARGUMENT_ERROR / NOT_COMMITTED,可通过各 HTTP 后端的 max-batch-bytes 调整。三组 Java 组合各通过 1,233 项单测,本地 Docker 304 项集成测试全部通过,包括 openGemini 两版本的单节点及三节点三副本场景;最终测试失败、错误、跳过均为零,测试资源已清理。另有 71 项脚本检查及发行制品审计通过。
测试中发现的 Raft 建库就绪竞态和首版 1.4.1 日志门禁缺陷均已记录,并修正测试准备后基于最终提交完整重验;生产代码不会自动重放提交状态不明的写入。微基准仅衡量本机 DTO 映射,具体数据和限制见 Wiki 与验证报告。
main 与 v2.1.2 标签 CI 各 9 个任务全部通过,下载的原始测试报告、源码身份、覆盖范围及资源清理证据已独立核验。
仅发布 GitHub,未更新 Maven Central(仍为 2.1.0)。 使用 2.1.2 依赖前请从此标签源码构建并安装至本地仓库。附件提供无签名发行包、验证报告与 SHA-256 校验文件。
TsGate 2.1.1
TsGate 2.1.1 fixes cursor-time validation and IoTDB mixed-case batch writes, and adds reusable backend contracts plus automatic Docker regression. The Template → SPI → backend architecture, public API and Java 17 baseline are unchanged.
GitHub-only release. Maven Central remains at 2.1.0; 2.1.1 has not been deployed to Central. Install the source tag locally before declaring 2.1.1 dependencies:
git clone --branch v2.1.1 --depth 1 https://github.com/AlanDevise/TsGate.git tsgate-2.1.1
cd tsgate-2.1.1
mvn clean installChanges:
- Cursor timestamps require finite, integral values within signed-long bounds. A page with
hasNext=truemust provide a usable next time cursor, otherwise it fails withQUERY_ERROR. - IoTDB preflight and Tablet values share lowercase physical column identity. Ambiguous columns or conflicting roles/types reject the entire batch before I/O; compatible case variants across rows retain their values without modifying caller records.
- All four backends run common test contracts, with a machine-checked capability/configuration table. Test helpers introduce no production SPI or runtime dependency.
- Relevant PRs/pushes select Docker regressions automatically. Release tags and manual runs execute the complete OpenGemini 1.4.1/1.5.2 single-node and three-node/three-replica matrix. The verification gate requires successful checks on the release commit.
Fresh local verification on commit 7c7cf76100085891131080ca0fddf2273a4dfa0e:
- JDK 17 / Boot 2.7.18, JDK 21 / Boot 3.5.14, JDK 25 / Boot 4.1.0: 1,078 unit tests passed in each combination.
- IoTDB 2.0.10, InfluxDB OSS 1.13.1 and InfluxDB 3 Core 3.11.5: 115 Docker integration tests passed, including 12 mixed-case IoTDB rows in one Tablet with readback.
- OpenGemini 1.4.1 and 1.5.2, each single node and three-node/three-replica cluster: 44 tests per deployment, 176 total.
- Zero failures, errors or skips; owned test containers/networks removed; source identity unchanged. 51 Python checks and 27 unsigned release JAR archive audits passed.
- GitHub main regression and full tag validation: all 9 jobs passed in each run, including the source/database verification gate on this same commit.
Attachments include Java 17 binary/source/Javadoc JARs and aligned POMs, release-verification.json, and SHA-256 checksums. They are unsigned GitHub artifacts. Recorded tests cover the listed versions/configurations; existing time-only cursor and backend-specific limits remain documented.
English release notes · 中文发布说明
2.1.1 已完成四项改进:游标时间精确校验、IoTDB 大小写列一致性、共享适配器契约测试、自动 Docker CI。主干设计、公共 API 和 Java 17 基线保持不变。
本地三个运行时组合各通过 1,078 项单测,既有三后端通过 115 项 Docker 集成测试,OpenGemini 两个版本的单节点及三节点三副本环境各通过 44 项,共 176 项。失败、错误、跳过均为零,测试资源已清理。
本版本只发布到 GitHub,Maven 中央库仍为 2.1.0。 使用 2.1.1 前,请按上面的命令安装发行源码到本地 Maven 仓库。双语 Wiki、README 和开发指南已同步。
TsGate 2.1.0
TsGate 2.1.0 adds openGemini adapters and Spring Boot starters for 1.4.1 and 1.5.2 default-engine deployments, using the existing TGTemplate, annotations and query API. It includes the adapter contract fixes and bounds checks documented in the release notes.
Java packages move from com.alandevise.tsdb.* to com.alandevise.tsgate.*. Update imports, reflection names and package scanning, then recompile applications and dependent libraries. This package rename is not binary compatible. Maven coordinates and tsdb.* configuration prefixes remain unchanged. The namespace-only commit preserves 91 Java file histories; .git-blame-ignore-revs supports meaningful line attribution.
Validation: 889 unit tests on each of JDK 17 / Boot 2.7.18, JDK 21 / Boot 3.5.14 and JDK 25 / Boot 4.1.0; 114 existing-backend Docker tests and 44 tests in each of four openGemini single-node/three-node deployments. All failures, errors and skips are zero. Maven Central state is PUBLISHED; all 38 public POM/JAR downloads match the signed release bundle. Final-source GitHub CI also passed.
2.1.0 新增 openGemini 适配与 starter,并保持现有统一 API。升级须将 Java 包名改为 com.alandevise.tsgate.* 后重新编译;旧 Java 文件的 Git 历史保留在独立迁移提交中。Maven Central 已发布,38 份公开制品均已下载校验。