Releases: ClickHouse/clickhouse-cpp
Releases · ClickHouse/clickhouse-cpp
2.6.0
New features
- Breaking:
clickhouse::UInt128type definition has been changed fromstd::pair<uint64_t,uint64_t,>toabsl::uint128for consistency withclickhouse::Int128 - Added methods
ReserveandCapacityto numeric and date columns #330 by @rtcote - Added the
Reservemethod to other columns #341 by @1261385937 - Added Block::Clear() and Block::Reserve() to clear or preallocate block capacity #427 by @Enmk
- Modified
ColumnLowCardinality::Reserve(X)to reservesqrt(X)items, since items usually repeat #427 by @Enmk
AddedSwapElementsand a comparison function to numeric and date columns to enable in-place sorting #330 by @rtcote - Added method
GetWritableDatato numeric columns #330, https://github.com/ClickHouse/clickhouse-cpp/pull/338/files by @rtcote and @Enmk - Implemented rvalue reference overload for
ColumnArray::Appendto allow optimizations when passing rvalues #345 by @1261385937 - Added
Client::GetVersion()to get the current library version; addedversion.h; extended build scripts to read and validate the version number during release; fixed #347 #348 #351 by @Enmk - Added
FixedStringType::GetSize()#355 by @german3w1 - Added support for ZSTD compression #367 by @byian
- Added missing
ColumnDateTime::RawAt()#375 by @moaazassali - Added
Client::SelectWithExternalData(...)andClient::SelectWithExternalDataCancelable(...)to support queries with external data #419 by @pet74alex - Added
UInt128support; fixed #378 #424 by @pet74alex - Added validation when inserting into
ColumnArrayto prevent possible data corruption #428 by @IyeOnline - Changed the client name reported to the server to avoid confusion with the
clickhouse clientclienthttps://github.com//pull/439 by @slabko - Disabled
BUILD_SHARED_LIBS,BUILD_BENCHMARK, andBUILD_TESTSwhen used as a submodule in another project #386 by @AndreyAlifanov - Allowed specifying parameters for each query via
Query::SetParams(...)#394 by @OlegGalizin - Added
DISABLE_CLANG_LIBC_WORKAROUNDCMake parameter to disable linking compiler-rt & gcc_s when using Clang with libstdc++ #399 by @kclonts
Fixes
- Fixed #408 by including dependencies in installation #409 by @fdr400
- Correctly handled the return value of the
sendsyscall #404 #407 by @dngrudin - Avoided calling the exception copy constructor when throwing exceptions #413 by @OlegGalizin
- Fix #432 by adding missing files to installation #435 by @slabko
- Portability fix: corrected types for
recv_timeoutandsend_timeout#337 by @jiayuehua - Portability fix: renamed deprecated
std::memory_order::memory_order_relaxedtostd::memory_order_relaxed#343 by @georgthegreat - Portability fix: added missing includes #357 by @hdnpth
- Portability fix: fixed compilation on MinGW #414 by @HRex39
Various test and documentation improvements
- Documentation for using asynchronous inserts #393 by @1261385937
- Documentation improvements #438 by @theory
- Tests improvements https://github.com/ClickHouse/clickhouse-cpp by @Enmk
- Tests improvements #342 by @1261385937
- Tests improvements #410 by @Enmk
- Tests and CI improvements #429 by @Enmk
Full Changelog: v2.5.1...v2.6.0
Huge thanks to all contributors for their work on this release. Special thanks to @Enmk, whose long-term dedication and stewardship have kept this library thriving. It wouldn’t be the same without you.
2.5.1 Bugfix release
Fixes
Full Changelog: v2.5.0...v2.5.1
2.5.0
New features
- Multiple endpoints for connection. by @MikhailBurdukov in #310 (and #327 by @Harvey-Liu)
- Add move semantics for
ColumnEnumby @bduminiuc in #328 - Implemented
AppendRaw/RawAtforColumnDateandColumnDate32that work withuint16_t/int32_tby @Enmk in #320 - Fix
ColumnArrayT<ColumnLowCardinalityT<ColumnString>>::Appendby @Enmk in #331
Fixes
- Fix abnormal column names in gcc7.3.1 by @alenstarx in #317 (also #321 by @Enmk )
- Fix system cityhash setup by @ZhongRuoyu in #301
CI/CD and tests
Other
- Updated
ColumnString::LoadBodyby @Enmk in #309 - Fix compile warning by @1261385937 in #312
- added DEBUG_DEPENDENCIES by @Enmk in #302
- Set
backward_compatibility_lowcardinality_as_wrapped_columndefault value tofalseby @Enmk in #333
New Contributors
- @ZhongRuoyu made their first contribution in #301
- @MikhailBurdukov made their first contribution in #310
- @alenstarx made their first contribution in #317
- @bduminiuc made their first contribution in #328
- @Harvey-Liu made their first contribution in #327
Full Changelog: v2.4.0...v2.5.0
2.4.0
Fixes
- fix bug in ColumnLowCardinality::Load (#270 by @den818)
- fix bug with load/save Array with empty arrays (#272 by @den818)
- Fix crash on invalid AST (#273 by @Enmk)
- Fix getaddrinfo error reporting (#278 by @nUl1)
- Fixed deprecation warning (#285 by @Enmk)
New features
- timeout from seconds to milliseconds (#253 by @1261385937)
- Support column type: map (#254, #257 by @den818)
- Support geo column types (#258 by @den818)
- New method
ColumnTuple::At(). (#268 by @huyphams) - ColumnNulableT and wrap for LowCardinalityT (#269 by @den818)
- Add connect timeout to socket (#277 by @nUl1)
- Handle "Bool" columns (#279 by @ays7)
- Added Query.onProfile and handling of Profile data (#298 by @Enmk)
New options (clickhouse::ClientOptions)
- connection_connect_timeout - socket connect timeout, milliseconds
- connection_recv_timeout - socket recv timeout, milliseconds
- connection_send_timeout - socket send timeout, milliseconds
Other
- Separate building static and shared libs (#219 by @Jihadist)
- Update bench.cpp (#242 by @dabao085)
- Update LICENSE (#276 by @blinkov)
- Add options to use system abseil, lz4 and cityhash (#281 by @Jihadist)
- Dependencies info (#286 by @Enmk)
- Expand application tutorial (#293 by @rschu1ze)
- Fix formatting in README.md (#294 by @rschu1ze)
- Fixed gcc13 warnings (#296 by @ays7)
- Minor: Deprecated LowCardinalitySerializationAdaptor (#300 by @Enmk)
CI/CD
- Scheduling CI/CD runs on Monday midnight (#263 by @Enmk)
- Explicitly using ubuntu-20.04 instead of ubuntu-latest (#264 by @Enmk)
- Disabled
system.query_logs-dependent unit-tests (#267 by @Enmk) - Don't run query id tests on non linux (#298 by @Enmk)
- Fix Windows build (#299 by @Enmk)
New Contributors
- @dabao085 made their first contribution in #242
- @nUl1 made their first contribution in #277
- @Jihadist made their first contribution in #219
- @ays7 made their first contribution in #279
- @rschu1ze made their first contribution in #293
Full Changelog: v2.3.0...v2.4.0
2.3.0
Fixes
- Fixed leaking socket (#228 by @Enmk)
- Fix build on UWP (#230 by @Thomas1664)
- Update CMake include directories (#247 by @KuribohG)
New features
- more flexible memory management for
ColumnString(#202 by @1261385937) - Fix
CreateColumnFromAstforEnum(#210 by @1261385937) - Add recv/send timeouts to socket (#205 by @horoshenkiy, #217 by @1261385937)
- Client Write info (written rows/bytes ) (#221 by @den818)
- Per query settings (#231 by @den818)
- Receiving server logs (#222 by @den818)
- support open telemetry (#232 by @den818)
- Profile events for query (#236 by @den818)
Performance improvements
- Significantly improved
ColumnString's performance (#248, #249 by @1261385937)
Other
- Style: added modificators: explicit and override for Compressed (#206 by @k-morozov)
- Fixed examples (#220 by @peter279k)
- updated protocol version (#223 by @den818)
- ClickHouse server 22.3 for Linux workflow (#240 by @Enmk)
Deprecated APIs and settings
FromStringand entire headerClientOptions::backward_compatibility_lowcardinality_as_wrapped_columnStringViewand entire header
See #233 #250
Full Changelog: v2.2.1...v2.3.0
2.2.1 Bugfix release
Fixes
- Fixed connection issue on windows (#196 by @inaryart)
- update CMake and install new
server_exception.hby (#199 @xkommando)
Full Changelog: v2.2.0...v2.2.1
2.2.0
Major new features
- Proper Exception hierarchy to simplify exception handling from user side (#164 by @itrofimow)
- Added type-safe wrapper for Array column:
CollumnArrayT<T>(#171 by @Enmk) - Added
Array(LowCardinality(X))support (#173 by @arthurpassos) - Added
Date32support viaColumnDate32(#175 by @huyphams, #190 by @Enmk) - Added support of
LowCardinality(Nullable(X))(#182 by @arthurpassos)
Fixes
ItemViewis now compatible with libcxx (#167 @itrofimow)- Fix build on clang & libc++ (#169 @DavidKeller)
- Fixed nested array support
Array(Array(...(X)))(#171 by @Enmk) - Fixed handling
Hellopacket from server (#174 @huyphams) - Better performance of
ColumnArray::Slice(#176 by @Enmk) - Minor optimization of
ColumnEnum(#192 by @Enmk)
Other
#170, #179, #180, #181, #183, #189, #191, #193
Full Changelog: v2.1.0...v2.2.0
2.1.0
Changes since 2.0.0
Major new features
ColumnTuple::Append#126- Socket injection by user #147
- Skipping SSL certificate validation on client side #152
- Allow setting Query_ID #161
Fixes
- Fix for MSVC compilation #128
- GCC-8 fix #134
- Fixed
ColumnIPv4::Append()#148 - Fixed
ColumnIPv4andColumnIPv6construct from data #149 - Better performance for
Type::IsEqual()#156
Other
#116, #118, #120, #131, #132, #135, #136, #137, #150, #155, #156
Full Changelog: v2.0.0...v2.1.0
2.0.0
1.5.0
Fixes
- Fixed build on GCC 10.2.1 (PR #56)
- Fixed socket connecting on Windows (PR #63)
- Fixed builds on platforms that do not have
__int128intrinsic by usingabsl::Int128(PR #66) - Fixed bug in
ColumnFixedStringon mismatching value size (PR #68) - Fixed
EnumType::GetName()for empty enums (PR #70)
Features
- Allowing column names with spaces, quotes and other special symbols (PR #31)
- Gracefully handling unexpected communication termination on
INSERT(PR #64) - Supporting timezone parameter for
DateTimeandDateTime64(PR #70) - Added
TCP_NO_DELAYsupport (PRs: #54 #74) - Allow users to explicitly access
LowCardinality(WrappedColumn)column asWrappedColumn(PR #79)