What openobserve/openobserve shipped
Written by FoxPlug from public releases; not affiliated with Openobserve. An automatic summary of the public release, pull request and commit data of github.com/openobserve/openobserve. Openobserve did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- PromQL charts now display exemplars and link them directly to traces, removing the need to switch to other tools to investigate metric spikes [1]. Pull request #14906
- OTLP and cloud ingest endpoints return proper rejection reasons and status codes so the OpenTelemetry Collector can log actual error details [2]. Pull request #14905
- PromQL subqueries now evaluate with Prometheus semantics, correctly handling the step parameter instead of ignoring it [29]. Pull request #14824
- The time() function in PromQL now evaluates per step in range queries instead of returning a single constant for the whole evaluation [24]. Pull request #14831
- Vector matching with ignoring() and
group_rightnow works correctly in many-to-one scenarios [34]. Pull request #14832 label_replaceandlabel_joinnow produce results matching Prometheus behavior [35]. Pull request #14828- Large integer fields in search results preserve full precision instead of having trailing digits zeroed [6]. Pull request #14896
- Sensitive data redaction, platform audit trails, and retention reporting now have auditable evidence and proper compliance controls [21]. Pull request #14833
- Alert destination deletes are now guarded against all consumers that reference them, and the UI shows which resources use each destination [32]. Pull request #14796
- On-call and database monitoring screens no longer re-fetch data on every mount by moving reads onto the shared query cache [13]. Pull request #14741
Why it matters
This week ships critical fixes for PromQL evaluation to match Prometheus, improves observability of metrics with exemplar linking, and closes compliance gaps in audit and retention. Multiple regressions from closed issues now have test coverage to prevent reoccurrence.
Changelog entry
- feat: show exemplars on PromQL charts and link them to traces Pull request #14906
- fix(ingest): return real rejection reasons and status codes from OTLP and cloud ingest paths Pull request #14905
- fix(dbm): point DBM metrics charts to the setup card when _o2_dbm_server is missing Pull request #14887
- fix(traces): right-click gte/lte menu on the Duration chart can never open Pull request #14888
- fix(web): preserve precision for large integer fields in search results Pull request #14896
- fix(oncall): move on-call and DB-monitoring instance reads onto the query cache Pull request #14741
- fix(storage): fall back to HEAD + bounded range when a store rejects suffix ranges Pull request #14858
- fix(anomaly): accept
thresholdas an alias forpercentile, and route training scans to background nodes Pull request #14865 - fix: close sensitive-data, audit-trail and retention compliance gaps Pull request #14833
- fix(promql): evaluate time() and scalar parameters per step Pull request #14831
- fix(traces): validate user and session filters before splicing them into SQL Pull request #14810
- fix(promql): evaluate subqueries with Prometheus semantics Pull request #14824
- fix(promql): quote metadata matcher values and identifiers consistently Pull request #14843
- fix(alerts): guard destination deletes against every consumer, and show them in the UI Pull request #14796
- fix(promql): honor ignoring() and
group_rightin vector matching Pull request #14832 - fix(promql): make
label_replaceandlabel_joinmatch Prometheus Pull request #14828 - test: cover the bug fixes confirmed by retest, and drop the #13243 workarounds Pull request #14842
- test: regression coverage for 29 closed Needs-Automation issues Pull request #14883
- test: regression coverage for 4 closed Needs-Automation issues Pull request #14873
- test: regression coverage for 5 closed Needs-Automation issues Pull request #14847
v1.0.4 is out. PromQL subqueries, time(), and vector matching now work like Prometheus. Exemplars link to traces. Large integers preserve precision. Better audit trails and compliance controls.
OpenObserve v1.0.4 ships. PromQL evaluation now matches Prometheus semantics—subqueries evaluate correctly, time() returns per-step values, vector matching handles ignoring() properly. Search results preserve large integer precision. Exemplars on PromQL charts link directly to traces. Alert destination deletes guarded against all consumers. Audit trails and retention controls tightened for compliance.
Week of September 14, 2026
What shipped
- Released v1.0.3 with backported fixes for OTLP series identity, PromQL operations, and merge job handling. Release
- Fixed PromQL metrics index to return no data instead of crashing when a selector matches no series in an already-merged hour. Pull request #14660
- Moved cipher key permission checks into a single helper to protect all search entry points that run caller-supplied SQL. Pull request #14654
- Added frontend caching layer built on TanStack Query so list pages and dashboard panels load from cache instead of refetching on every visit. Pull request #13642
- Replaced signup-moment community Slack invite with a day-2 follow-up and added a prompt to connect the first data source during onboarding. Pull request #14652
- Fixed OTLP gRPC handlers to properly acknowledge export failures instead of reporting them as success. Pull request #14653
- Fixed compactor to stream merged files to disk instead of buffering them in memory, reducing peak memory usage during compaction. Pull request #14593
- Escaped series names in PromQL chart tooltips to prevent HTML injection from metric label values. Pull request #14656
- Escaped query values in SQL chart tooltips to prevent HTML injection from Sankey node names, series names, and other data-derived strings. Pull request #14657
- Bounded HA queue retention to prevent NATS streams from filling with seconds-old messages and blocking new consumers. Pull request #14642
Why it matters
Multiple PromQL fixes restore correct behavior for absent_over_time, predict_linear, scalar, and range selectors. Security improvements protect against HTML injection in dashboards and enforce cipher key permissions consistently. Backend optimizations reduce memory usage during compaction and queue retention.
Changelog entry
- fix(promql): return no data when the metrics index prunes every file (#14660) Pull request #14660
- fix(search): check cipher key permissions on every query entry point (#14654) Pull request #14654
- fix(dashboards): escape series names in PromQL chart tooltips (#14656) Pull request #14656
- fix(dashboards): escape query values in SQL chart tooltips (#14657) Pull request #14657
- fix: stop acknowledging failed OTLP gRPC exports as success (#14653) Pull request #14653
- feat: Onboarding connect data popup with day-2 Slack invite follow-up (#14652) Pull request #14652
- fix: bound HA queue retention and update
max_ageon existing NATS streams (#14642) Pull request #14642 - fix(compactor): stream the merged file to disk instead of buffering it in memory (#14593) Pull request #14593
- feat: frontend caching layer built on TanStack Query (#13642) Pull request #13642
- fix: report absence when
absent_over_timematches no series (#14611) Pull request #14611 - fix: answer an instant range selector with its whole window (#14618) Pull request #14612
- fix: require two samples before
predict_linearpredicts (#14612) Pull request #14612 - fix: make scalar() reduce to a scalar (#14619) Pull request #14619
v1.0.3 ships PromQL fixes for absent_over_time, predict_linear, scalar, and range selectors. HTML injection protection for dashboard tooltips. Compactor now streams merged files to disk. OTLP gRPC handlers properly acknowledge failures.
v1.0.3 brings critical PromQL corrections, dashboard security hardening, and compaction efficiency improvements. PromQL now correctly handles absent_over_time, predict_linear, scalar functions and range selectors. Dashboard tooltips are protected against HTML injection from metric labels and query values. The compactor streams merged files to disk instead of buffering, reducing peak memory. OTLP gRPC handlers now properly report export failures.