|
1 | 1 | ## Latest |
2 | 2 |
|
| 3 | +## 0.7.0 |
| 4 | + |
| 5 | +### Deprecations |
| 6 | +- Following deprecated components are removed: |
| 7 | + - clickhouse-cli-client |
| 8 | + - clickhouse-grpc-client |
| 9 | + |
| 10 | +### Important Changes |
| 11 | +- [client-v2] New transport layer implementation is used by default. It is still possible to switch back |
| 12 | +using old implementation by setting `com.clickhouse.client.api.Client.Builder#useNewImplementation` to `false`. (https://github.com/ClickHouse/clickhouse-java/pull/1847) |
| 13 | + |
| 14 | +### New Features |
| 15 | +- [client-v2] Now there is an easy way to set custom HTTP headers globally for client and per operation. |
| 16 | +See `com.clickhouse.client.api.Client.Builder.httpHeader(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782) |
| 17 | +- [client-v2] Now there is a way to set any server settings globally for client and per operation. |
| 18 | +See `com.clickhouse.client.api.Client.Builder.serverSetting(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782) |
| 19 | +- [client-v2] Added support for writing AggregateFunction values (bitmap serialization). !! Reading is not |
| 20 | +supported but will be added in the next release. (https://github.com/ClickHouse/clickhouse-java/pull/1814) |
| 21 | +- [r2dbc] Defer connection creation. This allows pool to create a new instance on every subscription, |
| 22 | +instead of always returning the same one. (https://github.com/ClickHouse/clickhouse-java/pull/1810) |
| 23 | + |
| 24 | +### Performance Improvements |
| 25 | +- [client-v2] Improved reading fixed length data like numbers. It is possible to configure readers to |
| 26 | +use pre-allocated buffers to avoid memory allocation for each data row/block. Significantly reduces GC pressure. |
| 27 | +See `com.clickhouse.client.api.Client.Builder.allowBinaryReaderToReuseBuffers` for details. (https://github.com/ClickHouse/clickhouse-java/pull/1816) |
| 28 | +- [client-v2] New API method introduced to read data directly to a POJO. Deserializers for POJO classes are compiled into |
| 29 | +bytecode (with help of https://asm.ow2.io/ library) and optimized for each schema. It is great performance boost |
| 30 | +because data is read without copying it into temporary structures. Code can be optimized by JVM while runtime as SerDe |
| 31 | +code is implemented without reflection using JVM bytecode. Using bytecode makes handling primitive types without values boxing. (https://github.com/ClickHouse/clickhouse-java/pull/1794, |
| 32 | +https://github.com/ClickHouse/clickhouse-java/pull/1826) |
| 33 | +- [client-v2] Optimized reading columns - internally data is read into map of column-values. It is done |
| 34 | +to allow reading same column more than once. Previously map was cleared each row what caused a lot |
| 35 | +internal objects creation. Now values are overridden because schema doesn't change between rows. (https://github.com/ClickHouse/clickhouse-java/pull/1795) |
| 36 | + |
| 37 | +### Documentation |
| 38 | +- [client-v2] Added example for Kotlin (https://github.com/ClickHouse/clickhouse-java/pull/1793) |
| 39 | +- [doc] Main documentation on official ClickHouse website is updated. Each client has its own page with detailed information now. |
| 40 | +Added documentation for the Client V2. See https://clickhouse.com/docs/en/integrations/java. |
| 41 | + |
| 42 | +### Bug Fixes |
| 43 | +- [client-v2] Fix for cases when missing operation metrics were causing NPE. (https://github.com/ClickHouse/clickhouse-java/pull/1846) |
| 44 | +- [client-v2] Fix for handling empty result by BinaryFormat readers. (https://github.com/ClickHouse/clickhouse-java/pull/1845) |
| 45 | +- [jdbc] Content of an artifact 'clickhouse-jdbc-{version}-all.jar' is fixed and contains all required classes from `clickhouse-client` |
| 46 | +and `clickhouse-data`. (https://github.com/ClickHouse/clickhouse-java/pull/1842) |
| 47 | +- [client-v1, jdbc] Endpoints definition parsing fixed to grub properties correctly. Now even properties with key-value |
| 48 | +pairs are supported. (https://github.com/ClickHouse/clickhouse-java/pull/1841, https://github.com/ClickHouse/clickhouse-java/issues/1665) |
| 49 | + |
3 | 50 | ## 0.6.5 |
4 | 51 |
|
5 | 52 | ### Deprecations |
|
0 commit comments