Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre 0.7.0 #1848

Merged
merged 3 commits into from
Oct 1, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 header 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] Not 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 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.
See `com.clickhouse.client.api.Client.Builder.allowBinaryReaderToReuseBuffers` for details. (https://github.com/ClickHouse/clickhouse-java/pull/1816)
- [client-v2] New query method introduced to read data into a POJO. POJO deserializers 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 additional copies. As serde code is implemented without reflection using JVM bytecode
then code can be optimized by JVM while runtime. Using ASM allows handle primitive types without 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. See https://clickhouse.com/docs/en/integrations/java.
Each client has its own page with detailed information. Added documentation for client v2.

### Bug Fixes
- [client-v2] Fix for case 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