v0.8.0-pre.11
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/tursodatabase/turso/releases/download/v0.8.0-pre.11/turso_cli-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/tursodatabase/turso/releases/download/v0.8.0-pre.11/turso_cli-installer.ps1 | iex"
| File | Platform | Checksum |
|---|---|---|
| turso_cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| turso_cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| turso_cli-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| turso_cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| turso_cli-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| turso_cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo tursodatabase/turso
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
ThingsBoard 4.3.1.5 Release
- Fixed CVE-2026-65182, CVE-2026-65905, CVE-2026-66257, CVE-2026-66273, CVE-2026-66274, CVE-2026-66275, CVE-2026-66276, CVE-2026-66277, CVE-2026-68525, CVE-2026-71290 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/16122
- Fixed CVE-2026-73088, CVE-2026-73089, CVE-2026-76172, CVE-2026-75931, CVE-2026-75975, CVE-2026-84375 and CVE-2026-75899 by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/16125
- Fixed timeseries entity aggregation calculated field storing numeric results as strings by @ShvaykaD in https://github.com/thingsboard/thingsboard/pull/15917
- Sparkplug: fixed empty telemetry metric name when using alias by @nickAS21 in https://github.com/thingsboard/thingsboard/pull/16071
- Prevent disconnect notification spam from flapping edges by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/15733
- Do not strand edge sync when an event fetcher fails by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/16044
- Compare edge customer before session state is replaced in onConfigurationUpdate by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/16038
Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.3.1.4...v4.3.1.5
ThingsBoard 4.2.2.5 Release
- Fixed CVE-2026-65182, CVE-2026-65905, CVE-2026-66257, CVE-2026-66273, CVE-2026-66274, CVE-2026-66275, CVE-2026-66276, CVE-2026-66277, CVE-2026-68525, CVE-2026-71290 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/16122
- Fixed CVE-2026-73088, CVE-2026-73089, CVE-2026-76172, CVE-2026-75931, CVE-2026-75975, CVE-2026-84375 and CVE-2026-75899 by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/16125
- Do not strand edge sync when an event fetcher fails by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/16044
Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.2.2.4...v4.2.2.5
Release v1.0.0
Download Binaries: https://openobserve.ai/downloads
Release Date: September 11, 2026 Previous Version: v0.92.2
v1.0.0 is OpenObserve's first 1.x General Availability release, spanning 375 commits (295 OSS + 80 enterprise) since the v0.92.2 line. The headline theme is a major expansion of alerting and reliability: brand-new SLOs (Service Level Objectives) with burn-rate alerts and PromQL/time-sliced targets, composite alerts, an alert library for browsing, previewing and bulk-installing curated alerts, multi-alert for SQL and pending periods, plus Terraform/OpenTofu export for alerts and SLOs. Metrics gains a TSID-major Parquet layout with a new .midx series index and PromQL pruning, while traces gains a trace time index for fast multi-id and org-wide lookups. This release also introduces Database Monitoring (DBM), moves Synthetic Monitoring fully into open source with super-cluster support and step-based billing, and lands LLM observability Phase 3 (annotation queues, datasets, Playground, and experiment workflows). Under the hood, the storage layer split into separate ORM read/write clients (retiring the sqlite write lock), the metrics engine picked up substantial PromQL performance work, and the platform saw a broad i18n, UI-token, and search-cancellation hardening pass.
- SLO Burn-rate Alerts - Service Level Objectives with burn-rate alerting (OSS#13704) — @prabhatsharma
- PromQL & Time-sliced SLOs - PromQL support for count and time-sliced SLOs, plus SLO/alert regression fixes (OSS#13761) — @prabhatsharma
- Composite Alerts - alerts composed from multiple sub-alerts, with route-permission entries for the composite endpoints (OSS#13797, ENT#2433) — @prabhatsharma
- Alert Library - browse, preview and install curated alerts, including bulk install from the library (OSS#13922, OSS#14125) — @prabhatsharma
- Multi-Alert for SQL - support multiple alerts for a single SQL query (OSS#14094) — @YashodhanJoshi1
- Alert Pending Period - pending-period support for alerts (OSS#14095) — @YashodhanJoshi1
- New Condition Operators -
is_null/is_not_null/is_empty/is_not_emptyoperators for alerts, pipelines and evaluator filters (OSS#13978, ENT#2500) — @hengfeiyang - Terraform/OpenTofu Export - export alerts and SLOs as Terraform and OpenTofu (OSS#13849) — @chaitanya-sistla
- Banner Notifications - banner-as-notification support (OSS#13667, ENT#2367) — @007harshmahajan
- Notification Dependency View - where-used view for templates, destinations and alerts (OSS#13820) — @Shrinath-O2
- TSID-major Metrics Layout - TSID-major Parquet layout behind
ZO_METRICS_TSID_MAJOR_ENABLED, a.midxseries index with PromQL pruning through it, and Vortex hash ordering support (OSS#13882, OSS#13899, OSS#13931) — @haohuaijin - Metric Chart Improvements - metric chart enhancements (OSS#13546) — @ktx-abhay
- Realtime Metric Alerts - evaluate every metrics record against realtime alerts (OSS#13581) — @DHRUV6029
- Trace Time Index - trace time index with multi-id and org-wide time-range lookup, and session time-range resolution through the index (OSS#13827, OSS#13837, OSS#13992, OSS#14002) — @hengfeiyang
- Span Events & Exceptions - annotate span events and exceptions on the trace timeline (OSS#13715) — @omkarK06
- Annotation Queues & Datasets - annotation queues and datasets for LLM observability (OSS#13719, ENT#2386) — @uddhavdave
- Experiment Workflows (Phase 3.0) - LLM experiment workflows (OSS#13778, ENT#2413) — @uddhavdave
- Playground & Remote Tasks - Playground and remote task workflows with execution and scoring (OSS#13991, ENT#2501) — @uddhavdave
- Conditional Model Pricing - time-based conditional model pricing (OSS#13903) — @007harshmahajan
- o2-ai Agent HA - HA mode for the o2-ai agent (OSS#13525, ENT#2300) — @007harshmahajan
- Database Monitoring (DBM) - new Database Monitoring surface with enterprise canonicalizers and a module grant (OSS#13918, ENT#2484) — @oasisk
- Synthetics in OSS + Super-cluster - super-cluster support, then the move of synthetic monitoring into open source (OSS#13795, ENT#2420) — @Loaki07
- Step-based Billing - meter step-based billing usage (shipped dark), unify step billing (price at metering, gate at enqueue), settle synthetics grants at the metering pass, and report step usage to billing providers (OSS#13951, OSS#14224, ENT#2490, ENT#2573) — @Loaki07
- Journey Advisories Chip - collapse journey advisories into an on-demand suggestions chip (OSS#13759) — @omkarK06
- Query Editor Redesign - dashboard query editor redesign (OSS#13637) — @ktx-vaidehi
- Interactive Table Cells - interactive table cells with an in-place Logs Explorer drawer (OSS#13675) — @chaitanya-sistla
- URL Cell Hyperlinks - hyperlink support for URL cells in table charts (OSS#13650) — @ktx-abhay
- Folder Icons - folder icons (OSS#13895) — @ktx-vaidehi
- Mobile RUM Error Tracking - mobile RUM SDK error tracking v2 (OSS#13645) — @bjp232004
- RUM Error Detail Redesign - rebuilt the RUM error detail page around issue impact (OSS#13697) — @bjp232004
- Org-scoped Search Inspector - org-scoped search inspector with a dedicated permission (OSS#14005, ENT#2507) — @hengfeiyang
- TopK
_valuesAPI - replacedistinct_values_*streams with tantivy TopK for the_valuesAPI (OSS#13834) — @hengfeiyang
- zstd on OTLP gRPC Ingest - zstd compression on OTLP gRPC ingest (OSS#13703) — @Pinguladora
- Per-stream File Formats - per-stream file format support (OSS#13677) — @haohuaijin
- Compactor Delete Delay -
ZO_COMPACT_DELETE_FILES_DELAY_MINUTEScompactor delay (OSS#13828) — @TessaIO - ORM Read/Write Split - split ORM read/write clients and retire the sqlite write lock (OSS#13927, ENT#2486) — @hengfeiyang
- MCP Server on OSS - serve the MCP Server setup page on the OSS build (OSS#13720) — @bjp232004
- Functions Segmented Toggle - replace language radios with a segmented toggle (OSS#13766) — @bjp232004
- PromQL speedups:
Utf8Viewmetric labels, incremental range-function folding into aggregations, a per-series prefix replacing per-window counter-reset scans, preallocated hash-sorted series samples, automatic label timestamp filter selection, and a re-added process-wide series-label cache (OSS#13796, OSS#13989, OSS#13997, OSS#13971, OSS#13756, OSS#13748) — @haohuaijin - Bound indexed-metrics merge output memory and prepare the indexed-metrics groundwork (OSS#13928, OSS#13907) — @haohuaijin
- Batched per-stream scan for multi-id trace time-range lookup (OSS#14002) — @hengfeiyang
- Preserve indexed top-n aggregation results in search (OSS#13779) — @haohuaijin
- Search internals: replace the
sorted_by_timebool with aFileSortOrderenum, drop it from the distributed plan wire format, decide the merge kind once viaMergeMode, share the DataFusion pipeline, and lay merge/result/access-plan groundwork for TSID-major metrics (OSS#13853, OSS#13856, OSS#13866, OSS#13861) — @haohuaijin - Split compaction
merge/mod.rsby function into job/stream/file modules (OSS#13900) — @haohuaijin - Split ORM read/write clients, retire the sqlite write lock, and adopt the split clients in enterprise modules (OSS#13927, ENT#2486) — @hengfeiyang
- Rename the AlertManager node role to Scheduler (OSS#13696, ENT#2376) — @hengfeiyang
- Remove the
trace_list_indexfeature and the action scripts / action server (OSS#13809, OSS#14000, ENT#2503) — @hengfeiyang - Register the metrics-index workspace crate and group DataFusion/Tantivy feature configs (OSS#13664, ENT#2483) — @haohuaijin
- Reliability workflows: a Playwright Stuck-Run-Reaper (active-runs only, zombie labelling), an Auto Merge Queuer that re-adds PRs dequeued by failed checks, and a reliable-exit fix for AI review (OSS#13740, OSS#13743, OSS#13745, OSS#13891, OSS#13886) — @Shrinath-O2
- Rebrand automated PR review as "OpenObserve Code Reviewer", remove the redundant Qodo PR-Agent workflow, and move darwin release builds to
macos-latest-xlarge(OSS#13871, OSS#13887, OSS#13692, ENT#2461, ENT#2373) — @Shrinath-O2 - Fix
ent-e2e-gateto build against the PR base line rather than alwaysmain, and compute the ENT-only subset fromci_matrix(OSS#14414, ENT#2396) — @Shrinath-O2 - i18n CI: generate translations in the PR that changes
en-US.jsonand stop retrying pushes a merge queue has frozen (OSS#13741, OSS#13765) — @bjp232004 - Playwright: stop SLO-Measurement backfill serializing 21 daily chunks, enable SMTP so the distribution-list email suite runs in ENT, and consume per-shard ingest windows (OSS#13870, ENT#2472, ENT#2434) — @vamsikarthikr
- Migrate templates and shadows to design tokens and delete the debt baseline (OSS#13769) — @ktx-kirtan
- Improve Simplified Chinese / zh-CN translations, send key-path context and a term glossary to the translation model, backfill mistranslated locale keys via context-aware regeneration, and correct Spanish product terminology (OSS#13707, OSS#13835, OSS#13967, OSS#13968, OSS#13973) — @hengfeiyang
- Fixed SLO form client-side validation, validating every required field, and a scannable source-alert picker (OSS#14288) — @vamsikarthikr
- Fixed surfacing real API error messages on the SLO form (OSS#14279) — @bjp232004
- Fixed SLO detail and traces navigation cleanup (OSS#13852) — @prabhatsharma
- Fixed assorted SLO bugs (OSS#13784) — @YashodhanJoshi1
- Fixed composite alert issues and routed the composite alert clone through the dedicated
/cloneendpoint (OSS#14339, OSS#14352) — @YashodhanJoshi1 - Fixed spacing above Select Folder in the Clone Alert dialog (OSS#14359) — @bjp232004
- Fixed guarding the Import Semantic Groups route on OSS builds (OSS#14365) — @Shrinath-O2
- Fixed preserving the raw payload when switching template-mode tabs and shipped notification templates v2 with rich content and alert chart images (OSS#13661, OSS#13640) — @oasisk
- Fixed losing Slack alerts on undeliverable link URLs (OSS#13753) — @oasisk
- Fixed typing the aggregation HAVING clause from the aggregate rather than the column (OSS#13790) — @hengfeiyang
- Fixed the preview-template RBAC error (OSS#14341) — @Subhra264
- Fixed reducing DB calls for realtime alerts (OSS#13920) — @hengfeiyang
- Fixed alert improvements v3 (OSS#13670) — @bjp232004
- Fixed AI observability issues across the 1.0.0 backports (OSS#14066, OSS#14120, OSS#14343, ENT#2541, ENT#2594) — @uddhavdave
- Fixed experiment summaries, costs and comparisons, and provider testing / playground feedback / experiment results (ENT#2582, OSS#14258) — @uddhavdave
- Fixed the LLM chart renderer, moving the AI observability monitor section to OSS, and hiding scores/agents labels on OSS builds (OSS#14160, OSS#14380, OSS#14385, OSS#14389) — @nikhilsaikethe
- Fixed preserving online-evaluation provider API keys (OSS#13739) — @uddhavdave
- Fixed routing annotation-queue score lookups to queriers, validating machine-score streams, and intermittent 500s hydrating annotation-queue items (OSS#13801, OSS#13881, ENT#2423, ENT#2473) — @uddhavdave
- Fixed the session detail output message (OSS#13889) — @uddhavdave
- Fixed migrating annotation-queue and dataset permissions and adding their OpenFGA types (OSS#13888, ENT#2477) — @uddhavdave
- Fixed service-streams correlation P0/P1/P2 review items with raw emission, anchor narrowing, shared ranking and a discovered-services flat table (OSS#13668, OSS#13710, ENT#2368, ENT#2381) — @oasisk
- Fixed canonicalizing model names in the service graph to prevent node splitting (OSS#13561) — @oasisk
- Fixed changing the MCP URL and MCP tool calls returning 404 when
ZO_BASE_URIis set (OSS#14055, OSS#13844) — @nikhilsaikethe
- Fixed preserving the numeric JSON series hash and timestamp sorting for hash-ordered queries (OSS#13893, OSS#13919) — @haohuaijin
- Fixed matching
__name__selectors for uppercase metric names and preserving mixed-case WAL metric names (OSS#13917, OSS#13937) — @hengfeiyang - Fixed resolving the metric name from a
__name__matcher for authz (OSS#14342) — @Subhra264 - Fixed restoring query-builder filters after leaving the Custom Chart (OSS#14405) — @bjp232004
- Fixed the metric prefix not being visible initially and table-chart icon alignment (OSS#13996) — @ktx-abhay
- Fixed preserving the projection schema when rewriting
match_alland accepting scalar inputs in string UDFs (OSS#13808, OSS#14220) — @haohuaijin - Fixed clamping the auto-histogram interval to 1s for sub-10s ranges and scanning the exact requested range for histogram queries (OSS#13916, OSS#13969) — @hengfeiyang
- Fixed tying WAL search file locks to guards so cancelled queries release them, releasing the admission slot and follower task status on cancellation, and a running-slot reservation TTL backstop (OSS#13953, OSS#13954, ENT#2494) — @hengfeiyang
- Fixed quick mode rewriting SELECT inside subqueries and rejecting
LIMITin filter mode instead of building an invalid query (OSS#13787, OSS#13773) — @ameyypawar - Fixed enhancing FTS-field filtering logic in the search function (OSS#13767) — @hengfeiyang
- Fixed reading stream stats from the primary and retrying failed scans (OSS#14320) — @hengfeiyang
- Fixed
match_allpipe query corruption and classifying unquoted LIKE patterns wherever the parser stops (OSS#13764, OSS#13818) — @bjp232004 - Fixed Vortex Utf8-typed string statistics breaking Utf8View interval analysis (OSS#14075, ENT#2530) — @haohuaijin
- Fixed the logs page freezing when wrap is enabled and loading the stream list on Visualize when none is selected (OSS#13638, OSS#13812) — @ktx-vaidehi
- Fixed rendering streaming aggregation results as they arrive and replacing the page instead of appending when a stream opens empty (OSS#14334, OSS#14335) — @omkarK06
- Fixed retaining the query re-applied from Search History (OSS#14287) — @neha00290
- Fixed resetting field-list pagination when the stream changes via SQL mode, plus copy-to-clipboard notification and minor logs-page issues (OSS#14384, OSS#14314) — @bjp232004
- Fixed scoping "View Logs" correlated query to the clicked span and trace-log correlation with Trace Graph height (OSS#13700, OSS#13901) — @omkarK06
- Fixed saturating span duration when
end_timeprecedesstart_timeand truncating long span/service names in trace detail (OSS#14368, OSS#14361) — @omkarK06 - Fixed passing the expanded row to View Trace and restoring the traces "View Logs" URL (OSS#13722, OSS#13662) — @omkarK06
- Fixed showing the local timezone in the stream-detail time range (OSS#13652) — @Shrinath-O2
- Fixed large dashboards freezing the browser on open and table panels freezing/crashing on large results by windowing the OTable row model to the virtual-scroll range (OSS#13970, OSS#13933) — @ktx-vaidehi
- Fixed dropping stream events from a superseded PromQL panel run and keeping rows whose other y column is null (OSS#14374, OSS#14185) — @ktx-vaidehi
- Fixed the dashboard report overlap issue and the builder-tab saved-views apply issue (OSS#14328, OSS#14418) — @ktx-abhay
- Fixed deduplicating panel and layout IDs on import/load and label-overlap/layout improvements (OSS#13760, OSS#13725, OSS#13815) — @ktx-abhay
- Fixed dashboard table column formatting via the column header and persisting the builder chart in saved views (OSS#13695, OSS#13994) — @ktx-abhay
- Fixed png-to-svg chart types and the panel annotation button icon (OSS#13911, OSS#13718) — @ktx-vaidehi
- Fixed the
AbortErrorguard in the dashboard search error handler (OSS#13309) — @tsushanth - Fixed database and alerts page UI improvements (OSS#13963) — @ktx-abhay
- Fixed the recorder extension install link, record/replay setup gate, configurable store URL, and a sequential recorder setup checklist with state-safe refresh and incognito failure recovery (OSS#13658, OSS#13684) — @omkarK06
- Fixed recording from a specific step without silently downgrading actions, showing where recorded steps will land, and reading a run's evidence without leaving the step (OSS#13799, OSS#13860, OSS#13879) — @omkarK06
- Fixed moving check variables into a shared resizable panel and collapsing the variables panel by default (OSS#13699, OSS#13825) — @omkarK06
- Fixed deployment ceilings surviving a config reload (OSS#13785) — @Loaki07
- Fixed the synthetics locations UI in configure-location (OSS#13475) — @omkarK06
- Fixed restoring RUM-traces correlation for zero-stripped trace ids and adding missing share-URL support to RUM pages (OSS#13959, OSS#14003) — @omkarK06
- Fixed the browser SDK bump to 0.4.2 (OSS#13584, OSS#14102) — @bjp232004
- Fixed serializing every remaining sqlite write path (OSS#13905, ENT#2480) — @hengfeiyang
- Fixed preventing NATS KV watch consumer accumulation on reconnect storms and failing startup when the NATS queue backend is unreachable (OSS#13676, OSS#13914) — @hengfeiyang
- Fixed scoping postgres catalog lookups to the active schema (OSS#13723) — @hengfeiyang
- Fixed waiting for the WAL settle window before merging the previous hour and skipping
session_idin trace-time-index merge when files lack the column (OSS#13880, OSS#13863) — @hengfeiyang - Fixed retention deleting one extra day and the file-list timestamp occasionally being zero (OSS#13804, OSS#13936) — @hengfeiyang
- Fixed supporting zstd-compressed HTTP requests and enabling tonic zstd in the enterprise build (OSS#13728, ENT#2377) — @hengfeiyang
- Fixed only reading
file_list_dump_statswhen dumping is enabled and always creating the table (OSS#13830, OSS#13873) — @YashodhanJoshi1 - Fixed collapsing apt-get layers and cleaning cache in the Dockerfiles (OSS#13633) — @sangharshcs
- Fixed upgrading the build image to
ubicloud-standard-16(OSS#13950) — @haohuaijin
- Fixed returning 403 instead of panicking when a user is not in the org (OSS#13878) — @hengfeiyang
- Fixed stopping deployment internals being served on the unauthenticated
/configand authorizingGET /{org}/configfor any org member (OSS#13921, ENT#2485) — @oasisk - Fixed adding an env to completely skip SSRF checks (OSS#13682) — @YashodhanJoshi1
- Fixed caching invites and handling auth for invite rejection (OSS#13613, OSS#13566, ENT#2344) — @YashodhanJoshi1
- Fixed keeping the
_metaorg list out of the header switcher dropdown and creating the_metaorganization at startup (OSS#14388, OSS#14377) — @Loaki07
- Fixed draft workflows and workflow UX improvements (OSS#13666, OSS#13929) — @nikhilsaikethe
- Fixed the pipeline destination Add dialog closing itself on a slow API response (OSS#14419) — @vamsikarthikr
- Fixed stopping unprintable error messages collapsing responses into a bare 500 and returning empty when usage is missing instead of erroring (OSS#13952, OSS#13842) — @hengfeiyang
- Fixed paginating multi-stream logs with a single
UNION ALL BY NAMEquery (OSS#14079) — @Loaki07
- Fixed 1.0.0 UI changes and re-placing the toggle pill after an item reorder (OSS#14083, OSS#13721) — @bjp232004
- Fixed button tooltip and patterns-page scroll, and closing an open dropdown before the rail flyout opens (OSS#14373, OSS#14370) — @ktx-vaidehi
- Fixed gating the keyboard-shortcut cheatsheet to reachable pages and stopping the O2 AI chat opening via the ungated Ctrl+B shortcut on OSS (OSS#14415, OSS#14397) — @Shrinath-O2
- Fixed logs scroll jump, dashboard tab-rename width, banner usage, and build warnings (OSS#13858, OSS#13729) — @ktx-vaidehi
- Fixed translated placeholder names crashing localized pages (OSS#13833) — @hengfeiyang
- Fixed AI-page improvements and hiding LLM Model Pricing on OSS builds (OSS#13689, OSS#13651) — @ktx-abhay
- Fixed memory-leak issues (OSS#14170) — @ktx-abhay
- Fixed org-id inclusion in the route (OSS#14160) — @nikhilsaikethe
- Fixed an "occured" typo in alert and folder doc comments (OSS#13705) — @latent-9
- E2E stabilization and self-heal across Alerts, Traces, Logs, Reports, Correlation and the alpha1 cloud suite, plus Sentinel POM-compliance sweeps and auto-generated bug-repro tests (OSS#13626, OSS#13672, OSS#13674, OSS#13724, OSS#13727, OSS#13735, OSS#13746, OSS#13752, OSS#13875, OSS#13934, OSS#13657, ENT#2351, ENT#2495) — @Shrinath-O2
- Migrated multi-alert and correlation API specs from Playwright to pytest (OSS#13788, OSS#13791, ENT#2412, ENT#2419) — @Shrinath-O2
- SLO E2E + API suite, mobile RUM SDK end-to-end suite across 4 platforms with session-replay upload assertions, and email-destination / distribution-list E2E (OSS#13836, OSS#13628, OSS#13945, OSS#13876) — @vamsikarthikr
- Query-agent sentinels for
match_all/CSE/FST rewrite coverage and a parametrized workflow condition-eval matrix (OSS#13810, OSS#13824, OSS#13999) — @neha00290 - Dashboards, metrics, logs, reports and date-time-picker E2E coverage plus alpha-environment stabilization (OSS#13747, OSS#13758, OSS#13781, OSS#13884, OSS#13894, OSS#13912, OSS#13972, ENT#2431, ENT#2448) — @ktx-akshay
| Version | Date | Notes |
|---|---|---|
| v1.0.0-rc1 | August 28, 2026 | Initial release candidate |
| v1.0.0-rc2 | September 2, 2026 | Alerts, AI-obs and search stabilization |
| v1.0.0-rc3 | September 8, 2026 | SLO forms, PromQL authz and streaming/traces fixes |
| v1.0.0-rc4 | September 9, 2026 | AI observability backports |
| v1.0.0-rc5 | September 10, 2026 | Logs, alerts, traces and _meta org fixes |
| v1.0.0 | September 11, 2026 | General Availability |
- Total Commits: 295 (OSS)
- Features: 41
- Performance Improvements: 8
- Bug Fixes: 95
- Test Improvements: 5
- Contributors: 29
- Usage stream is now enterprise-only - the usage stream is no longer produced on OSS builds (OSS#14348) — @Loaki07
distinct_values_*streams replaced - the_valuesAPI now uses tantivy TopK instead ofdistinct_values_*streams (OSS#13834) — @hengfeiyang- Action scripts / action server removed - the action scripts and action server were removed (OSS#14000, ENT#2503) — @hengfeiyang
trace_list_indexfeature removed - the trace list index feature was removed (OSS#13809) — @hengfeiyang- ORM read/write client split - the sqlite write lock was retired and the ORM was split into separate read/write clients (OSS#13927, ENT#2486) — @hengfeiyang
- AlertManager node role renamed to Scheduler - the
AlertManagernode role is nowScheduler(OSS#13696, ENT#2376) — @hengfeiyang - Deployment internals removed from unauthenticated
/config- deployment internals are no longer served on the unauthenticated/configendpoint (OSS#13921) — @oasisk - Reserved columns rejected -
delete_fieldsandupdate_fields_typenow reject reserved columns (OSS#14354) — @oasisk
- Full Changelog (OSS): https://github.com/openobserve/openobserve/compare/v0.92.2...v1.0.0
- Documentation: https://openobserve.ai/docs
- Download: https://openobserve.ai/downloads
Thank you to all contributors who made this release possible!
Shrinath-O2, hengfeiyang, haohuaijin, uddhavdave, bjp232004, omkarK06, ktx-vaidehi, ktx-akshay, oasisk, vamsikarthikr, Loaki07, ktx-abhay, YashodhanJoshi1, nikhilsaikethe, prabhatsharma, neha00290, 007harshmahajan, Subhra264, chaitanya-sistla, ameyypawar, tsushanth, sidharth-sinhasane, sangharshcs, latent-9, ktx-kirtan, jvaldesbit, TessaIO, Pinguladora, DHRUV6029
Note: For upgrade instructions and migration guides, please refer to the official documentation.
RustFS 1.0.0-rc.6 (rc)
- test(heal): cover coordinator restart during rebuild by @marshawcoco in https://github.com/rustfs/rustfs/pull/7027
- ci(functional): add replication suite (bucket + site) as chain finale by @majinghe in https://github.com/rustfs/rustfs/pull/7026
- chore(agents): move mimocode skills into .agents/skills by @overtrue in https://github.com/rustfs/rustfs/pull/7030
- docs(readme): refresh feature and status matrix by @overtrue in https://github.com/rustfs/rustfs/pull/7031
- ci: bump repo-visuals-action to v1.3.1 by @overtrue in https://github.com/rustfs/rustfs/pull/7032
- docs(swift): align README feature lists with router and handler wiring by @overtrue in https://github.com/rustfs/rustfs/pull/7033
- docs(knowledge-base): prune stale content and add agent-facing index by @overtrue in https://github.com/rustfs/rustfs/pull/7035
- fix(ci): repair chain handoff scripts broken by ${{VAR}} expressions by @majinghe in https://github.com/rustfs/rustfs/pull/7034
- fix(http): drain request bodies after early responses by @cxymds in https://github.com/rustfs/rustfs/pull/7019
- fix(ci): pass repository to preview release cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/7038
- fix(ecstore): defer zero-evidence delete diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/7036
- fix(ecstore): make publication part matching bijective by @cxymds in https://github.com/rustfs/rustfs/pull/7037
- chore(deps): refresh s3s and smallvec by @houseme in https://github.com/rustfs/rustfs/pull/7043
- test(heal): cover target endpoint recovery by @marshawcoco in https://github.com/rustfs/rustfs/pull/7046
- fix: update stale docs/README.md references to docs/architecture/README.md by @overtrue in https://github.com/rustfs/rustfs/pull/7053
- fix(ecstore): preserve buckets after pool expansion by @cxymds in https://github.com/rustfs/rustfs/pull/7040
- fix(server): align vhost domains with s3s port matching by @houseme in https://github.com/rustfs/rustfs/pull/7051
- fix(s3): preserve s3s v0.16 compatibility by @houseme in https://github.com/rustfs/rustfs/pull/7052
- fix(ecstore): report unreachable bucket-delete residue at error level by @reatang in https://github.com/rustfs/rustfs/pull/7048
- fix(replication): keep multipart objects on the multipart transport by @reatang in https://github.com/rustfs/rustfs/pull/7047
- fix(ilm): enqueue committed tier free versions by @cxymds in https://github.com/rustfs/rustfs/pull/7041
- fix(scanner): recover fenced incomplete usage floors by @houseme in https://github.com/rustfs/rustfs/pull/7055
- refactor(ecstore): shared remote S3 client builder and ODM source client by @overtrue in https://github.com/rustfs/rustfs/pull/7067
- test(e2e): extend fake S3 target as an on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7068
- feat(rio): add bounded tee reader for one-read two-consumer paths by @overtrue in https://github.com/rustfs/rustfs/pull/7066
- fix(scanner): align usage floor compat marker by @houseme in https://github.com/rustfs/rustfs/pull/7064
- fix: preserve protocol service account claims by @houseme in https://github.com/rustfs/rustfs/pull/7062
- fix(ecstore): wait for multipart copy readiness by @houseme in https://github.com/rustfs/rustfs/pull/7065
- test(e2e): rename stall timing variable flagged by typos by @overtrue in https://github.com/rustfs/rustfs/pull/7070
- feat(ecstore): add on-demand migration bucket config model by @overtrue in https://github.com/rustfs/rustfs/pull/7061
- refactor(object): extract internal put entry and ODM provenance keys by @overtrue in https://github.com/rustfs/rustfs/pull/7071
- feat(ecstore): add on-demand migration runtime OnDemandMigrationSys by @overtrue in https://github.com/rustfs/rustfs/pull/7074
- feat(admin): add on-demand migration bucket admin API by @overtrue in https://github.com/rustfs/rustfs/pull/7076
- feat(object): serve HEAD misses from the on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7077
- fix(admin): gate the s3 facade auth re-export to tests by @overtrue in https://github.com/rustfs/rustfs/pull/7078
- Fix rustfs-cli e2e target warning by @houseme in https://github.com/rustfs/rustfs/pull/7073
- feat(ecstore): add on-demand migration write-back pipeline by @overtrue in https://github.com/rustfs/rustfs/pull/7079
- fix(object): route write-back test wire types through the s3 facade by @overtrue in https://github.com/rustfs/rustfs/pull/7080
- feat(obs): export on-demand migration metrics and status snapshot by @overtrue in https://github.com/rustfs/rustfs/pull/7081
- fix(heal): recover replacement after transient disk errors by @marshawcoco in https://github.com/rustfs/rustfs/pull/7059
- fix(s3): report FULL_OBJECT checksum type for multipart objects by @reatang in https://github.com/rustfs/rustfs/pull/7060
- fix(ci): refresh Linux full E2E selection by @overtrue in https://github.com/rustfs/rustfs/pull/7069
- fix(replication): quote the ETag in the single-PUT size guard message by @reatang in https://github.com/rustfs/rustfs/pull/7075
- feat(object): serve GET misses from the on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7084
- test(e2e): cover on-demand migration faults, concurrency and interactions by @overtrue in https://github.com/rustfs/rustfs/pull/7085
- docs(odm): add the on-demand migration operations guide by @overtrue in https://github.com/rustfs/rustfs/pull/7086
- feat(ecstore): add the on-demand migration backfill job by @overtrue in https://github.com/rustfs/rustfs/pull/7087
- fix(ecstore): stop scan_dir emitting entries past a limit hit inside a subdirectory by @HateTM in https://github.com/rustfs/rustfs/pull/7049
- feat(odm): enable on-demand migration by default by @overtrue in https://github.com/rustfs/rustfs/pull/7089
- feat(storage): complete Snowball and decommission follow-ups by @cxymds in https://github.com/rustfs/rustfs/pull/7039
- test(ecstore): stabilize subquorum free-version fixture by @cxymds in https://github.com/rustfs/rustfs/pull/7090
- fix(ecstore): stabilize decommission config and retry tests by @cxymds in https://github.com/rustfs/rustfs/pull/7091
- test(e2e): add the outbound target matrix and #7082 postmortem by @reatang in https://github.com/rustfs/rustfs/pull/7092
- fix(replication): fence stale metadata status writeback by @cxymds in https://github.com/rustfs/rustfs/pull/7083
- chore(deps): refresh mimalloc and codec usage by @houseme in https://github.com/rustfs/rustfs/pull/7096
- feat(scanner): coordinate usage and workload boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7093
- test(rustfs): run RestoreObject generation-guard test on a large stack by @overtrue in https://github.com/rustfs/rustfs/pull/7100
- fix(ci): provision a pinned client for tier tests by @cxymds in https://github.com/rustfs/rustfs/pull/7098
- fix: fence transition transaction recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7095
- fix(odm): close three on-demand migration follow-ups from the e2e matrix by @overtrue in https://github.com/rustfs/rustfs/pull/7101
- fix(ilm): recover orphaned restore generations by @cxymds in https://github.com/rustfs/rustfs/pull/7104
- docs(ilm): document persistence recovery contracts by @cxymds in https://github.com/rustfs/rustfs/pull/7106
- fix(replication): send an integrity header on Object Lock PUTs by @reatang in https://github.com/rustfs/rustfs/pull/7097
- feat(scanner): add storage seam by @houseme in https://github.com/rustfs/rustfs/pull/7105
- test(heal): cover background target restart by @marshawcoco in https://github.com/rustfs/rustfs/pull/7103
- fix(scanner): preserve explicit cycle retry cadence by @marshawcoco in https://github.com/rustfs/rustfs/pull/7107
- fix(odm): declare source retry policy and time out a stalled inline read by @overtrue in https://github.com/rustfs/rustfs/pull/7111
- fix(ilm): delete historical null versions by exact identity by @cxymds in https://github.com/rustfs/rustfs/pull/7109
- feat(odm): merge the source listing into ListObjectsV2 by @overtrue in https://github.com/rustfs/rustfs/pull/7112
- feat(tier): report cluster tier stats and count tier requests by @overtrue in https://github.com/rustfs/rustfs/pull/7110
- test(odm): add the scheduled provider interop lane by @overtrue in https://github.com/rustfs/rustfs/pull/7114
- fix(list): satisfy clippy in the source listing merge by @overtrue in https://github.com/rustfs/rustfs/pull/7117
- fix: resolve clippy warnings in bucket_list_through.rs by @overtrue in https://github.com/rustfs/rustfs/pull/7121
- fix: bound tier free-version recovery sweeps by @cxymds in https://github.com/rustfs/rustfs/pull/7125
- docs(architecture): decide how remote credentials are sealed at rest by @overtrue in https://github.com/rustfs/rustfs/pull/7131
- fix(ilm): defer aborted dispatch cleanup to recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7126
- fix(filemeta): accept MinIO RFC1123 restore expiry-date by @overtrue in https://github.com/rustfs/rustfs/pull/7115
- feat(scanner): expose authenticated dirty bucket snapshots by @marshawcoco in https://github.com/rustfs/rustfs/pull/7122
- fix(ilm): notify on batch noncurrent version expiry by @overtrue in https://github.com/rustfs/rustfs/pull/7116
- fix(ci): track nightly test selection per platform by @overtrue in https://github.com/rustfs/rustfs/pull/7128
- fix(ilm): chunk large tier-delete dispatches by @cxymds in https://github.com/rustfs/rustfs/pull/7123
- fix(ilm): drain tier-delete recovery pages by @cxymds in https://github.com/rustfs/rustfs/pull/7133
- docs(ilm): approve legacy tier state reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/7142
- fix(restore): reject SELECT restore and keep typed S3 errors by @overtrue in https://github.com/rustfs/rustfs/pull/7113
- chore(deps): refresh hotpath, mimalloc, and kafka by @houseme in https://github.com/rustfs/rustfs/pull/7135
- feat(ecstore): add the sealed remote credential seam by @overtrue in https://github.com/rustfs/rustfs/pull/7137
- fix(tier): preserve credentials during backend validation by @cxymds in https://github.com/rustfs/rustfs/pull/7127
- test(ecstore): run checkpoint publication test on large stack by @cxymds in https://github.com/rustfs/rustfs/pull/7134
- refactor(odm): separate source backends from namespace mapping by @overtrue in https://github.com/rustfs/rustfs/pull/7129
- fix(version): avoid deriving RustFS version from runtime working directory by @cuishuang in https://github.com/rustfs/rustfs/pull/7118
- feat(scanner): prepare scoped bucket cache scans by @marshawcoco in https://github.com/rustfs/rustfs/pull/7136
- docs(ilm): approve bounded recovery disposition by @cxymds in https://github.com/rustfs/rustfs/pull/7155
- fix(tier): bound distributed mutation latency by @cxymds in https://github.com/rustfs/rustfs/pull/7150
- ci: render step results and version in workflow reports by @majinghe in https://github.com/rustfs/rustfs/pull/7141
- test(ecstore): stabilize sealed context encoding by @cxymds in https://github.com/rustfs/rustfs/pull/7149
- fix: use BTreeMap for deterministic encryption context serialization by @overtrue in https://github.com/rustfs/rustfs/pull/7154
- test(ecstore): stabilize transition generation fixture by @cxymds in https://github.com/rustfs/rustfs/pull/7140
- feat(tier): add durable probe intent protocol by @cxymds in https://github.com/rustfs/rustfs/pull/7151
- docs(ecstore): define generation authority and recovery boundary by @overtrue in https://github.com/rustfs/rustfs/pull/7159
- feat(tier): fence legacy state reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/7144
- docs(architecture): settle remote credential sealing threat model by @overtrue in https://github.com/rustfs/rustfs/pull/7168
- test(ecstore): fix sealed context fixture map type by @overtrue in https://github.com/rustfs/rustfs/pull/7161
- fix(ecstore): fail closed on an unreadable bucket-targets blob by @overtrue in https://github.com/rustfs/rustfs/pull/7172
- fix(tier): probe exact legacy transition versions by @cxymds in https://github.com/rustfs/rustfs/pull/7138
- test(ecstore): narrow barrier re-export cfgs by @cxymds in https://github.com/rustfs/rustfs/pull/7152
- fix(app): fail closed on an unreadable bucket encryption config by @overtrue in https://github.com/rustfs/rustfs/pull/7183
- test(ecstore): require core regressions in the existing CI lane by @overtrue in https://github.com/rustfs/rustfs/pull/7162
- ci: refresh Linux full E2E membership after test additions by @overtrue in https://github.com/rustfs/rustfs/pull/7156
- ci(upgrade): support manual runs between any two release versions by @majinghe in https://github.com/rustfs/rustfs/pull/7145
- chore(tier): remove stage-a blanket lint allowances by @cxymds in https://github.com/rustfs/rustfs/pull/7153
- fix(ecstore): reject stalled ODM pagination before merging pages by @overtrue in https://github.com/rustfs/rustfs/pull/7164
- refactor(ecstore): isolate local object rename commit by @overtrue in https://github.com/rustfs/rustfs/pull/7166
- test(scanner): add durable checkpoint diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/7175
- test(s3): add Snowball tar-codec compatibility fixtures by @cxymds in https://github.com/rustfs/rustfs/pull/7157
- refactor(ecstore): isolate metadata quorum decisions by @overtrue in https://github.com/rustfs/rustfs/pull/7165
- test(ecstore): count injected faults across retry restarts by @overtrue in https://github.com/rustfs/rustfs/pull/7170
- fix(site-replication): bound and order outage recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7148
- fix(ecstore): drain control writes and preserve uncertain rollback by @overtrue in https://github.com/rustfs/rustfs/pull/7163
- fix(ci): preserve security suite failures and isolate reports by @overtrue in https://github.com/rustfs/rustfs/pull/7188
- feat(scanner): plan dirty bucket cache refreshes by @marshawcoco in https://github.com/rustfs/rustfs/pull/7146
- fix(heal): retain completed task progress by @houseme in https://github.com/rustfs/rustfs/pull/7177
- fix(admin): report partial background heal coverage by @houseme in https://github.com/rustfs/rustfs/pull/7178
- fix(scanner): make reset cleanup safely reentrant by @houseme in https://github.com/rustfs/rustfs/pull/7180
- fix(ci): require fresh successful scheduled validations by @overtrue in https://github.com/rustfs/rustfs/pull/7192
- feat(scanner): add bounded incarnation-scoped ACK receiver by @houseme in https://github.com/rustfs/rustfs/pull/7182
- chore(deps): refresh SDKs and verify clock skew behavior by @houseme in https://github.com/rustfs/rustfs/pull/7174
- fix(ecstore): remove duplicate local rename implementation by @houseme in https://github.com/rustfs/rustfs/pull/7190
- docs: request concrete behavior evidence in pull requests by @overtrue in https://github.com/rustfs/rustfs/pull/7196
- fix(odm): bound empty pagination chains with staged tokens by @overtrue in https://github.com/rustfs/rustfs/pull/7197
- fix(ci): share quick checks and lint workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7194
- chore(deps): bump zstd to 0.14 by @houseme in https://github.com/rustfs/rustfs/pull/7173
- fix(ecstore): release multipart disk snapshot before nested reads by @overtrue in https://github.com/rustfs/rustfs/pull/7184
- fix(dev): install a lightweight formatting commit hook by @overtrue in https://github.com/rustfs/rustfs/pull/7198
- fix(tier): bound remote transition requests by @cxymds in https://github.com/rustfs/rustfs/pull/7147
- fix(lifecycle): correct expiration and transition evaluation by @loverustfs in https://github.com/rustfs/rustfs/pull/7169
- fix(ecstore): release heal disk snapshot before nested reads by @overtrue in https://github.com/rustfs/rustfs/pull/7189
- fix(tier): persist coordinator intent before waking refresh by @overtrue in https://github.com/rustfs/rustfs/pull/7171
- fix(ci): preserve reported functional suite failures by @overtrue in https://github.com/rustfs/rustfs/pull/7199
- feat(heal): add explicit committed MRF snapshot reader by @houseme in https://github.com/rustfs/rustfs/pull/7179
- fix(storage): harden ODM and scanner publication by @overtrue in https://github.com/rustfs/rustfs/pull/7187
- feat(ecstore): add native azure blob and gcs migration sources by @overtrue in https://github.com/rustfs/rustfs/pull/7211
- ci(functional): fix dashboard report upload argv overflow and security checkout clobbering by @majinghe in https://github.com/rustfs/rustfs/pull/7212
- chore(deps): preserve scanner and heal validation compatibility by @houseme in https://github.com/rustfs/rustfs/pull/7209
- fix(ci): isolate functional evidence and preserve every result by @overtrue in https://github.com/rustfs/rustfs/pull/7201
- fix(ci): publish immutable nightly package candidates by @overtrue in https://github.com/rustfs/rustfs/pull/7202
- fix(ci): serialize performance on shared functional VMs by @overtrue in https://github.com/rustfs/rustfs/pull/7204
- fix(ci): run existing script contracts in quick checks by @overtrue in https://github.com/rustfs/rustfs/pull/7203
- test(e2e): pin upgrade compatibility to rc.5 and cover bucket configuration by @overtrue in https://github.com/rustfs/rustfs/pull/7217
- fix(s3): keep ListObjects v1 local during migration by @overtrue in https://github.com/rustfs/rustfs/pull/7220
- fix(ecstore): restore odm source contract tests by @houseme in https://github.com/rustfs/rustfs/pull/7215
- fix(odm): order initial installation against configuration removal by @overtrue in https://github.com/rustfs/rustfs/pull/7222
- feat(build): make native GCS backends optional by @overtrue in https://github.com/rustfs/rustfs/pull/7223
- test(odm): verify rc5 rollback configuration recovery by @overtrue in https://github.com/rustfs/rustfs/pull/7224
- fix(admin): add isolated bucket metadata diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7225
- refactor(odm): move migration orchestration into application by @overtrue in https://github.com/rustfs/rustfs/pull/7226
- fix(ci): route v1 listing test types through application bridge by @overtrue in https://github.com/rustfs/rustfs/pull/7227
- fix(build): declare relocated migration service dependencies by @overtrue in https://github.com/rustfs/rustfs/pull/7229
- fix(odm): compile relocated instance-bound backfill service by @overtrue in https://github.com/rustfs/rustfs/pull/7230
- fix(odm): fence source work against bucket recreation by @overtrue in https://github.com/rustfs/rustfs/pull/7231
- docs(odm): record upgrade limits in release notes by @overtrue in https://github.com/rustfs/rustfs/pull/7233
- fix(build): scope migration helpers to their features by @overtrue in https://github.com/rustfs/rustfs/pull/7234
- test(odm): provide the source region in access fixture by @overtrue in https://github.com/rustfs/rustfs/pull/7235
- test(odm): exercise overflow and invalid cursors reliably by @overtrue in https://github.com/rustfs/rustfs/pull/7236
- ci(e2e): install network fault-injection tools by @overtrue in https://github.com/rustfs/rustfs/pull/7244
- test(odm): run multipart race on large stack by @overtrue in https://github.com/rustfs/rustfs/pull/7239
- fix(scanner): bind resumable scans and cache publication coverage by @houseme in https://github.com/rustfs/rustfs/pull/7210
- test(scanner): add bounded ABBA validation harness by @houseme in https://github.com/rustfs/rustfs/pull/7181
- fix(ci): enable test utilities in migration gate by @cxymds in https://github.com/rustfs/rustfs/pull/7246
- fix(admin): keep exporting past unreadable configs and allow explicit target repair by @overtrue in https://github.com/rustfs/rustfs/pull/7247
- fix(ilm): persist bounded transition recovery controls by @cxymds in https://github.com/rustfs/rustfs/pull/7200
- fix(tier): drain cleanup before tier removal by @cxymds in https://github.com/rustfs/rustfs/pull/7213
- fix(ilm): reject invalid retention counts and validate lifecycle filters by @overtrue in https://github.com/rustfs/rustfs/pull/7132
- test(e2e): add distributed cluster regression coverage by @loverustfs in https://github.com/rustfs/rustfs/pull/7158
- fix(connect): sync protocol fixture consumers by @overtrue in https://github.com/rustfs/rustfs/pull/7167
- fix(scanner): require complete publication coverage by @houseme in https://github.com/rustfs/rustfs/pull/7176
- test(odm): pin gcs error classes and require the backend contracts in ci by @overtrue in https://github.com/rustfs/rustfs/pull/7250
- fix(ecstore): align platform and test helper compilation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7214
- feat(heal): record canonical object and task outcomes by @houseme in https://github.com/rustfs/rustfs/pull/7218
- feat(heal): add pending legacy MRF migration staging by @houseme in https://github.com/rustfs/rustfs/pull/7219
- test(scanner): diagnose raw enumeration across restarts by @houseme in https://github.com/rustfs/rustfs/pull/7228
- test(scanner): verify restart evidence against tested builds by @houseme in https://github.com/rustfs/rustfs/pull/7232
- test(scanner): bound segment observation diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/7240
- fix(ecstore): retain namespace owners through local disk completion by @overtrue in https://github.com/rustfs/rustfs/pull/7245
- fix(scanner): separate write retries from movement backlog by @cxymds in https://github.com/rustfs/rustfs/pull/7249
- ci(e2e): use tmpfs for distributed pool isolation by @loverustfs in https://github.com/rustfs/rustfs/pull/7207
- fix(odm): decode encoded Azure blob names exactly once by @overtrue in https://github.com/rustfs/rustfs/pull/7251
- test(odm): use fixed-size Azure request chunks by @overtrue in https://github.com/rustfs/rustfs/pull/7254
- fix(admin): preserve metadata during export and target repair by @overtrue in https://github.com/rustfs/rustfs/pull/7258
- fix(admin): follow recovery facade and error boundaries by @overtrue in https://github.com/rustfs/rustfs/pull/7259
- fix(replication): preserve concurrent remote target changes by @overtrue in https://github.com/rustfs/rustfs/pull/7262
- fix(odm): reject ambiguous native source dot segments by @overtrue in https://github.com/rustfs/rustfs/pull/7263
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/7264
- fix(admin): compile metadata test helper only in tests by @overtrue in https://github.com/rustfs/rustfs/pull/7266
- test(odm): verify global disable across restarts by @overtrue in https://github.com/rustfs/rustfs/pull/7268
- test(heal): cover start retry and deadline outcome contracts by @houseme in https://github.com/rustfs/rustfs/pull/7242
- test(scanner): verify default scoped entry fallback walks by @houseme in https://github.com/rustfs/rustfs/pull/7241
- fix(replication): close IAM snapshot, marker purge and broadcast gaps by @reatang in https://github.com/rustfs/rustfs/pull/7195
- fix(odm): preserve cursor compatibility and native source semantics by @overtrue in https://github.com/rustfs/rustfs/pull/7238
- feat(ilm): persist recovery controls for legacy tier journals by @cxymds in https://github.com/rustfs/rustfs/pull/7252
- ci(e2e): run distributed e2e on ubuntu-latest by @loverustfs in https://github.com/rustfs/rustfs/pull/7253
- feat(heal): pace running admin work at safe boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7255
- fix(admin): bound peer probe retries to one round deadline by @houseme in https://github.com/rustfs/rustfs/pull/7257
- test(scanner): add bounded cache cost microprofile by @houseme in https://github.com/rustfs/rustfs/pull/7261
- test(odm): refresh verified Linux E2E selection by @overtrue in https://github.com/rustfs/rustfs/pull/7271
- test(odm): bypass loopback proxies in native list fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7276
- test(admin): box remote target repair scenarios by @overtrue in https://github.com/rustfs/rustfs/pull/7277
- fix(odm): preserve progress when list-through is disabled by @overtrue in https://github.com/rustfs/rustfs/pull/7278
- ci: give target repair tests larger stack by @houseme in https://github.com/rustfs/rustfs/pull/7272
- test(admin): validate repair futures with the default stack by @overtrue in https://github.com/rustfs/rustfs/pull/7280
- fix(heal): retain hints without verified repair receipts by @houseme in https://github.com/rustfs/rustfs/pull/7275
- fix(scanner): resume committed cleanup when scanning is disabled by @houseme in https://github.com/rustfs/rustfs/pull/7281
- fix(heal): bound cross-page object retry delays by @houseme in https://github.com/rustfs/rustfs/pull/7273
- fix(scanner): visit compacted subtrees during deep scans by @houseme in https://github.com/rustfs/rustfs/pull/7270
- feat(scanner): preserve bounded bootstrap admission fairness by @houseme in https://github.com/rustfs/rustfs/pull/7260
- feat(heal): expose compatible canonical v3 outcomes by @houseme in https://github.com/rustfs/rustfs/pull/7256
- fix(ecstore): retain single-delete physical namespace ownership by @overtrue in https://github.com/rustfs/rustfs/pull/7287
- fix(tier): avoid re-fencing published mutations by @cxymds in https://github.com/rustfs/rustfs/pull/7274
- test(ecstore): drain source writes before corrupting shards by @overtrue in https://github.com/rustfs/rustfs/pull/7291
- feat(scanner): reuse complete observed scan candidates by @marshawcoco in https://github.com/rustfs/rustfs/pull/7206
- test(connect): refresh offline enrollment e2e chain by @overtrue in https://github.com/rustfs/rustfs/pull/7294
- chore(deps): refresh concurrency and protocol dependencies by @houseme in https://github.com/rustfs/rustfs/pull/7289
- chore(deps): bump the go_modules group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7288
- chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 in /scripts/compat/heal-outcome in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7296
- fix(lifecycle): allow multiple filter predicates without And wrapper by @overtrue in https://github.com/rustfs/rustfs/pull/7298
- fix(ecstore): retain namespace ownership during multipart commit by @overtrue in https://github.com/rustfs/rustfs/pull/7282
- feat(ilm): add immutable legacy recovery exports by @cxymds in https://github.com/rustfs/rustfs/pull/7283
- fix(admin): preserve decommission readiness error by @overtrue in https://github.com/rustfs/rustfs/pull/7285
- test(scanner): settle fixture writes before activity baseline by @overtrue in https://github.com/rustfs/rustfs/pull/7290
- fix(scanner): preserve verified maintenance digest by @overtrue in https://github.com/rustfs/rustfs/pull/7293
- test(s3): exclude invalid lifecycle filter vector by @overtrue in https://github.com/rustfs/rustfs/pull/7295
- docs(heal): clarify start retries and execution budgets by @houseme in https://github.com/rustfs/rustfs/pull/7300
- fix(heal): retain completed reports during clock rollback by @houseme in https://github.com/rustfs/rustfs/pull/7299
- fix(storage): derive multipart identity from stored parts by @overtrue in https://github.com/rustfs/rustfs/pull/7305
- fix(scanner): require root publication proof before dirty ack by @houseme in https://github.com/rustfs/rustfs/pull/7297
- test(scanner): verify quota state across reset and owner restart by @houseme in https://github.com/rustfs/rustfs/pull/7303
- test(ilm): align feature matrix lifecycle assertions by @houseme in https://github.com/rustfs/rustfs/pull/7311
- docs(s3): record object-key path-segment validation as intentional by @reatang in https://github.com/rustfs/rustfs/pull/7314
- test(scanner): cover reset cleanup across store reopen by @houseme in https://github.com/rustfs/rustfs/pull/7317
- chore: remove Go heal outcome compatibility fixture by @houseme in https://github.com/rustfs/rustfs/pull/7319
- test(ilm): realign source-marker assertions with handler order by @reatang in https://github.com/rustfs/rustfs/pull/7321
- test(replication): pin directory-marker null version and replication by @reatang in https://github.com/rustfs/rustfs/pull/7315
- feat(scanner): reuse clean local bucket prefixes by @marshawcoco in https://github.com/rustfs/rustfs/pull/7208
- chore(tier): remove remaining blanket lint allowances by @cxymds in https://github.com/rustfs/rustfs/pull/7306
- fix(s3-tables): preserve encoded paths in client signatures by @GatewayJ in https://github.com/rustfs/rustfs/pull/7309
- feat(scanner): send scoped dirty usage acknowledgements by @houseme in https://github.com/rustfs/rustfs/pull/7322
- fix(replication): stop duplicate re-drives on own-version-id targets by @reatang in https://github.com/rustfs/rustfs/pull/7323
- test(scanner): cover reset cleanup process crash boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7326
- test(heal): cover MRF snapshot recovery bounds by @houseme in https://github.com/rustfs/rustfs/pull/7327
- test(scanner): cover overflow service cohort rotation by @houseme in https://github.com/rustfs/rustfs/pull/7324
- fix(filemeta): keep data dir of a version awaiting purge replication by @reatang in https://github.com/rustfs/rustfs/pull/7307
- test(scanner): collect heal evidence oracles from registry by @houseme in https://github.com/rustfs/rustfs/pull/7328
- fix(scanner): pass dirty scopes to distributed scope resolution by @reatang in https://github.com/rustfs/rustfs/pull/7329
- docs(ilm): restore transition gate doc comment after handler reorder by @overtrue in https://github.com/rustfs/rustfs/pull/7325
- fix(replication): forward single-part object checksums as headers by @reatang in https://github.com/rustfs/rustfs/pull/7313
- fix(heal): fall back to set-wide format for directory-backed targets by @overtrue in https://github.com/rustfs/rustfs/pull/7331
- test(upgrade): read and replicate rc.5 multipart layouts by @overtrue in https://github.com/rustfs/rustfs/pull/7334
- feat(ilm): execute legacy recovery dispositions by @cxymds in https://github.com/rustfs/rustfs/pull/7304
- perf(s3-tables): avoid duplicate registration prefix scans by @GatewayJ in https://github.com/rustfs/rustfs/pull/7310
- test(scanner): cover scoped ack resolver fallback by @houseme in https://github.com/rustfs/rustfs/pull/7332
- test(scanner): cover concurrent cycle reset convergence by @houseme in https://github.com/rustfs/rustfs/pull/7335
- feat(madmin): add scanner reset client helpers by @houseme in https://github.com/rustfs/rustfs/pull/7333
- perf(ilm): reduce transition transaction mutations by @cxymds in https://github.com/rustfs/rustfs/pull/7320
- chore(deps): refresh scanner batch baseline by @houseme in https://github.com/rustfs/rustfs/pull/7336
- ci(docker): move latest on every prerelease until first stable tag by @overtrue in https://github.com/rustfs/rustfs/pull/7341
- fix(storage): queue multipart parts for foreground write permits by @overtrue in https://github.com/rustfs/rustfs/pull/7337
- fix(admin): probe set drives concurrently for storage info by @overtrue in https://github.com/rustfs/rustfs/pull/7338
- fix(ecstore): hide and reclaim delete residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/7342
- feat(scanner): add raw enumeration cursor metadata by @houseme in https://github.com/rustfs/rustfs/pull/7349
- test(scanner): parameterize heal evidence oracles by @houseme in https://github.com/rustfs/rustfs/pull/7346
- feat(scanner): accept durable recovery intents by @houseme in https://github.com/rustfs/rustfs/pull/7344
- fix(ecstore): roll back failed CAS directory fsync by @houseme in https://github.com/rustfs/rustfs/pull/7343
- fix(heal): retain MRF replay journal until retry anchor by @houseme in https://github.com/rustfs/rustfs/pull/7340
- test(scanner): classify raw enumeration replay by @houseme in https://github.com/rustfs/rustfs/pull/7339
- test(heal): cover set bulkhead scheduler isolation by @houseme in https://github.com/rustfs/rustfs/pull/7347
- chore(deps): refresh scanner heal continuation lockfile by @houseme in https://github.com/rustfs/rustfs/pull/7351
- feat(scanner): replay recovery intents at startup by @houseme in https://github.com/rustfs/rustfs/pull/7354
- test(heal): cover MRF replay across process restart by @houseme in https://github.com/rustfs/rustfs/pull/7355
- fix(scanner): confirm lost dirty usage acknowledgements by @houseme in https://github.com/rustfs/rustfs/pull/7357
- feat(scanner): persist raw enumeration cancellation cursor by @houseme in https://github.com/rustfs/rustfs/pull/7358
- fix(ecstore): keep pool meta read probes retryable by @houseme in https://github.com/rustfs/rustfs/pull/7359
- fix(oidc): support workload discovery and JWKS negotiation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7348
- fix(ecstore): isolate pool metadata read probes by @houseme in https://github.com/rustfs/rustfs/pull/7365
- test(ecstore): align heal capacity admission regression by @houseme in https://github.com/rustfs/rustfs/pull/7386
- fix(replication): carry the compression layout through SSE-C passthrough by @overtrue in https://github.com/rustfs/rustfs/pull/7366
- fix(io-metrics): simplify early eviction check by @houseme in https://github.com/rustfs/rustfs/pull/7383
- chore(scanner): stage Scanner/Heal follow-up slices by @houseme in https://github.com/rustfs/rustfs/pull/7374
- fix: reject unsupported pool expansion with actionable errors by @cxymds in https://github.com/rustfs/rustfs/pull/7360
- fix(replication): resolve drifted replicas via a target version ledger by @reatang in https://github.com/rustfs/rustfs/pull/7368
- test(scanner): cover scoped ack loss confirmation by @houseme in https://github.com/rustfs/rustfs/pull/7393
- fix(scanner): consume raw page owner resume oracle by @houseme in https://github.com/rustfs/rustfs/pull/7391
- test(heal): cover MRF crash replay gaps by @houseme in https://github.com/rustfs/rustfs/pull/7389
- test(heal): cover transport receipt replay after peer restart by @houseme in https://github.com/rustfs/rustfs/pull/7390
- test(scanner): prove segment activation gates by @houseme in https://github.com/rustfs/rustfs/pull/7388
- test(scanner): require heal pressure evidence metrics by @houseme in https://github.com/rustfs/rustfs/pull/7392
- test(e2e): allow scanner heal evidence port ranges by @houseme in https://github.com/rustfs/rustfs/pull/7394
- fix(scanner): bind scoped set reuse to bucket incarnations by @houseme in https://github.com/rustfs/rustfs/pull/7395
- fix(admin): report pool metadata write blocks by @houseme in https://github.com/rustfs/rustfs/pull/7396
- feat(heal): accept verified object repair receipts by @houseme in https://github.com/rustfs/rustfs/pull/7397
- test(heal): preserve MRF replay identity matrix by @houseme in https://github.com/rustfs/rustfs/pull/7398
- ci(star-history): bump repo-visuals-action to v1.4.0 by @overtrue in https://github.com/rustfs/rustfs/pull/7406
- test(scanner): align scoped maintenance oracle by @houseme in https://github.com/rustfs/rustfs/pull/7404
- fix(ecstore): recover interrupted pool metadata writes by @cxymds in https://github.com/rustfs/rustfs/pull/7387
- test(e2e): prebuild scanner heal evidence binaries by @houseme in https://github.com/rustfs/rustfs/pull/7400
- feat(scanner): admit verified segment invalidations by @houseme in https://github.com/rustfs/rustfs/pull/7402
- test(scanner): cover cohort overflow tail fairness by @houseme in https://github.com/rustfs/rustfs/pull/7403
- feat(observability): diagnose node-local S3 write failures by @cxymds in https://github.com/rustfs/rustfs/pull/7407
- fix(storage): bound multipart admission wait below SDK write timeouts by @overtrue in https://github.com/rustfs/rustfs/pull/7408
- fix(pool): publish durable decommission capacity revisions by @cxymds in https://github.com/rustfs/rustfs/pull/7409
- fix(rebalance): preserve explicit stop intent and real failures by @cxymds in https://github.com/rustfs/rustfs/pull/7410
- feat(ecstore): expose pool meta write gate status by @houseme in https://github.com/rustfs/rustfs/pull/7399
- fix(s3): allow delete-marker metadata during delete preflight by @cxymds in https://github.com/rustfs/rustfs/pull/7411
- fix(ci): use test-domain facade in delete-marker regression by @cxymds in https://github.com/rustfs/rustfs/pull/7412
- fix(heal): retain MRF replay anchors until successor proof by @houseme in https://github.com/rustfs/rustfs/pull/7413
- test(scanner): prove restart quantum stages by @houseme in https://github.com/rustfs/rustfs/pull/7414
- fix: align object version limit handling by @houseme in https://github.com/rustfs/rustfs/pull/7415
- test(scanner): bind segment proof generations by @houseme in https://github.com/rustfs/rustfs/pull/7416
- ci(upgrade): run rc.5 multipart layout checks by @overtrue in https://github.com/rustfs/rustfs/pull/7421
- docs: scope agent guidance and consolidate review workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7419
- fix(log-analyzer): track storage probe failures by @overtrue in https://github.com/rustfs/rustfs/pull/7434
- refactor: share object version limit constants by @houseme in https://github.com/rustfs/rustfs/pull/7420
- fix(s3): reject unsigned x-amz headers on presigned requests by @overtrue in https://github.com/rustfs/rustfs/pull/7425
- ci: refresh replication nightly selection by @overtrue in https://github.com/rustfs/rustfs/pull/7422
- fix(scanner): gate segment reuse activation by @houseme in https://github.com/rustfs/rustfs/pull/7430
- fix(scanner): preserve recovery intents while disabled by @houseme in https://github.com/rustfs/rustfs/pull/7428
- feat(observability): expose pool write-block diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/7417
- feat(heal): expose admission observability by @houseme in https://github.com/rustfs/rustfs/pull/7418
- fix(kms): report a missing KMS key as 400 KMS.NotFoundException by @reatang in https://github.com/rustfs/rustfs/pull/7423
- feat(heal): publish verified MRF repair events by @houseme in https://github.com/rustfs/rustfs/pull/7424
- test: summarize scanner heal perf artifacts by @houseme in https://github.com/rustfs/rustfs/pull/7426
- test(heal): cover admin lock timeout progress by @houseme in https://github.com/rustfs/rustfs/pull/7427
- fix(scanner): retain raw enumeration quantum by @houseme in https://github.com/rustfs/rustfs/pull/7431
- test(scanner): report heal release gate status by @houseme in https://github.com/rustfs/rustfs/pull/7432
- test(scanner): measure heal pacing and cache cost by @houseme in https://github.com/rustfs/rustfs/pull/7433
- fix(ecstore): bind target mutations to the listener instance by @overtrue in https://github.com/rustfs/rustfs/pull/7437
- fix(replication): preserve compressed multipart payload integrity by @overtrue in https://github.com/rustfs/rustfs/pull/7440
- fix(replication): keep multipart tests behind storage boundary by @overtrue in https://github.com/rustfs/rustfs/pull/7450
- fix(ecstore): preserve erasure writer error identity by @overtrue in https://github.com/rustfs/rustfs/pull/7455
- test(ilm): isolate manual transition backpressure by @overtrue in https://github.com/rustfs/rustfs/pull/7463
- fix: attest multi-pool bootstrap per creator and contain lock RPC storms by @overtrue in https://github.com/rustfs/rustfs/pull/7473
- fix(kms): distinguish key directory outages from missing keys by @overtrue in https://github.com/rustfs/rustfs/pull/7470
- fix: continue manual transition past in-flight objects by @overtrue in https://github.com/rustfs/rustfs/pull/7476
- fix(ecstore): preserve online writes during pool retirement by @cxymds in https://github.com/rustfs/rustfs/pull/7472
- fix(replication): close the GA blocker set from backlog#2366 by @reatang in https://github.com/rustfs/rustfs/pull/7503
- fix(ci): bind performance runs to selected inputs by @overtrue in https://github.com/rustfs/rustfs/pull/7512
- fix(targets): reject trailing batch items by @cuishuang in https://github.com/rustfs/rustfs/pull/7508
- test(odm): wait for pull counters before status assertions by @overtrue in https://github.com/rustfs/rustfs/pull/7533
- fix(ci): require every selected validation lane before merge by @overtrue in https://github.com/rustfs/rustfs/pull/7529
- fix(rebalance): align activation locks and preserve retryable causes by @cxymds in https://github.com/rustfs/rustfs/pull/7551
- fix(ecstore): preserve internode error context when cloning by @overtrue in https://github.com/rustfs/rustfs/pull/7548
- feat(nightly): make the build branch configurable (NIGHTLY_BRANCH var + dispatch input) by @majinghe in https://github.com/rustfs/rustfs/pull/7557
- test(ci): reserve runner capacity for bounded rollback probe by @overtrue in https://github.com/rustfs/rustfs/pull/7560
- fix(ecstore): apply read quorum to bucket validation by @cxymds in https://github.com/rustfs/rustfs/pull/7556
- docs: fix invalid docker-buildx.sh usage example in README and README_ZH by @JaySon-Huang in https://github.com/rustfs/rustfs/pull/7570
- fix(nightly): push assets with plain git — the build fleet has no gh CLI by @majinghe in https://github.com/rustfs/rustfs/pull/7572
- fix(kms): prevent transient health failures from latching status by @reatang in https://github.com/rustfs/rustfs/pull/7578
- feat(nightly): publish packages as assets of the rolling 'nightly' release (sync from release) by @majinghe in https://github.com/rustfs/rustfs/pull/7593
- fix(ecstore): stop pruning at nonempty directories by @marshawcoco in https://github.com/rustfs/rustfs/pull/7616
- fix(replication): close the pre-stable convergence gaps from backlog#2367 by @reatang in https://github.com/rustfs/rustfs/pull/7626
- feat(console): support a configurable console URL prefix by @overtrue in https://github.com/rustfs/rustfs/pull/7634
- chore(release): merge release into main for rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7638
- feat: configure the console base path at build time by @cxymds in https://github.com/rustfs/rustfs/pull/7636
- chore(release): prepare 1.0.0-rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7641
- fix(heal): preserve retryable batch failures during recovery by @overtrue in https://github.com/rustfs/rustfs/pull/7642
- @HateTM made their first contribution in https://github.com/rustfs/rustfs/pull/7049
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.5...1.0.0-rc.6
RustFS 1.0.0-rc.6-preview.1 (preview)
- test(heal): cover coordinator restart during rebuild by @marshawcoco in https://github.com/rustfs/rustfs/pull/7027
- ci(functional): add replication suite (bucket + site) as chain finale by @majinghe in https://github.com/rustfs/rustfs/pull/7026
- chore(agents): move mimocode skills into .agents/skills by @overtrue in https://github.com/rustfs/rustfs/pull/7030
- docs(readme): refresh feature and status matrix by @overtrue in https://github.com/rustfs/rustfs/pull/7031
- ci: bump repo-visuals-action to v1.3.1 by @overtrue in https://github.com/rustfs/rustfs/pull/7032
- docs(swift): align README feature lists with router and handler wiring by @overtrue in https://github.com/rustfs/rustfs/pull/7033
- docs(knowledge-base): prune stale content and add agent-facing index by @overtrue in https://github.com/rustfs/rustfs/pull/7035
- fix(ci): repair chain handoff scripts broken by ${{VAR}} expressions by @majinghe in https://github.com/rustfs/rustfs/pull/7034
- fix(http): drain request bodies after early responses by @cxymds in https://github.com/rustfs/rustfs/pull/7019
- fix(ci): pass repository to preview release cleanup by @overtrue in https://github.com/rustfs/rustfs/pull/7038
- fix(ecstore): defer zero-evidence delete diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/7036
- fix(ecstore): make publication part matching bijective by @cxymds in https://github.com/rustfs/rustfs/pull/7037
- chore(deps): refresh s3s and smallvec by @houseme in https://github.com/rustfs/rustfs/pull/7043
- test(heal): cover target endpoint recovery by @marshawcoco in https://github.com/rustfs/rustfs/pull/7046
- fix: update stale docs/README.md references to docs/architecture/README.md by @overtrue in https://github.com/rustfs/rustfs/pull/7053
- fix(ecstore): preserve buckets after pool expansion by @cxymds in https://github.com/rustfs/rustfs/pull/7040
- fix(server): align vhost domains with s3s port matching by @houseme in https://github.com/rustfs/rustfs/pull/7051
- fix(s3): preserve s3s v0.16 compatibility by @houseme in https://github.com/rustfs/rustfs/pull/7052
- fix(ecstore): report unreachable bucket-delete residue at error level by @reatang in https://github.com/rustfs/rustfs/pull/7048
- fix(replication): keep multipart objects on the multipart transport by @reatang in https://github.com/rustfs/rustfs/pull/7047
- fix(ilm): enqueue committed tier free versions by @cxymds in https://github.com/rustfs/rustfs/pull/7041
- fix(scanner): recover fenced incomplete usage floors by @houseme in https://github.com/rustfs/rustfs/pull/7055
- refactor(ecstore): shared remote S3 client builder and ODM source client by @overtrue in https://github.com/rustfs/rustfs/pull/7067
- test(e2e): extend fake S3 target as an on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7068
- feat(rio): add bounded tee reader for one-read two-consumer paths by @overtrue in https://github.com/rustfs/rustfs/pull/7066
- fix(scanner): align usage floor compat marker by @houseme in https://github.com/rustfs/rustfs/pull/7064
- fix: preserve protocol service account claims by @houseme in https://github.com/rustfs/rustfs/pull/7062
- fix(ecstore): wait for multipart copy readiness by @houseme in https://github.com/rustfs/rustfs/pull/7065
- test(e2e): rename stall timing variable flagged by typos by @overtrue in https://github.com/rustfs/rustfs/pull/7070
- feat(ecstore): add on-demand migration bucket config model by @overtrue in https://github.com/rustfs/rustfs/pull/7061
- refactor(object): extract internal put entry and ODM provenance keys by @overtrue in https://github.com/rustfs/rustfs/pull/7071
- feat(ecstore): add on-demand migration runtime OnDemandMigrationSys by @overtrue in https://github.com/rustfs/rustfs/pull/7074
- feat(admin): add on-demand migration bucket admin API by @overtrue in https://github.com/rustfs/rustfs/pull/7076
- feat(object): serve HEAD misses from the on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7077
- fix(admin): gate the s3 facade auth re-export to tests by @overtrue in https://github.com/rustfs/rustfs/pull/7078
- Fix rustfs-cli e2e target warning by @houseme in https://github.com/rustfs/rustfs/pull/7073
- feat(ecstore): add on-demand migration write-back pipeline by @overtrue in https://github.com/rustfs/rustfs/pull/7079
- fix(object): route write-back test wire types through the s3 facade by @overtrue in https://github.com/rustfs/rustfs/pull/7080
- feat(obs): export on-demand migration metrics and status snapshot by @overtrue in https://github.com/rustfs/rustfs/pull/7081
- fix(heal): recover replacement after transient disk errors by @marshawcoco in https://github.com/rustfs/rustfs/pull/7059
- fix(s3): report FULL_OBJECT checksum type for multipart objects by @reatang in https://github.com/rustfs/rustfs/pull/7060
- fix(ci): refresh Linux full E2E selection by @overtrue in https://github.com/rustfs/rustfs/pull/7069
- fix(replication): quote the ETag in the single-PUT size guard message by @reatang in https://github.com/rustfs/rustfs/pull/7075
- feat(object): serve GET misses from the on-demand migration source by @overtrue in https://github.com/rustfs/rustfs/pull/7084
- test(e2e): cover on-demand migration faults, concurrency and interactions by @overtrue in https://github.com/rustfs/rustfs/pull/7085
- docs(odm): add the on-demand migration operations guide by @overtrue in https://github.com/rustfs/rustfs/pull/7086
- feat(ecstore): add the on-demand migration backfill job by @overtrue in https://github.com/rustfs/rustfs/pull/7087
- fix(ecstore): stop scan_dir emitting entries past a limit hit inside a subdirectory by @HateTM in https://github.com/rustfs/rustfs/pull/7049
- feat(odm): enable on-demand migration by default by @overtrue in https://github.com/rustfs/rustfs/pull/7089
- feat(storage): complete Snowball and decommission follow-ups by @cxymds in https://github.com/rustfs/rustfs/pull/7039
- test(ecstore): stabilize subquorum free-version fixture by @cxymds in https://github.com/rustfs/rustfs/pull/7090
- fix(ecstore): stabilize decommission config and retry tests by @cxymds in https://github.com/rustfs/rustfs/pull/7091
- test(e2e): add the outbound target matrix and #7082 postmortem by @reatang in https://github.com/rustfs/rustfs/pull/7092
- fix(replication): fence stale metadata status writeback by @cxymds in https://github.com/rustfs/rustfs/pull/7083
- chore(deps): refresh mimalloc and codec usage by @houseme in https://github.com/rustfs/rustfs/pull/7096
- feat(scanner): coordinate usage and workload boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7093
- test(rustfs): run RestoreObject generation-guard test on a large stack by @overtrue in https://github.com/rustfs/rustfs/pull/7100
- fix(ci): provision a pinned client for tier tests by @cxymds in https://github.com/rustfs/rustfs/pull/7098
- fix: fence transition transaction recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7095
- fix(odm): close three on-demand migration follow-ups from the e2e matrix by @overtrue in https://github.com/rustfs/rustfs/pull/7101
- fix(ilm): recover orphaned restore generations by @cxymds in https://github.com/rustfs/rustfs/pull/7104
- docs(ilm): document persistence recovery contracts by @cxymds in https://github.com/rustfs/rustfs/pull/7106
- fix(replication): send an integrity header on Object Lock PUTs by @reatang in https://github.com/rustfs/rustfs/pull/7097
- feat(scanner): add storage seam by @houseme in https://github.com/rustfs/rustfs/pull/7105
- test(heal): cover background target restart by @marshawcoco in https://github.com/rustfs/rustfs/pull/7103
- fix(scanner): preserve explicit cycle retry cadence by @marshawcoco in https://github.com/rustfs/rustfs/pull/7107
- fix(odm): declare source retry policy and time out a stalled inline read by @overtrue in https://github.com/rustfs/rustfs/pull/7111
- fix(ilm): delete historical null versions by exact identity by @cxymds in https://github.com/rustfs/rustfs/pull/7109
- feat(odm): merge the source listing into ListObjectsV2 by @overtrue in https://github.com/rustfs/rustfs/pull/7112
- feat(tier): report cluster tier stats and count tier requests by @overtrue in https://github.com/rustfs/rustfs/pull/7110
- test(odm): add the scheduled provider interop lane by @overtrue in https://github.com/rustfs/rustfs/pull/7114
- fix(list): satisfy clippy in the source listing merge by @overtrue in https://github.com/rustfs/rustfs/pull/7117
- fix: resolve clippy warnings in bucket_list_through.rs by @overtrue in https://github.com/rustfs/rustfs/pull/7121
- fix: bound tier free-version recovery sweeps by @cxymds in https://github.com/rustfs/rustfs/pull/7125
- docs(architecture): decide how remote credentials are sealed at rest by @overtrue in https://github.com/rustfs/rustfs/pull/7131
- fix(ilm): defer aborted dispatch cleanup to recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7126
- fix(filemeta): accept MinIO RFC1123 restore expiry-date by @overtrue in https://github.com/rustfs/rustfs/pull/7115
- feat(scanner): expose authenticated dirty bucket snapshots by @marshawcoco in https://github.com/rustfs/rustfs/pull/7122
- fix(ilm): notify on batch noncurrent version expiry by @overtrue in https://github.com/rustfs/rustfs/pull/7116
- fix(ci): track nightly test selection per platform by @overtrue in https://github.com/rustfs/rustfs/pull/7128
- fix(ilm): chunk large tier-delete dispatches by @cxymds in https://github.com/rustfs/rustfs/pull/7123
- fix(ilm): drain tier-delete recovery pages by @cxymds in https://github.com/rustfs/rustfs/pull/7133
- docs(ilm): approve legacy tier state reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/7142
- fix(restore): reject SELECT restore and keep typed S3 errors by @overtrue in https://github.com/rustfs/rustfs/pull/7113
- chore(deps): refresh hotpath, mimalloc, and kafka by @houseme in https://github.com/rustfs/rustfs/pull/7135
- feat(ecstore): add the sealed remote credential seam by @overtrue in https://github.com/rustfs/rustfs/pull/7137
- fix(tier): preserve credentials during backend validation by @cxymds in https://github.com/rustfs/rustfs/pull/7127
- test(ecstore): run checkpoint publication test on large stack by @cxymds in https://github.com/rustfs/rustfs/pull/7134
- refactor(odm): separate source backends from namespace mapping by @overtrue in https://github.com/rustfs/rustfs/pull/7129
- fix(version): avoid deriving RustFS version from runtime working directory by @cuishuang in https://github.com/rustfs/rustfs/pull/7118
- feat(scanner): prepare scoped bucket cache scans by @marshawcoco in https://github.com/rustfs/rustfs/pull/7136
- docs(ilm): approve bounded recovery disposition by @cxymds in https://github.com/rustfs/rustfs/pull/7155
- fix(tier): bound distributed mutation latency by @cxymds in https://github.com/rustfs/rustfs/pull/7150
- ci: render step results and version in workflow reports by @majinghe in https://github.com/rustfs/rustfs/pull/7141
- test(ecstore): stabilize sealed context encoding by @cxymds in https://github.com/rustfs/rustfs/pull/7149
- fix: use BTreeMap for deterministic encryption context serialization by @overtrue in https://github.com/rustfs/rustfs/pull/7154
- test(ecstore): stabilize transition generation fixture by @cxymds in https://github.com/rustfs/rustfs/pull/7140
- feat(tier): add durable probe intent protocol by @cxymds in https://github.com/rustfs/rustfs/pull/7151
- docs(ecstore): define generation authority and recovery boundary by @overtrue in https://github.com/rustfs/rustfs/pull/7159
- feat(tier): fence legacy state reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/7144
- docs(architecture): settle remote credential sealing threat model by @overtrue in https://github.com/rustfs/rustfs/pull/7168
- test(ecstore): fix sealed context fixture map type by @overtrue in https://github.com/rustfs/rustfs/pull/7161
- fix(ecstore): fail closed on an unreadable bucket-targets blob by @overtrue in https://github.com/rustfs/rustfs/pull/7172
- fix(tier): probe exact legacy transition versions by @cxymds in https://github.com/rustfs/rustfs/pull/7138
- test(ecstore): narrow barrier re-export cfgs by @cxymds in https://github.com/rustfs/rustfs/pull/7152
- fix(app): fail closed on an unreadable bucket encryption config by @overtrue in https://github.com/rustfs/rustfs/pull/7183
- test(ecstore): require core regressions in the existing CI lane by @overtrue in https://github.com/rustfs/rustfs/pull/7162
- ci: refresh Linux full E2E membership after test additions by @overtrue in https://github.com/rustfs/rustfs/pull/7156
- ci(upgrade): support manual runs between any two release versions by @majinghe in https://github.com/rustfs/rustfs/pull/7145
- chore(tier): remove stage-a blanket lint allowances by @cxymds in https://github.com/rustfs/rustfs/pull/7153
- fix(ecstore): reject stalled ODM pagination before merging pages by @overtrue in https://github.com/rustfs/rustfs/pull/7164
- refactor(ecstore): isolate local object rename commit by @overtrue in https://github.com/rustfs/rustfs/pull/7166
- test(scanner): add durable checkpoint diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/7175
- test(s3): add Snowball tar-codec compatibility fixtures by @cxymds in https://github.com/rustfs/rustfs/pull/7157
- refactor(ecstore): isolate metadata quorum decisions by @overtrue in https://github.com/rustfs/rustfs/pull/7165
- test(ecstore): count injected faults across retry restarts by @overtrue in https://github.com/rustfs/rustfs/pull/7170
- fix(site-replication): bound and order outage recovery by @cxymds in https://github.com/rustfs/rustfs/pull/7148
- fix(ecstore): drain control writes and preserve uncertain rollback by @overtrue in https://github.com/rustfs/rustfs/pull/7163
- fix(ci): preserve security suite failures and isolate reports by @overtrue in https://github.com/rustfs/rustfs/pull/7188
- feat(scanner): plan dirty bucket cache refreshes by @marshawcoco in https://github.com/rustfs/rustfs/pull/7146
- fix(heal): retain completed task progress by @houseme in https://github.com/rustfs/rustfs/pull/7177
- fix(admin): report partial background heal coverage by @houseme in https://github.com/rustfs/rustfs/pull/7178
- fix(scanner): make reset cleanup safely reentrant by @houseme in https://github.com/rustfs/rustfs/pull/7180
- fix(ci): require fresh successful scheduled validations by @overtrue in https://github.com/rustfs/rustfs/pull/7192
- feat(scanner): add bounded incarnation-scoped ACK receiver by @houseme in https://github.com/rustfs/rustfs/pull/7182
- chore(deps): refresh SDKs and verify clock skew behavior by @houseme in https://github.com/rustfs/rustfs/pull/7174
- fix(ecstore): remove duplicate local rename implementation by @houseme in https://github.com/rustfs/rustfs/pull/7190
- docs: request concrete behavior evidence in pull requests by @overtrue in https://github.com/rustfs/rustfs/pull/7196
- fix(odm): bound empty pagination chains with staged tokens by @overtrue in https://github.com/rustfs/rustfs/pull/7197
- fix(ci): share quick checks and lint workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7194
- chore(deps): bump zstd to 0.14 by @houseme in https://github.com/rustfs/rustfs/pull/7173
- fix(ecstore): release multipart disk snapshot before nested reads by @overtrue in https://github.com/rustfs/rustfs/pull/7184
- fix(dev): install a lightweight formatting commit hook by @overtrue in https://github.com/rustfs/rustfs/pull/7198
- fix(tier): bound remote transition requests by @cxymds in https://github.com/rustfs/rustfs/pull/7147
- fix(lifecycle): correct expiration and transition evaluation by @loverustfs in https://github.com/rustfs/rustfs/pull/7169
- fix(ecstore): release heal disk snapshot before nested reads by @overtrue in https://github.com/rustfs/rustfs/pull/7189
- fix(tier): persist coordinator intent before waking refresh by @overtrue in https://github.com/rustfs/rustfs/pull/7171
- fix(ci): preserve reported functional suite failures by @overtrue in https://github.com/rustfs/rustfs/pull/7199
- feat(heal): add explicit committed MRF snapshot reader by @houseme in https://github.com/rustfs/rustfs/pull/7179
- fix(storage): harden ODM and scanner publication by @overtrue in https://github.com/rustfs/rustfs/pull/7187
- feat(ecstore): add native azure blob and gcs migration sources by @overtrue in https://github.com/rustfs/rustfs/pull/7211
- ci(functional): fix dashboard report upload argv overflow and security checkout clobbering by @majinghe in https://github.com/rustfs/rustfs/pull/7212
- chore(deps): preserve scanner and heal validation compatibility by @houseme in https://github.com/rustfs/rustfs/pull/7209
- fix(ci): isolate functional evidence and preserve every result by @overtrue in https://github.com/rustfs/rustfs/pull/7201
- fix(ci): publish immutable nightly package candidates by @overtrue in https://github.com/rustfs/rustfs/pull/7202
- fix(ci): serialize performance on shared functional VMs by @overtrue in https://github.com/rustfs/rustfs/pull/7204
- fix(ci): run existing script contracts in quick checks by @overtrue in https://github.com/rustfs/rustfs/pull/7203
- test(e2e): pin upgrade compatibility to rc.5 and cover bucket configuration by @overtrue in https://github.com/rustfs/rustfs/pull/7217
- fix(s3): keep ListObjects v1 local during migration by @overtrue in https://github.com/rustfs/rustfs/pull/7220
- fix(ecstore): restore odm source contract tests by @houseme in https://github.com/rustfs/rustfs/pull/7215
- fix(odm): order initial installation against configuration removal by @overtrue in https://github.com/rustfs/rustfs/pull/7222
- feat(build): make native GCS backends optional by @overtrue in https://github.com/rustfs/rustfs/pull/7223
- test(odm): verify rc5 rollback configuration recovery by @overtrue in https://github.com/rustfs/rustfs/pull/7224
- fix(admin): add isolated bucket metadata diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7225
- refactor(odm): move migration orchestration into application by @overtrue in https://github.com/rustfs/rustfs/pull/7226
- fix(ci): route v1 listing test types through application bridge by @overtrue in https://github.com/rustfs/rustfs/pull/7227
- fix(build): declare relocated migration service dependencies by @overtrue in https://github.com/rustfs/rustfs/pull/7229
- fix(odm): compile relocated instance-bound backfill service by @overtrue in https://github.com/rustfs/rustfs/pull/7230
- fix(odm): fence source work against bucket recreation by @overtrue in https://github.com/rustfs/rustfs/pull/7231
- docs(odm): record upgrade limits in release notes by @overtrue in https://github.com/rustfs/rustfs/pull/7233
- fix(build): scope migration helpers to their features by @overtrue in https://github.com/rustfs/rustfs/pull/7234
- test(odm): provide the source region in access fixture by @overtrue in https://github.com/rustfs/rustfs/pull/7235
- test(odm): exercise overflow and invalid cursors reliably by @overtrue in https://github.com/rustfs/rustfs/pull/7236
- ci(e2e): install network fault-injection tools by @overtrue in https://github.com/rustfs/rustfs/pull/7244
- test(odm): run multipart race on large stack by @overtrue in https://github.com/rustfs/rustfs/pull/7239
- fix(scanner): bind resumable scans and cache publication coverage by @houseme in https://github.com/rustfs/rustfs/pull/7210
- test(scanner): add bounded ABBA validation harness by @houseme in https://github.com/rustfs/rustfs/pull/7181
- fix(ci): enable test utilities in migration gate by @cxymds in https://github.com/rustfs/rustfs/pull/7246
- fix(admin): keep exporting past unreadable configs and allow explicit target repair by @overtrue in https://github.com/rustfs/rustfs/pull/7247
- fix(ilm): persist bounded transition recovery controls by @cxymds in https://github.com/rustfs/rustfs/pull/7200
- fix(tier): drain cleanup before tier removal by @cxymds in https://github.com/rustfs/rustfs/pull/7213
- fix(ilm): reject invalid retention counts and validate lifecycle filters by @overtrue in https://github.com/rustfs/rustfs/pull/7132
- test(e2e): add distributed cluster regression coverage by @loverustfs in https://github.com/rustfs/rustfs/pull/7158
- fix(connect): sync protocol fixture consumers by @overtrue in https://github.com/rustfs/rustfs/pull/7167
- fix(scanner): require complete publication coverage by @houseme in https://github.com/rustfs/rustfs/pull/7176
- test(odm): pin gcs error classes and require the backend contracts in ci by @overtrue in https://github.com/rustfs/rustfs/pull/7250
- fix(ecstore): align platform and test helper compilation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7214
- feat(heal): record canonical object and task outcomes by @houseme in https://github.com/rustfs/rustfs/pull/7218
- feat(heal): add pending legacy MRF migration staging by @houseme in https://github.com/rustfs/rustfs/pull/7219
- test(scanner): diagnose raw enumeration across restarts by @houseme in https://github.com/rustfs/rustfs/pull/7228
- test(scanner): verify restart evidence against tested builds by @houseme in https://github.com/rustfs/rustfs/pull/7232
- test(scanner): bound segment observation diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/7240
- fix(ecstore): retain namespace owners through local disk completion by @overtrue in https://github.com/rustfs/rustfs/pull/7245
- fix(scanner): separate write retries from movement backlog by @cxymds in https://github.com/rustfs/rustfs/pull/7249
- ci(e2e): use tmpfs for distributed pool isolation by @loverustfs in https://github.com/rustfs/rustfs/pull/7207
- fix(odm): decode encoded Azure blob names exactly once by @overtrue in https://github.com/rustfs/rustfs/pull/7251
- test(odm): use fixed-size Azure request chunks by @overtrue in https://github.com/rustfs/rustfs/pull/7254
- fix(admin): preserve metadata during export and target repair by @overtrue in https://github.com/rustfs/rustfs/pull/7258
- fix(admin): follow recovery facade and error boundaries by @overtrue in https://github.com/rustfs/rustfs/pull/7259
- fix(replication): preserve concurrent remote target changes by @overtrue in https://github.com/rustfs/rustfs/pull/7262
- fix(odm): reject ambiguous native source dot segments by @overtrue in https://github.com/rustfs/rustfs/pull/7263
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/7264
- fix(admin): compile metadata test helper only in tests by @overtrue in https://github.com/rustfs/rustfs/pull/7266
- test(odm): verify global disable across restarts by @overtrue in https://github.com/rustfs/rustfs/pull/7268
- test(heal): cover start retry and deadline outcome contracts by @houseme in https://github.com/rustfs/rustfs/pull/7242
- test(scanner): verify default scoped entry fallback walks by @houseme in https://github.com/rustfs/rustfs/pull/7241
- fix(replication): close IAM snapshot, marker purge and broadcast gaps by @reatang in https://github.com/rustfs/rustfs/pull/7195
- fix(odm): preserve cursor compatibility and native source semantics by @overtrue in https://github.com/rustfs/rustfs/pull/7238
- feat(ilm): persist recovery controls for legacy tier journals by @cxymds in https://github.com/rustfs/rustfs/pull/7252
- ci(e2e): run distributed e2e on ubuntu-latest by @loverustfs in https://github.com/rustfs/rustfs/pull/7253
- feat(heal): pace running admin work at safe boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7255
- fix(admin): bound peer probe retries to one round deadline by @houseme in https://github.com/rustfs/rustfs/pull/7257
- test(scanner): add bounded cache cost microprofile by @houseme in https://github.com/rustfs/rustfs/pull/7261
- test(odm): refresh verified Linux E2E selection by @overtrue in https://github.com/rustfs/rustfs/pull/7271
- test(odm): bypass loopback proxies in native list fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7276
- test(admin): box remote target repair scenarios by @overtrue in https://github.com/rustfs/rustfs/pull/7277
- fix(odm): preserve progress when list-through is disabled by @overtrue in https://github.com/rustfs/rustfs/pull/7278
- ci: give target repair tests larger stack by @houseme in https://github.com/rustfs/rustfs/pull/7272
- test(admin): validate repair futures with the default stack by @overtrue in https://github.com/rustfs/rustfs/pull/7280
- fix(heal): retain hints without verified repair receipts by @houseme in https://github.com/rustfs/rustfs/pull/7275
- fix(scanner): resume committed cleanup when scanning is disabled by @houseme in https://github.com/rustfs/rustfs/pull/7281
- fix(heal): bound cross-page object retry delays by @houseme in https://github.com/rustfs/rustfs/pull/7273
- fix(scanner): visit compacted subtrees during deep scans by @houseme in https://github.com/rustfs/rustfs/pull/7270
- feat(scanner): preserve bounded bootstrap admission fairness by @houseme in https://github.com/rustfs/rustfs/pull/7260
- feat(heal): expose compatible canonical v3 outcomes by @houseme in https://github.com/rustfs/rustfs/pull/7256
- fix(ecstore): retain single-delete physical namespace ownership by @overtrue in https://github.com/rustfs/rustfs/pull/7287
- fix(tier): avoid re-fencing published mutations by @cxymds in https://github.com/rustfs/rustfs/pull/7274
- test(ecstore): drain source writes before corrupting shards by @overtrue in https://github.com/rustfs/rustfs/pull/7291
- feat(scanner): reuse complete observed scan candidates by @marshawcoco in https://github.com/rustfs/rustfs/pull/7206
- test(connect): refresh offline enrollment e2e chain by @overtrue in https://github.com/rustfs/rustfs/pull/7294
- chore(deps): refresh concurrency and protocol dependencies by @houseme in https://github.com/rustfs/rustfs/pull/7289
- chore(deps): bump the go_modules group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7288
- chore(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 in /scripts/compat/heal-outcome in the go_modules group across 1 directory by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7296
- fix(lifecycle): allow multiple filter predicates without And wrapper by @overtrue in https://github.com/rustfs/rustfs/pull/7298
- fix(ecstore): retain namespace ownership during multipart commit by @overtrue in https://github.com/rustfs/rustfs/pull/7282
- feat(ilm): add immutable legacy recovery exports by @cxymds in https://github.com/rustfs/rustfs/pull/7283
- fix(admin): preserve decommission readiness error by @overtrue in https://github.com/rustfs/rustfs/pull/7285
- test(scanner): settle fixture writes before activity baseline by @overtrue in https://github.com/rustfs/rustfs/pull/7290
- fix(scanner): preserve verified maintenance digest by @overtrue in https://github.com/rustfs/rustfs/pull/7293
- test(s3): exclude invalid lifecycle filter vector by @overtrue in https://github.com/rustfs/rustfs/pull/7295
- docs(heal): clarify start retries and execution budgets by @houseme in https://github.com/rustfs/rustfs/pull/7300
- fix(heal): retain completed reports during clock rollback by @houseme in https://github.com/rustfs/rustfs/pull/7299
- fix(storage): derive multipart identity from stored parts by @overtrue in https://github.com/rustfs/rustfs/pull/7305
- fix(scanner): require root publication proof before dirty ack by @houseme in https://github.com/rustfs/rustfs/pull/7297
- test(scanner): verify quota state across reset and owner restart by @houseme in https://github.com/rustfs/rustfs/pull/7303
- test(ilm): align feature matrix lifecycle assertions by @houseme in https://github.com/rustfs/rustfs/pull/7311
- docs(s3): record object-key path-segment validation as intentional by @reatang in https://github.com/rustfs/rustfs/pull/7314
- test(scanner): cover reset cleanup across store reopen by @houseme in https://github.com/rustfs/rustfs/pull/7317
- chore: remove Go heal outcome compatibility fixture by @houseme in https://github.com/rustfs/rustfs/pull/7319
- test(ilm): realign source-marker assertions with handler order by @reatang in https://github.com/rustfs/rustfs/pull/7321
- test(replication): pin directory-marker null version and replication by @reatang in https://github.com/rustfs/rustfs/pull/7315
- feat(scanner): reuse clean local bucket prefixes by @marshawcoco in https://github.com/rustfs/rustfs/pull/7208
- chore(tier): remove remaining blanket lint allowances by @cxymds in https://github.com/rustfs/rustfs/pull/7306
- fix(s3-tables): preserve encoded paths in client signatures by @GatewayJ in https://github.com/rustfs/rustfs/pull/7309
- feat(scanner): send scoped dirty usage acknowledgements by @houseme in https://github.com/rustfs/rustfs/pull/7322
- fix(replication): stop duplicate re-drives on own-version-id targets by @reatang in https://github.com/rustfs/rustfs/pull/7323
- test(scanner): cover reset cleanup process crash boundaries by @houseme in https://github.com/rustfs/rustfs/pull/7326
- test(heal): cover MRF snapshot recovery bounds by @houseme in https://github.com/rustfs/rustfs/pull/7327
- test(scanner): cover overflow service cohort rotation by @houseme in https://github.com/rustfs/rustfs/pull/7324
- fix(filemeta): keep data dir of a version awaiting purge replication by @reatang in https://github.com/rustfs/rustfs/pull/7307
- test(scanner): collect heal evidence oracles from registry by @houseme in https://github.com/rustfs/rustfs/pull/7328
- fix(scanner): pass dirty scopes to distributed scope resolution by @reatang in https://github.com/rustfs/rustfs/pull/7329
- docs(ilm): restore transition gate doc comment after handler reorder by @overtrue in https://github.com/rustfs/rustfs/pull/7325
- fix(replication): forward single-part object checksums as headers by @reatang in https://github.com/rustfs/rustfs/pull/7313
- fix(heal): fall back to set-wide format for directory-backed targets by @overtrue in https://github.com/rustfs/rustfs/pull/7331
- test(upgrade): read and replicate rc.5 multipart layouts by @overtrue in https://github.com/rustfs/rustfs/pull/7334
- feat(ilm): execute legacy recovery dispositions by @cxymds in https://github.com/rustfs/rustfs/pull/7304
- perf(s3-tables): avoid duplicate registration prefix scans by @GatewayJ in https://github.com/rustfs/rustfs/pull/7310
- test(scanner): cover scoped ack resolver fallback by @houseme in https://github.com/rustfs/rustfs/pull/7332
- test(scanner): cover concurrent cycle reset convergence by @houseme in https://github.com/rustfs/rustfs/pull/7335
- feat(madmin): add scanner reset client helpers by @houseme in https://github.com/rustfs/rustfs/pull/7333
- perf(ilm): reduce transition transaction mutations by @cxymds in https://github.com/rustfs/rustfs/pull/7320
- chore(deps): refresh scanner batch baseline by @houseme in https://github.com/rustfs/rustfs/pull/7336
- ci(docker): move latest on every prerelease until first stable tag by @overtrue in https://github.com/rustfs/rustfs/pull/7341
- fix(storage): queue multipart parts for foreground write permits by @overtrue in https://github.com/rustfs/rustfs/pull/7337
- fix(admin): probe set drives concurrently for storage info by @overtrue in https://github.com/rustfs/rustfs/pull/7338
- fix(ecstore): hide and reclaim delete residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/7342
- feat(scanner): add raw enumeration cursor metadata by @houseme in https://github.com/rustfs/rustfs/pull/7349
- test(scanner): parameterize heal evidence oracles by @houseme in https://github.com/rustfs/rustfs/pull/7346
- feat(scanner): accept durable recovery intents by @houseme in https://github.com/rustfs/rustfs/pull/7344
- fix(ecstore): roll back failed CAS directory fsync by @houseme in https://github.com/rustfs/rustfs/pull/7343
- fix(heal): retain MRF replay journal until retry anchor by @houseme in https://github.com/rustfs/rustfs/pull/7340
- test(scanner): classify raw enumeration replay by @houseme in https://github.com/rustfs/rustfs/pull/7339
- test(heal): cover set bulkhead scheduler isolation by @houseme in https://github.com/rustfs/rustfs/pull/7347
- chore(deps): refresh scanner heal continuation lockfile by @houseme in https://github.com/rustfs/rustfs/pull/7351
- feat(scanner): replay recovery intents at startup by @houseme in https://github.com/rustfs/rustfs/pull/7354
- test(heal): cover MRF replay across process restart by @houseme in https://github.com/rustfs/rustfs/pull/7355
- fix(scanner): confirm lost dirty usage acknowledgements by @houseme in https://github.com/rustfs/rustfs/pull/7357
- feat(scanner): persist raw enumeration cancellation cursor by @houseme in https://github.com/rustfs/rustfs/pull/7358
- fix(ecstore): keep pool meta read probes retryable by @houseme in https://github.com/rustfs/rustfs/pull/7359
- fix(oidc): support workload discovery and JWKS negotiation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7348
- fix(ecstore): isolate pool metadata read probes by @houseme in https://github.com/rustfs/rustfs/pull/7365
- test(ecstore): align heal capacity admission regression by @houseme in https://github.com/rustfs/rustfs/pull/7386
- fix(replication): carry the compression layout through SSE-C passthrough by @overtrue in https://github.com/rustfs/rustfs/pull/7366
- fix(io-metrics): simplify early eviction check by @houseme in https://github.com/rustfs/rustfs/pull/7383
- chore(scanner): stage Scanner/Heal follow-up slices by @houseme in https://github.com/rustfs/rustfs/pull/7374
- fix: reject unsupported pool expansion with actionable errors by @cxymds in https://github.com/rustfs/rustfs/pull/7360
- fix(replication): resolve drifted replicas via a target version ledger by @reatang in https://github.com/rustfs/rustfs/pull/7368
- test(scanner): cover scoped ack loss confirmation by @houseme in https://github.com/rustfs/rustfs/pull/7393
- fix(scanner): consume raw page owner resume oracle by @houseme in https://github.com/rustfs/rustfs/pull/7391
- test(heal): cover MRF crash replay gaps by @houseme in https://github.com/rustfs/rustfs/pull/7389
- test(heal): cover transport receipt replay after peer restart by @houseme in https://github.com/rustfs/rustfs/pull/7390
- test(scanner): prove segment activation gates by @houseme in https://github.com/rustfs/rustfs/pull/7388
- test(scanner): require heal pressure evidence metrics by @houseme in https://github.com/rustfs/rustfs/pull/7392
- test(e2e): allow scanner heal evidence port ranges by @houseme in https://github.com/rustfs/rustfs/pull/7394
- fix(scanner): bind scoped set reuse to bucket incarnations by @houseme in https://github.com/rustfs/rustfs/pull/7395
- fix(admin): report pool metadata write blocks by @houseme in https://github.com/rustfs/rustfs/pull/7396
- feat(heal): accept verified object repair receipts by @houseme in https://github.com/rustfs/rustfs/pull/7397
- test(heal): preserve MRF replay identity matrix by @houseme in https://github.com/rustfs/rustfs/pull/7398
- ci(star-history): bump repo-visuals-action to v1.4.0 by @overtrue in https://github.com/rustfs/rustfs/pull/7406
- test(scanner): align scoped maintenance oracle by @houseme in https://github.com/rustfs/rustfs/pull/7404
- fix(ecstore): recover interrupted pool metadata writes by @cxymds in https://github.com/rustfs/rustfs/pull/7387
- test(e2e): prebuild scanner heal evidence binaries by @houseme in https://github.com/rustfs/rustfs/pull/7400
- feat(scanner): admit verified segment invalidations by @houseme in https://github.com/rustfs/rustfs/pull/7402
- test(scanner): cover cohort overflow tail fairness by @houseme in https://github.com/rustfs/rustfs/pull/7403
- feat(observability): diagnose node-local S3 write failures by @cxymds in https://github.com/rustfs/rustfs/pull/7407
- fix(storage): bound multipart admission wait below SDK write timeouts by @overtrue in https://github.com/rustfs/rustfs/pull/7408
- fix(pool): publish durable decommission capacity revisions by @cxymds in https://github.com/rustfs/rustfs/pull/7409
- fix(rebalance): preserve explicit stop intent and real failures by @cxymds in https://github.com/rustfs/rustfs/pull/7410
- feat(ecstore): expose pool meta write gate status by @houseme in https://github.com/rustfs/rustfs/pull/7399
- fix(s3): allow delete-marker metadata during delete preflight by @cxymds in https://github.com/rustfs/rustfs/pull/7411
- fix(ci): use test-domain facade in delete-marker regression by @cxymds in https://github.com/rustfs/rustfs/pull/7412
- fix(heal): retain MRF replay anchors until successor proof by @houseme in https://github.com/rustfs/rustfs/pull/7413
- test(scanner): prove restart quantum stages by @houseme in https://github.com/rustfs/rustfs/pull/7414
- fix: align object version limit handling by @houseme in https://github.com/rustfs/rustfs/pull/7415
- test(scanner): bind segment proof generations by @houseme in https://github.com/rustfs/rustfs/pull/7416
- ci(upgrade): run rc.5 multipart layout checks by @overtrue in https://github.com/rustfs/rustfs/pull/7421
- docs: scope agent guidance and consolidate review workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7419
- fix(log-analyzer): track storage probe failures by @overtrue in https://github.com/rustfs/rustfs/pull/7434
- refactor: share object version limit constants by @houseme in https://github.com/rustfs/rustfs/pull/7420
- fix(s3): reject unsigned x-amz headers on presigned requests by @overtrue in https://github.com/rustfs/rustfs/pull/7425
- ci: refresh replication nightly selection by @overtrue in https://github.com/rustfs/rustfs/pull/7422
- fix(scanner): gate segment reuse activation by @houseme in https://github.com/rustfs/rustfs/pull/7430
- fix(scanner): preserve recovery intents while disabled by @houseme in https://github.com/rustfs/rustfs/pull/7428
- feat(observability): expose pool write-block diagnostics by @cxymds in https://github.com/rustfs/rustfs/pull/7417
- feat(heal): expose admission observability by @houseme in https://github.com/rustfs/rustfs/pull/7418
- fix(kms): report a missing KMS key as 400 KMS.NotFoundException by @reatang in https://github.com/rustfs/rustfs/pull/7423
- feat(heal): publish verified MRF repair events by @houseme in https://github.com/rustfs/rustfs/pull/7424
- test: summarize scanner heal perf artifacts by @houseme in https://github.com/rustfs/rustfs/pull/7426
- test(heal): cover admin lock timeout progress by @houseme in https://github.com/rustfs/rustfs/pull/7427
- fix(scanner): retain raw enumeration quantum by @houseme in https://github.com/rustfs/rustfs/pull/7431
- test(scanner): report heal release gate status by @houseme in https://github.com/rustfs/rustfs/pull/7432
- test(scanner): measure heal pacing and cache cost by @houseme in https://github.com/rustfs/rustfs/pull/7433
- fix(ecstore): bind target mutations to the listener instance by @overtrue in https://github.com/rustfs/rustfs/pull/7437
- fix(replication): preserve compressed multipart payload integrity by @overtrue in https://github.com/rustfs/rustfs/pull/7440
- fix(replication): keep multipart tests behind storage boundary by @overtrue in https://github.com/rustfs/rustfs/pull/7450
- fix(ecstore): preserve erasure writer error identity by @overtrue in https://github.com/rustfs/rustfs/pull/7455
- test(ilm): isolate manual transition backpressure by @overtrue in https://github.com/rustfs/rustfs/pull/7463
- fix: attest multi-pool bootstrap per creator and contain lock RPC storms by @overtrue in https://github.com/rustfs/rustfs/pull/7473
- fix(kms): distinguish key directory outages from missing keys by @overtrue in https://github.com/rustfs/rustfs/pull/7470
- fix: continue manual transition past in-flight objects by @overtrue in https://github.com/rustfs/rustfs/pull/7476
- fix(ecstore): preserve online writes during pool retirement by @cxymds in https://github.com/rustfs/rustfs/pull/7472
- fix(replication): close the GA blocker set from backlog#2366 by @reatang in https://github.com/rustfs/rustfs/pull/7503
- fix(ci): bind performance runs to selected inputs by @overtrue in https://github.com/rustfs/rustfs/pull/7512
- fix(targets): reject trailing batch items by @cuishuang in https://github.com/rustfs/rustfs/pull/7508
- test(odm): wait for pull counters before status assertions by @overtrue in https://github.com/rustfs/rustfs/pull/7533
- fix(ci): require every selected validation lane before merge by @overtrue in https://github.com/rustfs/rustfs/pull/7529
- fix(rebalance): align activation locks and preserve retryable causes by @cxymds in https://github.com/rustfs/rustfs/pull/7551
- fix(ecstore): preserve internode error context when cloning by @overtrue in https://github.com/rustfs/rustfs/pull/7548
- feat(nightly): make the build branch configurable (NIGHTLY_BRANCH var + dispatch input) by @majinghe in https://github.com/rustfs/rustfs/pull/7557
- test(ci): reserve runner capacity for bounded rollback probe by @overtrue in https://github.com/rustfs/rustfs/pull/7560
- fix(ecstore): apply read quorum to bucket validation by @cxymds in https://github.com/rustfs/rustfs/pull/7556
- docs: fix invalid docker-buildx.sh usage example in README and README_ZH by @JaySon-Huang in https://github.com/rustfs/rustfs/pull/7570
- fix(nightly): push assets with plain git — the build fleet has no gh CLI by @majinghe in https://github.com/rustfs/rustfs/pull/7572
- fix(kms): prevent transient health failures from latching status by @reatang in https://github.com/rustfs/rustfs/pull/7578
- feat(nightly): publish packages as assets of the rolling 'nightly' release (sync from release) by @majinghe in https://github.com/rustfs/rustfs/pull/7593
- fix(ecstore): stop pruning at nonempty directories by @marshawcoco in https://github.com/rustfs/rustfs/pull/7616
- fix(replication): close the pre-stable convergence gaps from backlog#2367 by @reatang in https://github.com/rustfs/rustfs/pull/7626
- feat(console): support a configurable console URL prefix by @overtrue in https://github.com/rustfs/rustfs/pull/7634
- chore(release): merge release into main for rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7638
- feat: configure the console base path at build time by @cxymds in https://github.com/rustfs/rustfs/pull/7636
- chore(release): prepare 1.0.0-rc.6 by @overtrue in https://github.com/rustfs/rustfs/pull/7641
- fix(heal): preserve retryable batch failures during recovery by @overtrue in https://github.com/rustfs/rustfs/pull/7642
- @HateTM made their first contribution in https://github.com/rustfs/rustfs/pull/7049
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-rc.5...1.0.0-rc.6-preview.1
Release v1.0.0-rc5
📦 Download Binaries from https://openobserve.ai/downloads
- fix(alerts): route composite alert clone through the dedicated /clone… by @bjp232004 in https://github.com/openobserve/openobserve/pull/14352
- fix: reject reserved columns in delete_fields and update_fields_type (backport of #14338) by @oasisk in https://github.com/openobserve/openobserve/pull/14354
- fix(alerts): add spacing above Select Folder in Clone Alert dialog by @bjp232004 in https://github.com/openobserve/openobserve/pull/14359
- fix(web): truncate long span and service names in trace detail by @omkarK06 in https://github.com/openobserve/openobserve/pull/14361
- fix(alerts): guard Import Semantic Groups route on OSS builds (v1.0.0) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/14365
- fix(traces): saturate span duration when end_time precedes start_time (v1.0.0) by @hengfeiyang in https://github.com/openobserve/openobserve/pull/14368
- feat(usage): make the usage stream enterprise only by @Loaki07 in https://github.com/openobserve/openobserve/pull/14348
- chore(web): remove temporary empty-state-demo preview route (v1.0.0) by @Shrinath-O2 in https://github.com/openobserve/openobserve/pull/14372
- fix: button tooltip and patterns page scroll by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/14373
- fix(dashboards): drop stream events from a superseded PromQL panel run (v1.0.0) by @ktx-vaidehi in https://github.com/openobserve/openobserve/pull/14374
- fix(nav): close an open dropdown before the rail flyout opens by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/14370
- fix(orgs): create the _meta organization at startup by @Loaki07 in https://github.com/openobserve/openobserve/pull/14377
- fix: ai observabilty monitor section to oss by @nikhilsaikethe in https://github.com/openobserve/openobserve/pull/14380
- fix(logs): reset field-list pagination when stream changes via SQL mode by @bjp232004 in https://github.com/openobserve/openobserve/pull/14384
Full Changelog: https://github.com/openobserve/openobserve/compare/v1.0.0-rc4...v1.0.0-rc5
Release v1.0.0-rc4
📦 Download Binaries from https://openobserve.ai/downloads
- fix(slos): surface real API error messages on the SLO form by @bjp232004 in https://github.com/openobserve/openobserve/pull/14279
- fix(logs): retain the query re-applied from Search History (backport #14286 to 1.0.0) by @neha00290 in https://github.com/openobserve/openobserve/pull/14287
- fix(slos): validate every required field in the SLO forms client-side by @vamsikarthikr in https://github.com/openobserve/openobserve/pull/14288
- fix: read stream stats from the primary and retry failed scans [v1.0] by @hengfeiyang in https://github.com/openobserve/openobserve/pull/14320
- fix: copy to clipboard notification issue and minor logs page issues v1.0.0 by @ktx-abhay in https://github.com/openobserve/openobserve/pull/14314
- fix: dashboard report overlap issue v1 by @ktx-abhay in https://github.com/openobserve/openobserve/pull/14328
- fix: preview template rbac error (#14329) by @Subhra264 in https://github.com/openobserve/openobserve/pull/14341
- fix(promql): resolve the metric name from a name matcher for authz (#14321) by @Subhra264 in https://github.com/openobserve/openobserve/pull/14342
- fix: composite alerts issue by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/14339
- fix(ai): AI observability fixes (backport #14325 to 1.0.0) by @uddhavdave in https://github.com/openobserve/openobserve/pull/14343
- fix(traces): replace the page instead of appending when a stream opens empty by @omkarK06 in https://github.com/openobserve/openobserve/pull/14335
- fix: render streaming aggregation results as they arrive (#14303) by @omkarK06 in https://github.com/openobserve/openobserve/pull/14334
Full Changelog: https://github.com/openobserve/openobserve/compare/v1.0.0-rc3...v1.0.0-rc4
Pingora 0.9.0
0.9.0 - 2026-09-04
- Reworked connection pooling with sharded storage and a true global LRU, addressing stale entries and race windows.
- Added an upstream module system that applies before upstream compression.
- More handling of HTTP parsing and framing edge cases, including non-origin-form request-target preservation, and hop-by-hop header sanitization, obsolete line-fold normalization, stricter request-target validation, and bounded default HTTP/2 limits.
- Split Prometheus integration into the pingora-prometheus crate and made Prometheus optional.
- Improved graceful shutdown and upgrade behavior, including responsive load-balancer shutdown, descriptor lifecycle fixes, and lower shutdown-notification contention.
- Minimum supported Rust version moves to 1.85 for some crates. pingora-foundations declares an MSRV of 1.88.
- RequestHeader and ResponseHeader no longer implement DerefMut because unrestricted mutation could violate internal invariants.
- Removed async_write_vec APIs; consumers should use tokio::io::AsyncWriteExt::write_all_buf.
- Prometheus integration moved from pingora-core to the separate pingora-prometheus crate; Prometheus is optional.
- tracing is now optional in pingora-cache.
- Upgraded to the boring-rs 5.x API.
- PeerOptions::curve now uses Cow.
- Upstream requests strip hop-by-hop and Connection-nominated headers by default; legacy behavior requires explicit compatibility settings.
- Default HTTP/2 server limits are bounded rather than unbounded.
- Removed the unused LruShard Default implementation and lifted Default bounds on sharded cache structures.
- Removed the CacheKey namespace parameter.
- PurgeOutcome enum gains an Expired variant.
- ForcedFreshness and hit-status reporting gain ForceExpiredServeStale variant.
- Add abort-on-close session configurability.
- Support HTTP/1.1 downstream request pipelining.
- Add cancel-safe body and header writer primitives (proxy tasks) to prevent stalled cache misses from applying backpressure.
- Add an upstream module system and allow modules to adjust after receiving upstream response headers.
- Add proxy warning-log suppression hooks.
- Add keepalive-pool callbacks for tracking connection ages.
- Expose HTTP/1.x request-body bytes accepted by the upstream writer.
- Report point-in-time available HTTP/2 stream capacity.
- Add ability to configure an offload thread pool for downstream TLS handshakes.
- Add Acceptor::from_server_config for runtime-built rustls ServerConfig values and in-memory key material.
- Export TLS keying material, including from pingora-s2n.
- Add per-peer CA configuration.
- Add a pre-TLS callback for PROXY protocol support.
- Expose the rustls certificate type.
- Add curve and second-keyshare settings to HttpPeer hashing.
- Avoid compiling aws-lc-rs when the ring provider is selected.
- Allow sharing backends across load-balancing selectors.
- Add graceful-upgrade signalling between old and new processes.
- Add per-listener L4 buffer configuration and socket send/receive buffer settings.
- Add Tokio blocking-pool configuration, poll-time histograms, and an alternative timer runtime knob.
- Allow proxy services to override runtime options.
- Add a working-directory option for daemon mode.
- Enable adding user context between sessions on the same connection with HttpPersistentSettings.
- Add socket-cookie access and TCP/TLS establishment timing fields.
- Make HTTP/2 stream and connection windows configurable.
- Add deferred cache-admission policy hooks.
- Implement DCZ dictionary compression and vary on available-dictionary.
- Add CacheMeta freshness updates and expiration-at-time support.
- Support optionally flooring fractional delta-seconds for RFC 9111 handling.
- Preserve Vary provenance across stale refreshes.
- Make cache-lock retries configurable and bounded.
- Add an opt-in purge mode that expires an asset while retaining its body for conditional revalidation and stale serving.
- Use power-of-two selection for eviction balancing.
- Add peek_lru, update_or_admit, and non-promoting set_weight operations in lru.
- Allow adjusting LRU weight limits and reserving capacity.
- HTTP ambiguity hardening: centralize raw request-target classification so path and authority validation share one parser; reject ambiguous request authorities on ingress and egress; reject forbidden CR/LF bytes in HTTP/2 :path; and reject delimiter bytes in request lines as defense in depth.
- Sanitize hop-by-hop upstream request headers.
- Preserve non-origin-form request targets without mangling the URI.
- Normalize forwarded responses with obsolete HTTP/1.1 response-header line folding.
- Bound default HTTP/2 server limits to reduce memory-exhaustion exposure.
- Avoid a process abort while appending oversized header maps by returning an InvalidHTTPHeader error.
- Fix some unchecked integer conversions.
- Explicitly prevent reuse of HTTP/1 connections after incomplete responses.
- Update Prometheus for a security advisory.
- Replaced unmaintained daemonize crate with daemonix and updated nix to 0.31.x.
- Fix connection-pool and PoolNode race windows and remove empty entries.
- Fixed a potential stall on HTTP/1 response-header reads upon forwarding request bodies via a cancel safety fix.
- Stop waiting on HTTP/2 upstream work after the downstream ends and close timed-out HTTP/2 connections.
- Drain in-flight HTTP/2 streams during shutdown and retry stream creation on a fresh connection when appropriate.
- Prevent HTTP/1 upstream reuse after failed writes or incomplete responses.
- Discard retry buffers after truncation and avoid unnecessary HTTP/2 accept allocations.
- Skip h2c preface detection on TLS streams.
- Do not initialize a body reader for HEAD informational responses.
- Correct HTTP/1 session body-byte accounting.
- Fix listener-fd inheritance and close transfer sockets during graceful upgrade; mark received listener fds close-on-exec.
- Remove the duplicate graceful-shutdown sleep and improve load-balancer shutdown responsiveness.
- Shard proxy shutdown notifications to reduce lock contention and close a lost-wakeup race during graceful shutdown.
- pingora-timeout now uses Tokio timeouts for (configurably) long intervals to avoid memory accumulation.
- Split pingora-prometheus into a separate crate.
- Forward WriteBuf::chunks_vectored to the wrapped buffer.
- Replace custom ASCII-trimming helpers with stabilized standard-library methods.
- Update the MSRV lane and use cargo check for MSRV validation.
- Improve documentation examples for connection tracing and basic setup.
- Preserve bound ports in digests after TLS failures.
- Return an error for divergent multipart cache progress and remove a panic from maybe_cache_meta.
- Various flaky test fixes.
superset-helm-chart-0.22.8
Apache Superset is a modern, enterprise-ready business intelligence web application