Skip to content

Commit

Permalink
Merge pull request #1848 from ClickHouse/pre_0.7.0
Browse files Browse the repository at this point in the history
Pre 0.7.0
  • Loading branch information
chernser authored Oct 1, 2024
2 parents 18a6550 + de62ebe commit 616ddb8
Show file tree
Hide file tree
Showing 10 changed files with 57 additions and 10 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:

env:
CHC_BRANCH: "main"
CHC_VERSION: "0.6.5"
CHC_VERSION: "0.7.0"

jobs:
nightly:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
version:
description: "Release version"
required: true
default: "0.6.5-SNAPSHOT"
default: "0.7.0-SNAPSHOT"

jobs:
release:
Expand Down
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,52 @@
## Latest

## 0.7.0

### Deprecations
- Following deprecated components are removed:
- clickhouse-cli-client
- clickhouse-grpc-client

### Important Changes
- [client-v2] New transport layer implementation is used by default. It is still possible to switch back
using old implementation by setting `com.clickhouse.client.api.Client.Builder#useNewImplementation` to `false`. (https://github.com/ClickHouse/clickhouse-java/pull/1847)

### New Features
- [client-v2] Now there is an easy way to set custom HTTP headers globally for client and per operation.
See `com.clickhouse.client.api.Client.Builder.httpHeader(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782)
- [client-v2] Now there is a way to set any server settings globally for client and per operation.
See `com.clickhouse.client.api.Client.Builder.serverSetting(java.lang.String, java.lang.String)` for details. (https://github.com/ClickHouse/clickhouse-java/issues/1782)
- [client-v2] Added support for writing AggregateFunction values (bitmap serialization). !! Reading is not
supported but will be added in the next release. (https://github.com/ClickHouse/clickhouse-java/pull/1814)
- [r2dbc] Defer connection creation. This allows pool to create a new instance on every subscription,
instead of always returning the same one. (https://github.com/ClickHouse/clickhouse-java/pull/1810)

### Performance Improvements
- [client-v2] Improved reading fixed length data like numbers. It is possible to configure readers to
use pre-allocated buffers to avoid memory allocation for each data row/block. Significantly reduces GC pressure.
See `com.clickhouse.client.api.Client.Builder.allowBinaryReaderToReuseBuffers` for details. (https://github.com/ClickHouse/clickhouse-java/pull/1816)
- [client-v2] New API method introduced to read data directly to a POJO. Deserializers for POJO classes are compiled into
bytecode (with help of https://asm.ow2.io/ library) and optimized for each schema. It is great performance boost
because data is read without copying it into temporary structures. Code can be optimized by JVM while runtime as SerDe
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,
https://github.com/ClickHouse/clickhouse-java/pull/1826)
- [client-v2] Optimized reading columns - internally data is read into map of column-values. It is done
to allow reading same column more than once. Previously map was cleared each row what caused a lot
internal objects creation. Now values are overridden because schema doesn't change between rows. (https://github.com/ClickHouse/clickhouse-java/pull/1795)

### Documentation
- [client-v2] Added example for Kotlin (https://github.com/ClickHouse/clickhouse-java/pull/1793)
- [doc] Main documentation on official ClickHouse website is updated. Each client has its own page with detailed information now.
Added documentation for the Client V2. See https://clickhouse.com/docs/en/integrations/java.

### Bug Fixes
- [client-v2] Fix for cases when missing operation metrics were causing NPE. (https://github.com/ClickHouse/clickhouse-java/pull/1846)
- [client-v2] Fix for handling empty result by BinaryFormat readers. (https://github.com/ClickHouse/clickhouse-java/pull/1845)
- [jdbc] Content of an artifact 'clickhouse-jdbc-{version}-all.jar' is fixed and contains all required classes from `clickhouse-client`
and `clickhouse-data`. (https://github.com/ClickHouse/clickhouse-java/pull/1842)
- [client-v1, jdbc] Endpoints definition parsing fixed to grub properties correctly. Now even properties with key-value
pairs are supported. (https://github.com/ClickHouse/clickhouse-java/pull/1841, https://github.com/ClickHouse/clickhouse-java/issues/1665)

## 0.6.5

### Deprecations
Expand Down
2 changes: 1 addition & 1 deletion examples/client-v2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<clickhouse-java.version>0.6.5-SNAPSHOT</clickhouse-java.version>
<clickhouse-java.version>0.7.0-SNAPSHOT</clickhouse-java.version>
<apache-httpclient.version>5.2.1</apache-httpclient.version>

<compiler-plugin.version>3.8.1</compiler-plugin.version>
Expand Down
4 changes: 2 additions & 2 deletions examples/client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<clickhouse-java.version>0.6.5-SNAPSHOT</clickhouse-java.version>
<clickhouse-java.version>0.7.0-SNAPSHOT</clickhouse-java.version>
<!-- Nightly snapshot version from https://s01.oss.sonatype.org/content/repositories/snapshots/ or latest from local -->
<!-- <clickhouse-java.version>0.6.4-SNAPSHOT</clickhouse-java.version>-->
<!-- <clickhouse-java.version>0.7.0-SNAPSHOT</clickhouse-java.version>-->

<apache-httpclient.version>5.2.1</apache-httpclient.version>

Expand Down
2 changes: 1 addition & 1 deletion examples/demo-kotlin-service/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ dependencies {
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktor_version")

// https://mvnrepository.com/artifact/com.clickhouse/client-v2
implementation("com.clickhouse:client-v2:0.6.5-SNAPSHOT")
implementation("com.clickhouse:client-v2:0.7.0-SNAPSHOT")

// http client used by clickhouse client
implementation("org.apache.httpcomponents.client5:httpclient5:5.3.1")
Expand Down
2 changes: 1 addition & 1 deletion examples/demo-service/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ dependencies {

// -- clickhouse dependencies
// Main dependency
implementation("com.clickhouse:client-v2:0.6.5-SNAPSHOT") // nightly build
implementation("com.clickhouse:client-v2:0.7.0-SNAPSHOT") // nightly build
// implementation("com.clickhouse:client-v2:0.6.5") // stable version
// http client used by clickhouse client
implementation("org.apache.httpcomponents.client5:httpclient5:5.3.1")
Expand Down
2 changes: 1 addition & 1 deletion examples/jdbc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<clickhouse-java.version>0.6.5-SNAPSHOT</clickhouse-java.version>
<clickhouse-java.version>0.7.0-SNAPSHOT</clickhouse-java.version>
<hikaricp.version>4.0.3</hikaricp.version>
<apache-httpclient.version>5.2.1</apache-httpclient.version>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<clickhouse-java.version>0.6.0</clickhouse-java.version>
<clickhouse-java.version>0.7.0-SNAPSHOT</clickhouse-java.version>
<spring-boot-starter.version>2.7.18</spring-boot-starter.version>
</properties>

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
</distributionManagement>

<properties>
<revision>0.6.5-SNAPSHOT</revision>
<revision>0.7.0-SNAPSHOT</revision>
<project.current.year>2024</project.current.year>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
Expand Down

0 comments on commit 616ddb8

Please sign in to comment.