v0.91.0

aaif-goose/goosev0.91.0Jun 22, 2026by github-actions[bot]

AI Summary

A major release introducing a Super Org model for multi-tenancy, extensive Tantivy search engine performance optimizations, and new AI observability capabilities.

Key Highlights

  • Introduction of Super Org model for multi-tenancy
  • Major Tantivy performance optimizations including footer cache, bloom-filter pruning, and Vortex format
  • New AI observability features including online evaluations
  • Inferred services for traces

New Features

  • Super Org model
  • Org-level ingestion tokens
  • Tantivy footer cache
  • Bloom-filter pruning layer
  • Two-field GROUP BY
  • Per-field index freshness
  • Histogram timezone support
  • Inferred services for traces
  • Online evaluations
  • Incremental compaction
  • gc-file-list CLI
  • Strong password policy enforcement
  • Multi-query support

Full Release Notes

# OpenObserve v0.91.0 Release Notes

**Download Binaries**: https://openobserve.ai/downloads

**Release Date**: June 22, 2026
**Previous Version**: v0.90.3

---

## Highlights

v0.91.0 is a large, search-and-scale focused release. The standout themes are **multi-tenancy** — a new **Super Org** model plus **org-level ingestion tokens** and **org-level storage configuration** — and a major round of **Tantivy/search engine performance work**, including a footer cache, a bloom-filter pruning layer, a new Vortex-format index generator, and a rewritten top-N GROUP BY collector. The release also ships **online LLM evaluations and AI observability**, **inferred services for traces**, a comprehensive **UI/UX & dark-mode revamp**, **stronger password policy enforcement**, and **Traditional Chinese (zh_TW)** localization.

---

## New Features

