Repository navigation
Releases: wgzhao/Addax
Release list
6.1.0
Addax 6.1.0
Addax 6.1.0 is a correction release: 32 engine / shared-library / plugin defects fixed since 6.0.13, several of them closing paths that corrupted or dropped data silently, plus a new end-to-end test suite. It also removes the datareader plugin and changes how binary and bit columns are read and written — read the migration notes before upgrading.
The version is 6.1.0 rather than 6.0.14 on purpose: this release contains a new feature and three backward-incompatible changes, which is a minor bump under the versioning scheme.
⚠️ Breaking changes
1. datareader is removed — use streamreader (#1556)
datareader was a copy of streamreader that re-implemented the column model to layer its own data rules on top, and the two copies had drifted apart. The rule item is now the canonical way to configure a column, and the 16 built-in rules of datareader (address, bank, company, creditCard, debitCard, email, idCard, job, lat, lng, name, phone, stockAccount, stockCode, uuid, zipCode) are implemented as generators behind a new Generated rule, so {"rule": "random", "value": "1,10", "type": "long"} and {"random": "1,10"} describe the same column.
- Migration: rename
"name": "datareader"to"name": "streamreader"in the job. The column configuration needs no change. - A column that mixes a
rulewith the legacyrandom/incritems now ignores those items with a warning, and atypethat contradicts the rule fails the job at startup. - A date format that uses the 12-hour field
hhwithout an AM/PM marker now fails at startup instead of silently generating midnight — useHH. - Datareader defects fixed on the way: the reversed range that made
zipCodethrow on every record, theidCardgender digit (always female, written to the 15th instead of the 17th position), the date increment unit truncated to its first character ("month"incremented minutes), and the NPE of anincrrule without atype.
2. Binary columns are base64 in text output, and oversized records now fail (#1568)
- Text output (
txtfilewriter,hdfswriterdelimited and SQL paths) renders a BINARY/BYTES column as base64. It used to decode it as UTF-8, so a 100KB payload came out with 51,200 U+FFFD, and its embedded0x0Abytes split one record into 404 physical lines. Consumers of those files must base64-decode such columns now. - A record larger than
core.transport.channel.byteCapacity(64MB by default, held per queued record) used to be dropped by both exchangers while the job still reported success. It now raisesOVER_LIMIT_ERROR, naming the record size, the limit and the option that raises it — raisecore.transport.channel.byteCapacityif the job legitimately carries records that large. - Dirty-record logging no longer scales with the size of a binary value: a dropped 9.2MB BLOB produced a 33,624,344-character log line, now 239 characters.
3. bit columns are handled consistently in every reader and writer (#1591)
bit(1)stays a boolean andbit varyingstays a string;bit(n>1)round-trips exactly at any width up tobit(64).- Reading a PostgreSQL
bit(n>1)column now yields packed bytes instead of the ASCII text of the bit string. A job that fed that column to a text sink sees the packed value; select it asvarcharorintinquerySqlto keep the previous rendering. - Fixed the MySQL writer parsing packed bytes as a base-2 literal (silently turning 48 into 0, and aborting the task with
NumberFormatExceptionbelow that) and the PostgreSQL writer re-encoding 8 bits per byte (so abit(3)copy never fitted its own column).
🐛 Fixes
Data correctness
- SQL exports write a real
NULLfor null values instead of the quoted literal'null'(#1518). fileFormat=sqlexports with at leastbatchSize(default 2048) rows no longer truncate the batch — every row is emitted (#1517).hdfsreadersequence-file rows keep empty fields, mapping to the same columns asfileType=text(#1521).hdfswriter: pre-1970 timestamps no longer write a negative nanos-of-day into INT96, DATE lands on the correct calendar day east of UTC and agrees between ORC and parquet, two ARRAY columns of different element types no longer die withClassCastException, and TIME matches every other rendering of the same value (#1533).hdfswriterwrites LZ4 parquet files asLZ4_RAW(#1538). Readers built on parquet-mr older than 1.12 — Hive 3.1.x, for instance — cannot decode codec 7, so jobs feeding such consumers need another codec.- TIME/TIMESTAMP(6) keep sub-second precision on both TIME and TIMESTAMP targets (#1509).
- Strings out of range for a BIGINT target are rejected instead of silently wrapped (#1508).
oraclewriterbinds LOBs directly ininsertmode instead of spending a round trip per value through a temporary LOB, and only falls back above the MERGE template limit (#1565, #1567).clickhousewriterkeeps its synchronous insert semantics with clickhouse-jdbc 0.10 (#1585).
Splitting and query building (lib-rdbms)
- A user
whereclause is parenthesized in split queries (#1499); NULL split keys are counted in the same min/max scan (#1500); string split keys are escaped when building range SQL (#1501); split-point arithmetic is overflow-safe (#1502). - The auto primary-key probe SQL is repaired for Sybase and ClickHouse (#1503); TDengine is detected from driver metadata rather than class-name equality (#1511).
Stability and performance
- Connection pools get sane defaults, a borrow timeout and socket/query timeouts; an exhausted pool now fails with a clear timeout error instead of hanging (#1510).
- Connections are returned to the pool after wildcard column expansion (#1512).
doriswriterreuses pooled connections and fixes the flush lifecycle: one unhealthy load host no longer fails the task, and a hung connection times out.batchSizekeeps its meaning and 2048 default (#1552).- Core: fail-fast scheduling, corrected channel wait metrics and job lifecycle repairs (#1496); lock-free statistics, cached record constructors and precompiled regexes (#1497); JDK 17 modernization (#1498).
lib-storage: compress modes are validated at writer startup (#1529, #1530), gzip/bz2 aliases are accepted on read with locale-safe name folding (#1520), an immutable date formatter replacesSimpleDateFormat(#1524), and sequence-file column configuration is parsed once per file rather than per record (#1526).hdfsreaderdelegates its configuration validation to the shared storage utilities (#1527), andhdfswriterresolves its column plan once per task (#1535).
Scripts and packaging
install.shreads prompts from the terminal, socurl -fsSL … | bashworks (#1554); deploys create missing remote directories (#1553);build-module.shbase paths and CLI options are repaired.
🧪 Testing
A new end-to-end suite (e2e/) assembles the real distribution, starts throwaway MySQL and PostgreSQL instances and asserts the result of every job under e2e/cases/ — 18 cases covering RDBMS round trips, upserts, text/CSV, HDFS text/parquet/ORC, datetime and timezone handling, and bit columns in both directions.
⚠️ Known issues
txtfilewriterwithwriteMode=appendfails when the target file already exists:prepare()keeps the existing files, andTask.startWrite()then requirescreateNewFile()to succeed — which returns false exactly in that case. This is a pre-existing defect, present in 6.0.13 as well; the E2E case110_mysql2txt_appendasserts it and reportsXFAIL. The fix is planned for 6.1.1.
📦 Dependencies
39 dependency updates, including clickhouse-jdbc 0.9.8 → 0.10.0, kudu-client 1.16.0 → 1.18.1, ngdbc 2.24.8 → 2.28.8, jackson 2.20.1 → 2.22.2, fastjson2 2.0.60 → 2.0.65, commons-io 2.19.0 → 2.22.0, netty 4.2.18, and a move to the maintained io.github.spannm fork of ucanaccess.
⬆️ Upgrading
- Distribution:
addax-6.1.0.tar.gzandaddax-6.1.0.tar.gz.sha256sum.asc— check the checksum before unpacking. - Docker:
wgzhao/addax:6.1.0(Docker Hub) andquay.io/wgzhao/addax:6.1.0. - Maven Central:
com.wgzhao.addax:addax-core:6.1.0. - Check first if your jobs use
datareader, send binary columns to a text sink, read PostgreSQLbit(n>1)columns, or carry records above 64MB. - Plugin documentation: https://github.com/wgzhao/addax-docs
Addax 6.1.0(中文版)
Addax 6.1.0 是一个修复版本:自 6.0.13 以来修掉了 32 个引擎 / 公共库 / 插件缺陷,其中多个是静默写坏或丢弃数据的问题,同时新增了端到端测试套件。本版本还删除了 datareader 插件,并改变了 binary 列与 bit 列的读写方式,升级前请先看下面的迁移说明。
版本号定为 6.1.0 而不是 6.0.14 是有意的:本版本包含新特性与三处不兼容变更,按版本命名规范应走小版本号。
⚠️ 破坏性变更
1. datareader 插件已删除,改用 streamreader (#1556)
datareader 是 streamreader 的副本,它重新实现了一套列模型来叠加自己的数据规则,两个副本已经各自漂移。现在列配置以 rule 项为准,datareader 的 16 条内置规则(address、bank、company、creditCard、debitCard、email、idCard、job、lat、lng、name、phone、stockAccount、stockCode、uuid、zipCode)通过新的 Generated 规则实现,因此 {"rule": "random", "value": "1,10", "type": "long"} 与 {"random": "1,10"} 描述的是同一个列。
- 迁移方式: 把作业里的
"name": "datareader"改成"name": "streamreader",列配置无需改动。 - 同一列里混用
rule和旧的random/incr项时,旧项会被忽略并给出警告;与 rule 冲突的type会在启动时直接失败。 - 日期格式使用 12 小时制
hh且没有 AM/PM 标记时,现在启动即失败(以前会静默生成午夜),请改用HH。 - 顺带修掉的原 datareader 缺陷:
zipCode的反向区间导致每条记录都抛异常、idCard性别位恒定女性且写在第 15 位而非第 17 位、日期增量单位被截断成首字母("month"实际按分钟递增)、无type的incr规则 NPE。
2. binary 列在文本输出中改为 base64,超限记录不再被静默丢弃 (#1568)
- 文本输出(
txtfilewriter、hdfswriter的分隔符与 SQL 路径)现在把 BINARY/BYTES 列渲染为 base64。此前按 UTF-8 解码,100KB 的载荷会变成 51,200 个 U+FFFD,载荷里内嵌的0x0A还会把一条记录拆成 404 行。消费这些文件的作业现在需要对这些列做 base64 解码。 - 超过
core.transport.channel.byteCapacity(默认 64MB,按排队记录占用)的记录,此前会被两个 exchang...
6.0.13
Addax 6.0.13 has released! 🎉
We are pleased to announce version 6.0.13, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
This release continues Addax's role as the actively maintained successor to Alibaba's DataX (frozen since 2023).
Below are the key updates in this release:
📜 Changes
- bae6704 fix(ci): export both passphrase env names for the deploy step
- 4e93150 fix(ci): point the deploy command at the generated settings file
- 8ee18be fix(ci): export ossrh credentials env in the deploy step
- b041b69 fix(ci): export passphrase env for gpg signing in publish workflow
- eca35a8 fix(build): bump maven-gpg-plugin for setup-java v6 GPG handling
- 6be554e [maven-release-plugin] prepare release 6.0.13
- 3a9081e fix(mongodbwriter): support authDb parameter for MongoDB authentication (#1488)
- 9522e55 feat(addax-gen): generate runnable jobs from connection strings (#1489)
- e71177d docs(docs): rewrite the DataX comparison document
- 7444755 docs(readme-zh): note DataX freeze in Chinese intro
- 27b25af docs(readme): position Addax as the actively maintained successor of DataX
- e46fc40 docs(release): document project status and release process
- 6e16e6f chore(deps): bump httpclient5, log4j, netty, iceberg, zstd and GitHub Actions
- 85b757e Bump com.databend:databend-jdbc from 0.4.0 to 0.4.6 (#1454)
- 89c50a9 Bump io.netty:netty-handler in /plugin/reader/cassandrareader (#1456)
- 6c4f05c Bump org.apache.logging.log4j:log4j-api from 2.25.2 to 2.25.5 (#1475)
- a18e74b Bump org.apache.httpcomponents.core5:httpcore5 from 5.4.2 to 5.4.3 (#1470)
- 48e1f0b Bump com.github.luben:zstd-jni from 1.5.7-6 to 1.5.7-9 (#1455)
- fe53851 Bump org.apache.commons:commons-configuration2 from 2.13.0 to 2.15.0 (#1453)
- a522e54 Bump org.slf4j:log4j-over-slf4j from 2.0.17 to 2.0.18 (#1448)
- 541db3d fix: change column List type from String to Object in MongoDBWriter (#1472)
- d6f93d6 Bump org.apache.httpcomponents.core5:httpcore5-h2 from 5.3.6 to 5.4.3 (#1474)
- 3a5742d Bump github/codeql-action from 4 to 4.37.4 (#1469)
- 4d9350d Bump httpcore.version from 5.3.6 to 5.4.2 (#1449)
- d6e932d Bump actions/setup-java from 5.1.0 to 5.7.0 (#1468)
- eddbd5d Bump docker/login-action from 4 to 4.5.2 (#1466)
- e23fbd3 Bump actions/checkout from 6 to 7 (#1459)
- a0461fe docs(agents): add CLAUDE.md symlink to AGENTS.md
- 95395bc fix(plugin-doriswriter): flush all batches before task success (#1478)
- 1df8a04 fix(doriswriter): await async Stream Load in post(), not destroy() (#1477)
- c784877 [maven-release-plugin] prepare for next development iteration
6.0.12
Addax 6.0.12 has released! 🎉
We are pleased to announce version 6.0.12, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
📜 Changes
- 1eae1dd [maven-release-plugin] prepare release 6.0.12
- 97a0e22 fix(hdfswriter): preserve TIME sub-sec, fix Parquet TS nanos (#1465)
- 9c66517 docs: clarify body format requirements for commit message lint
- 6e2cfb0 fix(lib-rdbms): handle UNSIGNED BIGINT overflow in reader and writer (#1464)
- 613ac86 fix(lib-rdbms): preserve TIME fractional seconds precision in MySQL→PostgreSQL transfer (#1463)
- 9175a65 fix(ci): enforce conventional commit message checks
- 8a5671c [chore][doc]: remove legacy changelog.md and build-docker.sh
- b885fb1 [feat][scrip]: enhance plugin installer script
- 233b0e7 [feat][script]: harden installer with JDK 17 bootstrap and resilient download flow
- 4d14434 [chore][plugin][hdfswriter]:Reorder dependency for snappy-java
- cdfbc60 [refactor][pom] remove unused HBase 1.x dependency and its exclusions
- c568b86 [fix][security] fix Unbounded PBKDF2 iterations in SCRAM authentication allows CPU exhaustion DoS
- be84f6d [chore][3rd]: update dependencies
- 4b31c09 [refactor][plugins]: Delete legacy plugins
- 2fe417e Merge branch 'master' of github.com:wgzhao/Addax
- 42de0f6 [chore][action] Add maven deploy job
- 1d0ed9e [maven-release-plugin] prepare for next development iteration
6.0.11
Addax 6.0.11 has released! 🎉
We are pleased to announce version 6.0.11, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
📜 Changes
- 928894c [maven-release-plugin] prepare release 6.0.11
- 4f8000a Merge branch 'master' of github.com:wgzhao/Addax
- 4906c6b [chore][action] fix Upload to GitHub
- 553ddf8 [maven-release-plugin] rollback the release of 6.0.11
- e6a1484 [maven-release-plugin] prepare for next development iteration
- cdae063 [maven-release-plugin] prepare release 6.0.11
- 7050f74 [feat][plugin][mongodbreader]: Add support for wildcard with collection configure item (#1438)
- 8abceac [chore][3rd]: update dependencies and GitHub action version
- f4118f8 Merge branch 'master' of github.com:wgzhao/Addax
- e2769e7 docs: update AGENTS.md
- f1a21b8 [chore][3rd]: update dependency versions in pom.xml
- 89c14fd [maven-release-plugin] prepare for next development iteration
6.0.10
Addax 6.0.10 has released! 🎉
We are pleased to announce version 6.0.10, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
highlights
6.0.9
Addax 6.0.9 has released! 🎉
We are pleased to announce version 6.0.9, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
Highlights
- Added YAML job configuration support (.yaml/.yml) alongside JSON, with a full set of YAML example job templates.
- HTTP Reader now supports authConfig token bootstrap for authenticated requests.
- ORC writer normalizes timestamp string output to a consistent yyyy-MM-dd HH:mm:ss format.
Bug Fixes
- RDBMS excludeColumn now works correctly with quoted column names; avoids redundant re-quoting.
- PostgreSQL forced column quoting fixed to use proper double-quote handling and safer fallbacks.
Docs & Examples
- HTTP Reader documentation expanded/updated.
- New project knowledge/conventions documentation added.
- Plugin job template updated for new HTTP auth options.
Operational / Maintenance
- Added logging for PK range SQL execution in SingleTableSplitUtil.
- Ensured mutable handling of allColumns in RDBMS config pretreatment.
- GitHub Actions updates (setup-java, cache) and minor POM/version alignment across modules.
📜 Changes
5c9309c (HEAD -> master, origin/master, origin/HEAD) [maven-release-plugin] prepare for next development iteration
1873049 (tag: 6.0.9) [maven-release-plugin] prepare release 6.0.9
424b62b [bugfix][lib][rdbms]: fix forced column quoting for PostgreSQL (#1417)
1c288ef [bugfix][lib][rdbms]: fixed excludeColumn config not working due to quoted column name mismatch (#1415)
86d24e6 [feat][plugin][httpreader] Add authConfig token bootstrap (#1414)
ad6b116 [chore][core]: Add YAML file support in job configuration
9de195e [feature][core]: Add YAML job config support (#1408)
35922d5 [chore][action] Bump setup-java action version to 5.2.0 in workflows
f476edb [chore][lib][rdbms] Add log for PK range SQL execution in SingleTableSplitUtil
ded60dd [chore][docs]: Add project-specific knowledge and conventions in SKILL.md
c459e23 [chore][lib][rdbms] Ensure allColumns is a mutable list in OriginalConfPretreatmentUtil
41737eb [feature][plugin][hdfswriter] Normalize timestamp string output in OrcWriter
bdd5c51 [update][action] Bump actions/setup-java from 5.0.0 to 5.1.0 (#1390)
c4554eb [update][action] Bump actions/cache from 4 to 5 (#1391)
0326ca8 [maven-release-plugin] prepare for next development iteration
6.0.8
For My Mother
Addax 6.0.8 has released! 🎉
We are pleased to announce version 6.0.8, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
📜 Changes
ac8b7fc [bugfix][plugin][paimonwriter] Fix paimon writer truncate table failed (#1398)
330c2db [bugfix][plugin][paimonwriter] fix paimon data loss (#1396)
fb5530b [feature][lib][rdbms] Add unQuote method to DataBaseType for handling quoted identifiers
d9346e8 Merge branch 'master' of github.com:wgzhao/Addax
a55b19f [bugfix][lib][rdbms] fix null string comparison to be case-insensitive in DataBaseType.java
2071457 [improve][rdbms] Use shared BasicDataSource cache in DBUtil to enable real pooling and fix per-call DS teardown
29a140c [feature][rdbms] Enhance column name quoting with optional force quoting
8fc7116 [chore][dependencies] Bump commons.csv, log4j and zstd to updated version
02a9230 [chore][github][action] update actions/checkout to v6 across workflow files and
b419568 [chore][lib][rdbms] Remove redundant timezone configuration check for MySQL JDBC
a22d9f6 [bugfix][plugin][mysqlreader] Fix NPE when reading GEOMETRY columns with null or SRID-only WKB
2d881af [update][doc] enhance documentation for RDBMS writer configuration parameters and add ddl support
b49ccbf [chore][issue-template] Update default version options in NEW-ISSUE.yml
6.0.7
Addax 6.0.7 has released! 🎉
We are pleased to announce version 6.0.7, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
📜 Changes
8618d02 [maven-release-plugin] prepare for next development iteration
6877e07 (tag: 6.0.7) [maven-release-plugin] prepare release 6.0.7
0d53b54 [bugfix][lib][rdbms] fix #1380 Operation not allowed after ResultSet closed failure observed in writer initialization
f6666f6 [chore][plugin][mysqlreader] Remove unused import statement from MysqlReader.java
efa6c62 [improve][plugin] Enhance job template configuration with additional parameters and improved formatting
5bd62aa [bugfix][plugin][elastcisearchreader] Fix ES query serialization and avoid adding type to search path (#1379)
58b9eae [chore][update][3rd] Update dependency versions in pom.xml
1adb9db [improve][plugin][mongodbwriter] add supports for wildcard column (#1377)
0e2134f [improve][plugin][mongodbreader] add supports for wildcard column (#1376)
544eefc [chore][github] add pull request template to standardize contributions
c70da5f [improve][plugin][mongodbwriter] implement nested field handling for better data structure support
b6972a4 [maven-release-plugin] prepare for next development iteration
6.0.6
Addax 6.0.6 has released! 🎉
We are pleased to announce version 6.0.6, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
📜 Changes
b6972a4 (HEAD -> master) [maven-release-plugin] prepare for next development iteration
6928b57 (tag: 6.0.6) [maven-release-plugin] prepare release 6.0.6
bb9935c (origin/master, origin/HEAD) [bugfix][core] ensure proper validation when updating task group communication by checking for null previous value
7e93665 [improve][core] enhance thread safety and performance by using final maps and ThreadLocal for DecimalFormat
6529ac4 [chore][3rd] update CodeQL action to v4 and bump dependency versions in pom.xml
538b793 [chore][plugin][hdfswriter] suppress log4j warnings by using log4j-over-slf4j bridge
9c31179 [refactor][lib][rdbms] optimize SQL logging, bytes handling, object creation, and record building
9dcf8cb [feature][plugin][streamwriter] add hex preview formatting for binary columns and improve console output
b54b542 [feature][plugin][mongodbreader] Support Nested Field Extraction in MongoDBReader Plugin via Dot Notation (#1360)
345df81 [chore][3rd] update json-smart to version 2.6.0 and fastjson2 to version 2.0.59
12e8389 [bugfix][plugin][hdfswriter] set scale before precision for ORC decimal to avoid invalid precision/scale error
f530037 [improve][core] improve date compatibility for BSD/macOS and support custom log file name in addax.sh
b675390 [maven-release-plugin] prepare for next development iteration
6.0.5
Addax 6.0.5 has released! 🎉
We are pleased to announce version 6.0.5, which focuses on improving stability and performance by addressing several bugs and implementing minor code refinements.
Below are the key updates in this release:
Highlight
The new Server module provides HTTP interfaces for submitting and managing data collection tasks. Users can submit JSON job configurations via POST, and the server executes tasks asynchronously, returning a unique task ID. Progress and results can be queried using this ID.
Features
- RESTful API for task submission and status query
- Configurable maximum concurrent tasks (default: 30)
- Integrated with Addax core Engine for direct job execution
- Supports command-line and environment variable concurrency settings
- Startup/shutdown script with background mode support
📜 Changes
482146c [maven-release-plugin] prepare for next development iteration
6f6a2f7 [maven-release-plugin] prepare release 6.0.5
e97f70c [improve][server] Refactor AddaxServer and TaskService for improved readability and maintainability
a0d6b9a [feature][add][server] add minimal HTTP server module for job submission and status query (#1359)
fab780e [chore][docs] add related projects section to README files
a6a7ca8 [feature][plugin][hdfswriter] add automatic path creation option in HDFS writer configuration
667b22c [bugfix][plugin][streamwriter] resolve console log output inconsistency between terminal and log files
7aef269 [improve][core] Enhance exception handling by including JDBC URL and query SQL in error messages
64d5378 [chore][3rd] update dependencies to updated version
ada7ebc [chore][core] remove deprecated methods
668e8fb [chore][maven] remove unnecessary excludes from package.xml dependencies
d1571b3 [chore][core] Add 'RANK' keyword to SQL constant definitions
00b18c0 [improve][lib][rdbms] Add support for column name quoting in rdbms writer
158c184 [bugfix][plugin][s3writer] fix #1344, handle null columns in record2String with continue to prevent duplicate and assertion errors
a3efd3b [chore][core] add totalBytes to job statistics and update documentation
380cbe7 [bugfix][plugin][hivereader] add hadoop-shaded-protobuf dependency for enhanced compatibility
357a855 [improve][core][script] enable Java security to support JDK 21+
6047869 [improve][plugin][mongodbreader] use MongoRowConverter for BSON document processing
5704a3e [improve][plugin][excelwriter] Improved Excel write performance by generating XML files directly (#1341)
4a09681 [chore][plugin][datareader] replace deprecated RandomStringUtils.randomAlphanumeric with insecure variant
a02defe [chore][github][action]: update actions/setup-java and actions/upload-pages-artifact to latest versions
e5816e8 [maven-release-plugin] prepare for next development iteration