1.0.1

alpic-ai/skybridge1.0.1Oct 3, 2026by github-actions[bot]

Upgrading?

AI Summary

This comprehensive patch release for RustFS 1.0.1 introduces nightly asset publishing, fixes critical bugs in S3 handling and replication, and significantly expands Connect features for enterprise diagnostics and performance monitoring.

Key Highlights

  • Nightly packages are now published as assets of the rolling 'nightly' release
  • Fixes for S3 oversize PUT requests and replication convergence gaps
  • Enhanced Connect features including device diagnostics, telemetry, and service license management
  • Refactored filemeta and ecstore to improve metadata authority and bucket config handling

New Features

  • Configurable console URL prefix
  • New Connect performance diagnostics (network, drive, object)
  • Site replication performance producer
  • Authenticated inter-node network performance probes

Full Release Notes

<!-- rustfs-generated-release-notes: managed; remove this marker before manual edits -->
## What's Changed
* 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
* fix(s3): reject oversize single PUT early and map body errors to 4xx by @reatang in https://github.com/rustfs/rustfs/pull/7635
* fix(ecstore): make directory mtime fixture portable by @marshawcoco in https://github.com/rustfs/rustfs/pull/7623
* fix(storage): prevent readiness after native migration failures by @rjregenold in https://github.com/rustfs/rustfs/pull/7652
* fix(admin): expose OIDC account display fields by @GatewayJ in https://github.com/rustfs/rustfs/pull/7654
* fix(replication): correct peer joins and remote-state reporting by @jkossis in https://github.com/rustfs/rustfs/pull/7650
* feat(ci): add fault-tolerance degradation suite to the functional chain by @majinghe in https://github.com/rustfs/rustfs/pull/7663
* fix(ci): repair functional defaults and chain regression checks by @overtrue in https://github.com/rustfs/rustfs/pull/7664
* "feat(ci): add fault-tolerance degradation suite to the functional chain" by @majinghe in https://github.com/rustfs/rustfs/pull/7667
* fix(ci): align security workflow tests with chain by @cxymds in https://github.com/rustfs/rustfs/pull/7679
* test(kms): cover non-default Vault Transit paths by @hkwi in https://github.com/rustfs/rustfs/pull/7657
* fix(s3): bound stalled UploadPart request bodies by @cxymds in https://github.com/rustfs/rustfs/pull/7659
* fix: enforce S3 permissions for recursive force deletion by @cxymds in https://github.com/rustfs/rustfs/pull/7661
* fix(tables): reject reserved warehouse locations by @GatewayJ in https://github.com/rustfs/rustfs/pull/7671
* fix(e2e): require a verified server binary for every e2e run by @overtrue in https://github.com/rustfs/rustfs/pull/7687
* fix(ci): bind nightly lanes to one resolved source by @overtrue in https://github.com/rustfs/rustfs/pull/7688
* feat(ci): measure queue and execution time by run attempt by @overtrue in https://github.com/rustfs/rustfs/pull/7689
* fix(ci): verify complete functional chain evidence by @overtrue in https://github.com/rustfs/rustfs/pull/7690
* fix(kms): classify KMS/SSE error contracts and SSE-S3 headers by @reatang in https://github.com/rustfs/rustfs/pull/7697
* Collect bounded Connect environment inventory by @overtrue in https://github.com/rustfs/rustfs/pull/7710
* Add Connect service license commands by @overtrue in https://github.com/rustfs/rustfs/pull/7711
* Add consent-bound diagnostic scheduling by @overtrue in https://github.com/rustfs/rustfs/pull/7713
* feat(connect): advertise environment diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7714
* feat(connect): add consent-bound profile exports by @overtrue in https://github.com/rustfs/rustfs/pull/7716
* feat(connect): add bounded local log capture by @overtrue in https://github.com/rustfs/rustfs/pull/7718
* feat(connect): add bounded network performance producer by @overtrue in https://github.com/rustfs/rustfs/pull/7719
* Add bounded local telemetry export commands by @overtrue in https://github.com/rustfs/rustfs/pull/7720
* Add bounded drive performance command by @overtrue in https://github.com/rustfs/rustfs/pull/7721
* Add bounded top diagnostic captures by @overtrue in https://github.com/rustfs/rustfs/pull/7722
* Add client-to-deployment performance diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7726
* Add a local environment inventory command by @overtrue in https://github.com/rustfs/rustfs/pull/7728
* feat(connect): add bounded object performance diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/7734
* Add authenticated inter-node network performance probes by @overtrue in https://github.com/rustfs/rustfs/pull/7739
* fix(site-replication): keep an operator's bucket-level target to a peer instead of taking it over by @reatang in https://github.com/rustfs/rustfs/pull/7709
* chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/7733
* feat(connect): support explicit enterprise proxies by @overtrue in https://github.com/rustfs/rustfs/pull/7745
* feat(connect): emit drive unavailable log events by @overtrue in https://github.com/rustfs/rustfs/pull/7747
* feat(connect): add local inspect export producer by @overtrue in https://github.com/rustfs/rustfs/pull/7750
* test(connect): cover nested allocator profile stats by @overtrue in https://github.com/rustfs/rustfs/pull/7717
* docs(security): add presigned copy advisory lesson by @overtrue in https://github.com/rustfs/rustfs/pull/7754
* fix(ecstore): refuse RMW and reads of unreadable bucket configs by @overtrue in https://github.com/rustfs/rustfs/pull/7759
* refactor(filemeta): own persisted metadata key authority by @overtrue in https://github.com/rustfs/rustfs/pull/7760
* Sync network performance protocol fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7761
* Sync site replication result fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7762
* Sync telemetry producer fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/7763
* refactor(rio): own trailer source and drop s3s dependency by @overtrue in https://github.com/rustfs/rustfs/pull/7764
* Deliver diagnostic scheduler receipts to Connect by @overtrue in https://github.com/rustfs/rustfs/pull/7767
* fix(ecstore): refuse writes on unreadable bucket configs with 503 by @overtrue in https://github.com/rustfs/rustfs/pull/7768
* feat(connect): add site replication performance producer by @overtrue in https://github.com/rustfs/rustfs/pull/7769
* refactor(ecstore): read persisted object-metadata keys from the filemeta authority (A3b) by @overtrue in https://github.com/rustfs/rustfs/pull/7770
* feat(connect): add device license renewal client by @overtrue in https://github.com/rustfs/rustfs/pull/7771
* feat(connect): add approved artifact relay by @overtrue in https://github.com/rustfs/rustfs/pull/7772
* fix(connect): export relay CLI types by @overtrue in https://github.com/rustfs/rustfs/pull/7773
* feat(connect): add device report upload client by @overtrue in https://github.com/rustfs/rustfs/pull/7774
* feat(connect): add typed telemetry trace source by @overtrue in https://github.com/rustfs/rustfs/pull/7775
* fix(connect): avoid shadowing replication URL helper by @overtrue in https://github.com/rustfs/rustfs/pull/7777
* fix(connect): restore site replication test nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7778
* fix(connect): restore rustfs build after site replication perf producer by @overtrue in https://github.com/rustfs/rustfs/pull/7779
* fix(rustfs): restore test compilation by @overtrue in https://github.com/rustfs/rustfs/pull/7780
* feat(connect): sign site replication target pair by @overtrue in https://github.com/rustfs/rustfs/pull/7781
* refactor(filemeta): own RestoreStatus and drop the s3s dependency (A3c) by @overtrue in https://github.com/rustfs/rustfs/pull/7782
* feat(connect): add service license relay import by @overtrue in https://github.com/rustfs/rustfs/pull/7784
* feat(admin): add a gateway key inventory for the S3 stack switch by @overtrue in https://github.com/rustfs/rustfs/pull/7785
* feat(server): add RUSTFS_S3_STACK with a gateway GetBucketLocation path by @overtrue in https://github.com/rustfs/rustfs/pull/7786
* revert: remove M1 gateway git dependency until CI can access rustfs/gateway by @overtrue in https://github.com/rustfs/rustfs/pull/7787
* fix: retry IAM migration quorum failures on startup by @overtrue in https://github.com/rustfs/rustfs/pull/7788
* fix: retry interrupted uploads through proxies by @overtrue in https://github.com/rustfs/rustfs/pull/7789
* fix(connect): capture telemetry from server runtime by @overtrue in https://github.com/rustfs/rustfs/pull/7790
* fix: classify explicit proxy failures by @overtrue in https://github.com/rustfs/rustfs/pull/7791
* fix: skip IAM migration when legacy volume is absent by @overtrue in https://github.com/rustfs/rustfs/pull/7792
* fix(release): include CLI in Linux artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7794
* fix(release): serialize Linux binary links by @overtrue in https://github.com/rustfs/rustfs/pull/7797
* feat(connect): expose live lock count snapshots by @overtrue in https://github.com/rustfs/rustfs/pull/7801
* feat(connect): capture live API activity by @overtrue in https://github.com/rustfs/rustfs/pull/7804
* feat(connect): collect native Linux thread states by @overtrue in https://github.com/rustfs/rustfs/pull/7806
* feat(connect): capture live RPC activity by @overtrue in https://github.com/rustfs/rustfs/pull/7807
* test(connect): verify top.disk release artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7808
* test(connect): require native top.disk runner by @overtrue in https://github.com/rustfs/rustfs/pull/7809
* feat(connect): capture bounded local CPU profiles by @overtrue in https://github.com/rustfs/rustfs/pull/7811
* ci: retain top disk acceptance archive by @overtrue in https://github.com/rustfs/rustfs/pull/7812
* fix(connect): observe host traffic in top net by @overtrue in https://github.com/rustfs/rustfs/pull/7814
* ci: enable CPU profiling in supported release builds by @overtrue in https://github.com/rustfs/rustfs/pull/7815
* test(connect): verify profile cpu release artifacts by @overtrue in https://github.com/rustfs/rustfs/pull/7818
* test(connect): retain CPU profile verification key by @overtrue in https://github.com/rustfs/rustfs/pull/7819
* test(connect): retain CPU profile import bundle by @overtrue in https://github.com/rustfs/rustfs/pull/7820
* feat(connect): expose object inspect CLI by @overtrue in https://github.com/rustfs/rustfs/pull/7821
* feat(connect): wrap diagnostic reports for upload by @overtrue in https://github.com/rustfs/rustfs/pull/7822
* fix(connect): parse inspect paths as paths by @overtrue in https://github.com/rustfs/rustfs/pull/7826
* feat(connect): verify typed diagnostic jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7827
* fix(connect): accept KMS report upload authorization by @overtrue in https://github.com/rustfs/rustfs/pull/7828
* Run signed diagnostic jobs in the RustFS service by @overtrue in https://github.com/rustfs/rustfs/pull/7829
* fix(connect): emit canonical report manifest time by @overtrue in https://github.com/rustfs/rustfs/pull/7830
* Upload diagnostic job results through support bundles by @overtrue in https://github.com/rustfs/rustfs/pull/7831
* fix(connect): emit canonical top envelope time by @overtrue in https://github.com/rustfs/rustfs/pull/7836
* fix(connect): publish diagnostic producer capabilities by @overtrue in https://github.com/rustfs/rustfs/pull/7837
* fix(io-metrics): drop the rustfs-common edge by injecting the S3 telemetry observer by @overtrue in https://github.com/rustfs/rustfs/pull/7795
* fix(replication): count a bodiless 405 as a replicated delete marker by @reatang in https://github.com/rustfs/rustfs/pull/7756
* fix(kms): refuse key ids that leave the key prefix on the Vault backends by @reatang in https://github.com/rustfs/rustfs/pull/7727
* Preserve safe profile job failure reasons by @overtrue in https://github.com/rustfs/rustfs/pull/7860
* Freeze the heartbeat producer capability registry by @overtrue in https://github.com/rustfs/rustfs/pull/7861
* fix: resume GET body after peer short EOF by @houseme in https://github.com/rustfs/rustfs/pull/7852
* ci: file scheduled-failure issues in rustfs/backlog by @majinghe in https://github.com/rustfs/rustfs/pull/7847
* fix(admin): keep the gateway key inventory off the s3s surface by @overtrue in https://github.com/rustfs/rustfs/pull/7817
* fix(s3): honor presigned UploadPart checksum queries by @overtrue in https://github.com/rustfs/rustfs/pull/7748
* fix(auth): reject unsigned x-amz headers on header-signed SigV4 requests by @overtrue in https://github.com/rustfs/rustfs/pull/7796
* fix(table-catalog): map transient lock failures to unavailable by @marshawcoco in https://github.com/rustfs/rustfs/pull/7841
* Verify profile service jobs on native Linux by @overtrue in https://github.com/rustfs/rustfs/pull/7862
* Authorize the private Connect acceptance checkout by @overtrue in https://github.com/rustfs/rustfs/pull/7863
* Run profile service acceptance directly by @overtrue in https://github.com/rustfs/rustfs/pull/7864
* Retain profile service failure evidence by @overtrue in https://github.com/rustfs/rustfs/pull/7868
* fix: update dependencies and preserve transport errors by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/7798
* ci: expect BACKLOG_ISSUE_TOKEN in scheduled alert wiring checks by @majinghe in https://github.com/rustfs/rustfs/pull/7867
* Pace diagnostic job result redelivery by @overtrue in https://github.com/rustfs/rustfs/pull/7869
* Execute authenticated top.api service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7872
* feat(connect): execute top.locks service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7874
* fix(ci): gate Connect acceptance on x86 build job by @overtrue in https://github.com/rustfs/rustfs/pull/7875
* fix(ci): repair E2E inventory and network CLI coverage by @overtrue in https://github.com/rustfs/rustfs/pull/7871
* feat(connect): execute performance network jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7877
* feat(connect): execute bounded drive performance jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7878
* Preserve the top API service job nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7879
* feat(connect): execute thread profile service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7880
* Execute authenticated top.rpc service jobs by @overtrue in https://github.com/rustfs/rustfs/pull/7881
* ci: add service diagnostic acceptance workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7882
* ci: add threads and RPC acceptance workflows by @overtrue in https://github.com/rustfs/rustfs/pull/7883
* fix(connect): deliver diagnostic results until expiry by @overtrue in https://github.com/rustfs/rustfs/pull/7886
* feat(connect): export signed environment inventory by @overtrue in https://github.com/rustfs/rustfs/pull/7887
* fix: recover interrupted GETs and heal operations by @overtrue in https://github.com/rustfs/rustfs/pull/7876
* fix: keep top locks within its capture window by @overtrue in https://github.com/rustfs/rustfs/pull/7888
* fix: recover heal after peer boot epoch changes by @overtrue in https://github.com/rustfs/rustfs/pull/7889
* ci: register the table suite workflow on the default branch by @majinghe in https://github.com/rustfs/rustfs/pull/7893
* test(ecstore): synchronize causal cleanup observations by @overtrue in https://github.com/rustfs/rustfs/pull/7894
* fix(ecstore): create markers for repeated versioned deletes by @GatewayJ in https://github.com/rustfs/rustfs/pull/7884
* Preserve top.locks signed job nonce by @overtrue in https://github.com/rustfs/rustfs/pull/7898
* fix(ecstore): roll back failed delete marker writes by @overtrue in https://github.com/rustfs/rustfs/pull/7899
* chore(deps): refresh RustFS tokio tar dependency by @houseme in https://github.com/rustfs/rustfs/pull/7907
* fix(ci): retain failed functional chain reports and check runners by @majinghe in https://github.com/rustfs/rustfs/pull/7906
* fix(ci): bound non-performance functional suites to one hour by @majinghe in https://github.com/rustfs/rustfs/pull/7911
* ci(build): run linux build lanes on sm-standard-4 runners by @majinghe in https://github.com/rustfs/rustfs/pull/7917
* fix(ecstore): admit transformed small objects inline by plaintext size by @reatang in https://github.com/rustfs/rustfs/pull/7916
* ci(chain): stop gating all suites on the performance runner by @majinghe in https://github.com/rustfs/rustfs/pull/7924
* perf(rustfs): skip redundant content-sha256 pass on signed PUTs by @reatang in https://github.com/rustfs/rustfs/pull/7928
* ci: register the fault-tolerance suite workflow on the default branch by @majinghe in https://github.com/rustfs/rustfs/pull/7929
* chore(release): merge release into main after 1.0.0 by @overtrue in https://github.com/rustfs/rustfs/pull/7935
* fix(ecstore): keep decommission multipart on reserved target by @cxymds in https://github.com/rustfs/rustfs/pull/7937
* fix(heal): match legacy null version during replacement readback by @cxymds in https://github.com/rustfs/rustfs/pull/7933
* fix(heal): certify metadata health and marker repair receipts by @cxymds in https://github.com/rustfs/rustfs/pull/7932
* ci(ft): upload the fault-tolerance report to the dashboard by @majinghe in https://github.com/rustfs/rustfs/pull/7939
* ci: drop dead references to the deleted release branch by @overtrue in https://github.com/rustfs/rustfs/pull/7945
* build(deps): update dependency versions by @houseme in https://github.com/rustfs/rustfs/pull/7942
* perf(s3select): accelerate ScanRange record scanning by @GatewayJ in https://github.com/rustfs/rustfs/pull/7934
* fix(ci): bound the fault-tolerance dashboard upload step by @overtrue in https://github.com/rustfs/rustfs/pull/7948
* chore(release): prepare 1.0.1 by @overtrue in https://github.com/rustfs/rustfs/pull/7946
* fix(ecstore): forward quota admission on CopyObject destination writes by @overtrue in https://github.com/rustfs/rustfs/pull/7947
* feat(tables): support staged table creation by @GatewayJ in https://github.com/rustfs/rustfs/pull/7919
* refactor(obs): depend on dial9 crate by @houseme in https://github.com/rustfs/rustfs/pull/7949
* fix(ecstore): reuse metadata read guards during writes by @jkossis in https://github.com/rustfs/rustfs/pull/7941
* fix(ilm): keep expiry pending gauge balanced and drain overwrite tails by @overtrue in https://github.com/rustfs/rustfs/pull/7944
* fix(ecstore): keep the single-block bound on every inline candidate by @overtrue in https://github.com/rustfs/rustfs/pull/7954
* Allow 127.0.0.0/8 as loopback addresses for binding by @aredridel in https://github.com/rustfs/rustfs/pull/7943
* fix(ecstore): hide and reclaim ancestors of delete residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/7955
* fix(readiness): smooth pool metadata timeout flaps by @houseme in https://github.com/rustfs/rustfs/pull/7956
* fix(heal): prevent MRF starvation of integrity repairs by @houseme in https://github.com/rustfs/rustfs/pull/7963
* fix(lock): contain slow peer RPC admission storms by @houseme in https://github.com/rustfs/rustfs/pull/7970
* fix(rebalance): defer retryable source cleanup failures by @cxymds in https://github.com/rustfs/rustfs/pull/7977
* feat(release): add workspace cargo publish tooling by @houseme in https://github.com/rustfs/rustfs/pull/7973
* fix(ci): reject incomplete fault-tolerance runs by @GatewayJ in https://github.com/rustfs/rustfs/pull/7961
* feat(helm): add ingress support for both console and endpoint by @kokorousaki in https://github.com/rustfs/rustfs/pull/7972
* ci(performance): move the performance suite to its own concurrency group by @majinghe in https://github.com/rustfs/rustfs/pull/7984
* fix(decommission): keep scanner backlog handoff conflicts recoverable by @cxymds in https://github.com/rustfs/rustfs/pull/7979
* fix(notify): validate bucket notification config before saving by @cxymds in https://github.com/rustfs/rustfs/pull/7980
* ci(performance): drop stale shared-lock comment from the performance workflow by @overtrue in https://github.com/rustfs/rustfs/pull/7987
* fix(scanner): resume and persist checkpoints across leader handoff by @houseme in https://github.com/rustfs/rustfs/pull/7982
* build(deps): refresh workspace dependencies by @houseme in https://github.com/rustfs/rustfs/pull/7986
* fix(ecstore): preserve vectored bitrot writes by @houseme in https://github.com/rustfs/rustfs/pull/7981
* fix(helm): default the ingress backend port and refresh the nix cli hashes by @overtrue in https://github.com/rustfs/rustfs/pull/7990
* build(deps): bump dial9 to 0.5.1 by @houseme in https://github.com/rustfs/rustfs/pull/7991
* fix(replication): harden delete marker HEAD convergence by @houseme in https://github.com/rustfs/rustfs/pull/7993
* docs(operations): add cluster and erasure-coding lifecycle runbook by @overtrue in https://github.com/rustfs/rustfs/pull/7998
* fix(heal): fail admin heal with unhealthy drives by @cxymds in https://github.com/rustfs/rustfs/pull/7996
* fix(ecstore): preserve bounded listing completion reason by @houseme in https://github.com/rustfs/rustfs/pull/7994
* fix(heal): discharge absent durable partial writes by @houseme in https://github.com/rustfs/rustfs/pull/8000
* feat: expose subscriptions used by event destinations by @cxymds in https://github.com/rustfs/rustfs/pull/8001
* fix(tier): model R2 as unversioned storage by @cxymds in https://github.com/rustfs/rustfs/pull/8004
* fix(ecstore): repair buckets left with only an incarnation sidecar by @overtrue in https://github.com/rustfs/rustfs/pull/8008
* fix(heal): inspect stale members during deep scans by @cxymds in https://github.com/rustfs/rustfs/pull/8009
* fix(tier): gate opaque version recovery cleanup by @cxymds in https://github.com/rustfs/rustfs/pull/8006
* fix(release): sort pre-release packages below their final release by @overtrue in https://github.com/rustfs/rustfs/pull/8016
* fix(ecstore): retry fleet capability probe while the notification system boots by @overtrue in https://github.com/rustfs/rustfs/pull/8017
* fix(heal): close tail-truncation and stale current-marker gaps by @cxymds in https://github.com/rustfs/rustfs/pull/8019
* fix: serialize notify runtime module switch reconciliation by @cxymds in https://github.com/rustfs/rustfs/pull/8020
* fix(scanner): protect single-disk foreground latency by @houseme in https://github.com/rustfs/rustfs/pull/8022
* test(heal): cover stale current delete marker rejoin by @cxymds in https://github.com/rustfs/rustfs/pull/8021
* fix(package): preserve service state across upgrades by @majinghe in https://github.com/rustfs/rustfs/pull/8024
* ci(chain): fall back to auto-testing main HEAD when the pinned harness goes stale by @majinghe in https://github.com/rustfs/rustfs/pull/8026
* fix(ecstore): allow server-side copy at normal read quorum by @overtrue in https://github.com/rustfs/rustfs/pull/8029
* fix(get): skip futile resume for single-disk objects by @houseme in https://github.com/rustfs/rustfs/pull/8031
* chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/8033
* docs(security): add encrypted ETag advisory lesson by @overtrue in https://github.com/rustfs/rustfs/pull/8040
* ci(docker): sync the Docker Hub overview from README.md on release by @Marukome0743 in https://github.com/rustfs/rustfs/pull/8034
* fix(heal): preserve remote corruption and reject incomplete deep scans by @cxymds in https://github.com/rustfs/rustfs/pull/8032
* fix(ci): give the chain staleness probe a token that can read auto-testing by @majinghe in https://github.com/rustfs/rustfs/pull/8041
* fix(heal): restore bucket metadata before replacement completion by @overtrue in https://github.com/rustfs/rustfs/pull/8042
* fix(decommission): use owned data for source capacity by @cxymds in https://github.com/rustfs/rustfs/pull/8038
* fix(lifecycle): reject empty expiration actions by @cxymds in https://github.com/rustfs/rustfs/pull/8045
* fix(obs): default span events to none and gate span list by level by @cxymds in https://github.com/rustfs/rustfs/pull/8047
* fix: rename admin metrics endpoint to realtime by @cxymds in https://github.com/rustfs/rustfs/pull/8046
* fix(rebalance): retry fleet proof before start activation by @cxymds in https://github.com/rustfs/rustfs/pull/8049
* fix(ci): align FT evidence contract with scenario E (44 cases) by @majinghe in https://github.com/rustfs/rustfs/pull/8052
* fix(ecstore): bound decommission capacity gate waits by @cxymds in https://github.com/rustfs/rustfs/pull/8044
* test(ci): align FT workflow contract tests with scenario E (44 cases) by @majinghe in https://github.com/rustfs/rustfs/pull/8054
* fix(ci): accept the testing-sha staleness fallback in chain evidence by @majinghe in https://github.com/rustfs/rustfs/pull/8056
* fix(s3): emit x-amz-expiration as HTTP-date by @cxymds in https://github.com/rustfs/rustfs/pull/8057
* fix(obs): support custom OTLP CA bundles by @houseme in https://github.com/rustfs/rustfs/pull/8060
* feat(ci): on-demand fault-tolerance matrix sweep workflow by @majinghe in https://github.com/rustfs/rustfs/pull/8058
* fix(ecstore): bound decommission target gate contention by @cxymds in https://github.com/rustfs/rustfs/pull/8061
* feat(integrity): add inventory, audit, and protected migration by @cxymds in https://github.com/rustfs/rustfs/pull/8065
* fix(ftps): bound upload memory with multipart streaming by @bolero2 in https://github.com/rustfs/rustfs/pull/8064
* fix(amqp): emit S3 events directly in notification records by @bolero2 in https://github.com/rustfs/rustfs/pull/8066
* fix(ci): publish version-tagged preview Docker images by @overtrue in https://github.com/rustfs/rustfs/pull/8068
* fix(heal): preserve decode repair signals and retry startup quorum by @cxymds in https://github.com/rustfs/rustfs/pull/8067
* ci(package): build gnu and musl DEB/RPM variants with distinct file names by @majinghe in https://github.com/rustfs/rustfs/pull/8079
* fix(heal): recreate missing bucket volumes by @cxymds in https://github.com/rustfs/rustfs/pull/8082
* fix(heal): retry faulty storage disk errors by @cxymds in https://github.com/rustfs/rustfs/pull/8086
* chore(ci): refresh checkout pin in validated workflows by @houseme in https://github.com/rustfs/rustfs/pull/8083
* chore(ci): complete action pin and HAProxy upgrades by @houseme in https://github.com/rustfs/rustfs/pull/8090
* perf(ecstore): parallelize multipart I/O setup and metadata reads by @GatewayJ in https://github.com/rustfs/rustfs/pull/8085
* docs: update license copyright to RustFS, Inc. by @overtrue in https://github.com/rustfs/rustfs/pull/8097
* fix(s3): default CopyObject content-type to binary/octet-stream on REPLACE by @TylerHillery in https://github.com/rustfs/rustfs/pull/8073
* fix(heal): preserve retryable writer failures by @cxymds in https://github.com/rustfs/rustfs/pull/8089
* feat(connect): sample memory within the running service by @overtrue in https://github.com/rustfs/rustfs/pull/8091
* fix(connect): preserve diagnostic schedules across restart by @overtrue in https://github.com/rustfs/rustfs/pull/8092
* test(connect): add scheduler receipt acceptance workflow by @overtrue in https://github.com/rustfs/rustfs/pull/8078
* fix(ecstore): resume scan_dir past a dash-suffixed sibling directory by @gmelikov in https://github.com/rustfs/rustfs/pull/8071
* fix(heal): detect stale delete-marker metadata by @cxymds in https://github.com/rustfs/rustfs/pull/8102
* chore: upgrade workspace dependency releases by @houseme in https://github.com/rustfs/rustfs/pull/8107
* ci: replace ubuntu-latest runner with sm-standard-2 across workflows by @majinghe in https://github.com/rustfs/rustfs/pull/8112
* fix(release): defer installation updates until artifacts are live by @overtrue in https://github.com/rustfs/rustfs/pull/8122
* feat(github): add issue forms with storage support checks by @overtrue in https://github.com/rustfs/rustfs/pull/8123
* Update bug report storage requirements: allow SAN/JBOD, recommend XFS by @loverustfs in https://github.com/rustfs/rustfs/pull/8125
* fix(ci): make shared checks portable across runners by @overtrue in https://github.com/rustfs/rustfs/pull/8124
* ci: run distributed e2e on ubuntu-latest to restore tmpfs mounts by @majinghe in https://github.com/rustfs/rustfs/pull/8128
* fix(scanner): bound SNSD deep scans and checkpoint cloning by @houseme in https://github.com/rustfs/rustfs/pull/8126
* feat(ecstore): integrate io_uring backend improvements by @houseme in https://github.com/rustfs/rustfs/pull/8105
* ci: run the KMS Vault lanes on ubuntu-latest again by @majinghe in https://github.com/rustfs/rustfs/pull/8133
* ci: align the matrix contract with the 36-combination sweep by @majinghe in https://github.com/rustfs/rustfs/pull/8136
* fix(ecstore): admit cold bucket metadata at read quorum by @cxymds in https://github.com/rustfs/rustfs/pull/8120
* fix(storage): weight automatic multipart admission by part size by @overtrue in https://github.com/rustfs/rustfs/pull/8118
* feat(connect): add bounded health service job by @overtrue in https://github.com/rustfs/rustfs/pull/8139
* ci: keep gh-dependent release jobs on GitHub-hosted runners by @overtrue in https://github.com/rustfs/rustfs/pull/8137
* test: add health service acceptance workflow by @overtrue in https://github.com/rustfs/rustfs/pull/8140
* fix(connect): pace diagnostic network payload sends by @overtrue in https://github.com/rustfs/rustfs/pull/8096
* test(connect): expose typed drive measurement failure context by @overtrue in https://github.com/rustfs/rustfs/pull/8099
* fix(scanner): build raw enumeration indexes incrementally by @hkwi in https://github.com/rustfs/rustfs/pull/8114
* fix(architecture): route health.rs storage imports through storage_api facade by @overtrue in https://github.com/rustfs/rustfs/pull/8143
* fix(ci): bootstrap release upload CLIs by @overtrue in https://github.com/rustfs/rustfs/pull/8144
* fix(ci): install GitHub CLI for Connect health acceptance by @overtrue in https://github.com/rustfs/rustfs/pull/8146
* ci: run the chain orchestration jobs on the smoke-testing runner by @majinghe in https://github.com/rustfs/rustfs/pull/8147
* fix(ci): validate health binary without file utility by @overtrue in https://github.com/rustfs/rustfs/pull/8157
* fix(ci): run health acceptance on Docker-capable workers by @overtrue in https://github.com/rustfs/rustfs/pull/8158
* test(connect): sync heartbeat capability expectations by @cxymds in https://github.com/rustfs/rustfs/pull/8161
* ci: build linux-aarch64 natively on sm-standard-4-arm and verify every Linux package by @majinghe in https://github.com/rustfs/rustfs/pull/8160
* fix: admit cold reads and readiness at read quorum by @loverustfs in https://github.com/rustfs/rustfs/pull/8156
* Generate CPU symbol catalogs from release executables by @overtrue in https://github.com/rustfs/rustfs/pull/8165
* Use pinned release catalogs for Connect CPU acceptance by @overtrue in https://github.com/rustfs/rustfs/pull/8166
* Collect bounded metrics from the serving Tokio runtime by @overtrue in https://github.com/rustfs/rustfs/pull/8167
* fix(scanner): recover after cycle-state persistence failures by @overtrue in https://github.com/rustfs/rustfs/pull/8148
* feat(connect): capture service runtime profiles over local IPC by @overtrue in https://github.com/rustfs/rustfs/pull/8168
* ci: default manual builds to artifacts without publishing by @overtrue in https://github.com/rustfs/rustfs/pull/8171
* ci: verify Top disk in the serving process by @overtrue in https://github.com/rustfs/rustfs/pull/8173
* fix: collect offline Top disk from the running service by @overtrue in https://github.com/rustfs/rustfs/pull/8174
* feat(connect): execute signed disk diagnostics in the service by @overtrue in https://github.com/rustfs/rustfs/pull/8177
* ci(connect): use Node 25 for acceptance workflows by @overtrue in https://github.com/rustfs/rustfs/pull/8179
* ci: refresh the preview-release contract for the current build workflow by @majinghe in https://github.com/rustfs/rustfs/pull/8178
* ci(connect): match GNU build runner in acceptance checks by @overtrue in https://github.com/rustfs/rustfs/pull/8180
* fix: bound restarted-peer stalls on quorum reads and writes by @loverustfs in https://github.com/rustfs/rustfs/pull/8152
* fix(helm): route Gateway API traffic to the chart service by @overtrue in https://github.com/rustfs/rustfs/pull/8145
* fix(connect): admit complete release CPU symbol catalogs by @overtrue in https://github.com/rustfs/rustfs/pull/8184
* fix(ci): verify GNU packages with CPU catalogs by @overtrue in https://github.com/rustfs/rustfs/pull/8186
* fix(connect): return profile capture result directly by @houseme in https://github.com/rustfs/rustfs/pull/8182
* fix(ci): repair pool budgets and Connect test failures by @majinghe in https://github.com/rustfs/rustfs/pull/8155
* fix(ci): verify CPU acceptance identity without gh by @overtrue in https://github.com/rustfs/rustfs/pull/8188
* fix(ci): run CPU acceptance with Docker by @overtrue in https://github.com/rustfs/rustfs/pull/8189
* fix(ci): run profile acceptance on Docker runners by @overtrue in https://github.com/rustfs/rustfs/pull/8191
* fix: map IAM not-found errors to 404 in InfoCannedPolicy and RemoveUser by @qwerprog in https://github.com/rustfs/rustfs/pull/8134
* fix(admin): report a missing policy or user as 404 NoSuchResource, not 500 InternalError by @Yi-111-a in https://github.com/rustfs/rustfs/pull/8127
* fix(replication): stop sending versionId query once a target rejects it by @ajax-bakun-n in https://github.com/rustfs/rustfs/pull/8109
* fix(ecstore): recover remote disks after transient stalls by @overtrue in https://github.com/rustfs/rustfs/pull/8149
* ci: fail the pool lane when expected step markers are missing by @majinghe in https://github.com/rustfs/rustfs/pull/8190
* fix(s3): preserve prefix listing pagination and marker metadata by @cxymds in https://github.com/rustfs/rustfs/pull/8181
* fix(s3): serve bucket websites on dedicated domains by @cxymds in https://github.com/rustfs/rustfs/pull/8183
* fix(s3): report x-amz-mp-parts-count on GetObject with partNumber by @jubrad in https://github.com/rustfs/rustfs/pull/8115
* fix(table-catalog): preserve data sequences during file rewrites by @GatewayJ in https://github.com/rustfs/rustfs/pull/8104
* fix(ci): restore mainline and scheduled test reliability by @overtrue in https://github.com/rustfs/rustfs/pull/8187
* fix(connect): accept the health-era heartbeat and measured Top windows by @overtrue in https://github.com/rustfs/rustfs/pull/8195
* fix(s3): make retried CompleteMultipartUpload idempotent by @loverustfs in https://github.com/rustfs/rustfs/pull/8153
* fix(iam): require an explicit permission for force-delete by @loverustfs in https://github.com/rustfs/rustfs/pull/8154
* fix: accept catalog files in health service artifact by @overtrue in https://github.com/rustfs/rustfs/pull/8198
* fix(ci): restore checks and multipart migration retries by @overtrue in https://github.com/rustfs/rustfs/pull/8196
* fix(notify): persist Docker queue stores and expose open errors by @houseme in https://github.com/rustfs/rustfs/pull/8201
* fix(test): add missing unavailable_drives field to readiness test initializers by @overtrue in https://github.com/rustfs/rustfs/pull/8200
* test: stabilize heal timing and improve heartbeat replay coverage by @overtrue in https://github.com/rustfs/rustfs/pull/8150
* fix(ci): preserve diagnostics for rio storage test failures by @overtrue in https://github.com/rustfs/rustfs/pull/8204
* fix(heal): retry cancelled internode RPC operations by @overtrue in https://github.com/rustfs/rustfs/pull/8205
* build(deps): bump the dependencies group with 14 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8176
* fix(test): serialize replacement_bucket_metadata heal test under parallel load by @overtrue in https://github.com/rustfs/rustfs/pull/8212
* fix(ecstore): preserve RPC status when cloning storage errors by @overtrue in https://github.com/rustfs/rustfs/pull/8207
* fix(tier): reread mutation intents after lock contention by @overtrue in https://github.com/rustfs/rustfs/pull/8209
* fix(ci): isolate scanner deadline and expose test failure details by @overtrue in https://github.com/rustfs/rustfs/pull/8210
* fix(ecstore): retain read quota and control reserve test hedging by @overtrue in https://github.com/rustfs/rustfs/pull/8211
* Capture offline memory profile from the running service by @overtrue in https://github.com/rustfs/rustfs/pull/8214
* feat(connect): capture offline native threads in service process by @overtrue in https://github.com/rustfs/rustfs/pull/8215
* fix(ci): preserve cluster startup failure evidence by @overtrue in https://github.com/rustfs/rustfs/pull/8213
* fix(rpc): keep legacy format reads in their original namespace by @overtrue in https://github.com/rustfs/rustfs/pull/8216
* fix(connect): secure new offline state roots by @overtrue in https://github.com/rustfs/rustfs/pull/8218
* feat(connect): capture signed offline service health by @overtrue in https://github.com/rustfs/rustfs/pull/8219
* fix(test): use expect_err for offline state root rejection by @overtrue in https://github.com/rustfs/rustfs/pull/8220
* Fix fresh capacity probes for formatted local disks by @overtrue in https://github.com/rustfs/rustfs/pull/8222
* fix(test): keep bucket disk faults across reconnects by @overtrue in https://github.com/rustfs/rustfs/pull/8224
* fix(heal): park healthy legacy MRF intents by @houseme in https://github.com/rustfs/rustfs/pull/8225
* fix(rpc): preserve walk_dir missing-path errors by @houseme in https://github.com/rustfs/rustfs/pull/8226
* fix(ci): run security chain evidence from the lane's own checkout by @majinghe in https://github.com/rustfs/rustfs/pull/8229
* feat(connect): capture offline lock metrics in server by @overtrue in https://github.com/rustfs/rustfs/pull/8230
* fix(test): control clocks in Connect network fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/8228
* fix(scanner): restart a finished mixed sweep under its requested plan by @overtrue in https://github.com/rustfs/rustfs/pull/8231
* feat(connect): capture API activity in offline server runtime by @overtrue in https://github.com/rustfs/rustfs/pull/8234
* feat(connect): capture RPC activity in offline server runtime by @overtrue in https://github.com/rustfs/rustfs/pull/8237
* feat(connect): capture offline network performance in server by @overtrue in https://github.com/rustfs/rustfs/pull/8240
* feat(connect): select offline key for client performance by @overtrue in https://github.com/rustfs/rustfs/pull/8242
* fix(ci): reduce duplicate work and preserve reliable test failures by @overtrue in https://github.com/rustfs/rustfs/pull/8233
* fix(test): synchronize top-disk fixture writes with sampling by @overtrue in https://github.com/rustfs/rustfs/pull/8243
* feat: Capture offline CPU profiles in serving process by @overtrue in https://github.com/rustfs/rustfs/pull/8245
* fix: filter CPU profile samples to reviewed executable symbols by @overtrue in https://github.com/rustfs/rustfs/pull/8248
* fix: separate CPU profile stack lifetime from accumulator by @overtrue in https://github.com/rustfs/rustfs/pull/8250
* fix(connect): add non-Unix health runtime fallback by @overtrue in https://github.com/rustfs/rustfs/pull/8247
* fix(scanner): resume checkpoints across cycle and leader changes by @jkossis in https://github.com/rustfs/rustfs/pull/8252
* test(heal): cover degraded MRF replay after deletion by @houseme in https://github.com/rustfs/rustfs/pull/8249
* fix(storage): default new bucket durability to strict by @houseme in https://github.com/rustfs/rustfs/pull/8253
* fix(release): package stable preview tags without updating channels by @overtrue in https://github.com/rustfs/rustfs/pull/8256
* fix(ci): stabilize registration and rolling upgrade readiness by @overtrue in https://github.com/rustfs/rustfs/pull/8244
* fix(tier): keep recovery worker after startup reload failure by @overtrue in https://github.com/rustfs/rustfs/pull/8260
* fix(heal): finalize durable MRF legacy responsibility lifecycle by @houseme in https://github.com/rustfs/rustfs/pull/8254
* fix(scanner): serialize pause backlog replica publication by @overtrue in https://github.com/rustfs/rustfs/pull/8264
* fix(heal): retry contended local metadata CAS by @overtrue in https://github.com/rustfs/rustfs/pull/8267
* fix(ci): reserve capacity for profile cancellation probe by @overtrue in https://github.com/rustfs/rustfs/pull/8259
* test(ecstore): isolate dispatch shutdown recovery fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/8265
* ci(helm): sync README to root of helm repository on release by @KarlEmm in https://github.com/rustfs/rustfs/pull/8263
* fix(ecstore): purge empty recursive bucket orphans by @houseme in https://github.com/rustfs/rustfs/pull/8261
* fix(storage): prevent metadata deadlocks and abandoned writes by @overtrue in https://github.com/rustfs/rustfs/pull/8268
* fix(rio): preserve bounded retries after peer EOF by @overtrue in https://github.com/rustfs/rustfs/pull/8272
* fix: prevent metadata lock reentry and stabilize CI fixtures by @overtrue in https://github.com/rustfs/rustfs/pull/8257
* fix(scanner): expose pause backlog replica diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/8258
* fix(usage): reconcile stale counters after lifecycle expiration by @pederbe in https://github.com/rustfs/rustfs/pull/8108
* fix(usage): recover historical counters with generation fencing by @houseme in https://github.com/rustfs/rustfs/pull/8273
* test(scanner): verify checkpoint takeover and repair dispatch by @houseme in https://github.com/rustfs/rustfs/pull/8275
* fix(obs): distinguish allocator counters from live memory by @houseme in https://github.com/rustfs/rustfs/pull/8274
* [release/1.0.1] Gate multipart copy through write admission by @houseme in https://github.com/rustfs/rustfs/pull/8284
* Gate multipart copy through write admission by @houseme in https://github.com/rustfs/rustfs/pull/8283
* fix: add UploadPart OOM validation guardrails by @houseme in https://github.com/rustfs/rustfs/pull/8287
* fix(s3): queue bucket operations and restore strict Clippy checks by @houseme in https://github.com/rustfs/rustfs/pull/8290
* fix(scanner): diagnose and verify pause backlog recovery by @houseme in https://github.com/rustfs/rustfs/pull/8293
* fix(storage): preserve rollback history and terminate ListParts by @overtrue in https://github.com/rustfs/rustfs/pull/8311

## New Contributors
* @aredridel made their first contribution in https://github.com/rustfs/rustfs/pull/7943
* @kokorousaki made their first contribution in https://github.com/rustfs/rustfs/pull/7972
* @Marukome0743 made their first contribution in https://github.com/rustfs/rustfs/pull/8034
* @bolero2 made their first contribution in https://github.com/rustfs/rustfs/pull/8064
* @TylerHillery made their first contribution in https://github.com/rustfs/rustfs/pull/8073
* @gmelikov made their first contribution in https://github.com/rustfs/rustfs/pull/8071
* @qwerprog made their first contribution in https://github.com/rustfs/rustfs/pull/8134
* @Yi-111-a made their first contribution in https://github.com/rustfs/rustfs/pull/8127
* @jubrad made their first contribution in https://github.com/rustfs/rustfs/pull/8115
* @KarlEmm made their first contribution in https://github.com/rustfs/rustfs/pull/8263
* @pederbe made their first contribution in https://github.com/rustfs/rustfs/pull/8108

**Full Changelog**: https://github.com/rustfs/rustfs/compare/1.0.0...1.0.1

Related Repositories