Releases: ClickHouse/clickhouse-go
Releases · ClickHouse/clickhouse-go
Release list
v2.48.0
What's Changed
Enhancements 🚀
- fix: bind float params as typed Float literals (#1862) by @arpitjain099 in #1894
- fix: make format time helpers fully timezone aware by @kavirajk in #1904
- ci: add StressHouse PR-vs-main benchmark workflow by @alex-clickhouse in #1912
- feat: support structured Exception for HTTP protocol by @kavirajk in #1910
- feat: support arbitrary input/output formats (experimental, HTTP only). breaking change if you depend on
driver.Conninterface. By @kavirajk in #1928
Bug fixes 🐛
- fix: render bool query parameters as true/false (Array(Bool)) by @polyglotAI-bot in #1892
- fix: escaping for string keys in Map parameter binding by @destinyoooo in #1897
- chore: fix the
formatValuehelper for complex types by @kavirajk in #1899 - fix: gurantee datetime string format in JSON by @kavirajk in #1907
- fix: use atomic.Int64 for clickhouse.connID (386 alignment) by @forkwhileant in #1905
- fix(resources): simplify minimum server version check by @the-onewho-knocks in #1902
- fix: preserve per-query JWT in QueryOptions.clone() by @AndreZiviani in #1914
- Remove stray HTTP compression debug output by @fallintoplace in #1937
- fix: return errors when scanning Tuple maps by @fallintoplace in #1944
Other Changes 🛠
- chore(deps): bump github.com/andybalholm/brotli from 1.2.1 to 1.2.2 by @dependabot[bot] in #1893
- chore: refactor agent SKILL for code review by @kavirajk in #1880
- Add Code of Conduct by @laeg in #1900
- chore(deps): bump golang.org/x/net from 0.56.0 to 0.57.0 by @dependabot[bot] in #1903
- chore: correct permission to resolve review comment by @kavirajk in #1906
- docs(agent instructions): integration-test hygiene conventions by @polyglotAI-bot in #1911
- chore: refresh CI ClickHouse server version matrix by @polyglotAI-bot in #1931
- docs: fix Enum8/Enum16 type mappings in TYPES.md by @sankalpsthakur in #1930
- chore(deps): bump github.com/moby/moby/client from 0.5.0 to 0.5.1 by @dependabot[bot] in #1935
- chore(deps): bump github.com/ClickHouse/ch-go from 0.73.0 to 0.74.0 by @dependabot[bot] in #1939
- use fable for code review by @mshustov in #1947
- perf: make
safeLen()linear runtime in exception parser by @kavirajk in #1949
New Contributors
- @arpitjain099 made their first contribution in #1894
- @destinyoooo made their first contribution in #1897
- @laeg made their first contribution in #1900
- @forkwhileant made their first contribution in #1905
- @the-onewho-knocks made their first contribution in #1902
- @AndreZiviani made their first contribution in #1914
- @sankalpsthakur made their first contribution in #1930
- @fallintoplace made their first contribution in #1937
Full Changelog: v2.47.0...v2.48.0
v2.47.0
What's Changed
Improvements 🚀
- fix: evict connections on wrapped net.OpErrors by @Grundlefleck in #1869
- chore: make tests less flaky by @kavirajk in #1884
- chore: make Test1229 less flaky by @kavirajk in #1867
- refactor: replace interface{} with any (Go 1.18+) by @MD-Mushfiqur123 in #1878
- chore: fix flaky TestContextCancellation* tests. by @kavirajk in #1889
- chore: remove in-memory contributors list by @kavirajk in #1890
Bug fixes 🐛
- fix: restore debug logging when debug=1 is set via DSN by @wucm667 in #1852
- Update to not use deprecated
github.com/docker/dockerby @tempoz in #1873 - Fix DateTime/DateTime64 timezone: resolve synthetic Fixed/UTC±HH:MM:SS offsets by @polyglotAI-bot in #1882
- fix: ignore placeholders in quoted contexts by @wucm667 in #1879
- fix: handle the named arg inside backtick by @kavirajk in #1888
Other Changes 🛠
- chore: update the version matrix by @kavirajk in #1861
- Create cross-repo-bug-relay.yml by @alex-clickhouse in #1842
- Add AI_POLICY.md by @mshustov in #1866
- chore(deps): bump github.com/andybalholm/brotli from 1.2.0 to 1.2.1 by @dependabot[bot] in #1819
- chore(deps): bump github.com/testcontainers/testcontainers-go from 0.40.0 to 0.41.0 by @dependabot[bot] in #1793
- chore(deps): bump go.opentelemetry.io/otel/trace from 1.41.0 to 1.44.0 by @dependabot[bot] in #1791
- chore(deps): bump github.com/paulmach/orb from 0.12.0 to 0.13.0 by @dependabot[bot] in #1812
- chore(deps): bump github.com/ClickHouse/ch-go from 0.71.0 to 0.72.0 by @dependabot[bot] in #1872
- chore(deps): bump github.com/moby/moby/client from 0.4.1 to 0.5.0 by @dependabot[bot] in #1885
- chore(deps): bump github.com/testcontainers/testcontainers-go from 0.42.0 to 0.43.0 by @dependabot[bot] in #1886
New Contributors
- @wucm667 made their first contribution in #1852
- @alex-clickhouse made their first contribution in #1842
- @tempoz made their first contribution in #1873
- @Grundlefleck made their first contribution in #1869
- @polyglotAI-bot made their first contribution in #1882
- @MD-Mushfiqur123 made their first contribution in #1878
Full Changelog: v2.46.0...v2.47.0
v2.46.0
What's Changed
Enhancements 🎉
Bug Fixes 🐛
- fix: lowcardinality nil map panic by @Laotree in #1830
- fix: choosing serialization version correctly in JSON column type by @kavirajk in #1850
Other Changes 🛠
- docs: Add documentation for driver.Batch by @must108 in #1838
- docs: clarify HTTP compression modes by @must108 in #1837
- upgrade to Golangci-lint v2; add lint to CI by @alexandear in #1832
New Contributors
- @must108 made their first contribution in #1838
- @alexandear made their first contribution in #1832
Full Changelog: v2.45.0...v2.46.0
v2.45.0
What's Changed
Bug Fixes 🐛
- fix: set req.Host for Host header in HTTP transport by @binger-li-dd in #1826
Other Changes 🛠
New Contributors
- @binger-li-dd made their first contribution in #1826
Full Changelog: v2.44.0...v2.45.0
v2.44.0
What's Changed
Enhancements 🎉
- feat: add HasData() bool to driver.Rows by @velom in #1796
url.Parseadoption from Go 1.25.7 by @M0rdecay in #1787- chore: enable
cloudandheadtest runs for all PRs by @kavirajk in #1798 - Add sql.Scanner support for all Geography types by @Onyx2406 in #1789
- AGENTS init by @kavirajk in #1809
- workflows: integrate claude code Github action for code-review by @kavirajk in #1811
- chore: fix the code-review CI error with enough rights. by @kavirajk in #1816
Bug Fixes 🐛
- chore: add test to lock single enum value behavior by @kavirajk in #1779
- fix: Panic when scanning nullable JSON using a pointer to
clickhouse.JSONby @erezrokah in #1770 - Fix #1775: omit absent JSON keys when scanning into map[string]any by @varundeepsaini in #1781
- fix: Fix connection slot leak when context is cancelled during acquire by @hermanschaaf in #1759
- Helper to disable profile events on the server-side by @varundeepsaini in #1782 and @kavirajk #1786
- fix: inconsistent results for nil in Json.AppendRow by @Laotree in #1771
- chore: fix
cloudandheadtest runs by @kavirajk in #1786 - chore: make PR from forks run cloud tests correctly by @kavirajk in #1803
- fix: release connection in batch.Close() when closeQuery() fails by @rbroggi in #1795
- chore: make cloud test runs on-demand only with labeling by @kavirajk in #1806
Other Changes 🛠
- chore(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 by @dependabot[bot] in #1769
- chore(deps): bump go.opentelemetry.io/otel/trace from 1.39.0 to 1.40.0 by @dependabot[bot] in #1767
- Update Cloud credentials by @peter-leonov-ch in #1776
- chore(deps): bump go.opentelemetry.io/otel/trace from 1.40.0 to 1.41.0 by @dependabot[bot] in #1783
- doc: update README to update outdated content by @kavirajk in #1805
New Contributors
- @peter-leonov-ch made their first contribution in #1776
- @varundeepsaini made their first contribution in #1781
- @hermanschaaf made their first contribution in #1759
- @Laotree made their first contribution in #1771
- @M0rdecay made their first contribution in #1787
- @velom made their first contribution in #1796
- @Onyx2406 made their first contribution in #1789
Full Changelog: v2.43.0...v2.44.0
v2.43.0
What's Changed
Enhancements 🎉
- Implement Unwrap() on BlockError by @ilidemi in #1741
- Feat: Add clickhouse cluster mode setup via docker compose by @kavirajk in #1749
- Feat: support LineString and MultiLineString by @imkonsowa in #1751
- feat: support BFloat16 datatype by @kavirajk in #1755
- feat(slog): add support for structured and leveled logger by @kavirajk in #1756
- feat: support
QBitcolumn type by @kavirajk in #1761
Bug fixes 🐛
- fix: Fixes the failure againt HEAD of CH server by @kavirajk in #1752
- fix(time/time64): fix the ScanType of both time and time64 by @kavirajk in #1758
Other Changes 🛠
- update
UseContextexample to handlerows.Err()correct by @ehsansouri23 in #1726 - chore(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 by @dependabot[bot] in #1750
- doc(pooling): Clarify connection pooling is enabled on both protocols by @kavirajk in #1753
- add codeowners by @mshustov in #1754
New Contributors
- @ehsansouri23 made their first contribution in #1726
- @ilidemi made their first contribution in #1741
- @imkonsowa made their first contribution in #1751
Full Changelog: v2.42.0...v2.43.0
v2.42.0
What's Changed
Enhancements 🎉
- Add context option to append more ClientInfo to the system.query_log by @SpencerTorres in #1736
- refactor: idle pool and fix non-deterministic teardown of idle cleanup goroutine by @GeorgeMac in #1687
- chore: Improve EOF error messages. by @kavirajk in #1723
NOTE now direct comparision oferr == io.EOFwon't work, useerrors.Is(err, io.EOF - feat: Add support for proper exception handling by @kavirajk in #1694
Bug Fixes 🐛
Other Changes 🛠
- chore(release): Workflow Authentication by @juliojimenez in #1718
- Bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @dependabot[bot] in #1717
- Fix #1719: Fix invalid links and add link checking for PRs by @tsics in #1720
- fix: restore minimal Go version to 1.24 by @vincentbernat in #172
- chore(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 by @dependabot[bot] in #1733
- chore(deps): bump go.opentelemetry.io/otel/trace from 1.38.0 to 1.39.0 by @dependabot[bot] in #1734
New Contributors
- @juliojimenez made their first contribution in #1718
- @tsics made their first contribution in #1720
- @GeorgeMac made their first contribution in #1687
Full Changelog: v2.41.0...v2.42.0
v2.41.0
What's Changed
Enhancements 🎉
- feat: add custom http transport by @r0bobo in #1656
- Support interface typed NamedValue binding by @crisismaple in #1633
- remove deprecated Object('json') column by @kavirajk in #1674
- feat: OpenDB api now sets few configs passed via options by @kavirajk in #1675
- chore: Async inserts docs and example updates by @kavirajk in #1690
- Set HttpUrlPath from DSN to resolve missing path in HTTP requests by @RokibulHasan7 in #1692
- Add support to
timeandtime64datatypes by @kavirajk @shivanshuraj1333 in #1669 - fix: Don't scan profile events if listener is not set by @erezrokah in #1686
- Allow oneline comment in insert query by @luckyevildev in #1693
- Update cloud version matrix (25.10) by @SpencerTorres in #1704
- Disable default transport layer gzip compression by default by @kavirajk 5c8c388 and #1704 (comment)
- Add some examples for ephemeral column by @kavirajk in #1710
Bug fixes 🐛
- Fix potential Divide by Zero panic by @kavirajk in #1665
- fix: SimpleAggregateFunction(anyLast, JSON) by @bripkens in #1645
- bug: Fix Nullable(JSON) with
nilmap by @kavirajk in #1667 - bug: Fixes some correctness bug with ContextWatchdog by @kavirajk in #1688
Other Changes 🛠
- chore: Remove unused bash script by @kavirajk in #1663
- chore: Remove license header from each go file by @kavirajk in #1662
- Bump github.com/paulmach/orb from 0.11.1 to 0.12.0 by @dependabot[bot] in #1664
- Bump github.com/testcontainers/testcontainers-go from 0.38.0 to 0.39.0 by @dependabot[bot] in #1666
- Bump github.com/docker/docker from 28.4.0+incompatible to 28.5.0+incompatible by @dependabot[bot] in #1676
- Bump github.com/docker/docker from 28.5.0+incompatible to 28.5.1+incompatible by @dependabot[bot] in #1679
- Bump golang.org/x/net from 0.44.0 to 0.46.0 by @dependabot[bot] in #1683
- Bump github.com/ClickHouse/ch-go from 0.68.0 to 0.69.0 by @dependabot[bot] in #1678
- chore: Update contributing guide and docker compose stack by @erezrokah in #1684
- chore: Upgrade Go toolchain to 1.25.x by @kavirajk in #1689
- Bump github.com/docker/docker from 28.5.1+incompatible to 28.5.2+incompatible by @dependabot[bot] in #1706
- Bump github.com/testcontainers/testcontainers-go from 0.39.0 to 0.40.0 by @dependabot[bot] in #1705
- Bump golang.org/x/net from 0.46.0 to 0.47.0 by @dependabot[bot] in #1711
New Contributors
- @kavirajk made their first contribution in #1663
- @bripkens made their first contribution in #1645
- @erezrokah made their first contribution in #1684
- @RokibulHasan7 made their first contribution in #1692
- @luckyevildev made their first contribution in #1693
Full Changelog: v2.40.3...v2.41.0
v2.40.3
What's Changed
Other Changes 🛠
- bug: deserializing into nullable field by @rbroggi in #1649
- Fixes for #1649 by @SpencerTorres in #1654
New Contributors
Full Changelog: v2.40.2...v2.40.3
v2.40.2
What's Changed
Other Changes 🛠
- Bump golang.org/x/net from 0.42.0 to 0.43.0 by @dependabot[bot] in #1634
- Bump github.com/ClickHouse/ch-go from 0.67.0 to 0.68.0 by @dependabot[bot] in #1639
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.1 by @dependabot[bot] in #1641
- Bump go.opentelemetry.io/otel/trace from 1.37.0 to 1.38.0 by @dependabot[bot] in #1642
- Bump github.com/docker/docker from 28.3.3+incompatible to 28.4.0+incompatible by @dependabot[bot] in #1646
- Bump golang.org/x/net from 0.43.0 to 0.44.0 by @dependabot[bot] in #1647
- chore: migrate to maintained YAML library by @joschi in #1651
- skip random tests on Go 1.25 by @SpencerTorres in #1652
- bug: headers map can be nil by @r0bobo in #1650
New Contributors
Full Changelog: v2.40.1...v2.40.2