Release v1.2.0-rc1
📦 Download Binaries from https://openobserve.ai/downloads
- chore(deps): bump shell-quote from 1.10.0 to 1.12.0 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15182
- fix(migration): conflict on the target's key when copying to postgres by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/15009
- feat(metrics): metrics v2 — alerts from charts, compare, forecast, formulas, Used in, builder round-trip, staleness markers and Prometheus 3.x functions by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15150
- fix: dashboard date timepicker and refresh button UI by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15122
- fix(promql): align result cache indexing and restoration by @haohuaijin in https://github.com/openobserve/openobserve/pull/15186
- feat: default axis labels auto by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15039
- fix: replace promql-parser fork with upstream by @haohuaijin in https://github.com/openobserve/openobserve/pull/15187
- refactor(promql): pick the storage scan source before caching files by @haohuaijin in https://github.com/openobserve/openobserve/pull/15017
- fix: Database Monitoring UI states and responsive layout by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15128
- fix: enrichment table dialog, test-function query toolbar, and select typeahead by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15135
- fix(nav): keep rail flyouts open on the way to a click, and fix rail and header menu issues by @oasisk in https://github.com/openobserve/openobserve/pull/15181
- fix(alerts): key alert dedup state by org so one org's state cannot suppress another's by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15169
- test(stream): add end-to-end tests for stream settings updates by @ameyypawar in https://github.com/openobserve/openobserve/pull/15027
- fix(alerts): record a realtime alert whose notification partly failed as notify_failed by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15197
- fix: generate and store the ext auth salt on a new install instead of refusing to start by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15191
- fix(promql): match Prometheus in range-function NaN/overflow, quantile, histogram_quantile and rate extrapolation by @haohuaijin in https://github.com/openobserve/openobserve/pull/15002
- fix(alerts): record a multi-alert whose group send partly failed as notify_failed by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15199
- fix: show No Data instead of Error Loading Data for empty custom charts by @ktx-akshay in https://github.com/openobserve/openobserve/pull/14813
- ci: gate OSS PR merge on its sister enterprise PR by @uddhavdave in https://github.com/openobserve/openobserve/pull/15015
- fix(alerts): record a composite alert whose notification failed as notify_failed by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15202
- fix: Kubernetes curated page UI with and without data by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15124
- fix(web): show the full text on hover when text is cut off by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15060
- fix(traces): keep Gen-AI mapping resolution off the request path by @uddhavdave in https://github.com/openobserve/openobserve/pull/15166
- fix(alerts): write grouped alert history when the batch is sent, with its real outcome and size by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15210
- fix(functions): don't reuse a JS context left with a queued job by @ameyypawar in https://github.com/openobserve/openobserve/pull/14980
- fix(rum): answer 400 for a RUM record that is not a JSON object by @ameyypawar in https://github.com/openobserve/openobserve/pull/15056
- fix(alerts): record a failed incident notification on the alert evaluation that triggered it by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15207
- fix: support claim based roles in domain mapping by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15192
- fix(alerts): ask which query mode to save and fix stale edit data by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15090
- test: fix the stale Traces and RUM Bug-Fix Regression specs behind #15177 by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15221
- fix(metrics): bound metric usage scans and address metrics-v2 review follow-ups by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15204
- fix(saved-views): Traces saved views in the More menu with a pin, and one shared list dialog with Logs by @omkarK06 in https://github.com/openobserve/openobserve/pull/15189
- fix(iam): restore select-all for every module on edit role by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15218
- fix(ai): bind confirm action to the request org by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15228
- fix: preserve PromQL smoothing names in backend diagnostics by @haohuaijin in https://github.com/openobserve/openobserve/pull/15198
- fix(rum): show the user in the Product Analytics Paths sessions drawer by @omkarK06 in https://github.com/openobserve/openobserve/pull/15230
- fix(alerts): record whether each alert firing actually attempted a notification by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15233
- fix(alerts): record a failed incident notification on a composite alert by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15231
- fix(rum): Product Analytics release-QA bug fixes (P1, m1-m5) by @bjp232004 in https://github.com/openobserve/openobserve/pull/15190
- feat: add numeric and timestamp functions to alert templates by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15224
- fix(config): reject an unsupported meta store or cluster coordinator instead of falling back to sqlite by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15236
- test(iam): cover the All Modules column select-all, and unblock two tests it needs by @neha00290 in https://github.com/openobserve/openobserve/pull/15240
- test(api): cover the gRPC ingest org binding and anomaly band width; unflake the enrichment VRL lookup by @neha00290 in https://github.com/openobserve/openobserve/pull/15159
- fix(dashboards): show global variables above the tab bar by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15238
- feat(organizations): disambiguate duplicate org names in the switcher by @bjp232004 in https://github.com/openobserve/openobserve/pull/15235
- fix(logs): keep VRL-derived fields out of the quick-mode SELECT by @neha00290 in https://github.com/openobserve/openobserve/pull/15246
- feat: apply dashboard variables on change with Auto Run by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15216
- fix: check stream read access when saving alerts, pipelines, reports and other background objects by @oasisk in https://github.com/openobserve/openobserve/pull/15213
- fix: add gen_ai_tool_name to the LLM stream schema by @IluckySi in https://github.com/openobserve/openobserve/pull/15248
- fix(traces): default RED insights to off for orgs without a saved setting by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15249
- fix(onboarding): show new Cloud orgs their first data as it arrives by @oasisk in https://github.com/openobserve/openobserve/pull/15245
- chore(alerts): remove commented-out RCA batch code and stale _meta history comments by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15253
- refactor(metrics_index): drop dead code and duplicated index state by @haohuaijin in https://github.com/openobserve/openobserve/pull/15261
- fix: return PromQL partial results as Prometheus warnings by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15264
- fix(mcp): point skills link to npm package instead of GitHub by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15270
- fix(rum): replay sessions that span several browser tabs by @omkarK06 in https://github.com/openobserve/openobserve/pull/15251
- feat: dashboard layout edit mode with save, discard and undo by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15215
- feat(enterprise-gating): show locked features in OSS instead of hiding them by @bjp232004 in https://github.com/openobserve/openobserve/pull/15112
- fix: restore list filters, sort and page size when returning from detail pages by @bjp232004 in https://github.com/openobserve/openobserve/pull/15269
- feat(alerts): add {alert_start_time_millis} and {alert_end_time_millis} template variables by @ameyypawar in https://github.com/openobserve/openobserve/pull/15145
- chore: remove unused index condition regex variant by @haohuaijin in https://github.com/openobserve/openobserve/pull/15275
- fix(dashboards): stop opening a parent variable from refetching its children by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15273
- fix(slo): search each side of a dual-query SLI as its own stream type by @ameyypawar in https://github.com/openobserve/openobserve/pull/14983
- feat: add explicit PromQL alert rule mode by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15226
- fix(logs): logs finesse phase 1 — severity inference, auto-run, free-text FTS search, J/K, line permalinks by @oasisk in https://github.com/openobserve/openobserve/pull/15234
- feat: alert downtimes with muted incidents and SLO corrections by @Loaki07 in https://github.com/openobserve/openobserve/pull/14875
- feat: AutoObserve UI behind ZO_EXPERIMENTAL by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15280
- fix(web): show loading spinner instead of login form on SSO redirect back by @bjp232004 in https://github.com/openobserve/openobserve/pull/15104
- feat(alert-calibration): add the alert calibration config table by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15281
- feat: live chart preview in the dashboard panel editor by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15214
- test(promql): drop redundant and no-op unit tests by @haohuaijin in https://github.com/openobserve/openobserve/pull/15285
- feat(alerts): allow saving an alert with no destination by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15267
- fix(traces): show Play Session Replay when rum_session_has_replay is the string "true" by @NickWilde18 in https://github.com/openobserve/openobserve/pull/15222
- perf: add RUM lookup endpoint by @haohuaijin in https://github.com/openobserve/openobserve/pull/15268
- fix: Fix/npm update typescript eslint eresolve by @bjp232004 in https://github.com/openobserve/openobserve/pull/15289
- fix(service_streams): return the stored row from put so callers can cache it by @oasisk in https://github.com/openobserve/openobserve/pull/15298
- feat(pipelines): bundle a pipeline's functions into its export file by @neha00290 in https://github.com/openobserve/openobserve/pull/15068
- test(oncall): automate the on-call paging, escalation and routing pass by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/14487
- fix(rum): exclude synthetic sessions from every Product Analytics summary count by @omkarK06 in https://github.com/openobserve/openobserve/pull/15304
- fix(onboarding): copy only what's shown, no click-to-copy, wait for the user on streams that already have data by @oasisk in https://github.com/openobserve/openobserve/pull/15299
- feat(announcements): banner editor with custom styles, link buttons and scheduling by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15194
- fix(dashboards): query the current time window when Auto Run applies a variable change by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15302
- ci: add QA reviewer for E2E test PRs by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15312
- fix: accept compacted Collector profile dictionaries by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15300
- fix(metrics): accept exemplars from Prometheus remote-write by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15282
- fix(logs): reset live mode when switching organization by @bjp232004 in https://github.com/openobserve/openobserve/pull/15301
- ci: add timeouts to ui_unit_tests job and npm ci step by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15315
- fix(queries): read row-click payload as (row, event) in User Summary by @bjp232004 in https://github.com/openobserve/openobserve/pull/15306
- feat: server-side AI chat persistence and sharing by @007harshmahajan in https://github.com/openobserve/openobserve/pull/14305
- fix(logs): share one semantic-groups lookup across correlation syncs by @oasisk in https://github.com/openobserve/openobserve/pull/15307
- fix(metrics): support regex matchers for name label values in PromQL by @manulpatel in https://github.com/openobserve/openobserve/pull/15219
- test: heal 3 Logs regression specs broken by #15234 by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15326
- fix(ai): confirm costly experiments and replace remote task credentials by @uddhavdave in https://github.com/openobserve/openobserve/pull/15148
- fix: skip status page host lookup for the app's own host by @Loaki07 in https://github.com/openobserve/openobserve/pull/15310
- fix(web): open All Queries when drilling into a user from User Summary by @bjp232004 in https://github.com/openobserve/openobserve/pull/15303
- perf: index RUM lookup fields on _rumdata by @haohuaijin in https://github.com/openobserve/openobserve/pull/15287
- fix(alerts): cap state transitions per alert, not across all alerts by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15334
- test(dashboards): add E2E for dashboard variables Auto Run (#15216) by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15309
- fix(logs): one correlation query watcher, expiring field cache, search not blocked on semantic groups by @oasisk in https://github.com/openobserve/openobserve/pull/15327
- perf(search): patch sqlparser 0.62 to parse nested function calls in linear time by @haohuaijin in https://github.com/openobserve/openobserve/pull/15336
- fix(self-reporting): initialise the triggers schema in every reporting org by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15333
- ci: raise AI code review agent timeout to 600s by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15343
- ci: save screenshot, DOM and URL on alpha1 global-setup failures by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15340
- fix(synthetics): make subtests always available, drop ZO_SYNTHETICS_SUBTESTS_ENABLED by @omkarK06 in https://github.com/openobserve/openobserve/pull/15211
- feat(alert-calibration): schedule the alert calibration job by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15314
- feat(alerts): seed three self-monitoring alerts into each org by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15329
- fix(web): keep the table cut-off tooltip anchored while it fades out by @bjp232004 in https://github.com/openobserve/openobserve/pull/15308
- test: Playwright e2e suite for Synthetics by @omkarK06 in https://github.com/openobserve/openobserve/pull/14583
- feat(alert-calibration): run calibration passes, write digests and serve the config API by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15316
- fix(rum): only fall back to the default traces stream when the org has one by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15258
- test(alerts): cover saving and firing an alert with no destination by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15359
- fix(logs): keep the NULL group in the breakdown histogram by @Loaki07 in https://github.com/openobserve/openobserve/pull/15263
- fix: add org scope in bulk delete by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15361
- ci: QA reviewer flags helper functions and raw HTTP in Playwright specs by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15362
- fix: max password length can only be 128 by @pr1sm8 in https://github.com/openobserve/openobserve/pull/15292
- refactor(alerts): read the ledger start of many alerts of one org at once by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15371
- fix(alert-calibration): resolve the org of the v2 alert_calibration routes by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15368
- feat(alert-calibration): settings, digests and dashboard UI by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15369
- fix(scheduler): park a blocked org's claim-completing trigger through its fenced completion by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15370
- chore(deps): update web npm dependencies (2026-10-13) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15286
- fix(traces): open the service side panel as a non-modal drawer by @omkarK06 in https://github.com/openobserve/openobserve/pull/15342
- fix(ci): run the enterprise checks once a labelled PR is approved by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15381
- fix(core): gate the background_access report-tab test helpers like their callers by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15380
- feat: dynamic merge controls and the query bound for merged streams by @hengfeiyang in https://github.com/openobserve/openobserve/pull/14997
- fix(incidents): build RCA table of contents from standalone bold section lines by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15364
- fix(traces): stop RED insights detectors from skipping buckets by @haohuaijin in https://github.com/openobserve/openobserve/pull/15374
- fix(alert-calibration): keep a long pass's claim alive and write only while holding it by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15379
- test: point the same-tab URL drilldown e2e tests at google.com by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15386
- feat(billing): remove a member from a billing group, or leave one by @Loaki07 in https://github.com/openobserve/openobserve/pull/15257
- feat: load the latest data when a dashboard opens with Auto Run on, and apply time ranges without an Apply button by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15283
- test: e2e coverage for dashboard layout edit mode (#15215) by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15350
- test(logs): cover the search-toolbar pin system by @neha00290 in https://github.com/openobserve/openobserve/pull/15358
- chore: add bug-me-not and autofix triage skills by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15390
- feat(dashboards): panels say what they hid or failed to load by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15339
- fix(ingester): count a partition's schema size only when the partition is created by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15400
- fix(ci): report a lost ENT test runner as infra, not a spec failure by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15403
- fix(anomaly): describe the Look Back Window as the first run's bound by @haohuaijin in https://github.com/openobserve/openobserve/pull/15388
- fix(web): show the new-version toast after a stale build by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15402
- chore: share trace list core across streaming and non-streaming APIs by @haohuaijin in https://github.com/openobserve/openobserve/pull/15313
- chore: remove ZO_USAGE_REPORT_TO_OWN_ORG and always report to each org's own streams by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15406
- fix(web): stop RUM-reported crashes and error-log noise by @bjp232004 in https://github.com/openobserve/openobserve/pull/15393
- fix(dashboards): keep the user's edit when a dashboard save conflicts by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15272
- test(general): reach Running Queries as the meta org before asserting the SQL tooltip by @neha00290 in https://github.com/openobserve/openobserve/pull/15411
- fix(ai): make AI credit consumption and exhaustion clear by @uddhavdave in https://github.com/openobserve/openobserve/pull/15170
- fix(cache): flush disk cache writes before rename by @haohuaijin in https://github.com/openobserve/openobserve/pull/15417
- fix(metrics): build no tantivy index from global index fields on metrics streams by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15409
- chore: always enable metrics index and WAL pack, remove their env flags by @haohuaijin in https://github.com/openobserve/openobserve/pull/15423
- fix(tantivy): stop index builds from fsyncing their scratch files by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15420
- chore(tantivy): remove the sequential index build path by @haohuaijin in https://github.com/openobserve/openobserve/pull/15422
- feat(alert-calibration): its own RBAC permission, settings inside the module, and no built-in alerts by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15408
- fix: partition generated anomaly searches to cut querier memory by @Loaki07 in https://github.com/openobserve/openobserve/pull/15376
- feat: page on-call responders by SMS and voice call by @Subhra264 in https://github.com/openobserve/openobserve/pull/15205
- chore: remove dead Rust code in leaf crates and unused dependencies by @haohuaijin in https://github.com/openobserve/openobserve/pull/15337
- fix(alert-calibration): a dashboard of what needs attention, and bounds for the schedule by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15433
- test: e2e coverage for the dashboard panel editor live preview by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15407
- fix(alert-calibration): say that rows of a deleted alert are not a coverage gap by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15445
- test(ingest): cover the OTLP log UTF-8 repair, and run the API suite on a schedule by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/14826
- fix: use musl sysroot headers and pin cross base images by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15449
- fix(traces): summarize whole traces when the trace list is filtered by @haohuaijin in https://github.com/openobserve/openobserve/pull/15418
- fix(alerts): ask which query to alert on for multi-query panels by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15351
- fix(db-monitoring): cast the returned-rows attribute instead of summing it raw by @ameyypawar in https://github.com/openobserve/openobserve/pull/14984
- feat(alert-calibration): show the scheduler_health cluster view in _meta by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15428
- fix(logs): remove dead NL detection from search bar by @bjp232004 in https://github.com/openobserve/openobserve/pull/15451
- fix(i18n): correct French translations and pin terms by @bjp232004 in https://github.com/openobserve/openobserve/pull/15453
- chore: upgrade zip to 9.0.3 by @haohuaijin in https://github.com/openobserve/openobserve/pull/15455
- fix(web): load sandbox ECharts and DOMPurify from npm via Vite ?url imports by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15382
- fix(promql): drop series the result cache trims to no samples by @haohuaijin in https://github.com/openobserve/openobserve/pull/15459
- fix(cluster): remove peers that were never seen healthy once they fail health checks by @haohuaijin in https://github.com/openobserve/openobserve/pull/15460
- fix(rum): put the Performance tabs and controls on one toolbar row by @omkarK06 in https://github.com/openobserve/openobserve/pull/15457
- fix(pipeline): keep a JavaScript function from stalling its async worker by @Subhra264 in https://github.com/openobserve/openobserve/pull/15470
- feat: support complete row payloads in webhook alert templates by @durlabhjain in https://github.com/openobserve/openobserve/pull/14902
- fix(functions): refuse switching a pipeline's function to JavaScript by @Subhra264 in https://github.com/openobserve/openobserve/pull/15464
- fix: keep destination URLs out of alert notification send errors by @Subhra264 in https://github.com/openobserve/openobserve/pull/15466
- fix(alerts): drop dead trigger_by_name and clean_complete, saturate max retries, stop cloning into batches by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15468
- feat(reports): report history, last-run status and run now by @Loaki07 in https://github.com/openobserve/openobserve/pull/15259
- test: cut alpha1 querier load from e2e helpers by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15462
- fix(downtimes): hide unreadable resources from downtime previews by @Loaki07 in https://github.com/openobserve/openobserve/pull/15458
- fix(alert-calibration): run by default at both levels and never read another org's stream by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15475
- chore(deps): upgrade tantivy to 0.27.0 and drop the openobserve fork by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15491
- fix(mcp): expose database monitoring and anomaly detection APIs as MCP tools by @oasisk in https://github.com/openobserve/openobserve/pull/15485
- feat(web): revamp the Profiles page and fix its broken flows by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15454
- fix(org-delete): org-exact meta-store prefixes, atomic settings update and atomic user delete by @oasisk in https://github.com/openobserve/openobserve/pull/15353
- test: fix failing alpha1 e2e tests by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15494
- fix(query-editor): autocomplete values, operator chain, key contract by @oasisk in https://github.com/openobserve/openobserve/pull/15344
- fix(promql): accept constant hash ordering in streaming scans by @haohuaijin in https://github.com/openobserve/openobserve/pull/15499
- chore(deps): bump anthropics/claude-code-action from 1.0.240 to 1.0.248 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15318
- chore(deps): bump int128/docker-manifest-create-action from 2.28.0 to 2.29.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15322
- chore(deps): bump thehanimo/pr-title-checker from 1.4.3 to 2.0.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15321
- chore(deps): bump taiki-e/install-action from 2.87.22 to 2.87.28 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15319
- chore(deps): update dtolnay/rust-toolchain requirement to 683b588c487a69d01f6c6ddf40f036ff682cc2c8 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15320
- fix(search): keep filter constants through RemoteScanExec by @haohuaijin in https://github.com/openobserve/openobserve/pull/15500
- refactor(search): build the full physical optimizer rule list explicitly by @haohuaijin in https://github.com/openobserve/openobserve/pull/15503
- perf(web): cut the login page's initial payload by 68% by @bjp232004 in https://github.com/openobserve/openobserve/pull/15414
- fix(auth): resolve the routed org in every auth layer and scope user removal, org listing and query management to it by @oasisk in https://github.com/openobserve/openobserve/pull/15444
- fix(search): install the DataFusion 55.1 default logical rules OO was missing by @haohuaijin in https://github.com/openobserve/openobserve/pull/15505
- fix: remove stale empty WAL directories right after upload by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15508
- perf: take search hits by value in Response::add_hit by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15506
- feat(rum): Product Analytics app filters, funnel exclusions and a reworked funnel builder by @omkarK06 in https://github.com/openobserve/openobserve/pull/15389
- chore(test): remove 196 redundant unit tests by @haohuaijin in https://github.com/openobserve/openobserve/pull/15516
- perf: move search hits through the result cache layer instead of cloning by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15511
- chore: remove code only exercised by tests by @haohuaijin in https://github.com/openobserve/openobserve/pull/15521
- fix: complete cross-partition trace summaries in the trace list by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15510
- fix: restore pattern extraction after #15511, return 400 for invalid time ranges, deflake RUM preset-role e2e by @oasisk in https://github.com/openobserve/openobserve/pull/15522
- feat(data-sources): eBPF tracing on the Linux and Kubernetes cards; drop AWS EC2 variants; add container_image_tags alias by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15489
- feat(model-pricing): data-driven attribute rules on pricing tiers by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15237
- fix(service-graph): widen v4 read ranges by 1ms instead of 1s by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15542
- feat(alerts): install anomaly-detection alerts from the Alert Library by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15540
- fix(traces): break same-millisecond ties so the trace list shows the top span by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15493
- test: fix root causes of the flakiest UI tests by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15535
- fix(search): only prune partitions when the stream is read once by @haohuaijin in https://github.com/openobserve/openobserve/pull/15514
- test(logs): fix three remaining flaky Logs e2e tests after #15535 by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15555
- feat: new usage page design by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/14937
- fix(search): isolate concurrent queries that share a trace id by @haohuaijin in https://github.com/openobserve/openobserve/pull/15515
- fix: restore OSS usage reporting without organization attribution by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15563
- fix(billing): compact Plans page and show pay-as-you-go vs annual pricing by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15559
- test(logs): use real fields in the bug #11400 mixed-quote test by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15560
- fix(billing): hide the pricing footnote when price tiles are shown by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15565
- fix(a11y): fix P0 accessibility blockers and shared control naming by @bjp232004 in https://github.com/openobserve/openobserve/pull/15513
- fix: skip the incident drawer's on-call lookup when on-call is disabled by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15564
- fix(i18n): correct machine translations in 12 locales by @bjp232004 in https://github.com/openobserve/openobserve/pull/15465
- fix(billing): show Billing Group remove action as a compact icon button by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15558
- fix: invoices tab currency by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15578
- fix(dashboards): make the Refresh button a labelled primary button by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15577
- fix(logs): use theme accent for empty breakdown series by @Loaki07 in https://github.com/openobserve/openobserve/pull/15520
- fix(search): run each query under its own id when requests share a trace id by @haohuaijin in https://github.com/openobserve/openobserve/pull/15566
- fix: delete bloom filter files on data retention by @Hermsi1337 in https://github.com/openobserve/openobserve/pull/15294
- fix: experiment replication, exact model pricing match, eval job health by @uddhavdave in https://github.com/openobserve/openobserve/pull/15524
- fix(alerts): clarify automatic anomaly sensitivity states by @Loaki07 in https://github.com/openobserve/openobserve/pull/15478
- fix(alerts): only email recipients who are still org members by @Subhra264 in https://github.com/openobserve/openobserve/pull/15582
- perf(logs): route _bulk data lines through the direct-to-Arrow columnar path by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15592
- fix(dashboards): Refresh no longer stays busy after leaving print mode mid-load by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15594
- fix(api): register the workflows routes in the OpenAPI document and correct their annotations by @Loaki07 in https://github.com/openobserve/openobserve/pull/15512
- test(logs): press Escape only to close an open menu in autocomplete specs by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15598
- feat: two-way Slack app (ask OpenObserve from Slack, instance workspace) by @oasisk in https://github.com/openobserve/openobserve/pull/15553
- fix(dashboards): labelled Refresh and Cancel buttons on dashboard, view panel, pinned tab and RUM by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15589
- fix(a11y): name remaining icon-only buttons and stop dev-warning false positives by @bjp232004 in https://github.com/openobserve/openobserve/pull/15576
- fix(oncall): make the rotation editor show what its rules add up to by @Subhra264 in https://github.com/openobserve/openobserve/pull/15525
- fix(ci): re-run sister enterprise gate on label by @uddhavdave in https://github.com/openobserve/openobserve/pull/15638
- perf: stop writing
event_idon profile samples by @haohuaijin in https://github.com/openobserve/openobserve/pull/15634 - fix(ofga): back-fill org ownership tuples eleven resource types never got on upgrade by @Subhra264 in https://github.com/openobserve/openobserve/pull/15517
- fix(enrichment): apply the shared URL policy to every URL enrichment request by @haohuaijin in https://github.com/openobserve/openobserve/pull/15635
- fix(web): softer pending style for stale Apply / Run query buttons by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15392
- fix(alerts): resolve each joined table by its own stream type by @haohuaijin in https://github.com/openobserve/openobserve/pull/15636
- fix(anomaly): derive or require stream_name on create by @Loaki07 in https://github.com/openobserve/openobserve/pull/15601
- chore(agents): forbid json/jsonb and timestamp column types in new schema by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15648
- fix(alerts): respect the rows switch and send HTML-only custom emails by @Subhra264 in https://github.com/openobserve/openobserve/pull/15581
- fix(alerts): scope template updates and deletes to their own organization by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15646
- fix(ui): accept hour-only offsets when pasting a date-time by @Abhishek-B-R in https://github.com/openobserve/openobserve/pull/15495
- feat(incidents): Incident Analysis revamp — recorded, streamed and steerable RCA runs by @uddhavdave in https://github.com/openobserve/openobserve/pull/15615
- fix(dashboards): validate cross-link URL before opening it from panel drilldown by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15637
- fix(alerts): validate and quote group-by fields of custom aggregation alerts by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15649
- refactor(service-graph): remove v1, read edge trend and blast radius from v4 by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15627
- test(autoe2e): generated E2E tests for #15351 (create-alert-from-panel) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15461
- fix: partition plain custom SQL anomaly searches with a histogram grid by @Loaki07 in https://github.com/openobserve/openobserve/pull/15596
- fix(synthetics): reject loopback, link-local and metadata check targets at save time by @Loaki07 in https://github.com/openobserve/openobserve/pull/15644
- test(alerts): make the evaluation-history row wait actually wait by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15657
- fix(onboarding): first-event bar waits for the user in orgs that already have data by @oasisk in https://github.com/openobserve/openobserve/pull/15614
- fix: update user cache in sync when user object updates by @pr1sm8 in https://github.com/openobserve/openobserve/pull/15652
- test(pipelines): cover the bulk delete, bulk enable and bulk pattern-delete routes by @neha00290 in https://github.com/openobserve/openobserve/pull/15398
- fix: return 4xx instead of 500 for invalid history ranges and missing workflow folders by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15662
- test: run seven verified orphan specs, and stop the query-editor wait flaking by @neha00290 in https://github.com/openobserve/openobserve/pull/15663
- fix(usage): enable search by user before dashboard searches exist by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15605
- feat(license): show the licence decision and waivers, refuse keys shadowed by O2_LICENSE_KEY by @oasisk in https://github.com/openobserve/openobserve/pull/15570
- chore(deps): bump anthropics/claude-code-action from 1.0.248 to 1.0.254 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15533
- chore(deps): bump actions/create-github-app-token from 3.2.0 to 3.3.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15534
- chore(deps): bump taiki-e/install-action from 2.87.28 to 2.87.29 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15532
- fix(alerts): save recovery destinations on Postgres by keeping the column TEXT by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15574
- fix: wait on conditions instead of a fixed delay in the PA exclusions drawer tests by @omkarK06 in https://github.com/openobserve/openobserve/pull/15609
- test(autoe2e): generated E2E tests for #15358 (logs-toolbar-pins) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15410
- feat(profiles): compare versions, real cpu cores and flame graph zoom by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15607
- test(autoe2e): generated E2E tests for #15515 (running-queries-cancel) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15561
- fix(rum): return an empty 202 from the RUM ingest routes by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/15536
- fix(dashboards): keep histogram heatmap settings when a panel is saved by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15502
- fix(status-pages): separate favicon, right-aligned header meta, tighter brand mark by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15595
- fix: show org create/update error without added quotes by @TheAkshitS in https://github.com/openobserve/openobserve/pull/15323
- test(logs): fix bug-13990 and bug-11400 regression tests by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15530
- chore(deps-dev): bump vite from 7.3.6 to 7.3.7 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15588
- fix(profiles): raise the per-stack frame cap from 128 to 1000 by @haohuaijin in https://github.com/openobserve/openobserve/pull/15658
- feat(rum): search and filter the session player's traces by status and page by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/15412
- fix(oncall): phone verification — hold Send code during the wait, hourly send caps, and number_not_allowed by @Subhra264 in https://github.com/openobserve/openobserve/pull/15641
- refactor: coordinator owns empty-value put/delete events in emit_put/emit_delete by @uddhavdave in https://github.com/openobserve/openobserve/pull/15681
- test(cleanup): common/meta/saved_view: removed 12, moved 2 to api/integration tests by @uddhavdave in https://github.com/openobserve/openobserve/pull/15683
- chore(deps): bump follow-redirects from 1.16.0 to 1.16.1 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15573
- fix: check with org id draft exists before deletion by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15687
- test(autoe2e): generated E2E tests for #15478 (anomaly-sensitivity-auto-level) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15603
- test(autoe2e): generated E2E tests for #15577 (dashboard-refresh-button) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15585
- fix(web): name the stream in the delete dialog and untick related-resource delete by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15655
- fix(web): hide dynamic filters on new dashboards by default by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15686
- test(autoe2e): generated E2E tests for #15513 (query-editor-keyboard-accessibility) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15569
- feat(dashboards): units, threshold colours and chart series overrides by @ktx-mihir in https://github.com/openobserve/openobserve/pull/15447
- fix(reports): require a shared secret between OpenObserve and the report server by @Subhra264 in https://github.com/openobserve/openobserve/pull/15677
- fix(ui): show destination HTTP method and output format in uppercase by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15693
- fix: resolve frontend errors reported by RUM by @omkarK06 in https://github.com/openobserve/openobserve/pull/15664
- fix(traces): correct what #13852 changed in traces-toolbar-tabs by @neha00290 in https://github.com/openobserve/openobserve/pull/15679
- fix(alert-calibration): list runs again on digest streams created without the removed coverage column by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15701
- test(alerts): cover a join across stream types (#15636) by @neha00290 in https://github.com/openobserve/openobserve/pull/15697
- feat: Fleet management for OpenTelemetry collectors by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15653
- test(autoe2e): generated E2E tests for #15578 (invoice-currency-formatting) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15583
- test(autoe2e): generated E2E tests for #15559 (billing-plans-pricing) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15567
- fix(reports): weekday format, org-wide drawer timezone, pause exhausted one-time reports by @Loaki07 in https://github.com/openobserve/openobserve/pull/15705
- test(e2e): alpha1 ingestion via ZO_INGEST_URL and page-load recovery by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15660
- chore(infra): remove stale distinct_value_fields codegen entity by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15696
- test(autoe2e): generated E2E tests for #15558 (billing-group-remove-icon) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15584
- test(dashboards): deflake background-colour dropdown selection by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15722
- fix(ai): bind dataset input fields as prompt variables by @uddhavdave in https://github.com/openobserve/openobserve/pull/15568
- fix(logs): deflake the Build-tab query editor — await the coalesced grouped-fields load by @neha00290 in https://github.com/openobserve/openobserve/pull/15720
- test(general): run navRailKeyboard, waiting for the route instead of a fixed sleep by @neha00290 in https://github.com/openobserve/openobserve/pull/15685
- test: deflake two Logs e2e tests racing their own waits by @neha00290 in https://github.com/openobserve/openobserve/pull/15674
- ci: note the sister gate re-runs when the enterprise PR merges by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15723
- test: catch Postgres-only column type bugs in PR CI and on alpha1 by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15670
- test(alerts): give AlertListSlo spec its own router to stop deep-link flake by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15729
- test(autoe2e): generated E2E tests for #15237 (model-pricing-attribute-rules) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15541
- test(autoe2e): generated E2E tests for #15170 (ai-assistant-credits) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15424
- ci: remove Kinora reporting from Playwright workflow by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15721
- fix: spawn the KV watcher so other nodes drop stale KV cache entries by @oasisk in https://github.com/openobserve/openobserve/pull/15651
- test(pipelines): bound the pipelineImport landing wait by @neha00290 in https://github.com/openobserve/openobserve/pull/15728
- test(autoe2e): generated E2E tests for #15259 (report-history) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15479
- test(autoe2e): generated E2E tests for #15589 (refresh-cancel-buttons) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15624
- test(autoe2e): generated E2E tests for #15272 (dashboard-save-conflict) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15421
- test(autoe2e): generated E2E tests for #15283 (dashboard-time-range-apply) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15399
- test(autoe2e): generated E2E tests for #15614 (first-event-status) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15661
- test(e2e): don't wait for streamed search responses to finish by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15735
- fix(auth): resolve the org from the routed path in ingestion classification, audit and org creation by @oasisk in https://github.com/openobserve/openobserve/pull/15684
- test(autoe2e): generated E2E tests for #15339 (panel-notices) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15419
- fix(traces): scope service_name per resource and per span in OTLP ingest by @oasisk in https://github.com/openobserve/openobserve/pull/15691
- test(autoe2e): generated E2E tests for #15342 (service-graph-side-panel-non-modal) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15383
- fix: alert clone, composite Add and dropdown search scroll; deflake alpha1 specs by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15497
- test(downtimes): add E2E coverage for alert downtimes by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15367
- test: deflake Metrics exemplars and Logs join E2E tests by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15758
- fix(org): complete org deletion by @oasisk in https://github.com/openobserve/openobserve/pull/15394
- test(general): run navRailShortScreen, and poll instead of sleeping in the navRail specs by @neha00290 in https://github.com/openobserve/openobserve/pull/15734
- feat(dashboards): add state-timeline panel type by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15773
- test(correlation): keep the org's semantic groups when seeding alert-grouping tests by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15772
- test(general): let navRailGeometry allow nav labels that wrap to two lines by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15781
- chore(ui): rename AI menu to AI Observability in the left rail by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15777
- chore: upgrade rust toolchain to nightly-2026-10-24 by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15782
- fix(rum): add release version, result counts, org creation time and named actions to RUM by @omkarK06 in https://github.com/openobserve/openobserve/pull/15675
- fix(streams): open profiles streams in Logs search from the Data page by @haohuaijin in https://github.com/openobserve/openobserve/pull/15702
- fix(promql): read a label the stream lacks as "" in matchers by @haohuaijin in https://github.com/openobserve/openobserve/pull/15785
- feat: dashboard TV mode by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15356
- fix(fleet): raise the supervisor config_apply_timeout to 30s in the Docker command by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15826
- fix(dashboards): escape variable values in html and markdown panels by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15828
- fix(logs): keep the search bar query on the Build tab and the FTS default column by @neha00290 in https://github.com/openobserve/openobserve/pull/15759
- chore(deps-dev): bump happy-dom from 20.14.6 to 21.0.4 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15733
- fix(profiles): name processes without service.name unknown_service: by @haohuaijin in https://github.com/openobserve/openobserve/pull/15831
- feat(fleet): gateway collectors in Add collector and the editor catalog by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15718
- fix(rum): hide replay frame under loader and remember splitter width by @omkarK06 in https://github.com/openobserve/openobserve/pull/15467
- feat(infra): redesign the Kubernetes 2 explorer by @bjp232004 in https://github.com/openobserve/openobserve/pull/15672
- feat(dashboards): panel drafts and save and keep editing in the panel editor by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15384
- fix(fleet): describe enrollment tokens as readable by fleet readers by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15834
- ci: crosscheck tests PRs merged into main, re-runs lost runners, and names a broken enterprise main by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15837
- fix(ui): roll compact counts over to the next unit at 1000 by @Abhishek-B-R in https://github.com/openobserve/openobserve/pull/15496
- feat: dashboard annotation sources — markers from a query by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15593
- fix(fleet): show how to uninstall a collector by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15829
- test(reports): fix flaky report folder and schedule-later specs by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15841
- fix(alerts): email destination form fixes by @Subhra264 in https://github.com/openobserve/openobserve/pull/15580
- fix: improve model pricing page UX by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15602
- fix(promql): stop emitting per-point OTLP fields as labels by @haohuaijin in https://github.com/openobserve/openobserve/pull/15844
- fix(fleet): read every list page, rerunnable install, install wait in a hidden tab, dotted keys in Visual, prompt audit by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15719
- fix(profiles): fold unsymbolized native frames by binary in flame graphs by @haohuaijin in https://github.com/openobserve/openobserve/pull/15845
- test(alerts): raise AlertList spec timeout to stop slow-runner flakes by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15850
- feat(dashboards): heatmap colour, axis, histogram and interaction improvements by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15784
- fix(dashboards): keep folder access when a dashboard is moved into its own folder by @Subhra264 in https://github.com/openobserve/openobserve/pull/15707
- refactor: read_org_setting and a shared TtlCache own the cached reads by @uddhavdave in https://github.com/openobserve/openobserve/pull/15840
- test(cleanup): config/meta: removed 48, moved 6 to api/integration tests by @uddhavdave in https://github.com/openobserve/openobserve/pull/15839
- ci: run stuck-run-reaper with human PAT by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15849
- chore(deps): bump Swatinem/rust-cache from 2.9.2 to 2.9.3 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15854
- chore(deps): bump anthropics/claude-code-action from 1.0.254 to 1.0.261 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15852
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15855
- fix(logs): stop nesting the query in brackets when adding filters from values by @bjp232004 in https://github.com/openobserve/openobserve/pull/15842
- fix(infra): scroll the Kubernetes views above the dock by @bjp232004 in https://github.com/openobserve/openobserve/pull/15857
- test(dashboards): add E2E tests for the TV playlist by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15838
- test: regression coverage Traces, Metrics, RUM and Synthetics fixes by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15347
- test(autoe2e): generated E2E tests for #15457 (rum-app-performance-toolbar) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15471
- test(autoe2e): generated E2E tests for #15475 (alert-calibration) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15490
- fix(logs): wrap long values in the source details json view by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15694
- test(alpha1): fix the AI credits and Bug #11400 E2E tests that fail every nightly try by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15843
- chore(deps): bump fast-uri from 3.1.7 to 3.1.9 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15732
- chore(ui): remove relative preset search from the datepicker by @bjp232004 in https://github.com/openobserve/openobserve/pull/15859
- fix(ingestion): SQL Server grant scripts work on 2016–2019 by @chaitanya-sistla in https://github.com/openobserve/openobserve/pull/15174
- chore(deps): bump taiki-e/install-action from 2.87.29 to 2.87.31 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15853
- feat(dashboards): stack totals, PromQL series limit, text panel vars by @prabhatsharma in https://github.com/openobserve/openobserve/pull/15806
- fix(fleet): default the install command to HTTP polling on every platform by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15864
- chore(deps): upgrade vortex to 0.90.0 by @haohuaijin in https://github.com/openobserve/openobserve/pull/15836
- fix: raise default ZO_ALERT_SCHEDULE_CONCURRENCY to 50 by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15869
- fix(alerts): bypass the result cache for anomaly chart queries by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15856
- feat: public dashboards (serving v2, lazy materialization) by @ktx-abhay in https://github.com/openobserve/openobserve/pull/14789
- fix(promql): show exemplars on histogram _count and _sum panels by @haohuaijin in https://github.com/openobserve/openobserve/pull/15883
- fix(alerts): stop alert ID flashing as the detail page title by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15870
- fix(search): restrict query SQL to read-only statements by @haohuaijin in https://github.com/openobserve/openobserve/pull/15874
- fix(llm-insights): list every version the page shows in compare versions by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15656
- fix(alerts): stop showing custom destinations as prebuilt by their URL by @Subhra264 in https://github.com/openobserve/openobserve/pull/15703
- fix(anomaly): read partitioned search object rows by actual result schema by @Loaki07 in https://github.com/openobserve/openobserve/pull/15878
- fix(dashboards): PromQL table footer follows the table's page size and pagination by @bjp232004 in https://github.com/openobserve/openobserve/pull/15877
- fix(pipelines): bind stream and query nodes to the pipeline's org by @Subhra264 in https://github.com/openobserve/openobserve/pull/15848
- test(alerts): accept the latest digest on the calibration dashboard check by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15896
- fix(iam): cancelling the Edit User dialog no longer reopens it by @bjp232004 in https://github.com/openobserve/openobserve/pull/15879
- chore(profiles): enable Profiles by default and raise flamegraph stack limit to 99,999 by @haohuaijin in https://github.com/openobserve/openobserve/pull/15851
- fix(incidents): RCA open question, cancelled pill, new-run thread and resume banner by @uddhavdave in https://github.com/openobserve/openobserve/pull/15659
- fix(logs): wait for stream fields before the SQL toggle rewrites a bare word by @bjp232004 in https://github.com/openobserve/openobserve/pull/15889
- fix(iam): show the region's own host in the service account cURL example by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15895
- feat(dashboards): substitute variables in panel titles by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15861
- feat(dashboards): save a default auto-refresh interval with the dashboard by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15860
- feat(dashboards): series style overrides, custom empty-state text and y-axis minimum step by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15862
- feat(dashboards): build panels on enrichment table streams by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15884
- test(dashboards): e2e coverage for heatmap colour, y-axis and histogram settings by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15876
- fix(web): name the item in delete confirmations and make delete buttons red by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15847
- chore: hash in-process keys with the per-process seeded hasher by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15902
- feat(datetime): calendar ranges and recent history in the time picker by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15858
- feat(dashboards): add a host map panel type by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15863
- test(dashboards): fix flaky PromQL table pagination footer test by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15908
- feat(llm-evals): redesign the quality page on the new quality apis by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15244
- chore(search): remove the query_type table/metrics response modes by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15901
- fix: Slack app setup — first-time connection, prerequisite warnings, token help, unreachable server and phone layout by @oasisk in https://github.com/openobserve/openobserve/pull/15710
- fix(alerts): notify when a below-threshold alert matches zero rows by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15907
- fix(promql): read a NULL label as "" in matchers by @haohuaijin in https://github.com/openobserve/openobserve/pull/15897
- test: wire two orphaned specs and fix the defects they hid by @neha00290 in https://github.com/openobserve/openobserve/pull/15885
- fix(ingestion): hold a snippet until its org token lands by @neha00290 in https://github.com/openobserve/openobserve/pull/15905
- fix(infra): load the Kubernetes explorer faster and read its SQL via search_stream by @bjp232004 in https://github.com/openobserve/openobserve/pull/15911
- ci(ai-review): run the reviewer from main in a sandbox, fix the 300 s outage, review paired ENT PRs once by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15599
- test(autoe2e): generated E2E tests for #15410 (logs-toolbar-pins) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15673
- fix(logs): pin Saved views to the toolbar by default by @bjp232004 in https://github.com/openobserve/openobserve/pull/15910
- test: use multi threaded test run where we can for unit tests by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15562
- perf(search): build search hit rows straight from Arrow columns by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15915
- chore(config): default ZO_FILE_MERGE_THREAD_NUM to half the CPU cores in cluster mode by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15936
- fix(logs): show stream-not-found for missing streams in AI chat and search history links by @Subhra264 in https://github.com/openobserve/openobserve/pull/15899
- chore: remove the compiled-in model pricing table by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15886
- chore(dashboards): raise public dashboard panel limit to 50 and skip RUM on public links by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15932
- ci: trim unused e2e video, coverage hooks and full-history clones by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15900
- fix(fleet): label the history running event as the last confirmation by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15943
- test(dashboards): fix flaky filter condition and deferred panel time pick by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15882
- fix(fleet): remove the redundant "Fleet Manager" permission by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15949
- fix(logs): match toolbar button heights to the view-mode switch by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15942
- fix(o2-loop): find the Codex CLI at its new ChatGPT.app location by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15953
- fix(sysinfo): resolve the cgroup of the process and honour the cpu period by @prabhkodes in https://github.com/openobserve/openobserve/pull/15906
- fix(config): serve the RUM config only to signed-in users by @oasisk in https://github.com/openobserve/openobserve/pull/15946
- fix(infra): treat a missing meta table as a fresh install on non-English PostgreSQL by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15945
- test(logs): cover four E2E gaps the component specs cannot reach by @neha00290 in https://github.com/openobserve/openobserve/pull/15955
- fix(logs): one height and even spacing across the search toolbar by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15960
- test(dashboards): e2e for stacked y-axis bounds fitting the stacks by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15948
- fix(profiles): scope type list to service, keep service on empty window, clear stale flame focus by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15954
- fix(traces): rank the streamed duration sort by a mergeable lower bound (#15507) by @Loaki07 in https://github.com/openobserve/openobserve/pull/15898
- fix(dashboards): show the mean loading progress of all queries in a multi-query panel by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15947
- fix(incidents): RCA thread, verdict and Ask display fixes by @uddhavdave in https://github.com/openobserve/openobserve/pull/15958
- test(promql): API regression tests for fixed PromQL behaviours by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15970
- fix(profiles): dark-mode, theme-switch, resize and consistency polish on the Profiles page by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/15959
- feat: Slack app Phase 2 — alerts in Slack: acknowledge, mute, Slack app destination and investigate by @oasisk in https://github.com/openobserve/openobserve/pull/15731
- feat(ingestion): one-command quick install for database data sources by @mmosarafO2 in https://github.com/openobserve/openobserve/pull/15894
- ci(ai-review): cap automatic reviews at 2 per PR, drop inline threads, report real bugs only by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15991
- ci: trace every DeepSeek API call in CI the way ai-code-review does by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15961
- fix(datetime): copy/paste when the clipboard API is blocked, and calendar ranges in AI observability by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15979
- fix(profiles): stop losing the first upload to a new profiles stream under RBAC by @haohuaijin in https://github.com/openobserve/openobserve/pull/15956
- test(dashboards): E2E for PromQL series limit, query type, reducer and text panel variables by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15893
- fix(oncall): check the Twilio From number against the account and show what works on the Telephony page by @Subhra264 in https://github.com/openobserve/openobserve/pull/15938
- feat(alerts): per-group recovery notifications for multi-alerts by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15980
- fix(ai-review): count a pass before reviewing, fail closed, trace all billed tokens by @007harshmahajan in https://github.com/openobserve/openobserve/pull/15992
- fix(ingestion): accept empty OTLP/JSON AnyValue instead of rejecting the batch by @haohuaijin in https://github.com/openobserve/openobserve/pull/15999
- fix(traces): don't panic on non-ASCII 32-byte trace and session ids by @oasisk in https://github.com/openobserve/openobserve/pull/15866
- fix(incidents): viewer token access, reopen, multi-field update and status confirms by @uddhavdave in https://github.com/openobserve/openobserve/pull/15994
- fix(ui): sharpen visual polish, keyboard focus and contrast across logs, tables and charts by @oasisk in https://github.com/openobserve/openobserve/pull/15993
- test(dashboards): E2E coverage for pie/donut legend values and PromQL instant reducer by @ktx-akshay in https://github.com/openobserve/openobserve/pull/15998
- fix(oncall): keep who is on call when members change, re-page unanswered pages, honest ack links by @Subhra264 in https://github.com/openobserve/openobserve/pull/15939
- fix(traces): span header wrap, empty stacktrace layout, Eval Jobs Name width by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16035
- chore(alerts): remove alert notification grouping by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16027
- fix: keep stream stats scanning past a failing stream and add stream key length checks by @haohuaijin in https://github.com/openobserve/openobserve/pull/16028
- ci: one ENT build per approved head, remove dead query-agent and claude-* workflows by @oasisk in https://github.com/openobserve/openobserve/pull/16039
- feat(web): keep unsaved editor work as browser drafts across the app by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15913
- fix(oncall): say what happened to a page and what to do next by @Subhra264 in https://github.com/openobserve/openobserve/pull/15940
- fix(dashboards): table footer counts filtered rows, picker "1 Hour ago" plural by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16032
- fix(logs): regexp_match_to_fields per-row output, results header clipping by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16038
- fix(alerts): incident trigger period/frequency units and summary plural by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16031
- fix(dashboards): shared chart fixes and panel-type plumbing by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15917
- fix(settings): RUM label, Max Series placeholder and "hereto" spacing by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16030
- fix(pipelines): run details open, destination HTTP method, badge and pattern labels by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16040
- fix(rum): guard VideoPlayer dimension lookup when record data is missing by @ShadowStormVK in https://github.com/openobserve/openobserve/pull/16062
- feat(dashboards): new options for existing chart types by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15918
- chore(alerts): remove alert deduplication by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16055
- fix: report rows rejected at write in OTLP partial_success for logs and traces by @haohuaijin in https://github.com/openobserve/openobserve/pull/16047
- fix(fleet): K8s attributes that enrich pod logs, and the cluster name from install to data by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16042
- fix(logs): keep log detail panel open across auto refresh by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16065
- fix(logs): use
@timestampin_bulkrecords that have no_timestampby @ameyypawar in https://github.com/openobserve/openobserve/pull/15833 - fix: skip metrics streams whose file_list key is too long in OTLP and JSON ingestion by @haohuaijin in https://github.com/openobserve/openobserve/pull/16048
- fix: reject over-long streams when creating streams, profiles and enrichment tables by @haohuaijin in https://github.com/openobserve/openobserve/pull/16050
- fix: reject traces for over-long streams by @haohuaijin in https://github.com/openobserve/openobserve/pull/16053
- fix(web): size row-action columns to the buttons they render by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16064
- fix: return 200 for OTLP/HTTP JSON partial success in traces and metrics by @haohuaijin in https://github.com/openobserve/openobserve/pull/16074
- fix(fleet): K8s attributes default never associates by connection by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16069
- fix(fleet): remove the console move; the enrollment token decides the fleet by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16066
- fix: reject logs for over-long streams per stream and report them by @haohuaijin in https://github.com/openobserve/openobserve/pull/16051
- perf(logs): keep
_bulkrecords timed by@timestampon the columnar path by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16072 - test: expect 200 for OTLP/HTTP JSON trace partial success in API test by @haohuaijin in https://github.com/openobserve/openobserve/pull/16075
- fix(oncall): make team setup say what will happen by @Subhra264 in https://github.com/openobserve/openobserve/pull/15941
- fix: use a real token in the default install command on Hosts and Kubernetes installation pages by @IluckySi in https://github.com/openobserve/openobserve/pull/16073
- feat(rum): add full-screen mode to the session replay player by @omkarK06 in https://github.com/openobserve/openobserve/pull/15983
- fix(dashboards): public link form keeps stored values; public page titles and polish by @ktx-abhay in https://github.com/openobserve/openobserve/pull/16034
- fix(fleet): new enrollment tokens default to never expire by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16078
- fix(synthetics): ownership supervisor, status-page error policy, step outcomes and callback diagnostics (o2-enterprise#3190, #3191, #3140, #3165) by @Loaki07 in https://github.com/openobserve/openobserve/pull/16033
- fix(ui): ease every page in on navigation instead of snapping by @ktx-kirtan in https://github.com/openobserve/openobserve/pull/16086
- fix(self-profiles): build CPU self-profiles without jemalloc and tag them with the cluster name by @haohuaijin in https://github.com/openobserve/openobserve/pull/16070
- fix: host CPU queries correct without per-core cpu label by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16082
- feat: recent searches on Logs, Traces and Metrics by @ktx-abhay in https://github.com/openobserve/openobserve/pull/15912
- fix(i18n): polish French save, PromQL and search labels by @bjp232004 in https://github.com/openobserve/openobserve/pull/15472
- feat(rum): performance overview with p75 vitals, impact-ranked pages and release context by @bjp232004 in https://github.com/openobserve/openobserve/pull/15966
- test(dashboards): e2e coverage for target=_blank on html panel links by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16000
- chore(agents): add engineering guidelines and point AGENTS.md and o2-loop at them by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16092
- fix(web): keep != '' in Visualize, name label-free PromQL series, quick mode row hint by @Loaki07 in https://github.com/openobserve/openobserve/pull/16093
- feat(dashboards): add the box plot panel type by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15925
- feat(iam): edit role presets panel, job presets and companion grants by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/15976
- fix: reauthorize editor when a public link's time range changes by @Loaki07 in https://github.com/openobserve/openobserve/pull/16041
- fix: drop over-long streams in Prometheus remote write per stream by @haohuaijin in https://github.com/openobserve/openobserve/pull/16049
- fix: set the _bulk errors flag for rows rejected at write by @haohuaijin in https://github.com/openobserve/openobserve/pull/16085
- fix(dashboards): show field labels in panel config range errors by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16099
- test(profiles): API and e2e UI suites for Continuous Profiling by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16089
- fix(fleet): bound fleet lists and the audit trail to readable fleets by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16088
- feat(alerts): suppress repeat notifications per state change by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16071
- feat(dashboards): add the logs panel type by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/15927
- fix: match the session replay geo checks to the columns they select by @Nedaa-Hussein-Apex in https://github.com/openobserve/openobserve/pull/16102
- feat: org level domain mapping by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15385
- fix(infra): drop test-only add_column helper that warned as dead code by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16101
- fix(fleet): Add collector detects the collector of a token created in the dialog by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16103
- feat(data-sources): eBPF network flow metrics steps on the Kubernetes and Linux cards by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16112
- fix: open traces alert and AI-chat search links on the right page by @bjp232004 in https://github.com/openobserve/openobserve/pull/16091
- fix(dashboards): pie legend values follow-ups from #16025 by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16083
- fix(rum): wait for the stylesheet proxy rewrite before building the replay by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/15708
- chore(deps): bump zip from 9.0.3 to 9.1.3 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15990
- feat(logs): list internal streams last with a Hide action in the stream picker by @bjp232004 in https://github.com/openobserve/openobserve/pull/15981
- fix(fleet): deploy needs a picked fleet, no promised fleet alerts, quoted text in Visual by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16104
- fix(db-monitoring): back off a rollup stream whose window search keeps failing by @DHRUV6029 in https://github.com/openobserve/openobserve/pull/15783
- fix(oncall): CAS writes to release an acknowledgement and start the ladder clock by @Subhra264 in https://github.com/openobserve/openobserve/pull/16056
- fix(fleet): settings bounds, honest delete and restart, clearer access and locale text by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16105
- test: regression coverage for the Needs-Automation queue (#12603, #2188) by @neha00290 in https://github.com/openobserve/openobserve/pull/16043
- feat(saved-views): saved views submenu with favorites, edit and delete on Logs and Traces by @bjp232004 in https://github.com/openobserve/openobserve/pull/16077
- fix(alerts): let a PagerDuty destination send to the EU service region by @Subhra264 in https://github.com/openobserve/openobserve/pull/16090
- feat(rum): funnel breakdown by any field, trend view and compare to an earlier period by @omkarK06 in https://github.com/openobserve/openobserve/pull/15645
- feat(rum): add Heatmaps to Product Analytics with server-side click ranking by @bjp232004 in https://github.com/openobserve/openobserve/pull/16080
- test: fix three flaky Playwright tests (pie legend, reports create, background color) by @neha00290 in https://github.com/openobserve/openobserve/pull/16116
- fix(header): keep My on-call out of the profile menu until the full config loads by @neha00290 in https://github.com/openobserve/openobserve/pull/16115
- chore(deps): bump systeminformation from 5.31.17 to 5.33.19 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15989
- chore(deps): bump qs from 6.16.0 to 6.17.1 in /tests/ui-testing by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15935
- fix(logs): steady first paint and settle-once status bar on the Logs page by @oasisk in https://github.com/openobserve/openobserve/pull/16081
- feat(traces): honest list and URL state on the Traces explore page by @omkarK06 in https://github.com/openobserve/openobserve/pull/16106
- chore(deps): bump node-forge from 1.4.0 to 1.4.2 in /tests/ui-testing by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16133
- fix(ui): keep rows, scroll and counts steady while pages load by @oasisk in https://github.com/openobserve/openobserve/pull/16118
- fix(logs): keep quoted, $-token and AND-containing values intact in field-value filters by @bjp232004 in https://github.com/openobserve/openobserve/pull/16123
- fix(rum): restore backend trace correlation for request errors by @hzzcc in https://github.com/openobserve/openobserve/pull/15887
- fix(ui): move file sizes up a unit when they round to 1024 by @Abhishek-B-R in https://github.com/openobserve/openobserve/pull/15971
- fix: keep Update User dialog closed after Save by @TheAkshitS in https://github.com/openobserve/openobserve/pull/15324
- fix(ingestion): point Azure setup at the real ingest URL and show the 50 GB plan line only on the free limit by @bjp232004 in https://github.com/openobserve/openobserve/pull/16122
- test(alerts): API coverage for templates, destinations and bulk alert ops (slice 1 of #14427) by @bjp232004 in https://github.com/openobserve/openobserve/pull/16125
- fix(traces): open a trace in a new tab from the results list (link, middle-click, cmd/ctrl-click, context menu) by @bjp232004 in https://github.com/openobserve/openobserve/pull/16124
- fix: root causes behind the most flaky e2e tests by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16126
- feat(infra): Dependencies maps for Kubernetes workloads and Linux hosts from eBPF network flows by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16121
- fix(ui): show RBAC denials once, in place, with the missing permission by @oasisk in https://github.com/openobserve/openobserve/pull/16131
- ci: run enterprise-gated unit tests and fix their failures by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16135
- test: unmount EditRole and OnCallResponseDetail wrappers after each test by @oasisk in https://github.com/openobserve/openobserve/pull/16139
- test: migrate the meta store before the status page cache-expiry test by @oasisk in https://github.com/openobserve/openobserve/pull/16140
- fix(traces): dashed ring for inferred dependencies, round computed LLM cost by @omkarK06 in https://github.com/openobserve/openobserve/pull/16120
- fix: root causes behind five flaky logs and enrichment e2e tests by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16141
- ci: speed up API integration tests by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16171
- fix(traces): readable flame graph labels, unclipped chart tooltips, outlined close button by @omkarK06 in https://github.com/openobserve/openobserve/pull/16119
- fix(logs): keep SQL mode on for EXPLAIN / EXPLAIN ANALYZE queries by @bjp232004 in https://github.com/openobserve/openobserve/pull/16129
- test: wait on animation frames in the ClickHeatmap refit tests by @oasisk in https://github.com/openobserve/openobserve/pull/16138
- fix(oncall): a cover wins over an absence, short gaps are found, rule ties are refused on save by @Subhra264 in https://github.com/openobserve/openobserve/pull/15982
- fix: show zero firing count in alert list Groups column by @JNLei in https://github.com/openobserve/openobserve/pull/16111
- chore(deps): bump re2js from 2.8.6 to 2.8.7 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15988
- fix: flush the ingester sidecar after each append and deflake three unit tests by @oasisk in https://github.com/openobserve/openobserve/pull/16178
- ci: re-run mis-timestamped checks that stall the merge queue by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16182
- fix(logs): stream picker tooltip and keyboard focus, and repair stale nightly regression checks by @neha00290 in https://github.com/openobserve/openobserve/pull/16184
- feat(rum): mark unrecorded canvases and list failed requests in the session player by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/15709
- feat(traces): Drill down presets and heatmap selection menu by @omkarK06 in https://github.com/openobserve/openobserve/pull/16107
- fix(logs): stop a stream list fetched for another org landing after an org switch by @bjp232004 in https://github.com/openobserve/openobserve/pull/16136
- fix(web): resolve CodeQL ReDoS and prototype-pollution alerts by @bjp232004 in https://github.com/openobserve/openobserve/pull/16137
- ci: cancel in-flight PR test runs only on a new commit by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16177
- fix(oncall,traces): on-call schedule, row labels, handover and ringing hint; DAG controls in dark mode by @neha00290 in https://github.com/openobserve/openobserve/pull/16172
- feat(metrics): boolean label filters, usage and outlier sorts, interval-aligned steps by @prabhatsharma in https://github.com/openobserve/openobserve/pull/16114
- fix(rum): funnel compare, trend and toolbar review fixes by @omkarK06 in https://github.com/openobserve/openobserve/pull/16128
- ci: rerun only failed spec files, retry once, and add a nightly full Playwright run by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15903
- fix: schedule crons in the IANA zone, repair org ownership, and stop masking OpenFGA role and group errors by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16181
- fix(nats): fail KV key enumeration instead of returning a partial list by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16199
- feat(i18n): add Thai (th-TH) language support with enterprise terminology by @phumiphat2201 in https://github.com/openobserve/openobserve/pull/16029
- chore(release): publish openapi.json with each release by @gaby in https://github.com/openobserve/openobserve/pull/16193
- fix(profiles): route queries to queriers and reject bad profiles input by @haohuaijin in https://github.com/openobserve/openobserve/pull/16094
- chore(bounty-board): add autofix-partial label for partly fixable issues by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16216
- ci: run the sister enterprise gate on every PR event by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16219
- feat(alerts): add Jira as an alert destination by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16026
- fix(web): satisfy CodeQL prototype-pollution check on dashboard lookups by @bjp232004 in https://github.com/openobserve/openobserve/pull/16206
- test: remove low-value unit tests from 60 web specs by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16209
- test(ui): make flaky unit specs deterministic by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16210
- fix(rum): hold the Product Analytics Trends query until an app is known by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16221
- fix: watch branding updates on router nodes by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16201
- fix: answer 400 for bad role updates and stop time-range overflow and PromQL time panics by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16190
- fix: check RBAC on synthetics bulk delete and anomaly alert history by @Loaki07 in https://github.com/openobserve/openobserve/pull/16208
- fix: compare session expiry in microseconds by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16211
- fix(traces): event markers past the span end, latency bar height, Duration chart height by @omkarK06 in https://github.com/openobserve/openobserve/pull/16220
- feat: add map modifier to alert templates by @JNLei in https://github.com/openobserve/openobserve/pull/16109
- fix: sort cached hits by the aliased timestamp when ORDER BY uses _timestamp by @Loaki07 in https://github.com/openobserve/openobserve/pull/16207
- fix: skip the trace time index when its stream key is too long by @haohuaijin in https://github.com/openobserve/openobserve/pull/16230
- fix: let fleet pages open on an org with no data by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16226
- test(streams): don't count GitHub 429 as a broken doc link by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16202
- feat(oncall): one acknowledge across alerts, incidents and on-call pages by @Subhra264 in https://github.com/openobserve/openobserve/pull/16098
- feat(oncall): on-call pages in Slack, on the OpenObserve Slack app by @Subhra264 in https://github.com/openobserve/openobserve/pull/16192
- fix(promql): report the metric streams a query read in usage events by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16240
- chore(agents): add feature-owned internal stream naming convention by @Loaki07 in https://github.com/openobserve/openobserve/pull/16244
- chore: say fleet tokens get 401 when fleet is disabled by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16243
- fix: skip compactor jobs for streams whose key cannot be stored by @haohuaijin in https://github.com/openobserve/openobserve/pull/16231
- chore: document PromQL 400/403/429 responses by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16224
- fix(ui): name the right permission and surface every RBAC denial by @oasisk in https://github.com/openobserve/openobserve/pull/16204
- fix(rum): keep Performance sub-tab links on their tab by @neha00290 in https://github.com/openobserve/openobserve/pull/16212
- fix(alerts): faster alert library cards and a first-run path to the library by @omkarK06 in https://github.com/openobserve/openobserve/pull/16087
- fix(dashboards): range warning text, dashed comparison series, View Panel variables (#16013) by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/16232
- feat(profiles): build tantivy index for profiles streams by @haohuaijin in https://github.com/openobserve/openobserve/pull/16238
- fix(search): match substrings that overlap a partial match in ContainsAutomaton by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16250
- fix(llm-eval): org-scope provider lookups; check experiment dataset, prompt and provider reads by @uddhavdave in https://github.com/openobserve/openobserve/pull/16174
- fix(profiles): wire the frame menu in Compare by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16239
- fix(mcp): use the npm package in the skills install command by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/16117
- fix(dashboards): show one No Data state on an empty logs panel by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16227
- chore(agents): require streaming search endpoints in the UI and drop MySQL from the schema rules by @Loaki07 in https://github.com/openobserve/openobserve/pull/16260
- fix(workflows): scope draft update and delete to the org by @neha00290 in https://github.com/openobserve/openobserve/pull/16215
- ci(ui): shard the UI unit tests into 4 jobs and merge coverage by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16241
- fix: return clean errors from roles and groups APIs by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16205
- fix(streams): treat profiles as user data; original-data toggle only on logs by @haohuaijin in https://github.com/openobserve/openobserve/pull/16249
- feat(dashboards): Chart | Data switch on panels, View panel and the panel editor by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/16059
- test(fleet): API, RBAC, UI and real-collector coverage for fleet management by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16189
- fix(ci): cut wasted CI work and start enterprise checks on ready-for-ci by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16195
- ci(telemetry): let the server price CI LLM spans from token counts by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16258
- fix(openapi): publish public API routes and guard spec coverage by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16280
- fix: withhold tokens and credentials from readers in fleet, destinations, synthetics and AI by @uddhavdave in https://github.com/openobserve/openobserve/pull/16044
- fix: do not acknowledge Firehose and Pub/Sub requests that stored nothing by @haohuaijin in https://github.com/openobserve/openobserve/pull/16253
- fix(db): propagate file_list registration errors to prevent silent da… by @manulpatel in https://github.com/openobserve/openobserve/pull/15968
- fix(ci): push translation commits with a GitHub App token by @uddhavdave in https://github.com/openobserve/openobserve/pull/16255
- fix(authz): test overlong role users against the 512-byte OpenFGA limit by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16291
- fix(metrics): search says "No metrics match" though matches with data exist by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16290
- fix: tell Prometheus remote write senders how much was written by @haohuaijin in https://github.com/openobserve/openobserve/pull/16214
- fix(ai-review): let the server price review LLM spans from token counts by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16197
- fix(recent-searches): distinct toolbar icon, Logs button size, refetch a stale stream list on restore by @ktx-abhay in https://github.com/openobserve/openobserve/pull/16223
- fix(ai-review): review every new commit, keep one comment, grade P0-P3 by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16100
- fix: reject a negative toolset list limit and publish satisfiable scorer schemas by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16301
- feat(profiles): support user-defined schema for profiles streams by @haohuaijin in https://github.com/openobserve/openobserve/pull/16237
- test(oncall): run the on-call suites for real in enterprise CI by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/15987
- fix(synthetics): offer only AWS when adding a location by @Loaki07 in https://github.com/openobserve/openobserve/pull/16308
- fix(logs): keep field-value filters on the exact field name by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16304
- fix(llm-eval): reuse a saved provider key only for its saved endpoint by @Loaki07 in https://github.com/openobserve/openobserve/pull/16310
- chore: fill default search Query fields with ..Default::default() by @haohuaijin in https://github.com/openobserve/openobserve/pull/16314
- fix: return 400 for an invalid remote scorer endpoint by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16315
- fix(alerts): Slack app posts for composites, a fair downtime cap, refused posts on Settings by @Subhra264 in https://github.com/openobserve/openobserve/pull/16269
- test(dashboards): add E2E coverage for the bar gauge panel type by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16313
- test: fix three e2e tests (dashboard variable save, metrics range body, IAM pane Selected filter) by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16309
- fix(a11y): label alert, anomaly and settings form controls and route aria-* to textarea, combobox and tag input by @bjp232004 in https://github.com/openobserve/openobserve/pull/16299
- fix: status page counts verdicts per run, not per tick by @Loaki07 in https://github.com/openobserve/openobserve/pull/16096
- fix(fleet): wait for an online collector before a rollout sends an unproven version by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16321
- fix(rum): accept a JSON array body on the RUM logs intake by @bjp232004 in https://github.com/openobserve/openobserve/pull/16324
- ci: run the AI code review on Claude Sonnet 5.5 with the usage-credit key by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16332
- fix(fleet): list every fleet while RBAC is lifted, as item reads already allow by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16335
- fix(infra): make the Kubernetes explorer work at any ingest flatten level by @bjp232004 in https://github.com/openobserve/openobserve/pull/16300
- feat(ai-obs): fix the AI observability UX gaps by @uddhavdave in https://github.com/openobserve/openobserve/pull/15984
- fix(oncall): Resolve ends the acknowledgement, plus 13 first-use UX fixes by @Subhra264 in https://github.com/openobserve/openobserve/pull/16287
- fix(dbm): one Databases row per server, with a Schema filter inside by @mmosarafO2 in https://github.com/openobserve/openobserve/pull/16278
- fix(logs): show the run-query prompt when re-applying from Search History by @neha00290 in https://github.com/openobserve/openobserve/pull/16213
- test(traces): seed triage-loop brush tests inside the brushed window by @neha00290 in https://github.com/openobserve/openobserve/pull/16341
- fix(ai-review): cut review cost: skip unchanged diffs, bound sessions, lighter tiers by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16347
- fix(oncall): unsnooze a page so paging continues now by @Subhra264 in https://github.com/openobserve/openobserve/pull/16338
- test(alerts): stop the two rca_turn unit-test flakes in the enterprise build by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16326
- feat(workflows): call any workflow over an authenticated HTTP endpoint by @oasisk in https://github.com/openobserve/openobserve/pull/15706
- feat(dashboards): add a Date variable type with a date picker, output formats and timezone by @MinaKaramApex in https://github.com/openobserve/openobserve/pull/16191
- fix(ai): LLM ingest for Vercel/OpenInference/OpenLLMetry/Langfuse, de-duplicated totals, prompt and playground fixes by @uddhavdave in https://github.com/openobserve/openobserve/pull/16286
- feat(license): gate features by license in the backend by @pr1sm8 in https://github.com/openobserve/openobserve/pull/14933
- fix(fleet): record each audit event's fleet at write time and page the trail on the server by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16343
- ci: harden the enterprise crosscheck retry, dedupe and cancel handling by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16292
- ci: run test jobs on EKS runners, keep builds on Ubicloud by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16346
- fix(auth): serve invites only behind auth middleware by @007harshmahajan in https://github.com/openobserve/openobserve/pull/16363
- fix(fleet): persist the rollout strategy, three-column pipeline map, enterprise build fix by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16365
- fix(oncall): count an exhausted ladder as still paging, not stopped by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16367
- ci: show a notice when the API/Playwright suite is skipped by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16366
- test(logs): stop saved views submenu clicks from dismissing the menu by @ktx-akshay in https://github.com/openobserve/openobserve/pull/16325
- fix(synthetics): show a complete headline for dead-lettered runs by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16328
- fix(synthetics): do not show "Passed" on a run while it is still loading by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16327
- fix(traces): zoom controls on trace graphs, per-branch tree metrics, catalog errors, org switch with Auto Run off by @omkarK06 in https://github.com/openobserve/openobserve/pull/16282
- fix(synthetics): drop the stray "or" from the check-budget error by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/16330
- chore(deps): bump int128/docker-manifest-create-action from 2.29.0 to 2.30.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16275
- chore(deps): bump actions/cache from 4 to 6 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16274
- chore(deps): bump anthropics/claude-code-action from 1.0.261 to 1.0.266 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16276
- chore(deps): bump taiki-e/install-action from 2.87.31 to 2.89.0 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16273
- chore(deps): bump gradle/actions/setup-gradle from 6.4.0 to 6.4.1 by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16277
- fix: show the HTTP status and error message of RUM spans in the trace view by @Nedaa-Hussein-Apex in https://github.com/openobserve/openobserve/pull/16288
- feat(traces): create alerts, add RED charts to dashboards and ask AI from the explorer by @omkarK06 in https://github.com/openobserve/openobserve/pull/16284
- chore(deps): bump qs and express in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/15934
- fix(downtimes): muted real-time rows, replica reads, notification bodies, replication ties by @Loaki07 in https://github.com/openobserve/openobserve/pull/16339
- chore(deps): bump follow-redirects from 1.16.1 to 1.16.2 in /web by @dependabot[bot] in https://github.com/openobserve/openobserve/pull/16132
- fix(oncall): serve the on-call pages list from bulk reads by @Subhra264 in https://github.com/openobserve/openobserve/pull/16344
- ci: run chosen Playwright shards on any branch by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16369
- fix(dashboards): lock the import folder while importing and keep the home pin's folder current after a move by @neha00290 in https://github.com/openobserve/openobserve/pull/16295
- fix(self-profiles): run the self-profiles loop on single-role routers by @haohuaijin in https://github.com/openobserve/openobserve/pull/16379
- fix(oncall): a member removed from a team no longer holds the problem by @Subhra264 in https://github.com/openobserve/openobserve/pull/16355
- fix(web): switch table row hover instantly so fast pointer moves leave no fading trail by @ktx-abhay in https://github.com/openobserve/openobserve/pull/16376
- test: deflake logs, alerts, metrics, streams and job search e2e tests by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/16372
- test(logs): fix flaky Index.permalink spec waits by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/16377
- feat(license): gate features by license in the UI by @pr1sm8 in https://github.com/openobserve/openobserve/pull/16233
- fix(fleet): clear a fleet's desired version on rollback and match the console by @hengfeiyang in https://github.com/openobserve/openobserve/pull/16371
- fix(datetime): say the clipboard is empty instead of a parse error on paste by @neha00290 in https://github.com/openobserve/openobserve/pull/16317
- fix(alerts): show the Failed Only and Silenced filter tooltips by @neha00290 in https://github.com/openobserve/openobserve/pull/16319
- @NickWilde18 made their first contribution in https://github.com/openobserve/openobserve/pull/15222
- @durlabhjain made their first contribution in https://github.com/openobserve/openobserve/pull/14902
- @Hermsi1337 made their first contribution in https://github.com/openobserve/openobserve/pull/15294
- @Abhishek-B-R made their first contribution in https://github.com/openobserve/openobserve/pull/15495
- @prabhkodes made their first contribution in https://github.com/openobserve/openobserve/pull/15906
- @ShadowStormVK made their first contribution in https://github.com/openobserve/openobserve/pull/16062
- @Nedaa-Hussein-Apex made their first contribution in https://github.com/openobserve/openobserve/pull/16102
- @hzzcc made their first contribution in https://github.com/openobserve/openobserve/pull/15887
- @JNLei made their first contribution in https://github.com/openobserve/openobserve/pull/16111
- @phumiphat2201 made their first contribution in https://github.com/openobserve/openobserve/pull/16029
Full Changelog: https://github.com/openobserve/openobserve/compare/v1.1.0-rc2...v1.2.0-rc1
3.16.0-rc.4 / 2026-11-03
- [CHANGE] API: The experimental search endpoints now clamp
batch_sizeto 1000. #19731 - [CHANGE] Configuration: Default --web.external-url to https when --web.config.file enables TLS. #19241
- [CHANGE] PromQL: Subquery samples are now included in the query TotalSamples and TotalSamplesPerStep statistics, and SamplesRead now counts reads from subqueries with an @ modifier in range queries. #19165
- [CHANGE] Remote write: Stop exposing the deprecated
prometheus_remote_storage_metadata_total,prometheus_remote_storage_metadata_failed_total,prometheus_remote_storage_metadata_retried_total, andprometheus_remote_storage_metadata_bytes_totalmetrics for Remote Write 2.0 queues. #20080 - [CHANGE] Remote write receiver: Count Remote Write 2.x samples and histograms ingested without metadata in
prometheus_api_remote_write_without_metadata_appended_samples_totaleven whenmetadata-wal-recordsis disabled. #19812 - [CHANGE] TSDB: Reject exemplars whose label names are not unique, instead of storing them and serving a duplicate JSON key from
/api/v1/query_exemplars. #19896 - [FEATURE] API: Allow overriding PromQL Start Timestamp processing on a per-query basis using the
X-Prometheus-Use-Start-TimestampsHTTP header. #19066 - [FEATURE] Agent: Support metadata-wal-records in Prometheus Agent mode. #19684
- [FEATURE] PromQL: Add experimental
integral()function for computing integral-over-time of range vectors behind the--enable-feature=promql-experimental-functionsflag. #14440 - [FEATURE] PromQL: Add experimental query cost estimation, actual cost reporting, and configurable execution limits, enabled with
--enable-feature=query-cost. #20028 - [FEATURE] PromQL: Smoothed and Anchored vector selectors are now stable and always-on. #19697
- [FEATURE] PromQL: Use start timestamps to detect counter resets when float timeseries are queried using extended range selector modifiers (
anchored,smoothed). This feature is hidden behinduse-start-timestampsfeature flag. #18966 - [FEATURE] Promtool: print test filename during promtool tests #18271
- [FEATURE] PromQL: Allow unquoted Unicode letters and dots behind a feature flag #20162
- [ENHANCEMENT] Search API: Warn when participating remote-read storage does not support search. #19992
- [ENHANCEMENT] Remote Read: Add native histogram prometheus_remote_read_handler_gate_wait_duration_seconds to measure concurrency-gate wait duration, including requests canceled while waiting. #18355
- [ENHANCEMENT] Remote Write: Add experimental flag
convert_nhcb_to_classicto convert NHCB to classic histograms for external systems that dont support NHCBs. #17205 - [ENHANCEMENT] promtool: Add
--allow-incompatible-block-durationso users can specify any max-block-duration instead of being restricted to the default Prometheus block durations. #19363 - [PERF] Remote write: Cache repeated OTLP histogram metric names. #19717
- [PERF] OpenMetrics 2.0 parser: Reuse classic histogram and summary expansion buffers across scrapes. #19907
- [PERF] PromQL: Decode only histogram sum/count (not buckets) for timestamp(), start_timestamp() and absent(). #19738
- [PERF] PromQL: Only select the fixed window for subqueries with an
@modifier. #19863 - [PERF] Remote write / TSDB: Deduplicate per-series metadata structs in memory with
unique.Handle. #20040 - [PERF] Scrape: Avoid some copies of scrape response bodies. #19394
- [PERF] TSDB: Improve XOR2 compression and append performance by selecting value windows based on encoding cost. #19962
- [PERF] TSDB: Reduce memory used writing and reading checkpoint metadata records. #19712
- [PERF] Scrape: Convert classic histograms to NHCB directly in the OpenMetrics 2.0 parser without wrapping in
NHCBParser. #19880 - [PERF] Scrape: Reduce OpenMetrics 2.0 parser allocations and CPU overhead by lazily constructing composite series and exemplar labels. #19895
- [BUGFIX] Remote read: Abort failed streaming responses without writing duplicate headers or appending plain-text errors to the protobuf stream #19749
- [BUGFIX] TSDB: Fix loss of out-of-order samples when a WAL checkpoint drops a series record that the out-of-order write-behind log still needs #19737
- [BUGFIX] TSDB: Fix queries that seek within a head chunk returning samples committed after the query started #19854
- [BUGFIX] TSDB: Preserve mapped chunks when WAL replay merges multiple references for the same series, preventing missing out-of-order samples and duplicate in-order chunks after restart #19805
- [BUGFIX] Fix auto-reload logic to reload after reverting a failed configuration change #19838
- [BUGFIX] API: Do not match metric family metadata for doubled _total and _info suffixes in experimental search API. #19910
- [BUGFIX] API: Reject
timeoutandlookback_deltavalues that overflow int64 instead of turning them into a negative duration #19658 - [BUGFIX] API: Resolve metric family metadata for suffixed metric names in search results, in experimental search API. #19824
- [BUGFIX] AWS SD: Describe each ElastiCache cluster once instead of twice for clusters that are not replication group members. #19434
- [BUGFIX] Build: Allow installing promtool with version-suffixed go install commands #19754
- [BUGFIX] Discovery: Fix a panic in Azure service discovery when a VM tag has a null value. #19755
- [BUGFIX] Federation: fix corruption of float native histograms. #19679
- [BUGFIX] Fix ts_of_last_over_time for samples before the Unix epoch. #19828
- [BUGFIX] Histograms: Fix ConvertNHCBToClassic inflating classic bucket counts for integer native histograms whose spans have gaps. #19659
- [BUGFIX] Logging: Preserve rule and TSDB block values in JSON logs. #19572
- [BUGFIX] OTLP receiver: Drop exemplars with timestamps more than 10 minutes in the future instead of storing them and blocking subsequent exemplars for that series. #19812
- [BUGFIX] OTLP: Count only out-of-order exemplars in
prometheus_api_otlp_out_of_order_exemplars_total, not every rejected exemplar. #20030 - [BUGFIX] OTLP: Do not drop exemplars that have a
trace_idorspan_idfiltered attribute in addition to a trace or span ID. The trace context now takes precedence over the colliding attribute, as required by the OpenTelemetry specification. #20004 - [BUGFIX] OTLP: Do not emit
le="+Inf"twice when a histogram's explicit bounds end at+Inf, and warn about the bound. #19425 - [BUGFIX] OTLP: Stop dropping exemplars that arrive out of timestamp order within a data point. #20029
- [BUGFIX] OpenMetrics 2.0: Attach histogram exemplars to matching classic
_bucketseries and preserve them when scraping both native and classic histograms. #20020 - [BUGFIX] PromQL: Avoid intermediate overflow in
rad()anddeg()conversions. #19901 - [BUGFIX] PromQL: Consistently ignore and drop
__type__and__unit__labels inwithoutaggregations,absent(),info(), and binary operator fill matching. #19986 - [BUGFIX] PromQL: Do not panic when printing the partial AST returned alongside a parse error. #19797
- [BUGFIX] PromQL: Drop type and unit in binary operations so they are transparent to users, similar to how name is handled. #18680
- [BUGFIX] PromQL: Fix
==,!=,changes()andcount_valueson native histograms giving wrong results insidehistogram_count(),histogram_sum()andhistogram_avg(). #20024 - [BUGFIX] PromQL: Fix histogram_fraction returning wrong results for native histograms with custom buckets when a bucket boundary is exactly 0. #19657
- [BUGFIX] PromQL: Fix histogram_quantile and histogram_quantiles interpolating within the wrong bucket for native histograms whose sum is NaN. #19973
- [BUGFIX] PromQL: Fix lexing of subqueries whose range is a duration keyword expression, e.g.
foo[range():1s]. #19729 - [BUGFIX] PromQL: Fix warning and error locations for duration expressions
min_ofandmax_of. #19742 - [BUGFIX] PromQL: Ignore NaN classic histogram bucket boundaries in
histogram_quantile,histogram_quantilesandhistogram_fractionand return correct value instead of NaN if there are normal buckets. #20057 - [BUGFIX] PromQL: Preserve infinite values at exact quantile ranks. #19899
- [BUGFIX] PromQL: Preserve original operand sides for experimental fill modifiers with group_right matching. #19939
- [BUGFIX] PromQL: Preserve subquery step expressions when printing queries after preprocessing. #19743
- [BUGFIX] PromQL: Range vector functions no longer raise a spurious "vector cannot contain metrics with the same labelset" error when series have different metric names but the same remaining labels, as long as their timestamps do not overlap within the evaluated range window #18631
- [BUGFIX] PromQL: do not count subquery materialized samples in total samples statistics #19873
- [BUGFIX] Remote write: Prevent future-dated exemplars from scaling shards down to the minimum. #19866
- [BUGFIX] Agent: Prevent future sent timestamps from advancing WAL truncation beyond the minimum retention window. #19866
- [BUGFIX] Rules: Restore firing alerts with for durations shorter than --rules.alert.for-grace-period after a restart. #19882
- [BUGFIX] Scrape: fix failing scrape when float histogram is emitted over protobuf with count, zero count and buckets all zero, for example a result of recording
rate(x[1m])over constant histogram. #19682 - [BUGFIX] Search API: Return the lexically smallest label values when
limitis set on/api/v1/search/label_values, instead of an arbitrary subset #19694 - [BUGFIX] TSDB: Fix WAL watcher permanently skipping checkpoint series garbage collection when lagging behind head truncation. #20041
- [BUGFIX] Search API: Avoid panics when the requested time range has no participating storage. #19992
- [BUGFIX] TSDB: Fix a race in selected-series and stale-series compaction where a sample committed after the block was written but before the series was evicted from the head could be silently lost. The fix no longer depends on isolation being enabled. #19666
- [BUGFIX] TSDB: Fix a rare case where a sample could be lost during selected-series or stale-series compaction if an unrelated write to the same series ran cleanup that erased the evidence needed to protect it. #19672
- [BUGFIX] TSDB: Fix spurious "unknown series references" warnings during WAL replay after a restart, when the only blocks on disk were produced by selected-series or stale-series compaction. #19734
- [BUGFIX] TSDB: Increment
prometheus_tsdb_wal_corruptions_totalwhen WAL corruption is detected during checkpoint creation, so the metric reflects corruption found at compaction time rather than only after a restart-triggered repair. #19858 - [BUGFIX] TSDB: Preserve series identities needed to recover exemplars after compaction and restart. #19940
- [BUGFIX] TSDB: Reject native histograms whose span offsets overflow the int32 bucket index instead of storing them with corrupted buckets. #20034
- [BUGFIX] TSDB: fix no passing metadata-wal-records to TSDB from main feature flag. #19678
- [BUGFIX] Templates: Preserve IPv6 addresses with dotted zone identifiers in
stripDomain. #19908 - [BUGFIX] UI: Don't automatically open an autocomplete dropdown after closing a function call body or aggregation operator with a closing parenthesis. #19825
- [BUGFIX] Web: Fix HTTP/2 negotiation silently falling back to HTTP/1.1 under Go 1.27+ when TLS is enabled with
http2: true. The server now correctly advertisesh2via ALPN and multiplexes concurrent requests over a single connection. #19848 - [BUGFIX] mixin: Fix double-counting of failed samples in the
PrometheusRemoteStorageFailuresalert denominator. #19877 - [BUGFIX] promtool: Honor
--enable-featurewhen evaluating rules intest rules. #20046 - [BUGFIX] Scrape: Ensure UTF-8 works with the experimental OpenMetrics 2.0 #19902
- [BUGFIX] Scrape: Reject sum-only classic histograms during NHCB conversion #19315
Pingora 0.9.1
0.9.1 - 2026-11-02
🐛 Bug Fixes
- Fix a panic on every accepted and outgoing connection with tokio 1.54 and later, which rejects zero-capacity buffered readers (#1059).
- Fix the docs.rs build of the
pingoracrate, which failed for 0.9.0 (#1018). - Fix a panic in
pingora-limitsEstimator::incrwhen a counter overflows in builds with overflow checks enabled (#1041).
🔒 Security
- Require zstd 0.14.3, and through it zstd-safe 8.2.0 and zstd-sys 2.1.2, so dependency resolution cannot select zstd crates affected by RUSTSEC-2026-0391, RUSTSEC-2026-0395 through RUSTSEC-2026-0406, or RUSTSEC-2026-0410.
⚙️ Miscellaneous Tasks
- Ignore RustSec advisories for rustls 0.21, webpki-roots 0.26, rustls-webpki 0.101 and crypto-bigint 0.5.5, which reach the lockfile only through optional transitive dependencies and have no compatible fixed release.
- Update HTTP/2 rejection tests for h2 releases that reject conflicting Content-Length headers in the codec.
v1.40.3
- #19958
agentName v1.41.0 in skip_processors_after_aggregators warning - #20026
disk-bufferShift mask by number of truncated entries - #20012
internalRead all process output before closing the pipes - #20003
metricSkip adding nonconvertible field values - #19920
common.proxySend CONNECT credentials in Proxy-Authorization - #19884
common.proxyUse TLS towards https proxies before sending CONNECT - #20007
inputs.docker_logDo not record a zero timestamp for empty log streams - #19928
inputs.docker_logKeep log-stream state when stream is cancelled - #19915
inputs.http_listener_v2Limit the body size for every content encoding - #19969
inputs.opcua_listenerRespect server's MaxMonitoredItemsPerCall limit - #19975
inputs.s7commReconnect after a failed handshake - #19946
outputs.elasticsearchError out on invalid headers - #19947
outputs.elasticsearchOnly update index template if necessary - #19930
outputs.mqttResolve topic template for metrics from tracking inputs - #19556
outputs.parquetOrder columns deterministically - #19977
outputs.parquetRemove the file when creating the writer fails - #19876
outputs.postgresqlReject metrics with an empty measurement name - #19887
serializers.prometheusLeave out histograms and summaries without count and sum - #19882
serializers.prometheusremotewriteDo not seed zero placeholders for split histograms
- #19904
depsBump cloud.google.com/go/auth from 0.24.0 to 0.24.1 - #20001
depsBump cloud.google.com/go/bigquery from 1.85.0 to 1.86.0 - #19991
depsBump cloud.google.com/go/monitoring from 1.31.0 to 1.32.0 - #19985
depsBump cloud.google.com/go/pubsub/v2 from 2.7.0 to 2.8.0 - #19989
depsBump cloud.google.com/go/storage from 1.69.0 to 1.70.0 - #19942
depsBump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.14.1 to 1.15.0 - #19913
depsBump github.com/ClickHouse/clickhouse-go/v2 from 2.48.0 to 2.49.0 - #19894
depsBump github.com/SAP/go-hdb from 1.19.0 to 1.19.2 - #19987
depsBump github.com/SAP/go-hdb from 1.19.2 to 1.19.3 - #19909
depsBump github.com/alitto/pond/v2 from 2.7.1 to 2.7.2 - #19983
depsBump github.com/alitto/pond/v2 from 2.7.2 to 2.7.3 - #20014
depsBump github.com/andybalholm/brotli from 1.2.6 to 1.2.7 - #19901
depsBump github.com/antchfx/jsonquery from 1.3.7 to 1.3.8 - #19899
depsBump github.com/antchfx/xmlquery from 1.5.1 to 1.5.2 - #19912
depsBump github.com/antchfx/xpath from 1.3.8 to 1.3.9 - #19933
depsBump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.338.4 to 1.339.0 in the aws-sdk-go-v2 group - #19988
depsBump github.com/dimchansky/utfbom from 1.1.1 to 1.2.0 - #19981
depsBump github.com/go-chi/chi/v5 from 5.3.2 to 5.4.0 - #20013
depsBump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 - #19910
depsBump github.com/go-ldap/ldap/v3 from 3.4.14 to 3.4.15 - #19990
depsBump github.com/gosnmp/gosnmp from 1.45.0 to 1.47.0 - #19993
depsBump github.com/hashicorp/consul/api from 1.34.5 to 1.35.0 - #19938
depsBump github.com/klauspost/compress from 1.20.1 to 1.20.3 - #19995
depsBump github.com/klauspost/pgzip from 1.2.7 to 1.3.0 - #19891
depsBump github.com/moby/moby/client from 0.6.1 to 0.6.2 - #19934
depsBump github.com/nats-io/nats-server/v2 from 2.15.0 to 2.15.1 - #19998
depsBump github.com/nats-io/nats.go from 1.54.0 to 1.55.0 - #19895
depsBump github.com/p4lang/p4runtime from 1.5.0 to 1.6.0 - #19935
depsBump github.com/pion/dtls/v3 from 3.1.13 to 3.1.14 - #19992
depsBump github.com/pion/dtls/v3 from 3.1.14 to 3.1.15 - #19893
depsBump github.com/pion/dtls/v3 from 3.1.9 to 3.1.13 - #19902
depsBump github.com/prometheus/client_golang from 1.24.1 to 1.25.0 - #19906
depsBump github.com/prometheus/common from 0.71.0 to 0.72.0 - #19940
depsBump github.com/prometheus/common from 0.72.0 to 0.72.1 - #19986
depsBump github.com/prometheus/procfs from 0.22.0 to 0.23.0 - #19996
depsBump github.com/prometheus/prometheus from 0.315.0 to 0.315.1 - #20000
depsBump github.com/rabbitmq/amqp091-go from 1.15.0 to 1.16.0 - #19900
depsBump github.com/rclone/rclone from 1.75.1 to 1.75.2 - #19905
depsBump github.com/redis/go-redis/v9 from 9.22.0 to 9.23.0 - #19943
depsBump github.com/tidwall/gjson from 1.19.0 to 1.20.0 - #19984
depsBump github.com/vertica/vertica-sql-go from 1.3.8 to 1.3.9 - #20002
depsBump github.com/vmware/govmomi from 0.56.0 to 0.56.1 - #19937
depsBump go.opentelemetry.io/collector/pdata from 1.68.0 to 1.69.0 - #19898
depsBump golang.org/x/mod from 0.41.0 to 0.42.0 - #19914
depsBump golang.org/x/net from 0.59.0 to 0.61.0 - #19939
depsBump golang.org/x/tools from 0.51.0 to 0.52.0 - #19897
depsBump google.golang.org/api from 0.299.0 to 0.301.0 - #19941
depsBump google.golang.org/api from 0.301.0 to 0.304.0 - #19999
depsBump google.golang.org/api from 0.307.0 to 0.308.0 - #19994
depsBump modernc.org/sqlite from 1.60.1 to 1.61.0 - #19892
depsBump software.sslmate.com/src/go-pkcs12 from 0.7.3 to 0.7.4 - #19889
depsBump srebhan/label-milestone-action from 1.2.0 to 1.2.1 - #19982
depsBump the aws-sdk-go-v2 group with 11 updates - #19890
depsBump the aws-sdk-go-v2 group with 11 updates
| Arch | Platform | Package | SHA256 |
|---|---|---|---|
| arm64 | CentOS | telegraf-1.40.3-1.aarch64.rpm | fff21ad2ea8c6c6946548bcaf3e4ee23aa0b4983397e4076cc541ba6339c5534 |
| armel | CentOS | telegraf-1.40.3-1.armel.rpm | 19083f2b88a09db7d8815faed345c833c123e79413dd85c2774333e2f6e36483 |
| armv6hl | CentOS | telegraf-1.40.3-1.armv6hl.rpm | 0e6b12795530b285fed65181a41b8d7cbdef12685398c03d29bc33b70eef90ad |
| i386 | CentOS | telegraf-1.40.3-1.i386.rpm | 654c0ac5efb86688b99731df977e01b9716cc1a3f828cea542820e929661501c |
| unknown | CentOS | telegraf-1.40.3-1.loongarch64.rpm | ac064eba9d1a531a9186ab175a60736685bdc0d54022b45bb49284776080a8c2 |
| ppc64le | CentOS | telegraf-1.40.3-1.ppc64le.rpm | d7fdfd07bb5b750412fe5c01bf742830db42d4c45388c1800ad9b445a08ac170 |
| riscv64 | CentOS | telegraf-1.40.3-1.riscv64.rpm | 80c50376a334f80d7b55ea623eaab7d5e43b5751e68c6a1bb8cd2822f528b62a |
| s390x | CentOS | telegraf-1.40.3-1.s390x.rpm | a123b77bc3b8764e82cc48587a15554fb02ccca4b9570cd8ea2bf04f6d2bc9e9 |
| amd64 | CentOS | telegraf-1.40.3-1.x86_64.rpm | 25a606d78e3373460c7a7188a59cd770f35bf6e4f7be374fdd29590cfc6f5e6b |
| amd64 | macOS | telegraf-1.40.3_darwin_amd64.dmg | 09f9dcf98c7e256e1be761def16a466797fd0dfd2df582cba58421d6d476ccc9 |
| amd64 | macOS | telegraf-1.40.3_darwin_amd64.tar.gz | 416f9b3de5fa8325445ffd31b34131c1121bf8a5a6ae70bb763976fe1e86ab94 |
| arm64 | macOS | telegraf-1.40.3_darwin_arm64.dmg | 5dc17e100ab585d9e8a5689731f517dc0349e6a7cd6fab53ef4e9a56466356e4 |
| arm64 | macOS | telegraf-1.40.3_darwin_arm64.tar.gz | 2d0c1d96bfd4633691585b5e107a4c2c6cfae0ef96d0c91ddd5e28d322b5f5a2 |
| amd64 | FreeBSD | telegraf-1.40.3_freebsd_amd64.tar.gz | e7057800b0f7afe4ba22949311d5a51231dfe355b97eea66a31d81762816d2a2 |
| armv7 | FreeBSD | telegraf-1.40.3_freebsd_armv7.tar.gz | fd5346ecba131b488473e80ed24915621eed1deb70fc4aea31967c5e9b3be38a |
| i386 | FreeBSD | telegraf-1.40.3_freebsd_i386.tar.gz | 43887d0739b355e15ba98564295a17c667c912c2b0a4115bf2c887b45da3843a |
| amd64 | Linux | telegraf-1.40.3_linux_amd64.tar.gz | cbb95c43303db6e75e129a4eb8888ab1468009e61f6615e64a1cb82f50b0f4ce |
| arm64 | Linux | telegraf-1.40.3_linux_arm64.tar.gz | 53aa8a3c5083cd202e2b1140115ee1fd6096d5dc57f455b6dee32d3230432319 |
| armel | Linux | telegraf-1.40.3_linux_armel.tar.gz | 5b3b9c7131899e4702a5de7771602f3f3bde5f0711dd11655ef0f77710d797e9 |
| armhf | Linux | telegraf-1.40.3_linux_armhf.tar.gz | 576bc1d0e80876ef9ba094ea807e08596fc198a9b4238702daa65cb8104b20fd |
| i386 | Linux | telegraf-1.40.3_linux_i386.tar.gz | 24fe2824cc719121e5330ec77d80b4cc53deb15475215dedc8a762ab11349776 |
| loong64 | Linux | telegraf-1.40.3_linux_loong64.tar.gz | 3a4939e4b5c673d4d4abda12e17dd5b859f4ff614ad68a6103e98b78c89d97e5 |
| mips | Linux | telegraf-1.40.3_linux_mips.tar.gz | e84f4ba61f125368e64223301d592b3e54a2012a5d38fa97401d709a4139a613 |
| mipsel | Linux | telegraf-1.40.3_linux_mipsel.tar.gz | 04c0cda0badc3057ea1ae82a01547314a5cee1e080140db4bbe02b097f5ec139 |
| ppc64le | Linux | telegraf-1.40.3_linux_ppc64le.tar.gz | eb72e456eb2afb72c7ee4732627b2abf5ddc644661da1ff38d89def647a981ff |
| riscv64 | Linux | telegraf-1.40.3_linux_riscv64.tar.gz | 715d4b9aaf8605fdc6c8b0f84f24dbe0b8dd7afdd85a78b10bb3d8c28d2d8cbe |
| s390x | Linux | telegraf-1.40.3_linux_s390x.tar.gz | f5119e6f7db9ef0abbc18b443a419182808ab2b8d1c561f07a14092b4367558f |
| amd64 | Windows | telegraf-1.40.3_windows_amd64.zip | 273867d9bb070625b8fc8627f3189899b1221c2c6540dd98f6e526108a89c9c3 |
| arm64 | Windows | telegraf-1.40.3_windows_arm64.zip | 7414adef8d77866da88af0432ade14603db61926e42b32f7c5dbacab84010ec7 |
| i386 | Windows | telegraf-1.40.3_windows_i386.zip | 4c99879a5fe1384587f29919c1e899c02b2c51486935ecf20c6a2eaebe84d0a5 |
| amd64 | Debian | telegraf_1.40.3-1_amd64.deb | 37d0d621ab25f584b82566de99f9bd140e311804fe9cefbcb4b572b417a615f7 |
| arm64 | Debian | telegraf_1.40.3-1_arm64.deb | 696a9f4e22aeabf73887bc60a10dddd213ff1c3eeec2ae55f64b33a56025faad |
| armel | Debian | telegraf_1.40.3-1_armel.deb | 6ba87a9ecdb2b722790e25677b818eeb8d0d5f024f69407c86ec65e0e00029d0 |
| armhf | Debian | telegraf_1.40.3-1_armhf.deb | bd8bde74b198868536f49e74c3bded0433af599f90c7e13b5eb1c01e267935c0 |
| i386 | Debian | telegraf_1.40.3-1_i386.deb | 3da18b8056eca8e327a0543ea733da36d96d292ab2f9e5326512e7061e9ca3b0 |
| loong64 | Debian | telegraf_1.40.3-1_loong64.deb | 290467f199939452f3788081127ca7812ba9e15748b9596b4973f624fbdbeb8f |
| mips | Debian | telegraf_1.40.3-1_mips.deb | befd93ae475229f17167a10bdd5278683fa828c9727cc9ef694cab61782fda77 |
| mipsel | Debian | telegraf_1.40.3-1_mipsel.deb | 62fca0390dee6f5150f58e9cf41a0e2bad43e9d826fd3e094a6b6e25ac4a49e1 |
| ppc64el | Debian | telegraf_1.40.3-1_ppc64el.deb | 28adf8b7a0c2a1fea08c45f64f90ecd1d157036131f58025f26ff1b640a54df8 |
| riscv64 | Debian | telegraf_1.40.3-1_riscv64.deb | 3997309daf98842d24830b7bd3e1ceab26b7b38d78f92e4d2f07374096be53a3 |
| s390x | Debian | telegraf_1.40.3-1_s390x.deb | df6b45f00e3371471f82b6588d04159bb0d9410a0dc3be3f9548c611599960c2 |
4.52
- ci: fix aarch64/amd64 musl rust builds on ubuntu-24.04 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12070
- webdav: copy a file onto a collection URL without losing the collection by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12068
- s3: group ListMultipartUploads by delimiter into CommonPrefixes by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12069
- filer: support nanosecond timestamps for conditional delete (#11339) by @Tyagiquamar in https://github.com/seaweedfs/seaweedfs/pull/12071
- iceberg: fix CREATE TABLE rejecting a partition on the first column by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12072
- fix: volume.fsck -volumeId purges live chunks referenced from outside the volume's bucket by @kisow in https://github.com/seaweedfs/seaweedfs/pull/12076
- fix(volume): keep preallocated growth above -volume.minFreeSpace by @JoePassanante in https://github.com/seaweedfs/seaweedfs/pull/12067
- mount: resume metadata-log replay where a dropped stream stopped by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12079
- [Volume] Preserve request semantics in replica proxy reads by @ssshr-66 in https://github.com/seaweedfs/seaweedfs/pull/12075
- build(deps): bump actions/download-artifact from 7 to 8 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12093
- build(deps): bump docker/login-action from 4.6.0 to 4.7.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12094
- build(deps): bump github/codeql-action from 4.39.0 to 4.39.1 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12092
- build(deps): bump actions/github-script from 7 to 9 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12095
- build(deps): bump github.com/ThreeDotsLabs/watermill from 1.5.2 to 1.5.3 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12091
- build(deps): bump github.com/redis/go-redis/v9 from 9.22.0 to 9.23.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12088
- build(deps): bump github.com/getsentry/sentry-go from 0.49.0 to 0.50.0 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12089
- build(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.23.2 to 1.23.3 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12087
- build(deps): bump github.com/pkg/sftp from 1.13.11 to 1.13.12 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12086
- master, volume, filer: start on a read-only mounted directory and serve existing data read-only by @vic6996-web in https://github.com/seaweedfs/seaweedfs/pull/12081
- admin: install the go.mod-pinned templ, not @latest by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12090
- vector: seaweed-vector workspace + flat/indexed top-K engine (P0 phase 1) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12096
- vector: ANN coverage introspection + prefilter (P0 phase 2) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12097
- vector: spike CLI, reference-comparison suite, CI (P0 phase 3) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12098
- s3: keep transient object-entry errors out of ErrObjectNotFound by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12083
- filer,pb,mount: keep per-chunk cipher keys out of logs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12085
- admin: bump a-h/templ to v0.3.1100 to match @latest codegen by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12100
- filer: deliver meta-log events under their stream position, not their stamp by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12084
- vector: restore spike CLI flags lost in the #12098 rebase by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12099
- filer: shut down test filers' meta-log buffers, fixing the 32-bit OOM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12104
- vector: VectorService gRPC contract (P1) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12101
- vector: weed-vector-server, the VectorService gRPC (P1) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12102
- s3: list every bucket when auth is off by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12077
- ci: retry the timing-sensitive s3 lifecycle expiration tests once by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12073
- vector: S3 Vectors API gateway (P1) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12103
- s3: fix CreateIndex metadata panic and ListVectors segmented paging by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12106
- test: boto3 s3vectors conformance harness (P1) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12105
- test/vectors: fix the S3 Vectors e2e harness by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12112
- filer.remote.gateway: stop zero-byte uploads of remote-only entries by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12110
- test: assert the resumed segment token in ListVectors paging by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12108
- vector: snapshot lease + maintenance safety tests (P2) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12107
- vector: address remaining s3vectors review findings by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12115
- cluster: bound each DistributedLock attempt with a timeout by @julian-corbet in https://github.com/seaweedfs/seaweedfs/pull/12113
- mount: drain OFD locks when a file description is released by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12117
- s3api: cap SOSAPI capacity by the reported physical disk bytes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12118
- topology: keep oversized volumes out of the writable list across re-registration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12120
- build(deps): bump google.golang.org/grpc past the #9330 deadlock fix by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12123
- s3: allow bucket ownership controls when auth is off by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12121
- webdav: refuse MKCOL and PUT under a missing folder with 409 by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12122
- vector: index-segment restriction + partition helper (P3 seam) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12124
- Fix s3 cancelled read relookup by @HectorPeeters in https://github.com/seaweedfs/seaweedfs/pull/12130
- volume: replicate FetchAndWriteNeedle writes over the configured TLS scheme by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12128
- remote_storage/s3: send Content-MD5 on RemoveDirectory DeleteObjects by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12129
- s3: keep multipart part encryption on the initiate-time decision by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12134
- s3: answer NoSuchBucket for encryption and policy writes to a missing bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12133
- filer,webdav,iam,sftp: add -idleTimeout flag for connection idle timeout by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12136
- helm: render numbers and booleans in extraEnvironmentVars as values by @egezamb in https://github.com/seaweedfs/seaweedfs/pull/12137
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 in /test/kafka by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12140
- build(deps): bump org.xerial.snappy:snappy-java from 1.1.10.4 to 1.1.10.9 in /test/java/spark by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12143
- build(deps): bump rustls from 0.23.45 to 0.23.46 in /seaweed-worker by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12142
- helm: keep the filer db credentials across uninstall and install by @egezamb in https://github.com/seaweedfs/seaweedfs/pull/12138
- helm: render the filer's mysql credentials once when the user sets them by @egezamb in https://github.com/seaweedfs/seaweedfs/pull/12139
- build(deps): bump rustls from 0.23.45 to 0.23.46 in /seaweed-volume by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12144
- build(deps): bump com.google.guava:guava from 32.1.3-jre to 33.7.1-jre in /test/java/spark by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12141
- build(deps): bump github.com/go-jose/go-jose/v4 from 4.1.5 to 4.1.6 by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12148
- vector: carry the full identity through s3vectors auth by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12152
- vector: expose index names in segment planning by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12150
- wdclient: count an elapsed caller deadline as caller-gave-up in LookupVolumeIds by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12151
- vector: preserve typed error chains in lease pin/release by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12153
- vector: weed-vector registers to master; s3 discovers it there by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12146
- vector: round-trip and enforce non-filterable metadata keys by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12157
- build(deps): bump com.google.guava:guava from 32.0.0-jre to 33.7.1-jre in /other/java/client by @dependabot[bot] in https://github.com/seaweedfs/seaweedfs/pull/12147
- wdclient: regression test for the elapsed caller-deadline lookup path by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12154
- s3vectors: cover non-filterable key round-trip and nested filter rejection by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12160
- sftp: refuse mkdir and uploads under a missing folder by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12156
- vector: cover the identity object in s3vectors auth by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12162
- vector: cover index names in named_segment_fragments by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12161
- vector: owner-prefixed lease tags stop cross-server reaping by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12158
- vector: only follow a leader hint that points elsewhere by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12164
- s3: allow PutObjectAcl when auth is off by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12155
- server: keep the first write on a fresh weed server from stalling by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12149
- master: let location-constrained assigns wait for pending growth by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12167
- sftp: fail rm and rmdir of a missing path, and mkdir of an existing one by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12168
- fix(iceberg): serve a registered table's metadata on load and commit by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12159
- master: replicate the recovery-wait growth unfreeze through raft by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12165
- ec: rebuild a needle's suspect shard ranges when it fails to parse by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12170
- vector: DeleteIndex format guard, sticky discovery, advertise normalize by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12171
- vector: Lease::forget hands the tag name off without releasing by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12174
- s3: route regular copy source reads to the write owner by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12173
- filer.remote.sync: skip an event the filer has written past, not only rewritten by @impuls42 in https://github.com/seaweedfs/seaweedfs/pull/12176
- s3: allow PutBucketAcl when auth is off by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12180
- s3: return x-amz-copy-source-version-id from CopyObject and UploadPartCopy by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12181
- filer.remote.sync: upload a holed entry zero-filled instead of skipping it by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12178
- admin: show maintenance lock blockers in scheduler UI by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12184
- filer.redis3: accept username and keyPrefix options by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12192
- admin: explain detection cooldowns and skipped scans by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12185
- s3: accept bare composite checksum on CompleteMultipartUpload by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12194
- iceberg maintenance: apply equality deletes only to older data files in their partition by @jatorre in https://github.com/seaweedfs/seaweedfs/pull/12187
- iceberg maintenance: an unreadable parquet file fails the job, not the process by @jatorre in https://github.com/seaweedfs/seaweedfs/pull/12188
- iceberg maintenance: bound decimal, time, uuid, fixed and rescaled timestamp columns on compacted files by @jatorre in https://github.com/seaweedfs/seaweedfs/pull/12190
- admin: warn on dashboard when cluster nodes run mixed versions by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12196
- mount: rebuild dropped directory listings and stale sections on lookup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12195
- remote: reuse one guarded remote storage client per configuration by @jatorre in https://github.com/seaweedfs/seaweedfs/pull/12189
- ec.rebuild: remount shards the rebuild replaced, keep regenerated copies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12193
- vector: recheck master discovery quickly while no worker is cached by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12199
- util: do not bind outbound dials to a loopback -ip.bind by @multivac61 in https://github.com/seaweedfs/seaweedfs/pull/12198
- mount, s3: clarify allowOthers requirement and bucket name error by @pingqiu in https://github.com/seaweedfs/seaweedfs/pull/12197
- iceberg maintenance: cache a remote-only file before reading it by @jatorre in https://github.com/seaweedfs/seaweedfs/pull/12191
- s3vectors: cap PutVectors at 500 items and check data against the index dimension by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12200
- s3vectors: put, get and delete vector bucket policies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12201
- s3vectors: bound QueryVectors topK at the AWS limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12202
- s3vectors: accept and return encryptionConfiguration on vector buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12203
- mount: keep the shared directory build out of the requester's context by @lucndm in https://github.com/seaweedfs/seaweedfs/pull/12206
- s3: evaluate multipart completion conditions under the object lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12209
- s3: evaluate all conditional write headers under the object lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12211
- vector: implement drop_index and have DeleteIndex drop the data by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12204
- s3tables: reject s3vectors resources in bucket policies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12213
- s3vectors: fix shared API behavior and test Go/Rust volume parity by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12216
- s3vectors: keep bucket policies in vector form and evaluate them in the gateway by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12214
- filer.sync: skip superseded replays before fetching any chunks by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12212
- s3tables: reject s3vectors resources in every ARN partition by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12215
- s3tables: keep the admin bypass off an identified caller's empty action list by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12217
- s3vectors: bound ListVectorBuckets and ListIndexes maxResults by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12218
- mount: refuse to attach opens to a draining file handle by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12219
- s3api: label bucket-level requests correctly in the access log by @pingqiu in https://github.com/seaweedfs/seaweedfs/pull/12224
- s3vectors: reject empty boolean-operator lists and sub-objects in filters by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12220
- s3vectors: e2e conformance for vector bucket policy evaluation by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12221
- s3vectors: validate index ARNs and expand live integration coverage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12222
- backup: resume incremental copies by index position instead of appendAtNs by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12228
- backup: don't Close a volume after Destroy by @ki7dk in https://github.com/seaweedfs/seaweedfs/pull/12225
- s3api: return NoSuchUpload when aborting an upload that was already completed by @pingqiu in https://github.com/seaweedfs/seaweedfs/pull/12227
- test: use an s3vectors action in the vector policy round-trip by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12226
- test/s3vectors: integration test design and catalog-surface suite by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12229
- test: move the s3vectors pytest suite under test/s3vectors by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12230
- webdav: overwrite on MOVE when the Overwrite header is missing by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12232
- backup: carry index-only tombstones through incremental copies by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12231
- webdav: answer 204 to a PUT that replaces a file by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12233
- helm: mount existingClaim data and logs volumes for filer and master by @patwhite in https://github.com/seaweedfs/seaweedfs/pull/12234
- fix(volume): return conflict and explicit proof for read-only upload refusals by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12236
- s3vectors: bound GetVectors and DeleteVectors key lists by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12238
- helm: set resources on the worker-lance container by @AkshatIIITD in https://github.com/seaweedfs/seaweedfs/pull/12240
- s3vectors: record request metrics on the dispatch path by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12241
- test/s3vectors: data-plane lifecycle integration test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12242
- test: add s3 integration tests for SQLite Cloud Backed Storage by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12243
- fix(s3tables): refuse a create that a namespace delete can lose by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12239
- vector: accept Go-style single-dash long flags by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12247
- seaweed-volume: pin the read-only write status to 409 in the test by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12244
- filer: buffer recently fetched chunks so parallel readers do not refetch by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12254
- filer.backup: add -s3.flattenVersions to mirror the current S3 view of versioned buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12255
- volume.copy: drop the needle-map index a failed copy leaves behind by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12252
- rust volume: keep a copied replica on deleted-count drift, as Go does by @franchb in https://github.com/seaweedfs/seaweedfs/pull/12251
- rust volume: remove the redb index when a failed VolumeCopy cleans up by @franchb in https://github.com/seaweedfs/seaweedfs/pull/12250
- volume.copy: reject only on file-count drift, warn on deleted-count by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12253
- helm: add namespaceOverride to deploy into another namespace by @jeffWild in https://github.com/seaweedfs/seaweedfs/pull/12256
- deps: bump seaweedfs/raft for PreVote (leader survives partition rejoins) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12264
- helm: add commonLabels to the metadata of every object by @jeffWild in https://github.com/seaweedfs/seaweedfs/pull/12257
- fix(s3tables): answer 404 for a table name that was renamed away by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12258
- security: fail closed on gRPC TLS errors, verify dialed server identity by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12263
- volume: after losing the leader, dial the leader the other masters name by @fjvbn2003 in https://github.com/seaweedfs/seaweedfs/pull/12259
- s3: let bucket-scoped Admin grants auto-create matching buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12268
- s3: auto-create bucket on POST Object uploads to a missing bucket by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12266
- fix(volume): reject a negative suffix length in Range headers by @hsdfat in https://github.com/seaweedfs/seaweedfs/pull/12269
- fix(s3): reject non-integer max-parts, part-number-marker and max-uploads by @hsdfat in https://github.com/seaweedfs/seaweedfs/pull/12270
- s3: keep an unset CORS MaxAgeSeconds unset by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12272
- s3: take list markers as raw keys under encoding-type=url by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12275
- s3: allow POST Object uploads when auth is off by @jayhemnani9910 in https://github.com/seaweedfs/seaweedfs/pull/12273
- fix(s3tables): keep the data under a deleted namespace by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12276
- s3: honor assignment fsync in streaming copies by @ohnicholas93 in https://github.com/seaweedfs/seaweedfs/pull/12277
- filer: resume a rejoining peer's meta subscription at its last position by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12279
- release: ship the Linux Rust binaries as static musl builds by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12284
- master: deleting a read-only volume no longer drifts the active count by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12285
- s3 sink: forward user metadata to the destination object by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12286
- s3: drop retired volume servers from the gateway location cache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12281
- ec.balance: spread concurrent shard moves over target nodes by @arozanov in https://github.com/seaweedfs/seaweedfs/pull/12283
- s3vectors: authorize CreateVectorBucket as a vector action, close DeleteIndex race, fold policy service case by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12287
- s3vectors: bound ListVectors parameters and lowercase distanceMetric by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12290
- vector: keep S3 Vectors requests off the master-discovery lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12291
- s3tables: make the vector namespace of a vector bucket read-only by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12292
- s3tables: keep the vector-namespace fence on a declare of an existing index by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12293
- vector: confine DropIndex to the table's own path, bound master dials, check the gRPC port by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12294
- vector: follow a leader hint at once and skip one that failed this pass by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12295
- vector: keep ListVectors pages and segments flat as an index grows; read only keys in GetVectors by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12300
- volume: serve a ranged GET without reading the whole needle by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12301
- vector: stop re-parsing a filter's JSONPath for every scanned row by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12302
- test(s3vectors): add an opt-in end-to-end perf suite for vector buckets by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12297
- admin: measure volume server usage like its capacity by @Tyagiquamar in https://github.com/seaweedfs/seaweedfs/pull/12306
- vector: cache reads of write-once Lance files across requests by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12303
- fix(s3tables): let DeleteTableBucket remove empty leftover directories by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12307
- fix(s3): verify SigV4 signature with decoded path behind X-Forwarded-Prefix by @Tyagiquamar in https://github.com/seaweedfs/seaweedfs/pull/12299
- volume: read a manifest chunk from another replica when one fails by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12313
- filer.backup: keep local sink writes inside the sink directory by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12310
- Ship weed-vector in release assets and Docker images by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12322
- volume: don't let an unreachable tier backend hold up volume server startup by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12312
- filer: scope a prefix JWT to the directory a zip extract writes under by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12305
- s3vectors: match a filter value against the elements of an array by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12321
- s3vectors: vend write credentials to index data only to the vector engine and Lance worker by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12316
- shell: dial volume servers on their registered gRPC port in volume.scrub, ec.scrub, volume.server.state by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12315
- vector: build weed-vector without a system protoc by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12317
- s3vectors: resolve the caller like table buckets and honor bucket-scoped identity actions by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12319
- s3vectors: report the Euclidean distance, not its square by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12318
- seaweed-vector: work on its defaults, and without identities or credentials by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12323
- s3vectors: encrypt the objects of a vector bucket declared AES256 by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12324
- s3vectors: accept bodies up to the 32 MiB limit, report larger ones as a size error, log engine failures by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12320
- s3api: let the vectors route, not the credential scope, raise the body limit by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12326
- s3: require Admin to put or delete a bucket's lifecycle configuration by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12327
- fix(s3tables): bind table and view writes to the record they were authorized against by @omninguyen in https://github.com/seaweedfs/seaweedfs/pull/12328
- fix(s3tables,s3vectors): bind table and vector bucket writes to the bucket they were authorized against by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12329
- ci: cancel a PR's runs when it is merged or closed by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/12330
- @vic6996-web made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12081
- @julian-corbet made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12113
- @HectorPeeters made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12130
- @multivac61 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12198
- @ki7dk made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12225
- @patwhite made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12234
- @AkshatIIITD made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12240
- @jeffWild made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12256
- @ohnicholas93 made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12277
- @arozanov made their first contribution in https://github.com/seaweedfs/seaweedfs/pull/12283
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.51...4.52
v1.55.1 🔭
Meilisearch v1.55.1 introduces important security fixes. Upgrading from v1.55.0 and earlier is recommended for all users.
See the release notes for Meilisearch v1.56.1 for details.
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.55.0...v1.55.1
v1.56.1 🐫
Meilisearch v1.56.1 introduces important security fixes. Updating from v1.56.0 is recommended for all users.
-
Fix issue with ranking scores greater than 1 by @dureuill in https://github.com/meilisearch/meilisearch/pull/6703
-
Make sure that all nested fields are inserted in field id map by @dureuill in https://github.com/meilisearch/meilisearch/pull/6700
-
Fixes a panic when modifying the list of searchable attributes after an existing document has been updated to insert new nested fields.
-
Existing databases encountering this issue can be fixed by adding a new document containing the new nested fields.
-
Fixes #6636 and fixes #6657
-
- Fix the memory consumption and runtime of long filters by @dureuill in https://github.com/meilisearch/meilisearch/pull/6695
- Bump rustls from 0.23.45 to 0.23.46 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6706
- Clamp map_size to page size when removing tasks during snapshot creation by @mavrodikomsd-eng in https://github.com/meilisearch/meilisearch/pull/6699
- Reduce the number of cargo flaky iterations to 60 by @dureuill in https://github.com/meilisearch/meilisearch/pull/6689
- Fix Debian CI by @curquiza in https://github.com/meilisearch/meilisearch/pull/6698
- Bump mislav/bump-homebrew-formula-action from 3.6 to 4.2 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6567
- Bump actions/setup-node from 6.5.0 to 7.1.0 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6569
- Bump actions/setup-python from 6.3.0 to 7.1.0 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6570
- Bump actions/checkout from 5.1.0 to 7.0.1 by @dependabot[bot] in https://github.com/meilisearch/meilisearch/pull/6568
- @mavrodikomsd-eng made their first contribution in https://github.com/meilisearch/meilisearch/pull/6699
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.56.0...v1.56.1
v2025.2.8.1 (Released November 04, 2026)
Download the artifacts and read the release notes here - https://docs.yugabyte.com/stable/releases/ybdb-releases/v2025.2/#v2025.2.8.1
ThingsBoard 4.4.0.2 Release
- Security patches by @ViacheslavKlimov and @smatvienko-tb
Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.4.0.1...v4.4.0.2