Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
729 commits
Select commit Hold shift + click to select a range
74c28e7
feat: Persist alert-level displayName and tags (#3063)
pulpdrew Sep 4, 2026
b0b5d4a
Release HyperDX (#3036)
github-actions[bot] Sep 4, 2026
fc4d587
Add spanmetricsconnector for RED metrics from Datadog traces (#3044)
arj22 Sep 6, 2026
25695c1
fix(app): key the What's new sparkle on the release, not the build (#…
jordan-simonovski Sep 7, 2026
ab15643
Fix Stale Initial Time Range Bug (#3087)
Aryainguz Sep 8, 2026
78a33ba
feat: Support configuring dashboard filters as required (#3078)
pulpdrew Sep 8, 2026
c8cc8e5
feat: Include alert tags in the tags API response (#3092)
pulpdrew Sep 8, 2026
cfacdbe
feat: relative date ranges can be saved for dashboards (#3073)
knudtty Sep 8, 2026
972634d
fix(api): make {{sourceQuery}} match the condition the alert evaluate…
jordan-simonovski Sep 9, 2026
b484057
feat: Optionally apply dashboard filters to tile editor preview (#3093)
pulpdrew Sep 9, 2026
7651bc3
feat: use new indexes on seed trace schema (#3096)
knudtty Sep 9, 2026
da56345
review: Add getBlockingRequiredFilterNames, update tile editor blocke…
pulpdrew Sep 9, 2026
0a37198
fix: Keep /api/sources responses stable for sources whose metadata MV…
pulpdrew Sep 9, 2026
41eee7d
[HDX-5192] UI for creating and editing inline chart alerts (#3069)
wrn14897 Sep 9, 2026
34d829c
feat: add an LLM dashboard user filter and make presence filters inde…
wrn14897 Sep 10, 2026
fda038d
fix: keep LLM dashboard scope filters clearable when their options fa…
wrn14897 Sep 10, 2026
5cc3065
chore(deps): bump next from 16.2.11 to 16.3.4 (#3108)
teeohhem Sep 10, 2026
71d792a
fix(app): don't query disabled sources on load (#3107)
brandon-pereira Sep 10, 2026
96ac6b1
[HDX-5348] fix(clickhouse): disable per-part subcolumn size calculati…
wrn14897 Sep 10, 2026
3876d6b
feat(app): stream metric names from the primary index (#3025)
MikeShi42 Sep 11, 2026
6c85ca0
[HDX-5179] feat(api): add a token encryption service for stored token…
jordan-simonovski Sep 14, 2026
4d18cb0
fix(api): fetch a grouped alert's example log lines once, not once pe…
jordan-simonovski Sep 14, 2026
84c67f4
fix: report only the delivery time as an alert's notification duratio…
jordan-simonovski Sep 14, 2026
f89a7bc
Update VOUCHED list (#3109)
github-actions[bot] Sep 14, 2026
edb693a
Apply saved-search filters to alert sample queries (#3106)
Tyagiquamar Sep 14, 2026
ff1e77c
feat(api): backfill alert name and tags (#3029)
SpencerTorres Sep 14, 2026
f007c37
feat: add context-aware getting-started onboarding checklist (#3084)
brandon-pereira Sep 14, 2026
e31e5d8
feat(iac): offer dashboard tile alerts for Terraform import (#3076)
jordan-simonovski Sep 15, 2026
db708a8
fix: Color service map nodes by absolute error-rate thresholds (#3125)
MikeShi42 Sep 15, 2026
b1e48b9
fix: Fix side panel for backticked aliases, hyphenated columns (#3115)
pulpdrew Sep 15, 2026
c98be91
fix(app): escape source table/database names in onboarding data probe…
brandon-pereira Sep 15, 2026
b19fa12
refactor(api): backport alertConfigHasGroupBy helper (#3135)
karl-power Sep 16, 2026
6b39171
fix(api): accept metric selects without a value expression (#3143)
jordan-simonovski Sep 17, 2026
5311d63
fix: give incident.io webhooks a body their receiver accepts (#3144)
jordan-simonovski Sep 17, 2026
806d242
feat: Add pagination to the list alerts API (#3134)
pulpdrew Sep 17, 2026
482d2cb
feat: Paginate the alerts page (#3136)
pulpdrew Sep 17, 2026
b217430
feat: upgrade clickhouse versions and use promql remote endpoints (#3…
knudtty Sep 17, 2026
bef61fb
feat: Scope tags endpoint by resource type (#3139)
pulpdrew Sep 18, 2026
f7ae72c
refactor: Extract PromQL functions, PromqlExpressionEditor, and Chart…
pulpdrew Sep 18, 2026
6ff230c
fix(ci): tell the author's agent how to triage review-bot findings (#…
teeohhem Sep 18, 2026
4db7397
[HDX-5307] Keep multi-line query fields visible when unfocused (#3150)
elizabetdev Sep 18, 2026
264f216
feat: Support search row multi-select download/copy (#3140)
pulpdrew Sep 18, 2026
888e355
Release HyperDX (#3088)
github-actions[bot] Sep 18, 2026
a9161c9
fix(app): route duration axis ticks through the compact formatter (#3…
arj22 Sep 18, 2026
f6d7f85
fix(docker): stop clobbering the base image's /usr/lib, and build ima…
wrn14897 Sep 19, 2026
6db385c
Release HyperDX (#3156)
github-actions[bot] Sep 19, 2026
c42dda8
fix(cli): keep duration axis ticks compact in terminal charts (#3158)
arj22 Sep 19, 2026
c2c2609
feat(app): reveal search row-selection checkboxes on hover (#3164)
MikeShi42 Sep 21, 2026
16c7a6c
[HDX-5307] Top-align toolbars next to growing query fields (#3151)
elizabetdev Sep 21, 2026
4c4792f
[HDX-5307] Drop the search bar WHERE label and / keycap (#3168)
elizabetdev Sep 21, 2026
08d9a90
feat: Plot several PromQL expressions on one chart (#3146)
pulpdrew Sep 21, 2026
d9e2c58
Add a per-source floor for Auto Granularity (#3149)
arj22 Sep 21, 2026
d76cb7e
feat: Add a trace logs tab to the event side panel (#3127)
MikeShi42 Sep 22, 2026
4fa3c37
fix(app): stop expanded rows corrupting virtualized row heights (#3171)
MikeShi42 Sep 22, 2026
050bdb3
ci: Fix otel smoke test, widen trigger condition (#3170)
pulpdrew Sep 22, 2026
3ab758e
feat(otel-collector): add statsdreceiver for StatsD/DogStatsD ingesti…
arj22 Sep 22, 2026
416c92a
fix: stop discarding chart axis-tick decimals for large numbers (#3162)
arj22 Sep 22, 2026
a8a72c1
feat: Support instant- & range-based PromQL number tiles (#3169)
pulpdrew Sep 22, 2026
ec4f508
fix: allow grouping gauge and sum metric charts by materialized colum…
jordan-simonovski Sep 23, 2026
d91e66b
Allow Overriding the rate limit for external apis using an env var (#…
vinzee Sep 23, 2026
6767349
fix(app): stop Search editors leaking CSS rules on live tail (#3193)
jordan-simonovski Sep 23, 2026
885d30c
Update VOUCHED list (#3210)
github-actions[bot] Sep 24, 2026
c47b9b9
fix(app): rework the dashboards list with tabs, sort, and tag filters…
elizabetdev Sep 25, 2026
5e3031d
fix(app): pulse number, bar and pie tiles while a dashboard refreshes…
Harshul1484 Sep 25, 2026
6b05451
Update VOUCHED list (#3220)
github-actions[bot] Sep 25, 2026
1edc042
fix(app): keep table tile rows on screen while a dashboard refreshes …
Harshul1484 Sep 25, 2026
e24acf7
fix: keep Y-axis ticks evenly spaced when Recharts thins them for ove…
arj22 Sep 25, 2026
517ffd9
fix(app): keep heatmap tiles on screen while a dashboard refreshes (#…
Harshul1484 Sep 25, 2026
79ac0fc
chore(deps): bump image-size from 2.0.2 to 2.0.4 (#3214)
dependabot[bot] Sep 28, 2026
ff6d731
ci: Detect duplicate code with jscpd (#3133)
pulpdrew Sep 28, 2026
9647ad3
fix: Apply source query settings to the row side panel's row lookup (…
pulpdrew Sep 28, 2026
8cfb267
feat: Support sparkline on promql number charts (#3178)
pulpdrew Sep 28, 2026
bd40e3c
fix(app): stop event deltas selection failing on distributed tables (…
karl-power Sep 28, 2026
1e355ac
fix: don't scan the whole table to discover Map keys (#3082)
niladrix719 Sep 28, 2026
cd3c9af
Update VOUCHED list (#3236)
github-actions[bot] Sep 28, 2026
0c93eab
fix: label Map attribute columns by their key instead of arrayElement…
DevShoaib78 Sep 28, 2026
ec25b81
feat: Filter and select sources by language and display type (#3185)
pulpdrew Sep 28, 2026
3343082
docs(github): add debug-info ask and Needs Feedback issue flow (#3239)
brandon-pereira Sep 28, 2026
23423c1
fix(app): only show distribution labels the data backs (#3230)
jordan-simonovski Sep 28, 2026
8939337
chore(deps): bump ip-address from 10.3.1 to 10.5.1 (#3241)
dependabot[bot] Sep 29, 2026
1497783
chore(deps): bump fast-uri from 3.1.4 to 3.1.8 (#3243)
dependabot[bot] Sep 29, 2026
78ed592
feat: Support PromQL table charts (#3238)
pulpdrew Sep 29, 2026
6452baa
fix(time-picker): enable live tail for 3h-1d, rename switch, add disa…
krishs01 Sep 29, 2026
f800b09
feat(app): add a row-click preference to expand result rows inline (#…
MikeShi42 Sep 29, 2026
19182e7
fix: only split a query at a standalone SETTINGS keyword (#3216)
breken-ai Sep 29, 2026
fb2aebc
fix(app): set viewport initial-scale to 1 (#3249)
elizabetdev Sep 30, 2026
793fe19
feat: Substitute variables in markdown tiles (#3246)
pulpdrew Sep 30, 2026
e1c9ddd
refactor(scripts): compute worktree slots and ports in one place (#3248)
karl-power Sep 30, 2026
8a9fcd2
feat: Support PromQL Macros (#3244)
pulpdrew Sep 30, 2026
5bdb68d
feat(app): add an option to show MATERIALIZED and ALIAS columns in th…
BilalAtique Sep 30, 2026
4570d5e
feat: Support PromQL pie/bar charts (#3253)
pulpdrew Oct 1, 2026
18cc044
chore(deps): bump ip-address from 10.5.1 to 10.7.1 (#3251)
dependabot[bot] Oct 1, 2026
51d35da
refactor: Split up DBHeatmap into smaller, focused files; Add tests (…
pulpdrew Oct 1, 2026
a5e7841
fix(mcp): time-bound trace waterfall queries so they prune partitions…
brandon-pereira Oct 1, 2026
b52adf7
Release HyperDX (#3161)
github-actions[bot] Oct 1, 2026
0b85553
[HDX-5598] fix(common-utils): fall through to mapKeys scan when text …
wrn14897 Oct 2, 2026
3615f12
fix(app): Improve heatmap hover state alignment and reliability (#3273)
pulpdrew Oct 2, 2026
54117f8
Update VOUCHED list (#3275)
github-actions[bot] Oct 2, 2026
0ddfe7d
fix(app): use plural source kind labels and OTel spelling (#3257)
teeohhem Oct 2, 2026
c2e21cf
fix(mcp): return partial describe_source results on timeout (#3259)
brandon-pereira Oct 2, 2026
2ace22d
refactor: Decompose heatmap query and view builders (#3276)
pulpdrew Oct 2, 2026
ab70324
feat: attribute ClickHouse queries to the surface that issued them (#…
tommyzli Oct 2, 2026
4477f30
feat(app): surface trace total duration and span count in the trace w…
milansanjeev Oct 3, 2026
bd0da16
feat: Move heatmap inputs to editor form (#3277)
pulpdrew Oct 5, 2026
2057936
Update VOUCHED list (#3293)
github-actions[bot] Oct 5, 2026
863b43a
Update VOUCHED list (#3289)
github-actions[bot] Oct 5, 2026
ff5befa
feat: Support minimum auto granularity on PromQL sources (#3292)
karl-power Oct 5, 2026
e88cf3d
fix(mcp): time-limit the trace top-operations tool and explain timeou…
brandon-pereira Oct 5, 2026
76d0865
Update VOUCHED list (#3296)
github-actions[bot] Oct 5, 2026
c372a71
fix(app): pulse the list-bar and histogram charts while they refresh …
Harshul1484 Oct 5, 2026
76d33d7
fix(api): stop signing sessions with a public default secret (#3129)
28Hus Oct 5, 2026
07c9365
fix: cast FixedString haystacks before implicit hasToken search (#3271)
milansanjeev Oct 5, 2026
14003f0
feat(api): upgrade AI SDK to v7 and trace AI calls with GenAI semanti…
brandon-pereira Oct 5, 2026
51e47b1
feat(app): add InlineNameInput as the one way to name objects (#3278)
elizabetdev Oct 5, 2026
bd56ed7
chore(deps): bump hono from 4.12.34 to 4.13.9 (#3264)
dependabot[bot] Oct 5, 2026
d600196
chore(deps): bump @grpc/grpc-js from 1.14.4 to 1.14.5 (#3263)
dependabot[bot] Oct 5, 2026
766a3b0
feat: add click-ui; change bug report anchor to use Link component (#…
hoorayimhelping Oct 5, 2026
5e20794
chore(dev-portal): group routes by path (#3302)
karl-power Oct 6, 2026
6873416
feat: Support series mode on builder heatmaps (#3291)
pulpdrew Oct 6, 2026
76e5cf7
feat: Support series limit on PromQL time charts (#3294)
karl-power Oct 6, 2026
1ce8b88
fix(common-utils): rank text-index Map keys by frequency (#3254)
BilalAtique Oct 6, 2026
837c683
feat: Support series-mode heatmap in API and MCP (#3298)
pulpdrew Oct 6, 2026
46ff1fc
feat(app): let users permanently dismiss the metric drill-down warnin…
knudtty Oct 6, 2026
d8b1cdf
Promql query attribution (#3300)
tommyzli Oct 6, 2026
0c1dd86
feat: add optional NEXT_PUBLIC_INSTANCE_LABEL suffix to brand name (#…
arj22 Oct 6, 2026
68082b6
feat: Support stacked line charts (#3290)
pulpdrew Oct 7, 2026
e61461b
feat: auto-detect a PromQL source during onboarding (#3310)
karl-power Oct 7, 2026
6ea5f52
feat: provision a PromQL source in the dev default sources (#3311)
karl-power Oct 7, 2026
0d2425d
feat: Support single-select dashboard filters (#3295)
pulpdrew Oct 7, 2026
3e34efa
fix: Respect explicit granularity on heatmaps (#3305)
pulpdrew Oct 7, 2026
1a04ddf
chore(deps): bump next from 16.3.4 to 16.3.6 (#3299)
dependabot[bot] Oct 7, 2026
b57f152
chore(deps): bump sharp from 0.35.4 to 0.35.5 (#3318)
dependabot[bot] Oct 7, 2026
01fdc5d
ui: Extract FilterPill, add filter editor components (#3317)
pulpdrew Oct 7, 2026
daccc74
chore(deps): bump pbkdf2 from 3.1.3 to 3.1.7 (#3321)
dependabot[bot] Oct 7, 2026
c41bc36
chore(deps): bump proxy-addr from 2.0.7 to 2.0.8 (#3322)
dependabot[bot] Oct 7, 2026
12a53c7
chore(deps): bump shell-quote from 1.10.0 to 1.11.0 (#3323)
dependabot[bot] Oct 7, 2026
131b795
chore(deps): bump source-map-js from 1.0.2 to 1.2.2 (#3319)
dependabot[bot] Oct 7, 2026
bbbfbcc
Update VOUCHED list (#3288)
github-actions[bot] Oct 7, 2026
eeabaeb
feat: Support PromQL heatmaps (series-mode) (#3313)
pulpdrew Oct 7, 2026
1be9de8
feat: Add promql var format for flexible escaping (#3297)
pulpdrew Oct 8, 2026
cf5b831
perf(mcp): speed up list_metrics and give metric discovery tools a 30…
brandon-pereira Oct 8, 2026
0b52907
chore(deps): bump compression from 1.7.4 to 1.8.2 (#3325)
dependabot[bot] Oct 8, 2026
01ea7f3
feat(app): let the row side panel choose property key order (#3126)
MikeShi42 Oct 8, 2026
3982701
chore(deps): bump handlebars from 4.7.9 to 4.7.10 (#3334)
dependabot[bot] Oct 9, 2026
a986a03
chore: convert AlertStateBadge to use click-ui badge (#3314)
hoorayimhelping Oct 9, 2026
0846f3b
fix(common-utils): isolate metadata Map-key caches by limit (#3339)
qoega Oct 9, 2026
7aeb621
refactor(mcp): share execution timeout handling across tools (#3338)
brandon-pereira Oct 9, 2026
0b9153d
ci: Fix integration test output format (#3346)
pulpdrew Oct 9, 2026
d980899
Release HyperDX (#3272)
github-actions[bot] Oct 13, 2026
72ed406
fix(app): keep selected year when applying a date range in the time p…
karl-power Oct 13, 2026
07de613
refactor: useMultipleAllFields returns each table connection's fields…
pulpdrew Oct 13, 2026
bc0a1e4
refactor: Look up every source in useMultipleGetKeyValues and keep pa…
pulpdrew Oct 13, 2026
9891a79
feat: Add schemas and types for adhoc dashboard filters (#3335)
pulpdrew Oct 13, 2026
c285cd1
chore(deps): bump handlebars from 4.7.9 to 4.7.10 (#3359)
dependabot[bot] Oct 13, 2026
8fa3374
docs: vouch from first PR, require repro steps and UI screenshots (#3…
brandon-pereira Oct 13, 2026
cdfae45
fix(mcp): bind interval params in clickstack_sql (#3353)
squaredg Oct 13, 2026
d341ba0
fix(app): resolve row details with PK + whichever block column the ta…
knudtty Oct 13, 2026
c0af58b
fix(app): let the Database query drawer use the span attribute skip i…
archat-hash Oct 13, 2026
a06b17f
fix(mcp): stop clickstack_sql callers guessing table and timestamp na…
squaredg Oct 13, 2026
b00d410
feat(mcp): accept sourceId in clickstack_sql so $__sourceTable resolv…
squaredg Oct 13, 2026
5cabc11
feat: Add distribution heatmaps calculated from PromQL values (#3326)
pulpdrew Oct 13, 2026
3bedfab
feat: Support heatmaps on prometheus histograms (#3332)
pulpdrew Oct 14, 2026
2767b5c
chore(deps): bump next from 16.3.6 to 16.3.8 (#3333)
dependabot[bot] Oct 14, 2026
f33fc83
fix(app): count legacy STATUS_CODE_ERROR spans as errors (#3181)
alex-fedotyev Oct 14, 2026
8032957
fix(app): only show the year in time picker range text when needed (#…
karl-power Oct 14, 2026
b000bbb
feat: search bar for keys in nested filter groups (#3368)
knudtty Oct 14, 2026
2c2295f
refactor: change KubernetesDashboardPage to use click-ui badges (#3363)
hoorayimhelping Oct 14, 2026
0840b8b
feat: Support source remapping during ad hoc filter import (#3367)
pulpdrew Oct 14, 2026
c94d12c
fix: resolve PromQL queries through their source (#3372)
karl-power Oct 14, 2026
3db148a
refactor: replace Mantine badges in LLM components with click-ui badg…
hoorayimhelping Oct 14, 2026
7d77d27
fix: multi-column ORDER BY with no explicit direction causes query er…
pulpdrew Oct 14, 2026
ab563d2
fix(otel-collector): stop logging ParseJSON errors for non-JSON log b…
wrn14897 Oct 14, 2026
807cd9a
fix(app): show webhook body template compile errors in the editor (#3…
brandon-pereira Oct 14, 2026
ecddea2
fix(api): reject webhook body templates that don't compile, add /api/…
brandon-pereira Oct 14, 2026
30debf9
perf(app): scope the sessions trace scan to RUM services (#3358)
vinzee Oct 15, 2026
f21bdb8
fix: persist filter expand state upon scrolling (#3377)
knudtty Oct 15, 2026
43b09a7
feat: Add UI for configuring adhoc dashboard filters (#3341)
pulpdrew Oct 15, 2026
a682ce1
feat: Render adhoc dashboard filter inputs (#3343)
pulpdrew Oct 15, 2026
e8f0f94
fix(app): keep dashboard tile menu on screen with many groups (#3360)
jordan-simonovski Oct 15, 2026
28168ae
fix: v2 search drops rows after a sub-second startTime; make maxResul…
vinzee Oct 16, 2026
f56d760
refactor: update AppNav to use click-ui badges (#3378)
hoorayimhelping Oct 16, 2026
3ff761b
feat: Keep service map sampling factor in local storage (#3388)
pulpdrew Oct 16, 2026
fe59feb
feat(app): edit chart alerts in a docked side panel (#3222)
teeohhem Oct 16, 2026
9205823
feat: Broadcast adhoc dashboard filter conditions (#3366)
pulpdrew Oct 16, 2026
1773c11
feat(app): make content font size configurable (#3166)
MikeShi42 Oct 16, 2026
685f465
fix: wrap long values in release marker tooltips (#3391)
MikeShi42 Oct 16, 2026
85675fc
feat: stream filter keys and value results to UI (#3348)
knudtty Oct 16, 2026
748315d
feat(mcp): advertise server title, description, website, and icon (#3…
brandon-pereira Oct 16, 2026
a4b6395
fix: render percentile aggFns as quantile with a level (#3357)
octo47 Oct 19, 2026
02080f2
feat: show an optional tile description as a tooltip (#3352)
felipe-carvalho12 Oct 19, 2026
3e9185d
feat: Support click-to-adhoc-filter on search tiles (#3380)
pulpdrew Oct 19, 2026
ca8e3fd
fix: support https for the PromQL remote-write and scrape endpoint (#…
karl-power Oct 19, 2026
f1bdd8f
Fix #3370: row details overwrote the WHERE-clause id when the table h…
wanjinhao1 Oct 19, 2026
af6e7f6
feat: add a description field to the tile editor (#3403)
karl-power Oct 19, 2026
8b92b7a
fix: sort filter keys alphabetically (#3397)
knudtty Oct 19, 2026
e3f24b9
fix(dashboards): preserve multi-line SQL when replaying a search (#3382)
pulpdrew Oct 19, 2026
a89b324
feat: fetch key limit now applies per map (#3392)
knudtty Oct 19, 2026
d3e6f96
refactor: switch out mantine badges for click-ui badges in tags and e…
hoorayimhelping Oct 19, 2026
03f9fd5
fix(mcp): tighten tool and input descriptions (#3396)
brandon-pereira Oct 19, 2026
e494a46
feat(mcp): declare all four behavior hints on every tool (#3395)
brandon-pereira Oct 19, 2026
24d324c
fix(mcp): default whereLanguage to lucene when creating a saved searc…
brandon-pereira Oct 19, 2026
0000fa4
feat: Add a line interpolation display setting (smooth, linear, step)…
pulpdrew Oct 19, 2026
ee9f84b
feat(mcp): record response size of each tool call (#3408)
brandon-pereira Oct 19, 2026
be5304d
fix(api): forward parsed ClickHouse proxy bodies (#3383)
adityareddy-dev Oct 20, 2026
180a1f1
feat: Add click-to-adhoc-filter to table charts (#3389)
pulpdrew Oct 20, 2026
938494d
refactor: switch out last normal mantine badges for click-ui (#3417)
hoorayimhelping Oct 20, 2026
4d74bd5
fix(app): keep saved search usable on a phone (#3376)
elizabetdev Oct 20, 2026
097cb7c
fix: HTTP Panel follows OTel Semantic conventions (#3410)
SpencerTorres Oct 20, 2026
7db73cf
feat: Filter time chart series into adhoc dashboard filters (#3405)
pulpdrew Oct 20, 2026
e7b38c2
fix: show OTel exceptions in the side panel and trace waterfall (#3412)
SpencerTorres Oct 20, 2026
b9f6170
chore: upgrade React Query to 5.90 and keep cancelled streams out of …
knudtty Oct 20, 2026
cfa865b
feat: expose group-by values to webhook bodies as {{var.<column>}} (#…
jordan-simonovski Oct 21, 2026
9c2c703
feat: Support PromQL dashboard tiles in the external API (#3379)
karl-power Oct 21, 2026
f078e6b
feat: Add group-by to the search page histogram (#3407)
pulpdrew Oct 21, 2026
96a0861
Share the Group by split button (#3430)
elizabetdev Oct 21, 2026
eb72cfa
feat(mcp): add clickstack_service_health tool (#3411)
brandon-pereira Oct 21, 2026
bc47e48
feat: SeverityNumber column on Logs Source (#3425)
SpencerTorres Oct 21, 2026
5253b86
fix: stop abbreviating 500-999 as 0.5k/0.8k on chart axes (#3434)
brandon-pereira Oct 21, 2026
95aef70
feat: EventName column on Logs Source (#3436)
SpencerTorres Oct 22, 2026
d1cecf8
fix: Stale waterfall selection when opening another span (#3285)
bahltushar Oct 22, 2026
8d064df
fix: Validate PromQL tile sources and keep PromQL tiles on MCP saves …
karl-power Oct 22, 2026
27cccf7
feat: Document PromQL tiles and reject PromQL sources when PromQL is …
karl-power Oct 22, 2026
f41027f
refactor: replace last holdout mantine badges with click-ui badges (#…
hoorayimhelping Oct 22, 2026
0444e3e
fix: point the Connect to Demo Server connection at the new demo Clic…
pulpdrew Oct 22, 2026
b2626aa
ci(e2e): skip apt deps in Playwright install (#3444)
wrn14897 Oct 22, 2026
0b1e078
[HDX-4003] [HDX-4004] feat(cli): dashboard list/export/create/import …
wrn14897 Oct 22, 2026
89ad276
Add the column and sort editors (#3431)
elizabetdev Oct 23, 2026
dab6eb8
fix: read time picker ranges in the display time zone (#3445)
karl-power Oct 23, 2026
ce6654d
refactor: store the time display setting as a time zone (#3447)
karl-power Oct 23, 2026
7eea0fd
feat: add a time zone selector to user preferences (#3449)
karl-power Oct 23, 2026
7a656a8
refactor: Relocate external API source conversion functions (#3450)
pulpdrew Oct 23, 2026
0b753cc
chore(deps): bump hono from 4.13.9 to 4.13.13 (#3423)
dependabot[bot] Oct 23, 2026
b06363b
Update VOUCHED list (#3461)
github-actions[bot] Oct 23, 2026
cf00ae5
Release HyperDX (#3361)
github-actions[bot] Oct 23, 2026
8ad4691
feat(auth): reverse-proxy (forward-auth) SSO (gascity downstream patch)
julianknutsen Jun 22, 2026
4139c2a
ci(gascity): build + symbol-guard + publish prod image to ghcr.io/gas…
Jun 22, 2026
4741250
fix(ci): resolve no-control-regex lint + anchor unit-test patterns
Jun 22, 2026
28efccf
fix(ci): jest test pattern positional (--testPathPattern was renamed)
Jun 22, 2026
f567cb1
feat(auth): support overlapping proxy secret rotation
Jul 15, 2026
a38ca3b
ci: add safe Gas City PR quality gate
Jul 16, 2026
97dd676
fix(auth): take the proxy-auth secret off the request before it can b…
julianknutsen Oct 24, 2026
c5b2f4a
ci(gascity): adapt image + PR workflows to the 2.42 base
julianknutsen Oct 24, 2026
5337669
fix(api): do not forward browser credentials to ClickHouse connection…
julianknutsen Oct 24, 2026
07aa245
ci(gascity): drop the inherited upstream workflows from the build branch
julianknutsen Oct 24, 2026
7fdaee3
docs(gascity): refresh GASCITY-FORK.md for the 2.42 base; add the smo…
julianknutsen Oct 24, 2026
a7c6d7c
fix(auth): validate the gate email header in linear time
julianknutsen Oct 24, 2026
3f2370e
fix(auth): refuse to start proxy auth with the SDK's advanced network…
julianknutsen Oct 24, 2026
c3b763d
ci(gascity): least-privilege image workflow; guard the capture check …
julianknutsen Oct 24, 2026
8855373
test(gascity): smoke attack cases for credentials, error paths, telem…
julianknutsen Oct 24, 2026
2ae4ced
merge: integrate the @hyperdx/app@2.42.0 rebase of the gascity patch …
julianknutsen Oct 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .claude/skills/data-source-icons/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
name: data-source-icons
description: Use the correct Tabler icon for each HyperDX data source kind (Log, Trace, Session, Metric, PromQL). Use whenever adding or changing an icon that represents a source kind or a signal type — source selectors, side panels, cross-source actions like "View Trace", tabs, badges, breadcrumbs, or anywhere a log/trace/session/metric is depicted.
---

# Data source icons

There is **one canonical icon per source kind**. The source of truth is
`SOURCE_KIND_ICONS` in
`packages/app/src/components/sourceSelectUtils.tsx`. Never invent a different
icon for a source kind (e.g. don't use `IconTimeline` for a trace) — always
match the table below so icons stay consistent across the app.

## Canonical mapping

| Source kind (`SourceKind`) | Tabler icon | Meaning |
| -------------------------- | ---------------- | ----------------------------- |
| `Log` | `IconLogs` | Logs |
| `Trace` | `IconConnection` | Traces / spans |
| `Session` | `IconDeviceLaptop` | Session replay / client sessions |
| `Metric` | `IconChartLine` | Metrics |
| `Promql` | `IconChartLine` | PromQL metrics (same as Metric) |

All imported from `@tabler/icons-react`.

## Rules

1. **Prefer the shared map.** When you need a source-kind icon in a context that
already has (or can accept) a `SourceKind`, use `SOURCE_KIND_ICONS[kind]`
from `sourceSelectUtils.tsx` rather than hardcoding an icon component.
2. **If you must hardcode** (e.g. a fixed "View Trace" action that always points
at a trace), import the exact icon from the table above — for a trace that is
`IconConnection`, not `IconTimeline`/`IconRoute`/etc.
3. **Sizing**: the shared map uses `size={16}`. Match the surrounding UI; small
inline buttons/badges commonly use `14`.
4. **Adding a new source kind**: update `SOURCE_KIND_ICONS` first, then update
this table so the two never drift.

## Examples

Cross-source "View Trace" action (fixed target → hardcode the trace icon):

```tsx
import { IconConnection } from '@tabler/icons-react';

<Button leftSection={<IconConnection size={14} />}>View Trace</Button>;
```

Dynamic, kind-driven icon (prefer the shared map):

```tsx
import { SOURCE_KIND_ICONS } from '@/components/sourceSelectUtils';

<span>{SOURCE_KIND_ICONS[source.kind]}</span>;
```
41 changes: 41 additions & 0 deletions .claude/skills/naming-objects/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
name: naming-objects
description:
Name user-created objects (dashboards, saved searches, tiles, alerts) with the
shared InlineNameInput. Use when adding or changing the place where a user
names or renames something, building an editor or page header that shows an
object's name, or when tempted to add a pencil edit button, a "Name" field in
a save modal, or a bordered name TextInput.
---

# Naming objects

Read **`agent_docs/naming_objects.md`** before changing how something is named.
It is the source of truth; this skill is the short version.

## Quick rules

1. Use `InlineNameInput` / `InlineNameInputControlled` from
`@/components/InlineNameInput/InlineNameInput`. Never build a separate
click-to-edit title, pencil button, or "Save name" button.
2. **Saved object shown on its page** → `InlineNameInput` with `onCommit`. Enter
or blur saves immediately; Escape and empty names revert.
3. **Draft in an editor** → `InlineNameInputControlled` with the form's
`control`. The name saves with the editor's save button.
4. Sizes are `xs`, `sm`, `md` only. Page titles use `size="md"` with
`headingLevel={3}`. Editor headers use `size="sm"` (default). Compact rows
use `size="xs"`.
5. Always set `aria-label` ("Dashboard name") and an "Untitled …" placeholder in
sentence case ("Untitled tile").
6. Don't ask for a name inside a save modal. Name inline, then save.
7. In tests, assert the name with `toHaveValue`. In E2E, `fill()` then press
Enter.

## Workflow

1. Read `agent_docs/naming_objects.md`.
2. Look at the reference usages: `DBDashboardPage.tsx` (dashboard name) and
`DBSearchPage.tsx` (saved search name).
3. Check the stories in Storybook under **Components/InlineNameInput**.
4. Update E2E page objects that read the name as text.
5. Run `yarn lint:fix` in the repo root.
2 changes: 1 addition & 1 deletion .claude/skills/page-layout/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,5 @@ import { PageLayout } from '@/components/PageLayout';
| List page | `AlertsPage.tsx` | `PageHeader` + `title` + `Container` (no inputs in header) |
| Tool page with inputs + hierarchy | `KubernetesDashboardPage.tsx`, `ClickhousePage.tsx` | `PageLayout` **without** `title`; **`breadcrumbs`** + `leading` + `actions` in one sticky header |
| Tool page (top-level) | `DBServiceMapPage.tsx` | `PageLayout` **without** `title`; `leading` / `actions` only; no duplicate breadcrumb unless you add a real hierarchy |
| Custom toolbar | `SessionsPage.tsx` | `PageLayout` + `header` = custom `PageHeader` `children` (single-row inputs, no `title`) |
| Custom toolbar | `SessionsPage.tsx` | `PageLayout` + `header` = custom `PageHeader` `children` with `growing` (single-row inputs, no `title`) |
| Custom title | `TeamPage.tsx` | `PageHeader` with `children` only |
6 changes: 2 additions & 4 deletions .config/wt.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
# hooks that run when creating/switching/removing worktrees via `wt`.

# ---------------------------------------------------------------------------
# pre-start: blocking — symlink node_modules from primary worktree for
# instant dependency access. If the branch needs different deps:
# rm node_modules && yarn install
# pre-start: install dependencies so app is ready to run
# ---------------------------------------------------------------------------
pre-start = "ln -sf {{ primary_worktree_path }}/node_modules {{ worktree_path }}/node_modules"
pre-start = "yarn install"

# ---------------------------------------------------------------------------
# post-start: background tasks
Expand Down
37 changes: 37 additions & 0 deletions .cursor/rules/ui-sentence-case.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
description: Enforce sentence case (not Title Case) for user-facing UI text in the app
globs: packages/app/src/**/*.tsx
alwaysApply: false
---

# UI text: sentence case

All user-facing text uses **sentence case** — capitalize only the **first word**
and any proper nouns/acronyms. Never use Title Case. Applies to labels, buttons,
tab/menu items, headings, modal/section titles, placeholders, tooltips, table
column headers, empty states, and toast copy.

```tsx
// ❌ BAD — Title Case
<Text>Data Source</Text>
<TextInput label="Chart Name" />
<Button>Add Series</Button>
<Menu.Item>Delete Dashboard</Menu.Item>

// ✅ GOOD — sentence case
<Text>Data source</Text>
<TextInput label="Chart name" />
<Button>Add series</Button>
<Menu.Item>Delete dashboard</Menu.Item>
```

**Preserve proper nouns, product names, and acronyms** wherever they appear —
sentence case only touches the surrounding words: HyperDX, ClickHouse,
ClickStack, OpenTelemetry/OTel, Lucene, SQL, PromQL, MongoDB, Kubernetes, JSON,
CSV, URL, ID, API, MCP, CPU, P95. E.g. `Search your events w/ Lucene`,
`Edit SQL`, `View in ClickHouse`.

Only sentence-case **static UI chrome**. Render dynamic/user data (column names,
tag values, log/trace content, user-typed source/dashboard names) verbatim.

Source of truth: `agent_docs/code_style.md` → "UI text: use sentence case".
18 changes: 14 additions & 4 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ NEXT_ALL_IN_ONE_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-all-in-one
ALL_IN_ONE_IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx-all-in-one
NEXT_OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB=clickhouse/clickstack-otel-collector
OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB=hyperdx/hyperdx-otel-collector
CODE_VERSION=2.28.0
IMAGE_VERSION_SUB_TAG=.28.0
CODE_VERSION=2.42.0
IMAGE_VERSION_SUB_TAG=.42.0
IMAGE_VERSION=2
IMAGE_NIGHTLY_TAG=2-nightly
IMAGE_LATEST_TAG=latest
Expand All @@ -27,6 +27,16 @@ HYPERDX_APP_URL=http://localhost
HYPERDX_LOG_LEVEL=debug
HYPERDX_OPAMP_PORT=${HYPERDX_OPAMP_PORT:-4320}
HYPERDX_BASE_PATH=
# Comma-separated hostnames or exact IP literals that may receive webhooks.
# Domain entries also permit their subdomains; IP entries are exact matches.
WEBHOOK_HOSTNAME_ALLOWLIST=
# 32-byte key (base64 or hex) that encrypts stored Slack and OAuth tokens.
# Generate with `openssl rand -base64 32`. Unset means plain text.
TOKEN_ENCRYPTION_KEY=

# Generate once with openssl rand -hex 32; reuse across restarts and replicas.
# Configure in .env.local with docker compose --env-file .env --env-file .env.local up -d.
# EXPRESS_SESSION_SECRET=

# Docker service ports (overridden by scripts/dev-env.sh for isolation)
HDX_DEV_MONGO_PORT=27017
Expand All @@ -41,8 +51,8 @@ HDX_DEV_OTEL_JSON_HTTP_PORT=14318
# Otel Collector version (used as Docker build arg for image tags and component versions)
# When bumping, look up the core version from the upstream manifest:
# https://github.com/open-telemetry/opentelemetry-collector-releases/blob/main/distributions/otelcol-contrib/manifest.yaml
OTEL_COLLECTOR_VERSION=0.149.0
OTEL_COLLECTOR_CORE_VERSION=1.55.0
OTEL_COLLECTOR_VERSION=0.155.0
OTEL_COLLECTOR_CORE_VERSION=1.61.0

# Otel/Clickhouse config
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
63 changes: 63 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
name: Bug report
about: Something in HyperDX is broken or behaving unexpectedly
title: ''
labels: bug, Needs Feedback
---

**What happened?**

<!-- What you saw, and what you expected instead. -->

**Steps to reproduce**

<!--
Please check whether this reproduces on https://play.hyperdx.io (demo data) and
paste the URL if it does. If you're working from the repo, `yarn app:dev:local`
plus onboarding → "Connect to Demo Server" gives you the same data locally. If
it only happens with your own data, include the table schema
(`SHOW CREATE TABLE ...`) and source settings.
See https://github.com/hyperdxio/hyperdx/blob/main/CONTRIBUTING.md#reproducing-issues-and-prs
-->

**Reproduces on play.hyperdx.io?** <!-- yes (link) / no / didn't try -->

1.
2.
3.

**How are you running HyperDX?**

<!--
The all-in-one Docker image, Docker Compose, Helm, ClickHouse Cloud, or a local
dev stack — and which version or image tag. If you brought your own ClickHouse,
say which version.
-->

**Where does it show up?**

<!--
The UI (which page, and which browser), the API, the OpenTelemetry collector, or
the CLI. A screenshot or a short video helps a lot for UI bugs.
-->

**Debug info**

<!--
For UI bugs, please include this — it saves a lot of back-and-forth. Open the
Help menu (bottom-left of the app) and click "Copy debug info", then paste the
block below. It captures versions, deployment mode, browser, and session id; no
API keys or query params are included. Skip it if you're only hitting the
collector or CLI (write N/A).
-->

```
(paste Help → Copy debug info here)
```

**Logs**

<!--
Anything relevant from the browser console, the API container, or the collector.
Please redact API keys and connection strings.
-->
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Blank issues are disabled so every issue starts from a template and picks up
# the `Needs Feedback` label. Use the templates or the links below.
blank_issues_enabled: false
contact_links:
- name: Questions & help
url: https://discord.gg/FErRRKU78j
about:
For usage questions, setup help, and general discussion, ask on Discord.
- name: First-time contributor?
url: https://github.com/hyperdxio/hyperdx/blob/main/CONTRIBUTING.md#getting-vouched
about:
No need to open an issue to get vouched. Open your pull request and a
maintainer vouches from there.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Feature request
about: Suggest an idea or improvement for HyperDX
title: ''
labels: enhancement, Needs Feedback
---

**What are you trying to do?**

<!-- The problem or use case, not just the solution. What's getting in your way today? -->

**What would you like to see?**

<!-- Your proposed change or behaviour. Rough is fine — we'll figure out the details together. -->

**Alternatives you've considered**

<!-- Workarounds you're using now, or other approaches you thought about. -->

**Anything else?**

<!-- Screenshots, mockups, links, or where in HyperDX this fits (UI, API, collector, CLI). -->

---

New issues start as `Needs Feedback` so we can discuss scope before anyone
writes code. Once a maintainer swaps that for `Accepting PR`, the issue is ready
to be picked up — see
[CONTRIBUTING.md](https://github.com/hyperdxio/hyperdx/blob/main/CONTRIBUTING.md#from-issue-to-pull-request).
89 changes: 89 additions & 0 deletions .github/VOUCHED.td
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Vouched contributors for hyperdxio/hyperdx.
#
# Pull requests from GitHub users who are not in this list are closed
# automatically by .github/workflows/vouch.yml. See CONTRIBUTING.md for how to
# get vouched — it is deliberately easy.
#
# Org members and anyone else with write access are allowed regardless of this
# list. The team is listed anyway so the file reads as a complete roster.
#
# Maintainers manage the list by commenting on any issue or PR:
# /vouch @user [reason]
# /denounce @user [reason]
# /unvouch @user
#
# Syntax (https://github.com/mitchellh/vouch):
# - One handle per line, without @, sorted alphabetically, lower case.
# Vouch lower-cases handles when it rewrites the file, and matching is
# case-insensitive, so seeding lower-case keeps bot edits to one line.
# - Denounce with a leading minus: -username [reason]
# - Optional platform prefix: github:username
#
# Seeded from the hyperdxio org plus every external contributor with two or
# more merged pull requests as of August 2026.
#
# copilot is listed because vouch only auto-exempts logins ending in "[bot]".
# GitHub's Copilot coding agent has the login "Copilot", so without an entry
# its PRs would be closed.
28hus
adityapimpalkar
alex-fedotyev
alok87
archat-hash
arj22
aryainguz
bahltushar
bilalatique
brandon-pereira
colehpage
copilot
dhable
dkong16
elizabetdev
ernestii
eugeneo17
fallintoplace
fleon
gingerwizard
gyancr7
harshul1484
hercynium FIPS fix for #3390
jaggederest
jeyrathnam
jordan-simonovski
juliojimenez
jwhitaker-gridcog
karl-power
knudtty
krishs01
kyle-mally-ch
leticiawebb
lyhuang
mark-omarov
martincholuj
mfa-g
michael-anastasakis
mikeshi42
milansanjeev
mkaesz
motsc
niladrix719
peter-leonov-ch
pttydou wants to improve FE type safety
pulpdrew
rawatprince
rip21
sanjams2
shuvamk
spencertorres
squaredg
teeohhem
tommyzli
tsushanth
tyagiquamar
tylerhannan
vineethasok
vinzee
wrn14897
zeynelkoca
zlareb1
Loading
Loading