3.4.12 (2026-07-27)
Breaking changes:
- minimal supported Grafana version bumped to 12.3.0 (
grafanaDependency: ">=12.3.0"), frontend migrated to@grafana/data|runtime|ui13.x
Enhancements:
- add streaming support for near real-time dashboards:
Streamingswitch in Query Editor withDelta(fetch only new data since last poll, requires$timeFilter) andFull refreshmodes, configurable poll interval and lookback window; implemented via short time-range polling instead ofLIVE VIEW/WINDOW VIEW, fix #429 - honest frontend coverage numbers (coverage denominator pinned to the whole
src/, threshold ratchet to fail CI on silent drops) and full Coveralls reporting for both Go and frontend parts, fix #785 - run testflows e2e suites against fixed Grafana 13.1.0 and
latestin parallel job groups, fix #908, fix #786 - add e2e coverage for the autocomplete permission bubble when connection user has limited access, fix #816
- stabilize testflows suite: replace the flaky
gh-apiexternal datasource withgh-play(play.clickhouse.com), use provisioned datasources instead of UI creation, re-anchor selectors on stabledata-testid/aria-labelinstead of hashed Emotion classes, adapt to Grafana 13.1 UI - upgrade JS and Go dependencies to fix security alerts (dompurify, @grafana/runtime, immutable, postcss, fast-uri, protobufjs, protocol-buffers-schema, websocket-driver, google.golang.org/grpc, pillow)
Fixes:
- fix UInt64/Int64 values still rounded on JS side — ClickHouse >= 25.8 changed
output_format_json_quote_64bit_integersdefault from 1 to 0, soJSON.parseinside Grafana'sbackendSrvrounded big integers before the plugin saw them (11189782786942380395shown as11189782786942380000); responses are now fetched as raw text and parsed losslessly withlossless-json, which also works forreadonly=1users where per-request settings are forbidden, fix #832, related to ClickHouse/ClickHouse#86553 - fix breaking change in 3.4.x when constant and plain template variables were single-quoted in identifier positions (
FROM,JOIN,INTO,TO,TABLE) producing invalid SQL likeFROM 'db.table', now such positions interpolate raw whileIN/ tuple context keeps quoting; also fixTypeErrorcrash onnullvalues of variables without config, fix #905 - fix ClickHouse
#and#!line comments silently corrupting or truncating queries in the SQL tokenizer, AST comment preservation and comment stripping, add syntax highlight for them in the Monaco editor, fix #610 - fix
$conditionalTestdropping commas insideSQL_if— the 2- vs 3-parameter form was decided by counting top-level commas, so leading-comma ($conditionalTest(, expr, $var)), trailing-comma and quoted-comma (AND t = 'a,b') idioms produced broken SQL; the comma scan is now quote- and backslash-aware and\,is supported as an explicit escape, regression of #726, thanks https://github.com/oplehto - fix autocomplete permission errors not classified when Grafana <= 12.4 drops the
text/plainClickHouse error body and the permission bubble never showed — the autocomplete query is retried once withSETTINGS http_write_exception_in_output_format=1soACCESS_DENIEDis reported as a JSONexceptionfield, related to #816
What's Changed
- Bump pillow from 12.1.1 to 12.2.0 in /tests/testflows by @dependabot[bot] in #888
- Bump protocol-buffers-schema from 3.6.0 to 3.6.1 by @dependabot[bot] in #889
- Bump protobufjs from 7.5.4 to 7.5.5 by @dependabot[bot] in #890
- Dependencies update by @lunaticusgreen in #900
- ci(testflows): run suites against fixed + latest Grafana in parallel by @lunaticusgreen in #893
- test(e2e): stabilize testflows suite (remove flaky gh-api, fix fragile selectors, provision datasources) by @lunaticusgreen in #902
- add streaming by @lunaticusgreen in #884
- fix($conditionalTest): preserve commas inside SQL_if (quotes + , escape) by @oplehto in #903
- test(e2e): replace gh-api datasource with gh-play (play.clickhouse.com) by @Slach in #907
- Fixed Grafana version to 13.1.0 by @lunaticusgreen in #913
- Implement e2e case for limited access scenario by @lunaticusgreen in #912
- Fix variables quoting interpolation by @lunaticusgreen in #910
- Add hash comment support by @lunaticusgreen in #911
- honest coverage numbers + full Coveralls reporting by @lunaticusgreen in #914
- parse ClickHouse JSON responses losslessly to preserve 64-bit integers precision by @lunaticusgreen in #917
- chore(deps-dev): bump postcss from 8.5.15 to 8.5.23 by @dependabot[bot] in #922
- chore(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 by @dependabot[bot] in #921
- chore(deps): bump dompurify and @grafana/runtime by @dependabot[bot] in #919
- chore(deps): bump google.golang.org/grpc from 1.81.0 to 1.82.1 by @dependabot[bot] in #920
- chore(deps): bump immutable from 5.1.6 to 5.1.9 by @dependabot[bot] in #918
- chore(deps): bump pillow from 12.2.0 to 12.3.0 in /tests/testflows by @dependabot[bot] in #916
- chore(deps-dev): bump websocket-driver from 0.7.4 to 0.7.5 by @dependabot[bot] in #915
New Contributors
Full Changelog: v3.4.11...v3.4.12