RustFS 1.0.2
- docs(release): validate candidates on release branch by @overtrue in https://github.com/rustfs/rustfs/pull/8280
- fix(scanner): validate checkpoints against global cycle fence by @abe723 in https://github.com/rustfs/rustfs/pull/8278
- fix(ci): restore E2E membership and pagination timeouts by @overtrue in https://github.com/rustfs/rustfs/pull/8281
- ci: locate the auto-testing checkout for lanes that run evidence from a subdirectory by @majinghe in https://github.com/rustfs/rustfs/pull/8279
- fix(s3): bound multipart copy admission and HTTP write buffers by @overtrue in https://github.com/rustfs/rustfs/pull/8288
- fix(connect): preserve site replication S3 key path by @overtrue in https://github.com/rustfs/rustfs/pull/8300
- fix: resolve Rust 1.99 Clippy warnings by @houseme in https://github.com/rustfs/rustfs/pull/8301
- ci: remove Docker Hub description sync by @overtrue in https://github.com/rustfs/rustfs/pull/8303
- fix(connect): send endpoint origin for relay session authentication by @overtrue in https://github.com/rustfs/rustfs/pull/8310
- fix(sse): guard copy-source SSE-C keys over TLS and reject bucket-keyed KMS context by @reatang in https://github.com/rustfs/rustfs/pull/8296
- feat(table-catalog): expose durable strong diagnostics by @marshawcoco in https://github.com/rustfs/rustfs/pull/8232
- feat(s3select): support quoted record delimiters by @GatewayJ in https://github.com/rustfs/rustfs/pull/8203
- chore(release): merge 1.0.1 back into main and refresh installation references by @overtrue in https://github.com/rustfs/rustfs/pull/8314
- perf(ecstore): reduce multipart and object I/O overhead by @GatewayJ in https://github.com/rustfs/rustfs/pull/8095
- docs(release): maintain milestones after publishing by @overtrue in https://github.com/rustfs/rustfs/pull/8317
- fix(heal): skip removed usage observations during read repair by @hkwi in https://github.com/rustfs/rustfs/pull/8135
- feat(webdav): report quota properties on PROPFIND by @Hatsune-Imagine in https://github.com/rustfs/rustfs/pull/8197
- fix(scanner): preserve checkpoint children in large prefixes by @jkossis in https://github.com/rustfs/rustfs/pull/8292
- fix(s3): correct ListParts pagination termination and markers by @qwerprog in https://github.com/rustfs/rustfs/pull/8295
- feat(iam): expose stored bucket tags to OPA by @rjregenold in https://github.com/rustfs/rustfs/pull/8298
- fix(scanner): drain terminal remote responses to clean EOF by @abe723 in https://github.com/rustfs/rustfs/pull/8306
- fix(http): classify peer closures from error sources by @abe723 in https://github.com/rustfs/rustfs/pull/8307
- test(connect): verify local runtime peer credential boundary by @overtrue in https://github.com/rustfs/rustfs/pull/8304
- fix: resolve pagination fixtures and heal recovery CI failures by @overtrue in https://github.com/rustfs/rustfs/pull/8316
- docs: trim redundant project skills by @overtrue in https://github.com/rustfs/rustfs/pull/8323
- docs(storage): verify object generation authority contract by @overtrue in https://github.com/rustfs/rustfs/pull/8322
- fix(oidc): ignore groups without a matching policy at login by @nilsmelchert in https://github.com/rustfs/rustfs/pull/8164
- refactor(storage): bind rename rollback to its commit context by @overtrue in https://github.com/rustfs/rustfs/pull/8324
- refactor(storage): separate metadata scheduling from quorum decisions by @overtrue in https://github.com/rustfs/rustfs/pull/8327
- test(storage): verify rejected rollback inspection on real disks by @overtrue in https://github.com/rustfs/rustfs/pull/8331
- test(storage): make commit fault checkpoints independent by @overtrue in https://github.com/rustfs/rustfs/pull/8326
- fix(listing): count logical prefixes before pagination by @overtrue in https://github.com/rustfs/rustfs/pull/8328
- fix(scanner): isolate and coalesce dirty usage journals by @houseme in https://github.com/rustfs/rustfs/pull/8325
- fix(storage): retain typed owners across borrowed writes by @overtrue in https://github.com/rustfs/rustfs/pull/8329
- fix(ecstore): hide rollback backup residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/8335
- fix(protocols): enforce S3 policies for file protocol operations by @GatewayJ in https://github.com/rustfs/rustfs/pull/8262
- test(ecstore): enforce main core regression gates by @overtrue in https://github.com/rustfs/rustfs/pull/8338
- fix(test): restore authenticated cluster fault scenarios by @overtrue in https://github.com/rustfs/rustfs/pull/8340
- ci: coerce the pool timeout input to a number by @majinghe in https://github.com/rustfs/rustfs/pull/8255
- fix(ecstore): own listing workers through cancellation by @houseme in https://github.com/rustfs/rustfs/pull/8342
- test: allow cleanup fixture CI headroom by @cxymds in https://github.com/rustfs/rustfs/pull/8336
- fix(s3): encode multipart listing response keys by @overtrue in https://github.com/rustfs/rustfs/pull/8347
- perf(scanner): reduce scan and checkpoint peak allocations by @houseme in https://github.com/rustfs/rustfs/pull/8346
- fix(auth): return ExpiredToken for retained STS credentials by @houseme in https://github.com/rustfs/rustfs/pull/8344
- docs: refresh security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/8350
- fix(heal): bound durable MRF rescheduling by @houseme in https://github.com/rustfs/rustfs/pull/8351
- build(deps): bump the dependencies group with 4 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8359
- fix(table-catalog): verify Iceberg metadata path signatures by @GatewayJ in https://github.com/rustfs/rustfs/pull/8291
- fix(heal): increase stack size for absence receipt replay test by @overtrue in https://github.com/rustfs/rustfs/pull/8361
- fix(compose): Refactor volume paths and add service_completed_success… by @svengo in https://github.com/rustfs/rustfs/pull/8355
- fix(heal): retry typed RPC transport failures after peer restart by @overtrue in https://github.com/rustfs/rustfs/pull/8365
- fix(obs): avoid reactor panic in OTLP periodic exports by @houseme in https://github.com/rustfs/rustfs/pull/8368
- test(ecstore): verify multi-generation authority model by @overtrue in https://github.com/rustfs/rustfs/pull/8339
- fix(protocols): share the server context with protocol storage by @overtrue in https://github.com/rustfs/rustfs/pull/8367
- build(deps): bump rustls from 0.23.42 to 0.23.45 in /fuzz in the cargo group across 1 directory by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8370
- test(ecstore): cover real metadata cache and late identity reads by @overtrue in https://github.com/rustfs/rustfs/pull/8371
- ci: do not run some actions on fork by @yihong0618 in https://github.com/rustfs/rustfs/pull/8318
- fix(ecstore): refresh parsed bucket configs on every load by @overtrue in https://github.com/rustfs/rustfs/pull/8379
- fix(tier): drop reserved internal headers from transition PUT by @shurkus in https://github.com/rustfs/rustfs/pull/8363
- feat(table-catalog): support disabling empty catalogs by @GatewayJ in https://github.com/rustfs/rustfs/pull/8376
- test(e2e): bound mixed-version multipart acknowledgement by @overtrue in https://github.com/rustfs/rustfs/pull/8381
- feat(table-catalog): add durable catalog backups by @marshawcoco in https://github.com/rustfs/rustfs/pull/8266
- fix(ecstore): skip warning for absent .minio.sys volume by @ormandj in https://github.com/rustfs/rustfs/pull/8373
- chore(deps): refresh workspace dependencies and hotpath profiling by @houseme in https://github.com/rustfs/rustfs/pull/8380
- feat(http3): add opt-in QUIC transport by @tommady in https://github.com/rustfs/rustfs/pull/7903
- test(iam): freeze OIDC federation boundaries by @GatewayJ in https://github.com/rustfs/rustfs/pull/8393
- fix(heal): defer replacement retries until dangling grace expires by @cxymds in https://github.com/rustfs/rustfs/pull/8388
- feat(scanner): admit background disk I/O by @houseme in https://github.com/rustfs/rustfs/pull/8389
- ci: add daily main sync for the gateway integration branch by @overtrue in https://github.com/rustfs/rustfs/pull/8401
- fix(table-catalog): preserve credential vending after rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8400
- fix(obs): export bucket gauges from live snapshots by @houseme in https://github.com/rustfs/rustfs/pull/8399
- feat(targets): support Kafka SASL without TLS by @houseme in https://github.com/rustfs/rustfs/pull/8398
- test: record multipart target response diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/8382
- fix: stabilize scanner leases and connect diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/8394
- refactor(iam): add verified federated identity model by @GatewayJ in https://github.com/rustfs/rustfs/pull/8413
- fix: resume stalled GET bodies and classify transient storage failures by @houseme in https://github.com/rustfs/rustfs/pull/8414
- fix(table-catalog): drop migrated tables after rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8417
- fix(table-catalog): reuse held entry locks in warehouse scans by @marshawcoco in https://github.com/rustfs/rustfs/pull/8418
- feat: support object lock remaining retention days by @v-belyakov in https://github.com/rustfs/rustfs/pull/8407
- refactor(iam): separate federated provider views by @GatewayJ in https://github.com/rustfs/rustfs/pull/8415
- feat(quota): add sharded durable reservation protocol by @houseme in https://github.com/rustfs/rustfs/pull/8402
- feat(auth): allow custom secret keys beyond 40 bytes by @cxymds in https://github.com/rustfs/rustfs/pull/8419
- fix(admin): resolve event destination subscription target types by @cxymds in https://github.com/rustfs/rustfs/pull/8386
- fix(ecstore): make deletes cancellation-safe and reclaim their residue by @cppudge in https://github.com/rustfs/rustfs/pull/8378
- fix(ci): preserve heal quorum retries and synchronize background tests by @cxymds in https://github.com/rustfs/rustfs/pull/8422
- test(ecstore): cover late GET object generation changes by @overtrue in https://github.com/rustfs/rustfs/pull/8383
- test(ecstore): cover mixed metadata arrival orders by @overtrue in https://github.com/rustfs/rustfs/pull/8385
- test(connect): reject unknown health flags by @overtrue in https://github.com/rustfs/rustfs/pull/8142
- test(connect): restore subscriber readiness deadlines by @overtrue in https://github.com/rustfs/rustfs/pull/8285
- ci(e2e): require fresh distributed JUnit reports by @overtrue in https://github.com/rustfs/rustfs/pull/8384
- refactor(iam): separate OIDC authentication mapping by @GatewayJ in https://github.com/rustfs/rustfs/pull/8416
- fix(lifecycle): coordinate tier free-version recovery scans by @cxymds in https://github.com/rustfs/rustfs/pull/8387
- fix: reconcile bucket generations and observe lock failures by @houseme in https://github.com/rustfs/rustfs/pull/8421
- fix(listing): continue versioned delimiter listings from raw key by @eye-gu in https://github.com/rustfs/rustfs/pull/8424
- fix(obs): pass RustFS build version to telemetry by @houseme in https://github.com/rustfs/rustfs/pull/8425
- fix(storage): warn on stalled local disk operations by @overtrue in https://github.com/rustfs/rustfs/pull/8395
- fix(rustfs): keep recovery handler within S3 gateway by @houseme in https://github.com/rustfs/rustfs/pull/8429
- fix(zip): statically link liblzma on macOS by @houseme in https://github.com/rustfs/rustfs/pull/8434
- refactor(iam): remove legacy OIDC federation paths by @GatewayJ in https://github.com/rustfs/rustfs/pull/8433
- fix: auto-repair breaking changes from 446479791 by @overtrue in https://github.com/rustfs/rustfs/pull/8451
- refactor(iam): construct OIDC runtime directly by @GatewayJ in https://github.com/rustfs/rustfs/pull/8436
- fix(ecstore): allow cold-start recovery at EC read quorum by @cxymds in https://github.com/rustfs/rustfs/pull/8458
- fix(scanner): avoid placeholder retention and resume checkpoints by @houseme in https://github.com/rustfs/rustfs/pull/8460
- fix(dev): restore VS Code debug configurations by @overtrue in https://github.com/rustfs/rustfs/pull/8450
- fix(storage): preserve heal failures and timeout responses by @houseme in https://github.com/rustfs/rustfs/pull/8462
- ci: reduce repeated PR runner work by @overtrue in https://github.com/rustfs/rustfs/pull/8463
- refactor(iam): organize OIDC runtime modules by @GatewayJ in https://github.com/rustfs/rustfs/pull/8445
- ci: reuse workspace test builds for serial ILM checks by @overtrue in https://github.com/rustfs/rustfs/pull/8465
- fix(log-analyzer): match structured heal writer failures by @houseme in https://github.com/rustfs/rustfs/pull/8469
- test(scanner): bound expansion fixture preparation I/O by @houseme in https://github.com/rustfs/rustfs/pull/8473
- docs: refresh security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/8472
- refactor(oidc): isolate config updates and replication view by @GatewayJ in https://github.com/rustfs/rustfs/pull/8446
- fix(obs): honor RUSTFS_OBS_USE_STDOUT with per-signal endpoints by @Pirat83 in https://github.com/rustfs/rustfs/pull/8476
- fix(scanner): skip child prefixes removed before they are opened by @basic-system in https://github.com/rustfs/rustfs/pull/8479
- feat(tls): reload and publish external certificate generations by @houseme in https://github.com/rustfs/rustfs/pull/8467
- build(deps): bump the dependencies group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8481
- fix: auto-repair breaking changes from acd26afd8 by @overtrue in https://github.com/rustfs/rustfs/pull/8483
- fix(s3): normalize PUT read quorum failures as unavailable by @cxymds in https://github.com/rustfs/rustfs/pull/8484
- fix(ecstore): recover interrupted delete transactions by @houseme in https://github.com/rustfs/rustfs/pull/8468
- fix(scanner): account remote progress and preserve dispatch limits by @houseme in https://github.com/rustfs/rustfs/pull/8485
- test(ecstore): deflake bucket sentinel and dispatch rollback tests by @cppudge in https://github.com/rustfs/rustfs/pull/8488
- fix(ecstore): validate recovery evidence before mutation by @houseme in https://github.com/rustfs/rustfs/pull/8487
- ci: guard OIDC architecture boundaries by @GatewayJ in https://github.com/rustfs/rustfs/pull/8447
- fix(s3): short-circuit conditional reads at metadata quorum by @houseme in https://github.com/rustfs/rustfs/pull/8459
- fix(oidc): recover providers after startup discovery failures by @GatewayJ in https://github.com/rustfs/rustfs/pull/8475
- fix: refresh peer metadata without blocking bucket mutations by @cxymds in https://github.com/rustfs/rustfs/pull/8486
- test(ecstore): cover delete cleanup crashes and retries by @overtrue in https://github.com/rustfs/rustfs/pull/8471
- test(storage): make recovery and upgrade checks deterministic by @houseme in https://github.com/rustfs/rustfs/pull/8491
- fix(test): discover data dirs by listing instead of info.data_dir by @overtrue in https://github.com/rustfs/rustfs/pull/8495
- test(e2e): borrow URLs in internode RPC helpers by @houseme in https://github.com/rustfs/rustfs/pull/8497
- fix(admin): add OIDC policy log fields by @GatewayJ in https://github.com/rustfs/rustfs/pull/8496
- fix(scanner): reuse observations and expose complete usage by @houseme in https://github.com/rustfs/rustfs/pull/8498
- test: isolate license and rebalance cancellation fixtures by @houseme in https://github.com/rustfs/rustfs/pull/8500
- test(e2e): bound scanner witnesses by the reported schedule by @houseme in https://github.com/rustfs/rustfs/pull/8501
- fix(scanner): bound superseded waits for regular maintenance by @houseme in https://github.com/rustfs/rustfs/pull/8502
- fix(s3): match AWS duplicate bucket responses by @cxymds in https://github.com/rustfs/rustfs/pull/8503
- fix(ilm): make missing lifecycle expiry targets idempotent by @cxymds in https://github.com/rustfs/rustfs/pull/8504
- perf(ecstore): isolate cleanup and preserve metadata authority by @houseme in https://github.com/rustfs/rustfs/pull/8289
- fix(table-catalog): allow commits after object-backed rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8508
- fix(obs): isolate bucket usage dashboards by cluster by @houseme in https://github.com/rustfs/rustfs/pull/8510
- fix(audit): preserve request identity and verified client address by @houseme in https://github.com/rustfs/rustfs/pull/8513
- refactor(iam): encapsulate federated authorization models by @GatewayJ in https://github.com/rustfs/rustfs/pull/8514
- fix(heal): reject incomplete administrator bucket discovery by @cxymds in https://github.com/rustfs/rustfs/pull/8512
- fix(ecstore): group rename data commit observations by @houseme in https://github.com/rustfs/rustfs/pull/8516
- fix: suppress clippy too_many_arguments on rename_data_commit_from_observations by @overtrue in https://github.com/rustfs/rustfs/pull/8515
- fix(server): restore socket peer fallback for client rate limits by @houseme in https://github.com/rustfs/rustfs/pull/8519
- fix(heal): merge disjoint replacement generations in cluster status by @majinghe in https://github.com/rustfs/rustfs/pull/8521
- fix(heal): preserve retained replacement histories by @houseme in https://github.com/rustfs/rustfs/pull/8525
- perf(heal): index replacement history reconciliation by @houseme in https://github.com/rustfs/rustfs/pull/8527
- fix(server): cancel request watchdogs with response futures by @houseme in https://github.com/rustfs/rustfs/pull/8528
- fix(ci): repair profiling and compact transition test gates by @houseme in https://github.com/rustfs/rustfs/pull/8526
- fix(build): enforce GNU ABI floor and canonical target metadata by @houseme in https://github.com/rustfs/rustfs/pull/8524
- feat(table-catalog): support durable-strong table maintenance by @marshawcoco in https://github.com/rustfs/rustfs/pull/8523
- fix(replication): skip version-addressed marker pre-check on targets that mint their own version ids by @ajax-bakun-n in https://github.com/rustfs/rustfs/pull/8492
- fix(ci): select Python 3.14 for Connect acceptance by @houseme in https://github.com/rustfs/rustfs/pull/8530
- fix(ci): prepare Docker environment for Connect acceptance by @houseme in https://github.com/rustfs/rustfs/pull/8531
- chore(deps): refresh crates and use Pyroscope 2.1.2 by @houseme in https://github.com/rustfs/rustfs/pull/8540
- fix(heal): unblock automatic replacement recovery by @houseme in https://github.com/rustfs/rustfs/pull/8533
- fix(ci): restore main lint and test reliability by @overtrue in https://github.com/rustfs/rustfs/pull/8543
- feat(table-catalog): add opt-in periodic maintenance queueing by @marshawcoco in https://github.com/rustfs/rustfs/pull/8537
- fix(heal): safely recover missing bucket directories by default by @cxymds in https://github.com/rustfs/rustfs/pull/8517
- fix(s3): advise retry after typed lock timeouts by @houseme in https://github.com/rustfs/rustfs/pull/8546
- chore(release): prepare 1.0.2 by @overtrue in https://github.com/rustfs/rustfs/pull/8549
- test(heal): avoid needless collect in legacy root recovery test (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8551
- fix(s3): make an unsupported delete participant retryable and explain it (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8577
- fix(replication): skip the replica ETag audit for encrypted sources (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8580
- fix(multipart): retain commit guards and reclaim orphan staging (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8592
- fix(rebalance): wait for readiness and admit peer workers (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8593
- fix(scanner): clear transient cycle recovery on follower lock contention (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8596
- @abe723 made their first contribution in https://github.com/rustfs/rustfs/pull/8278
- @Hatsune-Imagine made their first contribution in https://github.com/rustfs/rustfs/pull/8197
- @nilsmelchert made their first contribution in https://github.com/rustfs/rustfs/pull/8164
- @svengo made their first contribution in https://github.com/rustfs/rustfs/pull/8355
- @shurkus made their first contribution in https://github.com/rustfs/rustfs/pull/8363
- @ormandj made their first contribution in https://github.com/rustfs/rustfs/pull/8373
- @tommady made their first contribution in https://github.com/rustfs/rustfs/pull/7903
- @v-belyakov made their first contribution in https://github.com/rustfs/rustfs/pull/8407
- @cppudge made their first contribution in https://github.com/rustfs/rustfs/pull/8378
- @eye-gu made their first contribution in https://github.com/rustfs/rustfs/pull/8424
- @Pirat83 made their first contribution in https://github.com/rustfs/rustfs/pull/8476
- @basic-system made their first contribution in https://github.com/rustfs/rustfs/pull/8479
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.1...1.0.2
Release v1.1.1
📦 Download Binaries from https://openobserve.ai/downloads
- fix(tantivy): stop index builds from fsyncing their scratch files (v1.1.0) (#15420) by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15425
- fix(metrics): build no tantivy index from global index fields on metrics streams (v1.1.0) (#15409) by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15426
- chore: always enable metrics index and WAL pack, remove their env flags (v1.1.0) (#15423) by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15432
- fix(saved-views): Traces saved views in the More menu with a pin, and one shared list dialog with Logs (v1.1.0) (#15189) by @omkarK06 in https://github.com/openobserve/openobserve/pull/15438
- fix(traces): open the service side panel as a non-modal drawer (v1.1.0) (#15342) by @omkarK06 in https://github.com/openobserve/openobserve/pull/15440
- fix: add org scope in bulk delete by @YashodhanJoshi1 in https://github.com/openobserve/openobserve/pull/15437
- fix: use musl sysroot headers and pin cross base images [v1.1.0] by @hengfeiyang in https://github.com/openobserve/openobserve/pull/15450
Full Changelog: https://github.com/openobserve/openobserve/compare/v1.1.0...v1.1.1
Trino 484
See the release notes or download Trino
RustFS 1.0.2-preview.2 (preview)
- docs(release): validate candidates on release branch by @overtrue in https://github.com/rustfs/rustfs/pull/8280
- fix(scanner): validate checkpoints against global cycle fence by @abe723 in https://github.com/rustfs/rustfs/pull/8278
- fix(ci): restore E2E membership and pagination timeouts by @overtrue in https://github.com/rustfs/rustfs/pull/8281
- ci: locate the auto-testing checkout for lanes that run evidence from a subdirectory by @majinghe in https://github.com/rustfs/rustfs/pull/8279
- fix(s3): bound multipart copy admission and HTTP write buffers by @overtrue in https://github.com/rustfs/rustfs/pull/8288
- fix(connect): preserve site replication S3 key path by @overtrue in https://github.com/rustfs/rustfs/pull/8300
- fix: resolve Rust 1.99 Clippy warnings by @houseme in https://github.com/rustfs/rustfs/pull/8301
- ci: remove Docker Hub description sync by @overtrue in https://github.com/rustfs/rustfs/pull/8303
- fix(connect): send endpoint origin for relay session authentication by @overtrue in https://github.com/rustfs/rustfs/pull/8310
- fix(sse): guard copy-source SSE-C keys over TLS and reject bucket-keyed KMS context by @reatang in https://github.com/rustfs/rustfs/pull/8296
- feat(table-catalog): expose durable strong diagnostics by @marshawcoco in https://github.com/rustfs/rustfs/pull/8232
- feat(s3select): support quoted record delimiters by @GatewayJ in https://github.com/rustfs/rustfs/pull/8203
- chore(release): merge 1.0.1 back into main and refresh installation references by @overtrue in https://github.com/rustfs/rustfs/pull/8314
- perf(ecstore): reduce multipart and object I/O overhead by @GatewayJ in https://github.com/rustfs/rustfs/pull/8095
- docs(release): maintain milestones after publishing by @overtrue in https://github.com/rustfs/rustfs/pull/8317
- fix(heal): skip removed usage observations during read repair by @hkwi in https://github.com/rustfs/rustfs/pull/8135
- feat(webdav): report quota properties on PROPFIND by @Hatsune-Imagine in https://github.com/rustfs/rustfs/pull/8197
- fix(scanner): preserve checkpoint children in large prefixes by @jkossis in https://github.com/rustfs/rustfs/pull/8292
- fix(s3): correct ListParts pagination termination and markers by @qwerprog in https://github.com/rustfs/rustfs/pull/8295
- feat(iam): expose stored bucket tags to OPA by @rjregenold in https://github.com/rustfs/rustfs/pull/8298
- fix(scanner): drain terminal remote responses to clean EOF by @abe723 in https://github.com/rustfs/rustfs/pull/8306
- fix(http): classify peer closures from error sources by @abe723 in https://github.com/rustfs/rustfs/pull/8307
- test(connect): verify local runtime peer credential boundary by @overtrue in https://github.com/rustfs/rustfs/pull/8304
- fix: resolve pagination fixtures and heal recovery CI failures by @overtrue in https://github.com/rustfs/rustfs/pull/8316
- docs: trim redundant project skills by @overtrue in https://github.com/rustfs/rustfs/pull/8323
- docs(storage): verify object generation authority contract by @overtrue in https://github.com/rustfs/rustfs/pull/8322
- fix(oidc): ignore groups without a matching policy at login by @nilsmelchert in https://github.com/rustfs/rustfs/pull/8164
- refactor(storage): bind rename rollback to its commit context by @overtrue in https://github.com/rustfs/rustfs/pull/8324
- refactor(storage): separate metadata scheduling from quorum decisions by @overtrue in https://github.com/rustfs/rustfs/pull/8327
- test(storage): verify rejected rollback inspection on real disks by @overtrue in https://github.com/rustfs/rustfs/pull/8331
- test(storage): make commit fault checkpoints independent by @overtrue in https://github.com/rustfs/rustfs/pull/8326
- fix(listing): count logical prefixes before pagination by @overtrue in https://github.com/rustfs/rustfs/pull/8328
- fix(scanner): isolate and coalesce dirty usage journals by @houseme in https://github.com/rustfs/rustfs/pull/8325
- fix(storage): retain typed owners across borrowed writes by @overtrue in https://github.com/rustfs/rustfs/pull/8329
- fix(ecstore): hide rollback backup residue in prefix listings by @overtrue in https://github.com/rustfs/rustfs/pull/8335
- fix(protocols): enforce S3 policies for file protocol operations by @GatewayJ in https://github.com/rustfs/rustfs/pull/8262
- test(ecstore): enforce main core regression gates by @overtrue in https://github.com/rustfs/rustfs/pull/8338
- fix(test): restore authenticated cluster fault scenarios by @overtrue in https://github.com/rustfs/rustfs/pull/8340
- ci: coerce the pool timeout input to a number by @majinghe in https://github.com/rustfs/rustfs/pull/8255
- fix(ecstore): own listing workers through cancellation by @houseme in https://github.com/rustfs/rustfs/pull/8342
- test: allow cleanup fixture CI headroom by @cxymds in https://github.com/rustfs/rustfs/pull/8336
- fix(s3): encode multipart listing response keys by @overtrue in https://github.com/rustfs/rustfs/pull/8347
- perf(scanner): reduce scan and checkpoint peak allocations by @houseme in https://github.com/rustfs/rustfs/pull/8346
- fix(auth): return ExpiredToken for retained STS credentials by @houseme in https://github.com/rustfs/rustfs/pull/8344
- docs: refresh security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/8350
- fix(heal): bound durable MRF rescheduling by @houseme in https://github.com/rustfs/rustfs/pull/8351
- build(deps): bump the dependencies group with 4 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8359
- fix(table-catalog): verify Iceberg metadata path signatures by @GatewayJ in https://github.com/rustfs/rustfs/pull/8291
- fix(heal): increase stack size for absence receipt replay test by @overtrue in https://github.com/rustfs/rustfs/pull/8361
- fix(compose): Refactor volume paths and add service_completed_success… by @svengo in https://github.com/rustfs/rustfs/pull/8355
- fix(heal): retry typed RPC transport failures after peer restart by @overtrue in https://github.com/rustfs/rustfs/pull/8365
- fix(obs): avoid reactor panic in OTLP periodic exports by @houseme in https://github.com/rustfs/rustfs/pull/8368
- test(ecstore): verify multi-generation authority model by @overtrue in https://github.com/rustfs/rustfs/pull/8339
- fix(protocols): share the server context with protocol storage by @overtrue in https://github.com/rustfs/rustfs/pull/8367
- build(deps): bump rustls from 0.23.42 to 0.23.45 in /fuzz in the cargo group across 1 directory by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8370
- test(ecstore): cover real metadata cache and late identity reads by @overtrue in https://github.com/rustfs/rustfs/pull/8371
- ci: do not run some actions on fork by @yihong0618 in https://github.com/rustfs/rustfs/pull/8318
- fix(ecstore): refresh parsed bucket configs on every load by @overtrue in https://github.com/rustfs/rustfs/pull/8379
- fix(tier): drop reserved internal headers from transition PUT by @shurkus in https://github.com/rustfs/rustfs/pull/8363
- feat(table-catalog): support disabling empty catalogs by @GatewayJ in https://github.com/rustfs/rustfs/pull/8376
- test(e2e): bound mixed-version multipart acknowledgement by @overtrue in https://github.com/rustfs/rustfs/pull/8381
- feat(table-catalog): add durable catalog backups by @marshawcoco in https://github.com/rustfs/rustfs/pull/8266
- fix(ecstore): skip warning for absent .minio.sys volume by @ormandj in https://github.com/rustfs/rustfs/pull/8373
- chore(deps): refresh workspace dependencies and hotpath profiling by @houseme in https://github.com/rustfs/rustfs/pull/8380
- feat(http3): add opt-in QUIC transport by @tommady in https://github.com/rustfs/rustfs/pull/7903
- test(iam): freeze OIDC federation boundaries by @GatewayJ in https://github.com/rustfs/rustfs/pull/8393
- fix(heal): defer replacement retries until dangling grace expires by @cxymds in https://github.com/rustfs/rustfs/pull/8388
- feat(scanner): admit background disk I/O by @houseme in https://github.com/rustfs/rustfs/pull/8389
- ci: add daily main sync for the gateway integration branch by @overtrue in https://github.com/rustfs/rustfs/pull/8401
- fix(table-catalog): preserve credential vending after rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8400
- fix(obs): export bucket gauges from live snapshots by @houseme in https://github.com/rustfs/rustfs/pull/8399
- feat(targets): support Kafka SASL without TLS by @houseme in https://github.com/rustfs/rustfs/pull/8398
- test: record multipart target response diagnostics by @overtrue in https://github.com/rustfs/rustfs/pull/8382
- fix: stabilize scanner leases and connect diagnostics by @houseme in https://github.com/rustfs/rustfs/pull/8394
- refactor(iam): add verified federated identity model by @GatewayJ in https://github.com/rustfs/rustfs/pull/8413
- fix: resume stalled GET bodies and classify transient storage failures by @houseme in https://github.com/rustfs/rustfs/pull/8414
- fix(table-catalog): drop migrated tables after rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8417
- fix(table-catalog): reuse held entry locks in warehouse scans by @marshawcoco in https://github.com/rustfs/rustfs/pull/8418
- feat: support object lock remaining retention days by @v-belyakov in https://github.com/rustfs/rustfs/pull/8407
- refactor(iam): separate federated provider views by @GatewayJ in https://github.com/rustfs/rustfs/pull/8415
- feat(quota): add sharded durable reservation protocol by @houseme in https://github.com/rustfs/rustfs/pull/8402
- feat(auth): allow custom secret keys beyond 40 bytes by @cxymds in https://github.com/rustfs/rustfs/pull/8419
- fix(admin): resolve event destination subscription target types by @cxymds in https://github.com/rustfs/rustfs/pull/8386
- fix(ecstore): make deletes cancellation-safe and reclaim their residue by @cppudge in https://github.com/rustfs/rustfs/pull/8378
- fix(ci): preserve heal quorum retries and synchronize background tests by @cxymds in https://github.com/rustfs/rustfs/pull/8422
- test(ecstore): cover late GET object generation changes by @overtrue in https://github.com/rustfs/rustfs/pull/8383
- test(ecstore): cover mixed metadata arrival orders by @overtrue in https://github.com/rustfs/rustfs/pull/8385
- test(connect): reject unknown health flags by @overtrue in https://github.com/rustfs/rustfs/pull/8142
- test(connect): restore subscriber readiness deadlines by @overtrue in https://github.com/rustfs/rustfs/pull/8285
- ci(e2e): require fresh distributed JUnit reports by @overtrue in https://github.com/rustfs/rustfs/pull/8384
- refactor(iam): separate OIDC authentication mapping by @GatewayJ in https://github.com/rustfs/rustfs/pull/8416
- fix(lifecycle): coordinate tier free-version recovery scans by @cxymds in https://github.com/rustfs/rustfs/pull/8387
- fix: reconcile bucket generations and observe lock failures by @houseme in https://github.com/rustfs/rustfs/pull/8421
- fix(listing): continue versioned delimiter listings from raw key by @eye-gu in https://github.com/rustfs/rustfs/pull/8424
- fix(obs): pass RustFS build version to telemetry by @houseme in https://github.com/rustfs/rustfs/pull/8425
- fix(storage): warn on stalled local disk operations by @overtrue in https://github.com/rustfs/rustfs/pull/8395
- fix(rustfs): keep recovery handler within S3 gateway by @houseme in https://github.com/rustfs/rustfs/pull/8429
- fix(zip): statically link liblzma on macOS by @houseme in https://github.com/rustfs/rustfs/pull/8434
- refactor(iam): remove legacy OIDC federation paths by @GatewayJ in https://github.com/rustfs/rustfs/pull/8433
- fix: auto-repair breaking changes from 446479791 by @overtrue in https://github.com/rustfs/rustfs/pull/8451
- refactor(iam): construct OIDC runtime directly by @GatewayJ in https://github.com/rustfs/rustfs/pull/8436
- fix(ecstore): allow cold-start recovery at EC read quorum by @cxymds in https://github.com/rustfs/rustfs/pull/8458
- fix(scanner): avoid placeholder retention and resume checkpoints by @houseme in https://github.com/rustfs/rustfs/pull/8460
- fix(dev): restore VS Code debug configurations by @overtrue in https://github.com/rustfs/rustfs/pull/8450
- fix(storage): preserve heal failures and timeout responses by @houseme in https://github.com/rustfs/rustfs/pull/8462
- ci: reduce repeated PR runner work by @overtrue in https://github.com/rustfs/rustfs/pull/8463
- refactor(iam): organize OIDC runtime modules by @GatewayJ in https://github.com/rustfs/rustfs/pull/8445
- ci: reuse workspace test builds for serial ILM checks by @overtrue in https://github.com/rustfs/rustfs/pull/8465
- fix(log-analyzer): match structured heal writer failures by @houseme in https://github.com/rustfs/rustfs/pull/8469
- test(scanner): bound expansion fixture preparation I/O by @houseme in https://github.com/rustfs/rustfs/pull/8473
- docs: refresh security advisory lessons by @overtrue in https://github.com/rustfs/rustfs/pull/8472
- refactor(oidc): isolate config updates and replication view by @GatewayJ in https://github.com/rustfs/rustfs/pull/8446
- fix(obs): honor RUSTFS_OBS_USE_STDOUT with per-signal endpoints by @Pirat83 in https://github.com/rustfs/rustfs/pull/8476
- fix(scanner): skip child prefixes removed before they are opened by @basic-system in https://github.com/rustfs/rustfs/pull/8479
- feat(tls): reload and publish external certificate generations by @houseme in https://github.com/rustfs/rustfs/pull/8467
- build(deps): bump the dependencies group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/rustfs/rustfs/pull/8481
- fix: auto-repair breaking changes from acd26afd8 by @overtrue in https://github.com/rustfs/rustfs/pull/8483
- fix(s3): normalize PUT read quorum failures as unavailable by @cxymds in https://github.com/rustfs/rustfs/pull/8484
- fix(ecstore): recover interrupted delete transactions by @houseme in https://github.com/rustfs/rustfs/pull/8468
- fix(scanner): account remote progress and preserve dispatch limits by @houseme in https://github.com/rustfs/rustfs/pull/8485
- test(ecstore): deflake bucket sentinel and dispatch rollback tests by @cppudge in https://github.com/rustfs/rustfs/pull/8488
- fix(ecstore): validate recovery evidence before mutation by @houseme in https://github.com/rustfs/rustfs/pull/8487
- ci: guard OIDC architecture boundaries by @GatewayJ in https://github.com/rustfs/rustfs/pull/8447
- fix(s3): short-circuit conditional reads at metadata quorum by @houseme in https://github.com/rustfs/rustfs/pull/8459
- fix(oidc): recover providers after startup discovery failures by @GatewayJ in https://github.com/rustfs/rustfs/pull/8475
- fix: refresh peer metadata without blocking bucket mutations by @cxymds in https://github.com/rustfs/rustfs/pull/8486
- test(ecstore): cover delete cleanup crashes and retries by @overtrue in https://github.com/rustfs/rustfs/pull/8471
- test(storage): make recovery and upgrade checks deterministic by @houseme in https://github.com/rustfs/rustfs/pull/8491
- fix(test): discover data dirs by listing instead of info.data_dir by @overtrue in https://github.com/rustfs/rustfs/pull/8495
- test(e2e): borrow URLs in internode RPC helpers by @houseme in https://github.com/rustfs/rustfs/pull/8497
- fix(admin): add OIDC policy log fields by @GatewayJ in https://github.com/rustfs/rustfs/pull/8496
- fix(scanner): reuse observations and expose complete usage by @houseme in https://github.com/rustfs/rustfs/pull/8498
- test: isolate license and rebalance cancellation fixtures by @houseme in https://github.com/rustfs/rustfs/pull/8500
- test(e2e): bound scanner witnesses by the reported schedule by @houseme in https://github.com/rustfs/rustfs/pull/8501
- fix(scanner): bound superseded waits for regular maintenance by @houseme in https://github.com/rustfs/rustfs/pull/8502
- fix(s3): match AWS duplicate bucket responses by @cxymds in https://github.com/rustfs/rustfs/pull/8503
- fix(ilm): make missing lifecycle expiry targets idempotent by @cxymds in https://github.com/rustfs/rustfs/pull/8504
- perf(ecstore): isolate cleanup and preserve metadata authority by @houseme in https://github.com/rustfs/rustfs/pull/8289
- fix(table-catalog): allow commits after object-backed rename by @marshawcoco in https://github.com/rustfs/rustfs/pull/8508
- fix(obs): isolate bucket usage dashboards by cluster by @houseme in https://github.com/rustfs/rustfs/pull/8510
- fix(audit): preserve request identity and verified client address by @houseme in https://github.com/rustfs/rustfs/pull/8513
- refactor(iam): encapsulate federated authorization models by @GatewayJ in https://github.com/rustfs/rustfs/pull/8514
- fix(heal): reject incomplete administrator bucket discovery by @cxymds in https://github.com/rustfs/rustfs/pull/8512
- fix(ecstore): group rename data commit observations by @houseme in https://github.com/rustfs/rustfs/pull/8516
- fix: suppress clippy too_many_arguments on rename_data_commit_from_observations by @overtrue in https://github.com/rustfs/rustfs/pull/8515
- fix(server): restore socket peer fallback for client rate limits by @houseme in https://github.com/rustfs/rustfs/pull/8519
- fix(heal): merge disjoint replacement generations in cluster status by @majinghe in https://github.com/rustfs/rustfs/pull/8521
- fix(heal): preserve retained replacement histories by @houseme in https://github.com/rustfs/rustfs/pull/8525
- perf(heal): index replacement history reconciliation by @houseme in https://github.com/rustfs/rustfs/pull/8527
- fix(server): cancel request watchdogs with response futures by @houseme in https://github.com/rustfs/rustfs/pull/8528
- fix(ci): repair profiling and compact transition test gates by @houseme in https://github.com/rustfs/rustfs/pull/8526
- fix(build): enforce GNU ABI floor and canonical target metadata by @houseme in https://github.com/rustfs/rustfs/pull/8524
- feat(table-catalog): support durable-strong table maintenance by @marshawcoco in https://github.com/rustfs/rustfs/pull/8523
- fix(replication): skip version-addressed marker pre-check on targets that mint their own version ids by @ajax-bakun-n in https://github.com/rustfs/rustfs/pull/8492
- fix(ci): select Python 3.14 for Connect acceptance by @houseme in https://github.com/rustfs/rustfs/pull/8530
- fix(ci): prepare Docker environment for Connect acceptance by @houseme in https://github.com/rustfs/rustfs/pull/8531
- chore(deps): refresh crates and use Pyroscope 2.1.2 by @houseme in https://github.com/rustfs/rustfs/pull/8540
- fix(heal): unblock automatic replacement recovery by @houseme in https://github.com/rustfs/rustfs/pull/8533
- fix(ci): restore main lint and test reliability by @overtrue in https://github.com/rustfs/rustfs/pull/8543
- feat(table-catalog): add opt-in periodic maintenance queueing by @marshawcoco in https://github.com/rustfs/rustfs/pull/8537
- fix(heal): safely recover missing bucket directories by default by @cxymds in https://github.com/rustfs/rustfs/pull/8517
- fix(s3): advise retry after typed lock timeouts by @houseme in https://github.com/rustfs/rustfs/pull/8546
- chore(release): prepare 1.0.2 by @overtrue in https://github.com/rustfs/rustfs/pull/8549
- test(heal): avoid needless collect in legacy root recovery test (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8551
- fix(s3): make an unsupported delete participant retryable and explain it (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8577
- fix(replication): skip the replica ETag audit for encrypted sources (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8580
- fix(multipart): retain commit guards and reclaim orphan staging (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8592
- fix(rebalance): wait for readiness and admit peer workers (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8593
- fix(scanner): clear transient cycle recovery on follower lock contention (1.0.2 backport) by @overtrue in https://github.com/rustfs/rustfs/pull/8596
- @abe723 made their first contribution in https://github.com/rustfs/rustfs/pull/8278
- @Hatsune-Imagine made their first contribution in https://github.com/rustfs/rustfs/pull/8197
- @nilsmelchert made their first contribution in https://github.com/rustfs/rustfs/pull/8164
- @svengo made their first contribution in https://github.com/rustfs/rustfs/pull/8355
- @shurkus made their first contribution in https://github.com/rustfs/rustfs/pull/8363
- @ormandj made their first contribution in https://github.com/rustfs/rustfs/pull/8373
- @tommady made their first contribution in https://github.com/rustfs/rustfs/pull/7903
- @v-belyakov made their first contribution in https://github.com/rustfs/rustfs/pull/8407
- @cppudge made their first contribution in https://github.com/rustfs/rustfs/pull/8378
- @eye-gu made their first contribution in https://github.com/rustfs/rustfs/pull/8424
- @Pirat83 made their first contribution in https://github.com/rustfs/rustfs/pull/8476
- @basic-system made their first contribution in https://github.com/rustfs/rustfs/pull/8479
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.1...1.0.2-preview.2