github rustfs/rustfs 1.0.1-preview.11
RustFS 1.0.1-preview.11 (preview)

pre-release5 hours ago

What's Changed

  • feat(nightly): publish packages as assets of the rolling 'nightly' release (sync from release) by @majinghe in #7593
  • fix(ecstore): stop pruning at nonempty directories by @marshawcoco in #7616
  • fix(replication): close the pre-stable convergence gaps from backlog#2367 by @reatang in #7626
  • feat(console): support a configurable console URL prefix by @overtrue in #7634
  • chore(release): merge release into main for rc.6 by @overtrue in #7638
  • feat: configure the console base path at build time by @cxymds in #7636
  • chore(release): prepare 1.0.0-rc.6 by @overtrue in #7641
  • fix(heal): preserve retryable batch failures during recovery by @overtrue in #7642
  • fix(s3): reject oversize single PUT early and map body errors to 4xx by @reatang in #7635
  • fix(ecstore): make directory mtime fixture portable by @marshawcoco in #7623
  • fix(storage): prevent readiness after native migration failures by @rjregenold in #7652
  • fix(admin): expose OIDC account display fields by @GatewayJ in #7654
  • fix(replication): correct peer joins and remote-state reporting by @jkossis in #7650
  • feat(ci): add fault-tolerance degradation suite to the functional chain by @majinghe in #7663
  • fix(ci): repair functional defaults and chain regression checks by @overtrue in #7664
  • "feat(ci): add fault-tolerance degradation suite to the functional chain" by @majinghe in #7667
  • fix(ci): align security workflow tests with chain by @cxymds in #7679
  • test(kms): cover non-default Vault Transit paths by @hkwi in #7657
  • fix(s3): bound stalled UploadPart request bodies by @cxymds in #7659
  • fix: enforce S3 permissions for recursive force deletion by @cxymds in #7661
  • fix(tables): reject reserved warehouse locations by @GatewayJ in #7671
  • fix(e2e): require a verified server binary for every e2e run by @overtrue in #7687
  • fix(ci): bind nightly lanes to one resolved source by @overtrue in #7688
  • feat(ci): measure queue and execution time by run attempt by @overtrue in #7689
  • fix(ci): verify complete functional chain evidence by @overtrue in #7690
  • fix(kms): classify KMS/SSE error contracts and SSE-S3 headers by @reatang in #7697
  • Collect bounded Connect environment inventory by @overtrue in #7710
  • Add Connect service license commands by @overtrue in #7711
  • Add consent-bound diagnostic scheduling by @overtrue in #7713
  • feat(connect): advertise environment diagnostics by @overtrue in #7714
  • feat(connect): add consent-bound profile exports by @overtrue in #7716
  • feat(connect): add bounded local log capture by @overtrue in #7718
  • feat(connect): add bounded network performance producer by @overtrue in #7719
  • Add bounded local telemetry export commands by @overtrue in #7720
  • Add bounded drive performance command by @overtrue in #7721
  • Add bounded top diagnostic captures by @overtrue in #7722
  • Add client-to-deployment performance diagnostics by @overtrue in #7726
  • Add a local environment inventory command by @overtrue in #7728
  • feat(connect): add bounded object performance diagnostics by @overtrue in #7734
  • Add authenticated inter-node network performance probes by @overtrue in #7739
  • fix(site-replication): keep an operator's bucket-level target to a peer instead of taking it over by @reatang in #7709
  • chore(deps): update flake.lock by @houseme in #7733
  • feat(connect): support explicit enterprise proxies by @overtrue in #7745
  • feat(connect): emit drive unavailable log events by @overtrue in #7747
  • feat(connect): add local inspect export producer by @overtrue in #7750
  • test(connect): cover nested allocator profile stats by @overtrue in #7717
  • docs(security): add presigned copy advisory lesson by @overtrue in #7754
  • fix(ecstore): refuse RMW and reads of unreadable bucket configs by @overtrue in #7759
  • refactor(filemeta): own persisted metadata key authority by @overtrue in #7760
  • Sync network performance protocol fixtures by @overtrue in #7761
  • Sync site replication result fixtures by @overtrue in #7762
  • Sync telemetry producer fixtures by @overtrue in #7763
  • refactor(rio): own trailer source and drop s3s dependency by @overtrue in #7764
  • Deliver diagnostic scheduler receipts to Connect by @overtrue in #7767
  • fix(ecstore): refuse writes on unreadable bucket configs with 503 by @overtrue in #7768
  • feat(connect): add site replication performance producer by @overtrue in #7769
  • refactor(ecstore): read persisted object-metadata keys from the filemeta authority (A3b) by @overtrue in #7770
  • feat(connect): add device license renewal client by @overtrue in #7771
  • feat(connect): add approved artifact relay by @overtrue in #7772
  • fix(connect): export relay CLI types by @overtrue in #7773
  • feat(connect): add device report upload client by @overtrue in #7774
  • feat(connect): add typed telemetry trace source by @overtrue in #7775
  • fix(connect): avoid shadowing replication URL helper by @overtrue in #7777
  • fix(connect): restore site replication test nonce by @overtrue in #7778
  • fix(connect): restore rustfs build after site replication perf producer by @overtrue in #7779
  • fix(rustfs): restore test compilation by @overtrue in #7780
  • feat(connect): sign site replication target pair by @overtrue in #7781
  • refactor(filemeta): own RestoreStatus and drop the s3s dependency (A3c) by @overtrue in #7782
  • feat(connect): add service license relay import by @overtrue in #7784
  • feat(admin): add a gateway key inventory for the S3 stack switch by @overtrue in #7785
  • feat(server): add RUSTFS_S3_STACK with a gateway GetBucketLocation path by @overtrue in #7786
  • revert: remove M1 gateway git dependency until CI can access rustfs/gateway by @overtrue in #7787
  • fix: retry IAM migration quorum failures on startup by @overtrue in #7788
  • fix: retry interrupted uploads through proxies by @overtrue in #7789
  • fix(connect): capture telemetry from server runtime by @overtrue in #7790
  • fix: classify explicit proxy failures by @overtrue in #7791
  • fix: skip IAM migration when legacy volume is absent by @overtrue in #7792
  • fix(release): include CLI in Linux artifacts by @overtrue in #7794
  • fix(release): serialize Linux binary links by @overtrue in #7797
  • feat(connect): expose live lock count snapshots by @overtrue in #7801
  • feat(connect): capture live API activity by @overtrue in #7804
  • feat(connect): collect native Linux thread states by @overtrue in #7806
  • feat(connect): capture live RPC activity by @overtrue in #7807
  • test(connect): verify top.disk release artifacts by @overtrue in #7808
  • test(connect): require native top.disk runner by @overtrue in #7809
  • feat(connect): capture bounded local CPU profiles by @overtrue in #7811
  • ci: retain top disk acceptance archive by @overtrue in #7812
  • fix(connect): observe host traffic in top net by @overtrue in #7814
  • ci: enable CPU profiling in supported release builds by @overtrue in #7815
  • test(connect): verify profile cpu release artifacts by @overtrue in #7818
  • test(connect): retain CPU profile verification key by @overtrue in #7819
  • test(connect): retain CPU profile import bundle by @overtrue in #7820
  • feat(connect): expose object inspect CLI by @overtrue in #7821
  • feat(connect): wrap diagnostic reports for upload by @overtrue in #7822
  • fix(connect): parse inspect paths as paths by @overtrue in #7826
  • feat(connect): verify typed diagnostic jobs by @overtrue in #7827
  • fix(connect): accept KMS report upload authorization by @overtrue in #7828
  • Run signed diagnostic jobs in the RustFS service by @overtrue in #7829
  • fix(connect): emit canonical report manifest time by @overtrue in #7830
  • Upload diagnostic job results through support bundles by @overtrue in #7831
  • fix(connect): emit canonical top envelope time by @overtrue in #7836
  • fix(connect): publish diagnostic producer capabilities by @overtrue in #7837
  • fix(io-metrics): drop the rustfs-common edge by injecting the S3 telemetry observer by @overtrue in #7795
  • fix(replication): count a bodiless 405 as a replicated delete marker by @reatang in #7756
  • fix(kms): refuse key ids that leave the key prefix on the Vault backends by @reatang in #7727
  • Preserve safe profile job failure reasons by @overtrue in #7860
  • Freeze the heartbeat producer capability registry by @overtrue in #7861
  • fix: resume GET body after peer short EOF by @houseme in #7852
  • ci: file scheduled-failure issues in rustfs/backlog by @majinghe in #7847
  • fix(admin): keep the gateway key inventory off the s3s surface by @overtrue in #7817
  • fix(s3): honor presigned UploadPart checksum queries by @overtrue in #7748
  • fix(auth): reject unsigned x-amz headers on header-signed SigV4 requests by @overtrue in #7796
  • fix(table-catalog): map transient lock failures to unavailable by @marshawcoco in #7841
  • Verify profile service jobs on native Linux by @overtrue in #7862
  • Authorize the private Connect acceptance checkout by @overtrue in #7863
  • Run profile service acceptance directly by @overtrue in #7864
  • Retain profile service failure evidence by @overtrue in #7868
  • fix: update dependencies and preserve transport errors by @dependabot[bot] in #7798
  • ci: expect BACKLOG_ISSUE_TOKEN in scheduled alert wiring checks by @majinghe in #7867
  • Pace diagnostic job result redelivery by @overtrue in #7869
  • Execute authenticated top.api service jobs by @overtrue in #7872
  • feat(connect): execute top.locks service jobs by @overtrue in #7874
  • fix(ci): gate Connect acceptance on x86 build job by @overtrue in #7875
  • fix(ci): repair E2E inventory and network CLI coverage by @overtrue in #7871
  • feat(connect): execute performance network jobs by @overtrue in #7877
  • feat(connect): execute bounded drive performance jobs by @overtrue in #7878
  • Preserve the top API service job nonce by @overtrue in #7879
  • feat(connect): execute thread profile service jobs by @overtrue in #7880
  • Execute authenticated top.rpc service jobs by @overtrue in #7881
  • ci: add service diagnostic acceptance workflows by @overtrue in #7882
  • ci: add threads and RPC acceptance workflows by @overtrue in #7883
  • fix(connect): deliver diagnostic results until expiry by @overtrue in #7886
  • feat(connect): export signed environment inventory by @overtrue in #7887
  • fix: recover interrupted GETs and heal operations by @overtrue in #7876
  • fix: keep top locks within its capture window by @overtrue in #7888
  • fix: recover heal after peer boot epoch changes by @overtrue in #7889
  • ci: register the table suite workflow on the default branch by @majinghe in #7893
  • test(ecstore): synchronize causal cleanup observations by @overtrue in #7894
  • fix(ecstore): create markers for repeated versioned deletes by @GatewayJ in #7884
  • Preserve top.locks signed job nonce by @overtrue in #7898
  • fix(ecstore): roll back failed delete marker writes by @overtrue in #7899
  • chore(deps): refresh RustFS tokio tar dependency by @houseme in #7907
  • fix(ci): retain failed functional chain reports and check runners by @majinghe in #7906
  • fix(ci): bound non-performance functional suites to one hour by @majinghe in #7911
  • ci(build): run linux build lanes on sm-standard-4 runners by @majinghe in #7917
  • fix(ecstore): admit transformed small objects inline by plaintext size by @reatang in #7916
  • ci(chain): stop gating all suites on the performance runner by @majinghe in #7924
  • perf(rustfs): skip redundant content-sha256 pass on signed PUTs by @reatang in #7928
  • ci: register the fault-tolerance suite workflow on the default branch by @majinghe in #7929
  • chore(release): merge release into main after 1.0.0 by @overtrue in #7935
  • fix(ecstore): keep decommission multipart on reserved target by @cxymds in #7937
  • fix(heal): match legacy null version during replacement readback by @cxymds in #7933
  • fix(heal): certify metadata health and marker repair receipts by @cxymds in #7932
  • ci(ft): upload the fault-tolerance report to the dashboard by @majinghe in #7939
  • ci: drop dead references to the deleted release branch by @overtrue in #7945
  • build(deps): update dependency versions by @houseme in #7942
  • perf(s3select): accelerate ScanRange record scanning by @GatewayJ in #7934
  • fix(ci): bound the fault-tolerance dashboard upload step by @overtrue in #7948
  • chore(release): prepare 1.0.1 by @overtrue in #7946
  • fix(ecstore): forward quota admission on CopyObject destination writes by @overtrue in #7947
  • feat(tables): support staged table creation by @GatewayJ in #7919
  • refactor(obs): depend on dial9 crate by @houseme in #7949
  • fix(ecstore): reuse metadata read guards during writes by @jkossis in #7941
  • fix(ilm): keep expiry pending gauge balanced and drain overwrite tails by @overtrue in #7944
  • fix(ecstore): keep the single-block bound on every inline candidate by @overtrue in #7954
  • Allow 127.0.0.0/8 as loopback addresses for binding by @aredridel in #7943
  • fix(ecstore): hide and reclaim ancestors of delete residue in prefix listings by @overtrue in #7955
  • fix(readiness): smooth pool metadata timeout flaps by @houseme in #7956
  • fix(heal): prevent MRF starvation of integrity repairs by @houseme in #7963
  • fix(lock): contain slow peer RPC admission storms by @houseme in #7970
  • fix(rebalance): defer retryable source cleanup failures by @cxymds in #7977
  • feat(release): add workspace cargo publish tooling by @houseme in #7973
  • fix(ci): reject incomplete fault-tolerance runs by @GatewayJ in #7961
  • feat(helm): add ingress support for both console and endpoint by @kokorousaki in #7972
  • ci(performance): move the performance suite to its own concurrency group by @majinghe in #7984
  • fix(decommission): keep scanner backlog handoff conflicts recoverable by @cxymds in #7979
  • fix(notify): validate bucket notification config before saving by @cxymds in #7980
  • ci(performance): drop stale shared-lock comment from the performance workflow by @overtrue in #7987
  • fix(scanner): resume and persist checkpoints across leader handoff by @houseme in #7982
  • build(deps): refresh workspace dependencies by @houseme in #7986
  • fix(ecstore): preserve vectored bitrot writes by @houseme in #7981
  • fix(helm): default the ingress backend port and refresh the nix cli hashes by @overtrue in #7990
  • build(deps): bump dial9 to 0.5.1 by @houseme in #7991
  • fix(replication): harden delete marker HEAD convergence by @houseme in #7993
  • docs(operations): add cluster and erasure-coding lifecycle runbook by @overtrue in #7998
  • fix(heal): fail admin heal with unhealthy drives by @cxymds in #7996
  • fix(ecstore): preserve bounded listing completion reason by @houseme in #7994
  • fix(heal): discharge absent durable partial writes by @houseme in #8000
  • feat: expose subscriptions used by event destinations by @cxymds in #8001
  • fix(tier): model R2 as unversioned storage by @cxymds in #8004
  • fix(ecstore): repair buckets left with only an incarnation sidecar by @overtrue in #8008
  • fix(heal): inspect stale members during deep scans by @cxymds in #8009
  • fix(tier): gate opaque version recovery cleanup by @cxymds in #8006
  • fix(release): sort pre-release packages below their final release by @overtrue in #8016
  • fix(ecstore): retry fleet capability probe while the notification system boots by @overtrue in #8017
  • fix(heal): close tail-truncation and stale current-marker gaps by @cxymds in #8019
  • fix: serialize notify runtime module switch reconciliation by @cxymds in #8020
  • fix(scanner): protect single-disk foreground latency by @houseme in #8022
  • test(heal): cover stale current delete marker rejoin by @cxymds in #8021
  • fix(package): preserve service state across upgrades by @majinghe in #8024
  • ci(chain): fall back to auto-testing main HEAD when the pinned harness goes stale by @majinghe in #8026
  • fix(ecstore): allow server-side copy at normal read quorum by @overtrue in #8029
  • fix(get): skip futile resume for single-disk objects by @houseme in #8031
  • chore(deps): update flake.lock by @houseme in #8033
  • docs(security): add encrypted ETag advisory lesson by @overtrue in #8040
  • ci(docker): sync the Docker Hub overview from README.md on release by @Marukome0743 in #8034
  • fix(heal): preserve remote corruption and reject incomplete deep scans by @cxymds in #8032
  • fix(ci): give the chain staleness probe a token that can read auto-testing by @majinghe in #8041
  • fix(heal): restore bucket metadata before replacement completion by @overtrue in #8042
  • fix(decommission): use owned data for source capacity by @cxymds in #8038
  • fix(lifecycle): reject empty expiration actions by @cxymds in #8045
  • fix(obs): default span events to none and gate span list by level by @cxymds in #8047
  • fix: rename admin metrics endpoint to realtime by @cxymds in #8046
  • fix(rebalance): retry fleet proof before start activation by @cxymds in #8049
  • fix(ci): align FT evidence contract with scenario E (44 cases) by @majinghe in #8052
  • fix(ecstore): bound decommission capacity gate waits by @cxymds in #8044
  • test(ci): align FT workflow contract tests with scenario E (44 cases) by @majinghe in #8054
  • fix(ci): accept the testing-sha staleness fallback in chain evidence by @majinghe in #8056
  • fix(s3): emit x-amz-expiration as HTTP-date by @cxymds in #8057
  • fix(obs): support custom OTLP CA bundles by @houseme in #8060
  • feat(ci): on-demand fault-tolerance matrix sweep workflow by @majinghe in #8058
  • fix(ecstore): bound decommission target gate contention by @cxymds in #8061
  • feat(integrity): add inventory, audit, and protected migration by @cxymds in #8065
  • fix(ftps): bound upload memory with multipart streaming by @bolero2 in #8064
  • fix(amqp): emit S3 events directly in notification records by @bolero2 in #8066
  • fix(ci): publish version-tagged preview Docker images by @overtrue in #8068
  • fix(heal): preserve decode repair signals and retry startup quorum by @cxymds in #8067
  • ci(package): build gnu and musl DEB/RPM variants with distinct file names by @majinghe in #8079
  • fix(heal): recreate missing bucket volumes by @cxymds in #8082
  • fix(heal): retry faulty storage disk errors by @cxymds in #8086
  • chore(ci): refresh checkout pin in validated workflows by @houseme in #8083
  • chore(ci): complete action pin and HAProxy upgrades by @houseme in #8090
  • perf(ecstore): parallelize multipart I/O setup and metadata reads by @GatewayJ in #8085
  • docs: update license copyright to RustFS, Inc. by @overtrue in #8097
  • fix(s3): default CopyObject content-type to binary/octet-stream on REPLACE by @TylerHillery in #8073
  • fix(heal): preserve retryable writer failures by @cxymds in #8089
  • feat(connect): sample memory within the running service by @overtrue in #8091
  • fix(connect): preserve diagnostic schedules across restart by @overtrue in #8092
  • test(connect): add scheduler receipt acceptance workflow by @overtrue in #8078
  • fix(ecstore): resume scan_dir past a dash-suffixed sibling directory by @gmelikov in #8071
  • fix(heal): detect stale delete-marker metadata by @cxymds in #8102

New Contributors

Full Changelog: 1.0.0...1.0.1-preview.11

Don't miss a new rustfs release

NewReleases is sending notifications on new releases.