Release v0.4.0
Happy Spring Festival everyone! Apologize for a minor release taking so long :p
This is a feature release with new features, performance improvement, bug fixes, and unfortunately breaking changes.
-
💥 BREAKING CHANGES
- refactored
JdbcTypeMapping
to make it extensible - #1075 - removed legacy driver
ru.yandex.*
- #1089 by @mzitnik - removed most deprecated methods and class members
- refactored data processor(for serialization and deserialization) and added new classes for unsigned types - #1124
- refactored ClickHouseRequest/ClickHouseInputStream/ClickHouseOutputStream to better support compression - #1174 & #1189
- extracted
clickhouse-data
fromclickhouse-client
along with new packages - #1197com.clickhouse.config // generic configuration com.clickhouse.data // data processing utilities com.clickhouse.logging // generic logging utility
- added jdk17 in pom and changed build instructions
mvn -Dj8 clean install # for jdk8, it was 'mvn clean install' mvn clean install # for jdk17, it was 'mvn -Drelease clean install'
- refactored
-
🐛 Bug Fix
- not able to cancel query when there's session_id - #1035
- overflow error when handling BigInteger and BigDecimal in ClickHouseLongValue - #1040 by @Blackmorse
- not handling SimpleAggregateFunction properly - #1054
- DELETE FROM was rewritten to ALTER TABLE DELETE even when lightweight deletion was enabled - #1063
- forced headless format for inserting - #1073
- missing the verb "be" in error messages - #1137 by @fabiencelier
- write time field data loss precision - #1127 by @gaaraG
- fixed a few copy-paste error causing problem handling Geo types
-
✨ New Feature
- added R2DBC driver - #914 by @rernas35
- enhanced ClickHouseClient for importing and exporting compressed file - #1004
- added new option
custom_settings
- #1059 - enhanced
ClickHouseRequestManager
to support query/session ID customization - #1074 - added Apache HTTP Client 5 to support socket options - #1146 by @JackyWoo
- enhanced
clickhouse-grpc-client
to support request chunking and compressiondecompress_alogrithm
(request compression):BROTLI
[-1,11],BZ2
,DEFLATE
[0,9],GZIP
[-1,9],LZ4
[0,18],XZ
[0,9],ZSTD
[0,22]compress_alogrithm
(response decompression):DEFLATE
,LZ4
,ZSTD
Note: typo will be fixed in v0.4.1.
- enhanced
clickhouse-http-client
to support zstd compression for both request and responsedecompress_alogrithm
(request compression):LZ4
[0,18],ZSTD
[0,22]compress_alogrithm
(response decompression):BROTLI
,BZ2
,DEFLATE
,GZIP
,LZ4
,XZ
,ZSTD
Note: typo will be fixed in v0.4.1.
- added stream-based prepared statement - #1163
- browser-like client name (
select distinct http_user_agent from system.query_log
) - #1182 - enhanced
ClickHouseRequest
by treating input stream andClickHouseWriter
equally - #1200
-
🎨 Misc
- dropped
develop
branch, which accidentally removed all open pull requests 😭 - fixed some issues captured by SonarCloud and LGTM
- added more tests but the coverage is still very low 🤣
- enabled nightly build in CI - check out Sonatype OSSRH
<repositories> <repository> <id>ossrh</id> <name>Sonatype OSSRH</name> <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url> </repository> </repositories>
- dropped