Releases: ClickHouse/clickhouse-java
Release v0.5.0
0.5.0
Breaking Changes
- ClickHouseByteBuffer can no longer be extended
- rename ClickHouseByteUtils methods by removing LE suffix
- change default databaseTerm from schema to catalog
- remove deprecated API load, dump and connect
- remove use_no_proxy settings
New Features
- Adding new proxy support #1338
- Add support for customer socket factory #1391
- use VarHandle in JDK 9+ to read/write numbers
- Establish secured connection with custom Trust Store file
- Change default HTTP Client to Apache HTTP client #1421
Bug Fixes
- Java client threw confusing error when query is invalid.
- JDBC Driver correctly processes
AggregateFunction(Nested(...))columns - Incorrect parameter position
- Fix testing framework to support secured clickhouse server
Release v0.4.6
This is a patch release mainly for bug fixes. It's highly recommended to upgrade, especially when you're using nested arrays, or client certificate authentication with password protection.
-
🐛 Bug Fix
-
✨ New Feature
- ClickHouseStatement.setMirroredOutput() for dumping ResultSet
- ClickHouseResponse.records(Class<?>) for object mapping
- Two new options(use_compilation & max_mapper_cache) reserved for future usage
Release v0.4.5
Another tiny release trying to unblock some of the work relying on Java client. You don't have to upgrade if you use JDBC or R2DBC driver.
-
💥 BREAKING CHANGES
- Refactored data processors and response classes to ensure input stream remain intact before first read - performance penalty is ~3%
- move ClickHouseSimpleRecord to com.clickhouse.data
- stop reading input stream when instantiating ClickHouseDataProcessor
- remove createRecord() method in ClickHouseDataProcessor along with some duplicated code
- Refactored data processors and response classes to ensure input stream remain intact before first read - performance penalty is ~3%
-
🐛 Bug Fix
-
✨ New Feature
- Disabled SQL rewrite for DELETE statement in ClickHouse 23.3+
-
🎨 Misc
- bump MySQL JDBC driver to 8.0.33 - by @pan3793
Release v0.4.4
Same as v0.4.3 except updated POM for the following changes:
- bump dependencies
- roll back Maven flatten plugin from 1.4.1 to 1.2.7
Release v0.4.3
Warning Please upgrade to v0.4.4 to resolve dependency issue.
This is a tiny release for bug fixing. Please upgrade if your work rely on text-based data format and/or R2DBC driver.
- 🐛 Bug Fix
- unable to convert empty string to default value when using text-based data format
- r2dbc driver does not support most client options - #1299
- incorrect content from Lz4InputStream when using text-based data format - ClickHouse/ClickHouse#48446
Release v0.4.2
This is a minor release with bug fixes and some new features.
-
💥 BREAKING CHANGES
- Refactored SQL parser to support keywords
compression,infile, andoutfile
- Refactored SQL parser to support keywords
-
🐛 Bug Fix
- remove duplicated socket options - #1263 by @JackyWoo
- error while converting Nested values to Java maps
- incorrect algorithm extracted from PEM - #1274
- transaction failure introduced in 0.4.0
- respect node-specific credentials - #1114
- USE statement does nothing - #1160
- executeBatch does not support on cluster anymore - #1261
-
✨ New Feature
- Add credentials overload for Java client - #1265 by @rickysaltzer
- centralized configuration for JDBC driver using custom server setting
custom_jdbc_config- #1290 - support
BEGIN TRANSACTION,COMMIT, andROLLBACKstatements in JDBC driver - new options for JDBC driver
-
🎨 Misc
- move docs to ClickHouse website as well as bug template and contribution guide - by @mshustov
- improved error messages for missing dependency
- replaced default JDBC artifact with shaded jar and more dependencies in
providedscope
Release v0.4.1
This is a patch release mainly for bug fixing. It is highly recommended to upgrade if you're using v0.4.0.
-
💥 BREAKING CHANGES
- changed option names - #1203
compress_alogrithm->compress_algorithmdecompress_alogrithm->decompress_algorithm
- changed option names - #1203
-
🐛 Bug Fix
- incorrect nested array values - #1223
- broken serde for
Nested, which also impactedJSON- #1242 - broken serde for bitmap64 - #1248
- gRPC client may complete execution before closing response stream
- throw
StreamCorruptedExceptioninstead of genericIOExceptionwhen deserialization failed (mostly due to server error)
-
✨ New Feature
- added source in shaded jar for IDE friendly - #1217
- iterable
ClickHouseInputStream, which slightly improved performance of piping - #1238 ClickHouseOutputStream.transferBytes()is deprecated and it will be removed in 0.5read()andwrite()methods in ClickHouseClient -connect()is deprecated and it will be removed in 0.5- make all dependencies of JDBC driver optional, along with configuration for building native binary - #1247
-
🎨 Misc
- added PR template and changelog by @mshustov
- renamed repository from
clickhouse-jdbctoclickhouse-java, and branch frommastertomainby @mshustov - update outdated docs by removing yandex and correcting class names by @mzitnik and @alexey-milovidov
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
JdbcTypeMappingto 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-datafromclickhouse-clientalong 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
ClickHouseRequestManagerto support query/session ID customization - #1074 - added Apache HTTP Client 5 to support socket options - #1146 by @JackyWoo
- enhanced
clickhouse-grpc-clientto 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-clientto 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
ClickHouseRequestby treating input stream andClickHouseWriterequally - #1200
-
🎨 Misc
- dropped
developbranch, 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
Release v0.3.2-patch11
This is a patch release for bug fixes and experimental features.
-
Bug Fix
- Bitmap64 deserilization error - #918
- Incorrect update count - #947
- Dependencies lost in pom.xml - #973
- Error when executing empty batch using
PreparedStatement- #977 - Connection properties may lost - #978
ResultSet.getObject(int, Class)may return default value instead of null - #979- Redundant classes in shaded jar - #989
PreparedStatement.addBatch()timed out - #991- Set
nullAsDefaultto2may triggerIllegalArgumentExceptionwhen handling timestamp with timezone - #999
-
New Feature
ClickHouseRequestManageris added for customizing query ID and session ID - #870PreparedStatement.getParameterMetaData()is implemented - #972- Experimental transaction support - #975
- Direct file upload and download - #1001
- Failover across protocols
- Repeat the same query until timed out, only when session is locked on server - set
repeat_on_session_locktofalseto turn it off
commits...
- [3535d11]: Fix custom properties lost issue and add more tests (Zhichun Wu) #980
- [142944b]: Remove hard-coded protocol (Zhichun Wu) #980
- [844b2b8]: Stop throwing exception when executing empty batch (Zhichun Wu) #981
- [70612d8]: Return null instead of default value for nullable types (Zhichun Wu) #982
- [9f9ef67]: More tests to cover socket timeout and error during query/insert (Zhichun Wu) #983
- [57d8d76]: Fixes number cast exception when Boolean[] is used in ClickHouseArrayValue (Kanthi Subramanian) #985
- [82eb49a]: Skip failed test case (Zhichun Wu) #983
- [890f602]: convert long[] to BigInteger[] - #984 (Zhichun Wu) #983
- [24035e6]: Only run the test for http implementation (Zhichun Wu) #983
- [702a638]: add test to ensure BigInteger[] can be converted back to long[] as well (Zhichun Wu) #983
- [b468f1d]: Skip the tests for non-http implementation (Zhichun Wu) #983
- [8cc6033]: Convert byte[] to Boolean[] and more tests (Zhichun Wu) #985
- [1f633d6]: implement getParameterMetadata method in PreparedStatement (Zhichun Wu) #988
- [8d6ce58]: Clean up pom files (Zhichun Wu) #992
- [8b8415f]: Fix build failure (Zhichun Wu) #992
- [52de029]: Fix incorrect error code when using HttpClient on 21.3 (Zhichun Wu) #992
- [04b9c4b]: Fix slowness in performance mode and failover not working when protocol is unsupported (Zhichun Wu) #995
- [9326785]: Fix format error when last argument is Throwable (Zhichun Wu) #995
- [0780c7c]: Correct node config overloading and failover from one protocol to another (Zhichun Wu) #995
- [6a56549]: Use named container in CI when using CLI client (Zhichun Wu) #995
- [c010b4d]: Skip the failed case for now (Zhichun Wu) #995
- [81168a2]: max_result_rows should never be applied to metadata queries (Zhichun Wu) #997
- [9be9db2]: Add use_no_proxy option to avoid using proxy (Zhichun Wu) #998
- [823b32a]: Merge branch 'develop' of github.com:zhicwu/clickhouse-jdbc into develop (Zhichun Wu) #998
- [a95ea43]: Add missing config (Zhichun Wu) #998
- [aeb5878]: Use unbounded queue for batch insert (Zhichun Wu) #1000
- [6a11320]: Rename test and consider clearBatch (Zhichun Wu) #1000
- [d1a97b1]: support direct upload/download in http client (Zhichun Wu) #1004
- [4baa9c9]: Experimental transaction support (Zhichun Wu) #1008
- [3c4b863]: Fix compile error on JDK 8 (Zhichun Wu) #1008
- [de97ada]: Fix test failures on 22.7 (Zhichun Wu) #1008
- [77f949e]: Fix Roaring64NavigableMap reading mismatches (wuzq) #1011
- [86fe010]: improve implicit transaction support and error handling (Zhichun Wu) #1008
- [9633bf8]: Improve error message as suggested in #1010 (Zhichun Wu) #1008
- [d7a6f77]: Roll back unnecessary changes (Zhichun Wu) #1008
- [33cf266]: Enable repeat_on_session_lock to test CI (Zhichun Wu) #1008
- [1d68dcd]: Bump ClickHouse version and test again (Zhichun Wu) #1008
- [439d345]: Update doc for build and testing (Zhichun Wu) #1018
- [[537663b](https://github.com/ClickHouse/click...
Release v0.3.2-patch10
This is a patch release for bug fixes and experimental features.
-
Bug Fix
- bump gRPC to 1.45.1 - #936
- fix insert timeout error as mentioned in #943
- fix issue of parsing slash in connection string - now you don't have to encode slash in query parameters
- fix JDBC multi-value insert error - #920
- fix JDBC metadata error on 21.6 and
rename_response_columnoption no longer impact metadata queries - #938
-
New Feature
commits...
- [da685b4]: update grpc to 1.45.1 (Nathan J Mehl) #936
- [02938f6]: update third-party libraries (Nathan J Mehl) #936
- [dd6c285]: Update test report when build failed (Zhichun Wu) #937
- [0d872b3]: Bump version (Zhichun Wu) #937
- [0e9b519]: Fix typo (Zhichun Wu) #939
- [c22cdc1]: file-based data loading and dumping (Zhichun Wu) #939
- [45c95d3]: Add CLI client (Zhichun Wu) #939
- [92e075d]: Fix compile errors and test failures (Zhichun Wu) #939
- [7db110f]: Fix #920 (Zhichun Wu) #940
- [ba83399]: Support --secure and --query_id two options (Zhichun Wu) #941
- [298a67d]: Add more formats (Zhichun Wu) #941
- [5fc2c54]: Update request format according to parsed query (Zhichun Wu) #941
- [5420317]: Skip one more test case for cli client (Zhichun Wu) #941
- [afc63d9]: Update build script (Zhichun Wu) #941
- [e495b45]: Enhance query to avoid 'Block structure mismatch' error on 21.6 (Zhichun Wu) #942
- [0a171ad]: Never rename column when retrieving JDBC metadata (Zhichun Wu) #942
- [ad5187b]: Bump jmh to latest (Zhichun Wu) #942
- [e61607f]: Add workaround for maven timeout error (Zhichun Wu) #942
- [fb126fc]: Fix timeout issues (Zhichun Wu) #943
- [802ccf6]: Remove --update-snapshots option from build stage (Zhichun Wu) #943
- [75ddd37]: Multi-endpoint support (#956) (Zhichun Wu) #956
- [a1a617c]: Change default sslmode to strict for security reason (Zhichun Wu) #963
- [3b48e07]: support custom writer for streaming (Zhichun Wu) #963
- [5a1c464]: Bump version and update docs (Zhichun Wu) #963
- [de865c3]: Fix deserialization issue in performance mode (Zhichun Wu) #968
- [cfbfe13]: slightly improved lz4 performance (Zhichun Wu) #969
- [e86d45e]: Use /tmp directory to transfer data from host to container (Zhichun Wu) #969
- [b904a6b]: Disable testCustomLoad for cli-client (Zhichun Wu) #969
- [6f82de2]: Fix table not found error (Zhichun Wu) #969
- [aebad16]: Correct readme (Zhichun Wu)