### Organizations & Multi-tenancy
- **Super Org** - Introduce a super-organization model for managing nested organizations (OSS#12380, ENT#1840) — @YashodhanJoshi1
- **Org-level ingestion token** - Per-organization ingestion tokens with super-cluster sync (OSS#11691) — @Subhra264

### Search & Indexing
- **Tantivy footer cache** - Cache Tantivy puffin footers to speed up index reads (OSS#11895) — @haohuaijin
- **Bloom-filter pruning layer** - Add a bloom-filter pruning layer above Tantivy, with an enterprise-only build side (OSS#12121, ENT#1889) — @hengfeiyang
- **Two-field GROUP BY** - Support two-field GROUP BY via Tantivy index optimization (OSS#12348) — @mac119
- **Per-field index freshness** - Track `index_updated_at` per index field (OSS#12602) — @hengfeiyang
- **histogram() timezone support** - Add timezone support to the `histogram()` SQL function (OSS#12402) — @hengfeiyang

### Traces & Service Catalog
- **Inferred services for traces** - Automatically infer services from trace data (OSS#12515) — @hengfeiyang

### AI & LLM Observability
- **Online evaluations** - Run online LLM evaluations with score and score-config support (OSS#12352, ENT#1834) — @uddhavdave

### Compaction & Storage
- **Incremental compaction** - Incrementally compact the still-open current hour (OSS#12226) — @hengfeiyang
- **gc-file-list CLI** - New CLI to clean stale stream files from storage (OSS#12199) — @hengfeiyang
- **Per-variable PostgreSQL connection** - Support individual env vars for PostgreSQL connection settings (OSS#12427) — @DerkSchooltink

### Security
- **Strong password policy** - Enforce a strong password policy (OSS#12327) — @yujinqiu

### Dashboards & Visualization
- **Multi-query support** - Build panels backed by multiple queries (OSS#12374) — @ktx-abhay
- **Default fields for panels** - Default fields for the Add Panel and metrics pages (OSS#12509) — @ktx-abhay
- **Timechart tab visibility flag** - Environment variable to control timechart tab visibility (OSS#12552) — @ktx-abhay

### Internationalization
- **Traditional Chinese (zh_TW)** - Add a Traditional Chinese locale (OSS#12227) — @PeterDaveHello

### UI/UX
- **UX improvements** - Broad UX improvement pass on the main interface (OSS#11838) — @ktx-kirtan

---

## Improvements

### Performance
- Reduce compactor memory usage (OSS#11851) — @haohuaijin
- Store `row_group_size` in the Tantivy puffin footer and shrink to 128k (OSS#11965, ENT#1731) — @hengfeiyang
- Tantivy optimizer for histogram with secondary index (OSS#11994) — @haohuaijin
- Optimizer target-partition configuration (OSS#12051) — @haohuaijin
- Single-node Tantivy top-N (OSS#12181) — @haohuaijin
- Add `get_ranges` for local cache (OSS#12194) — @hengfeiyang
- Reduce memory usage and time when generating Tantivy indexes (OSS#12292) — @haohuaijin
- Only read index fields from parquet when generating Tantivy indexes (OSS#12331) — @haohuaijin
- New Tantivy index generation for the Vortex format (OSS#12354) — @haohuaijin
- Aggregate `partialReduce` to reduce data transfer (OSS#12418, ENT#1861) — @haohuaijin
- Prune partitions in `file_list query_by_ids` via time-range filter (OSS#12459) — @hengfeiyang
- Size `split_batch_for_grpc_response` by real memory size (OSS#12466) — @haohuaijin
- Default-enable parquet filter pushdown (OSS#12512) — @haohuaijin
- Speed up Tantivy row_id collection (OSS#12532) — @haohuaijin
- Rewrite Tantivy top-N GROUP BY with a flat ordinal collector (OSS#12574) — @hengfeiyang
- Cancel running search when the client disconnects (OSS#12440) — @hengfeiyang

### Refactoring
- Update file-statistics cache configuration and metrics (OSS#11950) — @hengfeiyang
- Unify search partition handling, parts 1–5 (OSS#12067, OSS#12099, OSS#12115, OSS#12193, OSS#12241) — @haohuaijin
- Split gRPC Tantivy code into its own directory (OSS#12523) — @haohuaijin
- Move the bloom-filter build side to enterprise (OSS#12546) — @hengfeiyang
- Remove flags from the i18n language selector (OSS#12321) — @PeterDaveHello

### Infrastructure & Networking
- Router proxy retry/failover on node restart (OSS#12425) — @hengfeiyang
- Drive gRPC client TLS by address scheme (OSS#12431) — @hengfeiyang
- Optimize the default real-IP policy (OSS#12390) — @hengfeiyang
- Optimize default settings (OSS#12798) — @hengfeiyang

### CI/CD
- Publish `aarch64-unknown-linux-musl` release artifact (OSS#12438) — @hengfeiyang
- Update Rust toolchain (OSS#12394, ENT#1842) — @hengfeiyang
- Cache tag for build PRs (OSS#12326) — @uddhavdave
- Auto-assign metadata with team allowlist, start date, and stranger triage (OSS#12543, ENT#1888) — @Shrinath-O2
- Multi-agent AI code review and DeepSeek review updates (OSS#11858, ENT#1831) — @007harshmahajan

---

## Bug Fixes

### Search & Query
- Restore search priming in QB-lite init and fix SQL OFF filter parsing (OSS#11823) — @Shrinath-O2
- Do not fill missing value for breakdown field (OSS#11887) — @ktx-abhay
- Correct `size=-1` handling and TopKHeap k=0 guard for non-ts ORDER BY (OSS#11947) — @Loaki07
- TopKHeap for non-ts ORDER BY in `latest_stream` (OSS#12134) — @Loaki07
- Support UNION in pipelines (OSS#12117) — @haohuaijin
- Only use the root camelCase token for search (OSS#12324) — @haohuaijin
- Snap histogram scan start down to bucket boundary to fix left-edge drop (OSS#12313) — @Loaki07
- Handle multiple histogram intervals in `_search_multi_stream` streaming (OSS#12391) — @007harshmahajan
- PromQL federated search (OSS#12468) — @Loaki07
- Report `took_wait_in_queue` correctly in super cluster (OSS#12586) — @Loaki07
- Single-node check and disable filter pushdown (OSS#12755) — @haohuaijin
- Disable join dynamic filter pushdown (OSS#12800) — @haohuaijin

### RBAC & Authentication
- Revamp RBAC (OSS#11610, ENT#1624) — @Subhra264
- Check if user password is empty during authentication (OSS#11906) — @Subhra264
- Check if auth password is empty for ingestion endpoints (OSS#11918) — @Subhra264
- IAM user role assignment changes (OSS#11964) — @oasisk
- Anomaly RBAC migration (OSS#12142, ENT#1782) — @Subhra264
- Strip API prefix if not already stripped (OSS#12063) — @Subhra264
- Disable some APIs and add root auth for `config/reload` (OSS#12220, OSS#12279) — @007harshmahajan
- Return 403 from AI chat endpoints when the user lacks access (OSS#12558) — @neha00290
- Report bulk delete and move API RBAC (OSS#12475) — @Subhra264
- Fix logs page auto-logout (OSS#12066) — @nikhilsaikethe

### Ingestion Tokens
- Use the given user id in `TokenValidationResponse` for ingestion endpoints (OSS#12386) — @Subhra264
- Create default ingestion token for existing orgs (OSS#12412) — @Subhra264
- Super-cluster sync for org-level ingestion tokens (OSS#12450, ENT#1864) — @Subhra264

### Alerts, Reports & Destinations
- Do not clear the last period end time (OSS#11953) — @Subhra264
- Allow `!=` in alert import (OSS#12077) — @nikhilsaikethe
- Report list not refreshing after creating a new report (OSS#12054) — @omkarK06
- ServiceNow and Opsgenie integration bugs (OSS#12000) — @Subhra264
- Use default folder for OpenFGA report-folder migration (OSS#12568) — @Subhra264
- Restore retry guard in enrichment-table URL validation (OSS#12218) — @neha00290
- Prevent cross-type enrichment-table name collision and use raw `table_name` for URL job lookup (OSS#12249, OSS#12277) — @neha00290
- Prebuilt-template protection, per-destination templates, and correlation settings fixes (OSS#12423) — @Shrinath-O2
- Prebuilt templates visible on cloud, write-protected, no frontend hardcoding (OSS#12467) — @Shrinath-O2

### Traces, RUM & Correlation
- Handle multiple root nodes in the trace graph (OSS#11937) — @omkarK06
- Trace graph fails rendering multi-root traces (OSS#12585) — @omkarK06
- Env key not extracted from RUM event (OSS#12349) — @omkarK06
- Correlated logs table UI fix and column widths (OSS#12437, OSS#12469) — @omkarK06
- Inferred-services support in traces and operation-table filtering (OSS#12526, OSS#12536) — @omkarK06
- RUM-Traces e2e tracing and time-buffer for RUM queries (OSS#12420, OSS#12555) — @omkarK06
- RUM token issue (OSS#12589) — @oasisk
- Fix Trace-details log-stream selection UI (OSS#12630) — @omkarK06
- Duplicated search calls in traces (OSS#12819) — @omkarK06
- Merge split discovered services when `service_optional` is enabled (OSS#12701, ENT#1935) — @Loaki07

### Dashboards & Visualization
- Dashboard and pipeline fixes (OSS#12353) — @oasisk
- Pipeline view and table-chart overlap (OSS#12362) — @ktx-mihir
- Add field to table for the timestamp column (OSS#12385) — @bjp232004
- Prevent resizing of action and row-index columns in table definitions (OSS#12453) — @ktx-riya
- Custom typed-variable default value (OSS#12549) — @ktx-abhay
- Dashboard bar-chart comparison not showing data (OSS#12769) — @bjp232004
- Dashboard layout and rendering issues (OSS#12772) — @ktx-vaidehi
- Table-chart text color (OSS#12787) — @ktx-abhay
- PromQL builder issues (OSS#12785) — @ktx-abhay
- OTable resize and add/remove column feature (OSS#12433) — @bjp232004

### Logs UI
- Logs page issues (OSS#12185) — @nikhilsaikethe
- Logs improvements and table fixes (OSS#12400, OSS#12685, OSS#12817) — @bjp232004
- Streaming progress bar in the logs explorer (OSS#12753) — @omkarK06
- Resolve Firefox empty space before log rows (OSS#12724) — @ktx-akshay
- Apply checkbox color prop to logs and traces (OSS#12379) — @ktx-akshay
- Logs stream single/multi select in UX revamp (OSS#12350) — @ktx-vaidehi
- Prevent traces run-query dropdown from closing on execution (OSS#12409) — @ktx-akshay
- Fire `result_schema` for logs stream only (OSS#12522) — @ktx-abhay
- Function error reset (OSS#12740) — @bjp232004

### UI/UX & Theme Revamp
- Header, toast design, dark-mode text area, pagination, and theme switching (OSS#12337, OSS#12336, OSS#12339, OSS#12340) — @ktx-mihir, @ktx-vaidehi, @ktx-riya, @ktx-abhay
- Frontend keyboard-shortcut support (OSS#11866) — @ktx-abhay
- Search input component, clearable variant, and toast loader (OSS#12383, OSS#12388, OSS#12403) — @ktx-vaidehi
- Filter overflow, panel build-field height, and input validation (OSS#12389, OSS#12399) — @ktx-mihir
- Edit-panel config value, drawer-to-dialog conversion (OSS#12406, OSS#12424) — @ktx-vaidehi
- User-section layout, org actions icon, add-condition layout, crosslink combobox (OSS#12413, OSS#12443) — @ktx-mihir
- Dashboard dynamic-filter overflow and get-started text (OSS#12428) — @ktx-mihir
- Layout fixes across UX3, pipeline/dashboard, and general layout (OSS#12560, OSS#12594, OSS#12598) — @ktx-vaidehi
- Dark-mode color adjustments and dashboard dark-mode issues (OSS#12633, OSS#12634, OSS#12635) — @ktx-vaidehi
- Layout revamp UI bug fixes and theme/font changes (OSS#12698, OSS#12704) — @ktx-mihir, @ktx-vaidehi
- Empty state on loading and left nav menu (OSS#12786, OSS#12788) — @ktx-abhay
- Organization-management header and extend-trial selection (OSS#12477) — @ktx-mihir
- Billing group icons follow theme color; license textarea growth and spacing (OSS#12442, OSS#12447) — @Shrinath-O2
- License UI issues (OSS#11847) — @nikhilsaikethe
- General layout and UI issue fixes for v0.91.0 (OSS#12521, OSS#12728) — @bjp232004

### AI Assistant & LLM Observability
- O2 AI assistant revamp and prompt-editor fix (OSS#12343, OSS#12397) — @bjp232004
- Show LLM by default (OSS#11979) — @nikhilsaikethe
- Online-eval bug fixes and import/export for scores & score configs (OSS#12462, OSS#12517) — @nikhilsaikethe
- LLM observability UI fixes and eval-template removal (OSS#12566, OSS#12595) — @nikhilsaikethe
- Show Unauthorized message and prevent duplicate error notification in NL query (OSS#12583, OSS#12592) — @neha00290
- AI observability cherry-pick and follow-up issues (OSS#12721, OSS#12816) — @nikhilsaikethe
- Refresh usage-report banner when on the usage tab (OSS#12802) — @nikhilsaikethe
- Checks added for NLP text (OSS#12135) — @bjp232004

### Infrastructure & Storage
- File-list migration URL and dump-logic for evict (OSS#11883, OSS#11933) — @hengfeiyang
- Object-store bulk delete issue (OSS#12116, ENT#1760) — @hengfeiyang
- File-downloader priority-queue OOM and LIFO ordering (OSS#12079) — @Loaki07
- Prevent NATS lock keep-alive from resurrecting a purged lock (OSS#12516) — @hengfeiyang
- Remote scan metrics (OSS#12416) — @haohuaijin
- Re-add bloom filter for parquet and WAL-check logging (OSS#12571, OSS#12789) — @hengfeiyang
- ARM build and release CI with musl target (OSS#12474, OSS#12470) — @hengfeiyang, @007harshmahajan
- Hotfixes from main (OSS#12713, ENT#1938) — @hengfeiyang

### Metrics, Sessions & Validation
- Self-consumed metrics for histogram and summary metrics (OSS#12818) — @Subhra264
- Refactor correlated metrics tab (OSS#12242) — @oasisk
- Anomaly history API (OSS#12187, ENT#1790) — @oasisk
- Sessions table and runtime SQL validation for traces and sessions (OSS#11746, OSS#11960) — @uddhavdave
- Disallow special characters in the New Stream dialog (OSS#12445) — @Subhra264
- Handle more cases for SQL validation (OSS#12576) — @oasisk

### Usage & Billing
- Show cost when possible in usage (OSS#12520) — @YashodhanJoshi1
- Edit-user visibility and usage stream selection (OSS#12720) — @bjp232004
- Show edit button for users in the cloud version (OSS#12432) — @Subhra264

### Miscellaneous
- Ingestion-limit wording and badge text (200GB → 50GB) for the open-source variant (OSS#12229, OSS#12230) — @oasisk
- Changed error message wording (OSS#12329) — @oasisk
- Update E2E selectors for O2 component migration (OSS#12346) — @neha00290
- Repoint `formatLargeNumber` import to `@/utils/zincutils` to unblock the release build (OSS#12821) — @Shrinath-O2

---

## Testing

Significant test investment this cycle, focused on a query-agent SQL regression suite, the Vortex format, and CI parallelization:
- Query-agent SQL regression suite — 155 queries, two-phase, sqllogictest-style (OSS#12384) — @neha00290
- Expand query-agent suite to 570 queries with production SQL patterns (OSS#12534) — @neha00290
- Vortex file-format test suite, scenarios 1–83 (OSS#12472) — @neha00290
- Add 15 E2E regression tests for logs and traces bugs (OSS#12084) — @neha00290
- Org-level ingestion token API and Playwright tests (OSS#12439) — @neha00290
- Model-pricing E2E tests — 13 journey flows (OSS#12525, ENT#1881) — @Shrinath-O2
- Revamp api-testing suite — framework + 16 file rewrites + CI matrix (OSS#12372, ENT#1839) — @Shrinath-O2
- Fix Playwright CI hangs and add browser caching (OSS#12258) — @Shrinath-O2
- E2E tests for report-folders functionality (OSS#11985) — @neha00290
- Edition-features documentation validation spec (OSS#12573, ENT#1896) — @Shrinath-O2
- Switch Playwright CI runners and harden rerun checks against API failures (OSS#12317, OSS#12486) — @Shrinath-O2
- Fix flaky dashboard E2E tests and restore visualize cases (OSS#12375, OSS#12347) — @ktx-akshay

---

## Release Timeline

| Version | Date | Notes |
|---------|------|-------|
| v0.91.0-rc1 | June 5, 2026 | Initial release candidate |
| v0.91.0-rc2 | June 11, 2026 | Search/perf and RBAC fixes |
| v0.91.0-rc3 | June 18, 2026 | UI/UX revamp and stabilization fixes |
| **v0.91.0** | **June 22, 2026** | **General Availability** |

---

## Statistics

- **Total Commits**: 329 (OSS)
- **Features**: 19
- **Performance Improvements**: 17
- **Bug Fixes**: ~150
- **Test Improvements**: 25+
- **Contributors**: 27

---

## Breaking Changes

- **SQL mode toggle removed** - The manual SQL mode toggle has been removed in favor of automatic SQL/UI mode detection. Queries are now auto-detected rather than requiring an explicit mode switch (OSS#12483) — @bjp232004

---

## Links

- **Full Changelog (OSS)**: https://github.com/openobserve/openobserve/compare/v0.90.3...v0.91.0
- **Full Changelog (Enterprise)**: https://github.com/openobserve/o2-enterprise/compare/v0.90.3...v0.91.0
- **Documentation**: https://openobserve.ai/docs
- **Download**: https://openobserve.ai/downloads

---

## Contributors

Thank you to all contributors who made this release possible!

Shrinath-O2, hengfeiyang, haohuaijin, neha00290, Subhra264, oasisk, ktx-vaidehi, bjp232004, omkarK06, nikhilsaikethe, ktx-abhay, 007harshmahajan, Loaki07, ktx-mihir, YashodhanJoshi1, uddhavdave, ktx-akshay, ktx-riya, dnplkndll, PeterDaveHello, yujinqiu, mac119, lphuc2250gma, ktx-kirtan, DerkSchooltink

---

**Note**: For upgrade instructions and migration guides, please refer to the official documentation.