Skip to content

Release v0.4.0

Compare
Choose a tag to compare
@github-actions github-actions released this 19 Jan 09:57
3a53cf1

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 from clickhouse-client along with new packages - #1197
      com.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'
  • 🐛 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 compression
      • decompress_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 response
      • decompress_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 and ClickHouseWriter 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>